@charset "UTF-8";
/*

=============================================
Project : RedkiwiInitTheme
Type    : Wordpress
Version : 20170731
=============================================

*/
/** 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. */
@import url("https://fast.fonts.net/t/1.css?apiType=css&projectid=0e441077-39c3-400c-8eb7-6a9abfc4cda2");
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, .frequency-price .price { 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 { 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"] { 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 { 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&smedium=37.5em&medium=48em&large=64em&xlarge=80em&xxlarge=120em"; }

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

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

body { margin: 0; padding: 0; background: #FFF; font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; font-weight: normal; line-height: 1.5; color: #232223; -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 { 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-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.small-order-1 { -webkit-order: 1; -ms-flex-order: 1; order: 1; }

.small-order-2 { -webkit-order: 2; -ms-flex-order: 2; order: 2; }

.small-order-3 { -webkit-order: 3; -ms-flex-order: 3; order: 3; }

.small-order-4 { -webkit-order: 4; -ms-flex-order: 4; order: 4; }

.small-order-5 { -webkit-order: 5; -ms-flex-order: 5; order: 5; }

.small-order-6 { -webkit-order: 6; -ms-flex-order: 6; order: 6; }

@media print, screen and (min-width: 37.5em) { .smedium-order-1 { -webkit-order: 1; -ms-flex-order: 1; order: 1; }
  .smedium-order-2 { -webkit-order: 2; -ms-flex-order: 2; order: 2; }
  .smedium-order-3 { -webkit-order: 3; -ms-flex-order: 3; order: 3; }
  .smedium-order-4 { -webkit-order: 4; -ms-flex-order: 4; order: 4; }
  .smedium-order-5 { -webkit-order: 5; -ms-flex-order: 5; order: 5; }
  .smedium-order-6 { -webkit-order: 6; -ms-flex-order: 6; order: 6; } }

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

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

@media screen and (min-width: 80em) { .xlarge-order-1 { -webkit-order: 1; -ms-flex-order: 1; order: 1; }
  .xlarge-order-2 { -webkit-order: 2; -ms-flex-order: 2; order: 2; }
  .xlarge-order-3 { -webkit-order: 3; -ms-flex-order: 3; order: 3; }
  .xlarge-order-4 { -webkit-order: 4; -ms-flex-order: 4; order: 4; }
  .xlarge-order-5 { -webkit-order: 5; -ms-flex-order: 5; order: 5; }
  .xlarge-order-6 { -webkit-order: 6; -ms-flex-order: 6; order: 6; } }

@media screen and (min-width: 120em) { .xxlarge-order-1 { -webkit-order: 1; -ms-flex-order: 1; order: 1; }
  .xxlarge-order-2 { -webkit-order: 2; -ms-flex-order: 2; order: 2; }
  .xxlarge-order-3 { -webkit-order: 3; -ms-flex-order: 3; order: 3; }
  .xxlarge-order-4 { -webkit-order: 4; -ms-flex-order: 4; order: 4; }
  .xxlarge-order-5 { -webkit-order: 5; -ms-flex-order: 5; order: 5; }
  .xxlarge-order-6 { -webkit-order: 6; -ms-flex-order: 6; order: 6; } }

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

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

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

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

.flex-dir-row { -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; }

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

.flex-dir-column { -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; }

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

@media print, screen and (min-width: 37.5em) { .smedium-flex-container { display: -webkit-flex; display: -ms-flexbox; display: flex; }
  .smedium-flex-child-auto { -webkit-flex: 1 1 auto; -ms-flex: 1 1 auto; flex: 1 1 auto; }
  .smedium-flex-child-grow { -webkit-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: 1 0 auto; }
  .smedium-flex-child-shrink { -webkit-flex: 0 1 auto; -ms-flex: 0 1 auto; flex: 0 1 auto; }
  .smedium-flex-dir-row { -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; }
  .smedium-flex-dir-row-reverse { -webkit-flex-direction: row-reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }
  .smedium-flex-dir-column { -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; }
  .smedium-flex-dir-column-reverse { -webkit-flex-direction: column-reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; } }

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

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

@media screen and (min-width: 80em) { .xlarge-flex-container { display: -webkit-flex; display: -ms-flexbox; display: flex; }
  .xlarge-flex-child-auto { -webkit-flex: 1 1 auto; -ms-flex: 1 1 auto; flex: 1 1 auto; }
  .xlarge-flex-child-grow { -webkit-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: 1 0 auto; }
  .xlarge-flex-child-shrink { -webkit-flex: 0 1 auto; -ms-flex: 0 1 auto; flex: 0 1 auto; }
  .xlarge-flex-dir-row { -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; }
  .xlarge-flex-dir-row-reverse { -webkit-flex-direction: row-reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }
  .xlarge-flex-dir-column { -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; }
  .xlarge-flex-dir-column-reverse { -webkit-flex-direction: column-reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; } }

@media screen and (min-width: 120em) { .xxlarge-flex-container { display: -webkit-flex; display: -ms-flexbox; display: flex; }
  .xxlarge-flex-child-auto { -webkit-flex: 1 1 auto; -ms-flex: 1 1 auto; flex: 1 1 auto; }
  .xxlarge-flex-child-grow { -webkit-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: 1 0 auto; }
  .xxlarge-flex-child-shrink { -webkit-flex: 0 1 auto; -ms-flex: 0 1 auto; flex: 0 1 auto; }
  .xxlarge-flex-dir-row { -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; }
  .xxlarge-flex-dir-row-reverse { -webkit-flex-direction: row-reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }
  .xxlarge-flex-dir-column { -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; }
  .xxlarge-flex-dir-column-reverse { -webkit-flex-direction: column-reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; } }

.row { max-width: calc(100vw - 168px); margin-right: auto; margin-left: auto; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-flow: row wrap; -ms-flex-flow: row wrap; flex-flow: row wrap; }

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

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

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

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

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

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

.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-flex: 1 1 0px; -ms-flex: 1 1 0px; flex: 1 1 0px; padding-right: 1rem; padding-left: 1rem; min-width: 0; }

.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-flex: 0 0 8.3333333333%; -ms-flex: 0 0 8.3333333333%; flex: 0 0 8.3333333333%; max-width: 8.3333333333%; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.small-up-8 > .column, .small-up-8 > .columns { -webkit-flex: 0 0 12.5%; -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: 1rem; padding-left: 1rem; }

@media print, screen and (min-width: 37.5em) { .smedium-1 { -webkit-flex: 0 0 8.3333333333%; -ms-flex: 0 0 8.3333333333%; flex: 0 0 8.3333333333%; max-width: 8.3333333333%; }
  .smedium-offset-0 { margin-left: 0%; }
  .smedium-2 { -webkit-flex: 0 0 16.6666666667%; -ms-flex: 0 0 16.6666666667%; flex: 0 0 16.6666666667%; max-width: 16.6666666667%; }
  .smedium-offset-1 { margin-left: 8.3333333333%; }
  .smedium-3 { -webkit-flex: 0 0 25%; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; }
  .smedium-offset-2 { margin-left: 16.6666666667%; }
  .smedium-4 { -webkit-flex: 0 0 33.3333333333%; -ms-flex: 0 0 33.3333333333%; flex: 0 0 33.3333333333%; max-width: 33.3333333333%; }
  .smedium-offset-3 { margin-left: 25%; }
  .smedium-5 { -webkit-flex: 0 0 41.6666666667%; -ms-flex: 0 0 41.6666666667%; flex: 0 0 41.6666666667%; max-width: 41.6666666667%; }
  .smedium-offset-4 { margin-left: 33.3333333333%; }
  .smedium-6 { -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
  .smedium-offset-5 { margin-left: 41.6666666667%; }
  .smedium-7 { -webkit-flex: 0 0 58.3333333333%; -ms-flex: 0 0 58.3333333333%; flex: 0 0 58.3333333333%; max-width: 58.3333333333%; }
  .smedium-offset-6 { margin-left: 50%; }
  .smedium-8 { -webkit-flex: 0 0 66.6666666667%; -ms-flex: 0 0 66.6666666667%; flex: 0 0 66.6666666667%; max-width: 66.6666666667%; }
  .smedium-offset-7 { margin-left: 58.3333333333%; }
  .smedium-9 { -webkit-flex: 0 0 75%; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; }
  .smedium-offset-8 { margin-left: 66.6666666667%; }
  .smedium-10 { -webkit-flex: 0 0 83.3333333333%; -ms-flex: 0 0 83.3333333333%; flex: 0 0 83.3333333333%; max-width: 83.3333333333%; }
  .smedium-offset-9 { margin-left: 75%; }
  .smedium-11 { -webkit-flex: 0 0 91.6666666667%; -ms-flex: 0 0 91.6666666667%; flex: 0 0 91.6666666667%; max-width: 91.6666666667%; }
  .smedium-offset-10 { margin-left: 83.3333333333%; }
  .smedium-12 { -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
  .smedium-offset-11 { margin-left: 91.6666666667%; }
  .smedium-up-1 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .smedium-up-1 > .column, .smedium-up-1 > .columns { -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
  .smedium-up-2 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .smedium-up-2 > .column, .smedium-up-2 > .columns { -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
  .smedium-up-3 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .smedium-up-3 > .column, .smedium-up-3 > .columns { -webkit-flex: 0 0 33.3333333333%; -ms-flex: 0 0 33.3333333333%; flex: 0 0 33.3333333333%; max-width: 33.3333333333%; }
  .smedium-up-4 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .smedium-up-4 > .column, .smedium-up-4 > .columns { -webkit-flex: 0 0 25%; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; }
  .smedium-up-5 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .smedium-up-5 > .column, .smedium-up-5 > .columns { -webkit-flex: 0 0 20%; -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; }
  .smedium-up-6 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .smedium-up-6 > .column, .smedium-up-6 > .columns { -webkit-flex: 0 0 16.6666666667%; -ms-flex: 0 0 16.6666666667%; flex: 0 0 16.6666666667%; max-width: 16.6666666667%; }
  .smedium-up-7 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .smedium-up-7 > .column, .smedium-up-7 > .columns { -webkit-flex: 0 0 14.2857142857%; -ms-flex: 0 0 14.2857142857%; flex: 0 0 14.2857142857%; max-width: 14.2857142857%; }
  .smedium-up-8 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .smedium-up-8 > .column, .smedium-up-8 > .columns { -webkit-flex: 0 0 12.5%; -ms-flex: 0 0 12.5%; flex: 0 0 12.5%; max-width: 12.5%; } }

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

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

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

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

@media print, screen and (min-width: 48em) { .medium-1 { -webkit-flex: 0 0 8.3333333333%; -ms-flex: 0 0 8.3333333333%; flex: 0 0 8.3333333333%; max-width: 8.3333333333%; }
  .medium-offset-0 { margin-left: 0%; }
  .medium-2 { -webkit-flex: 0 0 16.6666666667%; -ms-flex: 0 0 16.6666666667%; flex: 0 0 16.6666666667%; max-width: 16.6666666667%; }
  .medium-offset-1 { margin-left: 8.3333333333%; }
  .medium-3 { -webkit-flex: 0 0 25%; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; }
  .medium-offset-2 { margin-left: 16.6666666667%; }
  .medium-4 { -webkit-flex: 0 0 33.3333333333%; -ms-flex: 0 0 33.3333333333%; flex: 0 0 33.3333333333%; max-width: 33.3333333333%; }
  .medium-offset-3 { margin-left: 25%; }
  .medium-5 { -webkit-flex: 0 0 41.6666666667%; -ms-flex: 0 0 41.6666666667%; flex: 0 0 41.6666666667%; max-width: 41.6666666667%; }
  .medium-offset-4 { margin-left: 33.3333333333%; }
  .medium-6 { -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
  .medium-offset-5 { margin-left: 41.6666666667%; }
  .medium-7 { -webkit-flex: 0 0 58.3333333333%; -ms-flex: 0 0 58.3333333333%; flex: 0 0 58.3333333333%; max-width: 58.3333333333%; }
  .medium-offset-6 { margin-left: 50%; }
  .medium-8 { -webkit-flex: 0 0 66.6666666667%; -ms-flex: 0 0 66.6666666667%; flex: 0 0 66.6666666667%; max-width: 66.6666666667%; }
  .medium-offset-7 { margin-left: 58.3333333333%; }
  .medium-9 { -webkit-flex: 0 0 75%; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; }
  .medium-offset-8 { margin-left: 66.6666666667%; }
  .medium-10 { -webkit-flex: 0 0 83.3333333333%; -ms-flex: 0 0 83.3333333333%; flex: 0 0 83.3333333333%; max-width: 83.3333333333%; }
  .medium-offset-9 { margin-left: 75%; }
  .medium-11 { -webkit-flex: 0 0 91.6666666667%; -ms-flex: 0 0 91.6666666667%; flex: 0 0 91.6666666667%; max-width: 91.6666666667%; }
  .medium-offset-10 { margin-left: 83.3333333333%; }
  .medium-12 { -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
  .medium-offset-11 { margin-left: 91.6666666667%; }
  .medium-up-1 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .medium-up-1 > .column, .medium-up-1 > .columns { -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
  .medium-up-2 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .medium-up-2 > .column, .medium-up-2 > .columns { -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
  .medium-up-3 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .medium-up-3 > .column, .medium-up-3 > .columns { -webkit-flex: 0 0 33.3333333333%; -ms-flex: 0 0 33.3333333333%; flex: 0 0 33.3333333333%; max-width: 33.3333333333%; }
  .medium-up-4 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .medium-up-4 > .column, .medium-up-4 > .columns { -webkit-flex: 0 0 25%; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; }
  .medium-up-5 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .medium-up-5 > .column, .medium-up-5 > .columns { -webkit-flex: 0 0 20%; -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; }
  .medium-up-6 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .medium-up-6 > .column, .medium-up-6 > .columns { -webkit-flex: 0 0 16.6666666667%; -ms-flex: 0 0 16.6666666667%; flex: 0 0 16.6666666667%; max-width: 16.6666666667%; }
  .medium-up-7 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .medium-up-7 > .column, .medium-up-7 > .columns { -webkit-flex: 0 0 14.2857142857%; -ms-flex: 0 0 14.2857142857%; flex: 0 0 14.2857142857%; max-width: 14.2857142857%; }
  .medium-up-8 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .medium-up-8 > .column, .medium-up-8 > .columns { -webkit-flex: 0 0 12.5%; -ms-flex: 0 0 12.5%; flex: 0 0 12.5%; max-width: 12.5%; } }

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

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

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

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

@media print, screen and (min-width: 64em) { .large-1 { -webkit-flex: 0 0 8.3333333333%; -ms-flex: 0 0 8.3333333333%; flex: 0 0 8.3333333333%; max-width: 8.3333333333%; }
  .large-offset-0 { margin-left: 0%; }
  .large-2 { -webkit-flex: 0 0 16.6666666667%; -ms-flex: 0 0 16.6666666667%; flex: 0 0 16.6666666667%; max-width: 16.6666666667%; }
  .large-offset-1 { margin-left: 8.3333333333%; }
  .large-3 { -webkit-flex: 0 0 25%; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; }
  .large-offset-2 { margin-left: 16.6666666667%; }
  .large-4 { -webkit-flex: 0 0 33.3333333333%; -ms-flex: 0 0 33.3333333333%; flex: 0 0 33.3333333333%; max-width: 33.3333333333%; }
  .large-offset-3 { margin-left: 25%; }
  .large-5 { -webkit-flex: 0 0 41.6666666667%; -ms-flex: 0 0 41.6666666667%; flex: 0 0 41.6666666667%; max-width: 41.6666666667%; }
  .large-offset-4 { margin-left: 33.3333333333%; }
  .large-6 { -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
  .large-offset-5 { margin-left: 41.6666666667%; }
  .large-7 { -webkit-flex: 0 0 58.3333333333%; -ms-flex: 0 0 58.3333333333%; flex: 0 0 58.3333333333%; max-width: 58.3333333333%; }
  .large-offset-6 { margin-left: 50%; }
  .large-8 { -webkit-flex: 0 0 66.6666666667%; -ms-flex: 0 0 66.6666666667%; flex: 0 0 66.6666666667%; max-width: 66.6666666667%; }
  .large-offset-7 { margin-left: 58.3333333333%; }
  .large-9 { -webkit-flex: 0 0 75%; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; }
  .large-offset-8 { margin-left: 66.6666666667%; }
  .large-10 { -webkit-flex: 0 0 83.3333333333%; -ms-flex: 0 0 83.3333333333%; flex: 0 0 83.3333333333%; max-width: 83.3333333333%; }
  .large-offset-9 { margin-left: 75%; }
  .large-11 { -webkit-flex: 0 0 91.6666666667%; -ms-flex: 0 0 91.6666666667%; flex: 0 0 91.6666666667%; max-width: 91.6666666667%; }
  .large-offset-10 { margin-left: 83.3333333333%; }
  .large-12 { -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
  .large-offset-11 { margin-left: 91.6666666667%; }
  .large-up-1 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .large-up-1 > .column, .large-up-1 > .columns { -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
  .large-up-2 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .large-up-2 > .column, .large-up-2 > .columns { -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
  .large-up-3 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .large-up-3 > .column, .large-up-3 > .columns { -webkit-flex: 0 0 33.3333333333%; -ms-flex: 0 0 33.3333333333%; flex: 0 0 33.3333333333%; max-width: 33.3333333333%; }
  .large-up-4 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .large-up-4 > .column, .large-up-4 > .columns { -webkit-flex: 0 0 25%; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; }
  .large-up-5 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .large-up-5 > .column, .large-up-5 > .columns { -webkit-flex: 0 0 20%; -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; }
  .large-up-6 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .large-up-6 > .column, .large-up-6 > .columns { -webkit-flex: 0 0 16.6666666667%; -ms-flex: 0 0 16.6666666667%; flex: 0 0 16.6666666667%; max-width: 16.6666666667%; }
  .large-up-7 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .large-up-7 > .column, .large-up-7 > .columns { -webkit-flex: 0 0 14.2857142857%; -ms-flex: 0 0 14.2857142857%; flex: 0 0 14.2857142857%; max-width: 14.2857142857%; }
  .large-up-8 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .large-up-8 > .column, .large-up-8 > .columns { -webkit-flex: 0 0 12.5%; -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-flex: 1 1 0px; -ms-flex: 1 1 0px; flex: 1 1 0px; } }

.row.large-unstack > .column, .row.large-unstack > .columns { -webkit-flex: 0 0 100%; -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-flex: 1 1 0px; -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: 1rem; padding-left: 1rem; } }

@media screen and (min-width: 80em) { .xlarge-1 { -webkit-flex: 0 0 8.3333333333%; -ms-flex: 0 0 8.3333333333%; flex: 0 0 8.3333333333%; max-width: 8.3333333333%; }
  .xlarge-offset-0 { margin-left: 0%; }
  .xlarge-2 { -webkit-flex: 0 0 16.6666666667%; -ms-flex: 0 0 16.6666666667%; flex: 0 0 16.6666666667%; max-width: 16.6666666667%; }
  .xlarge-offset-1 { margin-left: 8.3333333333%; }
  .xlarge-3 { -webkit-flex: 0 0 25%; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; }
  .xlarge-offset-2 { margin-left: 16.6666666667%; }
  .xlarge-4 { -webkit-flex: 0 0 33.3333333333%; -ms-flex: 0 0 33.3333333333%; flex: 0 0 33.3333333333%; max-width: 33.3333333333%; }
  .xlarge-offset-3 { margin-left: 25%; }
  .xlarge-5 { -webkit-flex: 0 0 41.6666666667%; -ms-flex: 0 0 41.6666666667%; flex: 0 0 41.6666666667%; max-width: 41.6666666667%; }
  .xlarge-offset-4 { margin-left: 33.3333333333%; }
  .xlarge-6 { -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
  .xlarge-offset-5 { margin-left: 41.6666666667%; }
  .xlarge-7 { -webkit-flex: 0 0 58.3333333333%; -ms-flex: 0 0 58.3333333333%; flex: 0 0 58.3333333333%; max-width: 58.3333333333%; }
  .xlarge-offset-6 { margin-left: 50%; }
  .xlarge-8 { -webkit-flex: 0 0 66.6666666667%; -ms-flex: 0 0 66.6666666667%; flex: 0 0 66.6666666667%; max-width: 66.6666666667%; }
  .xlarge-offset-7 { margin-left: 58.3333333333%; }
  .xlarge-9 { -webkit-flex: 0 0 75%; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; }
  .xlarge-offset-8 { margin-left: 66.6666666667%; }
  .xlarge-10 { -webkit-flex: 0 0 83.3333333333%; -ms-flex: 0 0 83.3333333333%; flex: 0 0 83.3333333333%; max-width: 83.3333333333%; }
  .xlarge-offset-9 { margin-left: 75%; }
  .xlarge-11 { -webkit-flex: 0 0 91.6666666667%; -ms-flex: 0 0 91.6666666667%; flex: 0 0 91.6666666667%; max-width: 91.6666666667%; }
  .xlarge-offset-10 { margin-left: 83.3333333333%; }
  .xlarge-12 { -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
  .xlarge-offset-11 { margin-left: 91.6666666667%; }
  .xlarge-up-1 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .xlarge-up-1 > .column, .xlarge-up-1 > .columns { -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
  .xlarge-up-2 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .xlarge-up-2 > .column, .xlarge-up-2 > .columns { -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
  .xlarge-up-3 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .xlarge-up-3 > .column, .xlarge-up-3 > .columns { -webkit-flex: 0 0 33.3333333333%; -ms-flex: 0 0 33.3333333333%; flex: 0 0 33.3333333333%; max-width: 33.3333333333%; }
  .xlarge-up-4 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .xlarge-up-4 > .column, .xlarge-up-4 > .columns { -webkit-flex: 0 0 25%; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; }
  .xlarge-up-5 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .xlarge-up-5 > .column, .xlarge-up-5 > .columns { -webkit-flex: 0 0 20%; -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; }
  .xlarge-up-6 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .xlarge-up-6 > .column, .xlarge-up-6 > .columns { -webkit-flex: 0 0 16.6666666667%; -ms-flex: 0 0 16.6666666667%; flex: 0 0 16.6666666667%; max-width: 16.6666666667%; }
  .xlarge-up-7 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .xlarge-up-7 > .column, .xlarge-up-7 > .columns { -webkit-flex: 0 0 14.2857142857%; -ms-flex: 0 0 14.2857142857%; flex: 0 0 14.2857142857%; max-width: 14.2857142857%; }
  .xlarge-up-8 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .xlarge-up-8 > .column, .xlarge-up-8 > .columns { -webkit-flex: 0 0 12.5%; -ms-flex: 0 0 12.5%; flex: 0 0 12.5%; max-width: 12.5%; } }

@media screen and (min-width: 80em) and (min-width: 80em) { .xlarge-expand { -webkit-flex: 1 1 0px; -ms-flex: 1 1 0px; flex: 1 1 0px; } }

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

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

@media screen and (min-width: 80em) { .xlarge-collapse > .column, .xlarge-collapse > .columns { padding-right: 0; padding-left: 0; }
  .xlarge-uncollapse > .column, .xlarge-uncollapse > .columns { padding-right: 1rem; padding-left: 1rem; } }

@media screen and (min-width: 120em) { .xxlarge-1 { -webkit-flex: 0 0 8.3333333333%; -ms-flex: 0 0 8.3333333333%; flex: 0 0 8.3333333333%; max-width: 8.3333333333%; }
  .xxlarge-offset-0 { margin-left: 0%; }
  .xxlarge-2 { -webkit-flex: 0 0 16.6666666667%; -ms-flex: 0 0 16.6666666667%; flex: 0 0 16.6666666667%; max-width: 16.6666666667%; }
  .xxlarge-offset-1 { margin-left: 8.3333333333%; }
  .xxlarge-3 { -webkit-flex: 0 0 25%; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; }
  .xxlarge-offset-2 { margin-left: 16.6666666667%; }
  .xxlarge-4 { -webkit-flex: 0 0 33.3333333333%; -ms-flex: 0 0 33.3333333333%; flex: 0 0 33.3333333333%; max-width: 33.3333333333%; }
  .xxlarge-offset-3 { margin-left: 25%; }
  .xxlarge-5 { -webkit-flex: 0 0 41.6666666667%; -ms-flex: 0 0 41.6666666667%; flex: 0 0 41.6666666667%; max-width: 41.6666666667%; }
  .xxlarge-offset-4 { margin-left: 33.3333333333%; }
  .xxlarge-6 { -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
  .xxlarge-offset-5 { margin-left: 41.6666666667%; }
  .xxlarge-7 { -webkit-flex: 0 0 58.3333333333%; -ms-flex: 0 0 58.3333333333%; flex: 0 0 58.3333333333%; max-width: 58.3333333333%; }
  .xxlarge-offset-6 { margin-left: 50%; }
  .xxlarge-8 { -webkit-flex: 0 0 66.6666666667%; -ms-flex: 0 0 66.6666666667%; flex: 0 0 66.6666666667%; max-width: 66.6666666667%; }
  .xxlarge-offset-7 { margin-left: 58.3333333333%; }
  .xxlarge-9 { -webkit-flex: 0 0 75%; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; }
  .xxlarge-offset-8 { margin-left: 66.6666666667%; }
  .xxlarge-10 { -webkit-flex: 0 0 83.3333333333%; -ms-flex: 0 0 83.3333333333%; flex: 0 0 83.3333333333%; max-width: 83.3333333333%; }
  .xxlarge-offset-9 { margin-left: 75%; }
  .xxlarge-11 { -webkit-flex: 0 0 91.6666666667%; -ms-flex: 0 0 91.6666666667%; flex: 0 0 91.6666666667%; max-width: 91.6666666667%; }
  .xxlarge-offset-10 { margin-left: 83.3333333333%; }
  .xxlarge-12 { -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
  .xxlarge-offset-11 { margin-left: 91.6666666667%; }
  .xxlarge-up-1 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .xxlarge-up-1 > .column, .xxlarge-up-1 > .columns { -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
  .xxlarge-up-2 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .xxlarge-up-2 > .column, .xxlarge-up-2 > .columns { -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
  .xxlarge-up-3 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .xxlarge-up-3 > .column, .xxlarge-up-3 > .columns { -webkit-flex: 0 0 33.3333333333%; -ms-flex: 0 0 33.3333333333%; flex: 0 0 33.3333333333%; max-width: 33.3333333333%; }
  .xxlarge-up-4 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .xxlarge-up-4 > .column, .xxlarge-up-4 > .columns { -webkit-flex: 0 0 25%; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; }
  .xxlarge-up-5 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .xxlarge-up-5 > .column, .xxlarge-up-5 > .columns { -webkit-flex: 0 0 20%; -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; }
  .xxlarge-up-6 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .xxlarge-up-6 > .column, .xxlarge-up-6 > .columns { -webkit-flex: 0 0 16.6666666667%; -ms-flex: 0 0 16.6666666667%; flex: 0 0 16.6666666667%; max-width: 16.6666666667%; }
  .xxlarge-up-7 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .xxlarge-up-7 > .column, .xxlarge-up-7 > .columns { -webkit-flex: 0 0 14.2857142857%; -ms-flex: 0 0 14.2857142857%; flex: 0 0 14.2857142857%; max-width: 14.2857142857%; }
  .xxlarge-up-8 { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .xxlarge-up-8 > .column, .xxlarge-up-8 > .columns { -webkit-flex: 0 0 12.5%; -ms-flex: 0 0 12.5%; flex: 0 0 12.5%; max-width: 12.5%; } }

@media screen and (min-width: 120em) and (min-width: 120em) { .xxlarge-expand { -webkit-flex: 1 1 0px; -ms-flex: 1 1 0px; flex: 1 1 0px; } }

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

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

@media screen and (min-width: 120em) { .xxlarge-collapse > .column, .xxlarge-collapse > .columns { padding-right: 0; padding-left: 0; }
  .xxlarge-uncollapse > .column, .xxlarge-uncollapse > .columns { padding-right: 1rem; padding-left: 1rem; } }

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

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

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

div, dl, dt, dd, ul, ol, li, h1, .frequency-price .price, h2, h3, .ce-market-trigger .tabs .tabs-title, .ce-market-trigger .mobile a, h4, .event-item a figure figcaption, .game-server-item a figure figcaption, .news-item a figure figcaption, .service-item a figure figcaption, .vacancy-item a figure figcaption, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; }

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

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

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

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

h1, .frequency-price .price, .h1, h2, .h2, h3, .ce-market-trigger .tabs .tabs-title, .ce-market-trigger .mobile a, .h3, h4, .event-item a figure figcaption, .game-server-item a figure figcaption, .news-item a figure figcaption, .service-item a figure figcaption, .vacancy-item a figure figcaption, .h4, h5, .h5, h6, .h6 { font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; font-style: normal; font-weight: normal; color: inherit; text-rendering: optimizeLegibility; }

h1 small, .frequency-price .price small, .h1 small, h2 small, .h2 small, h3 small, .ce-market-trigger .tabs .tabs-title small, .ce-market-trigger .mobile a small, .h3 small, h4 small, .event-item a figure figcaption small, .game-server-item a figure figcaption small, .news-item a figure figcaption small, .service-item a figure figcaption small, .vacancy-item a figure figcaption small, .h4 small, h5 small, .h5 small, h6 small, .h6 small { line-height: 0; color: #cacaca; }

h1, .frequency-price .price, .h1 { font-size: 1.5rem; line-height: 1.4; margin-top: 0; margin-bottom: 0.5rem; }

h2, .h2 { font-size: 1.25rem; line-height: 1.4; margin-top: 0; margin-bottom: 0.5rem; }

h3, .ce-market-trigger .tabs .tabs-title, .ce-market-trigger .mobile a, .h3 { font-size: 1.1875rem; line-height: 1.4; margin-top: 0; margin-bottom: 0.5rem; }

h4, .event-item a figure figcaption, .game-server-item a figure figcaption, .news-item a figure figcaption, .service-item a figure figcaption, .vacancy-item a figure figcaption, .h4 { font-size: 1.125rem; line-height: 1.4; margin-top: 0; margin-bottom: 0.5rem; }

h5, .h5 { font-size: 1.0625rem; line-height: 1.4; margin-top: 0; margin-bottom: 0.5rem; }

h6, .h6 { font-size: 1rem; line-height: 1.4; margin-top: 0; margin-bottom: 0.5rem; }

@media print, screen and (min-width: 48em) { h1, .frequency-price .price, .h1 { font-size: 3rem; }
  h2, .h2 { font-size: 2.5rem; }
  h3, .ce-market-trigger .tabs .tabs-title, .ce-market-trigger .mobile a, .h3 { font-size: 1.9375rem; }
  h4, .event-item a figure figcaption, .game-server-item a figure figcaption, .news-item a figure figcaption, .service-item a figure figcaption, .vacancy-item a figure figcaption, .h4 { font-size: 1.5625rem; }
  h5, .h5 { font-size: 1.25rem; }
  h6, .h6 { font-size: 1rem; } }

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

a:hover, a:focus { color: #1468a0; }

a img { border: 0; }

hr { clear: both; max-width: calc(100vw - 168px); height: 0; margin: 1.25rem auto; border-top: 0; border-right: 0; border-bottom: 1px solid #cacaca; border-left: 0; }

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

li { font-size: inherit; }

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

ol { margin-left: 1.25rem; }

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

dl { margin-bottom: 1rem; }

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

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

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

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

cite:before { content: "— "; }

abbr, abbr[title] { border-bottom: 1px dotted #232223; cursor: help; text-decoration: none; }

figure { margin: 0; }

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

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 37.5em) { .smedium-text-left { text-align: left; }
  .smedium-text-right { text-align: right; }
  .smedium-text-center { text-align: center; }
  .smedium-text-justify { text-align: justify; } }

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

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

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

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

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

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

.responsive-embed, .flex-video { position: relative; height: 0; margin-bottom: 1rem; padding-bottom: 75%; overflow: hidden; }

.responsive-embed iframe, .responsive-embed object, .responsive-embed embed, .responsive-embed video, .flex-video iframe, .flex-video object, .flex-video embed, .flex-video video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.responsive-embed.widescreen, .flex-video.widescreen { padding-bottom: 56.25%; }

.media-object { display: block; margin-bottom: 1rem; }

.media-object img { max-width: none; }

@media screen and (max-width: 37.4375em) { .media-object.stack-for-small .media-object-section { padding: 0; padding-bottom: 1rem; display: block; }
  .media-object.stack-for-small .media-object-section img { width: 100%; } }

.media-object-section { display: table-cell; vertical-align: top; }

.media-object-section:first-child { padding-right: 1rem; }

.media-object-section:last-child:not(:nth-child(2)) { padding-left: 1rem; }

.media-object-section > :last-child { margin-bottom: 0; }

.media-object-section.middle { vertical-align: middle; }

.media-object-section.bottom { vertical-align: bottom; }

.hide { display: none !important; }

.invisible { visibility: hidden; }

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

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

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

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

@media screen and (min-width: 37.5em) and (max-width: 47.9375em) { .hide-for-smedium-only { display: none !important; } }

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

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

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

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

@media screen and (max-width: 47.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: 79.9375em) { .hide-for-large-only { display: none !important; } }

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

@media screen and (min-width: 80em) { .hide-for-xlarge { display: none !important; } }

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

@media screen and (min-width: 80em) and (max-width: 119.9375em) { .hide-for-xlarge-only { display: none !important; } }

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

@media screen and (min-width: 120em) { .hide-for-xxlarge { display: none !important; } }

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

@media screen and (min-width: 120em) { .hide-for-xxlarge-only { display: none !important; } }

@media screen and (max-width: 119.9375em) { .show-for-xxlarge-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: ' '; }

.clearfix::after { clear: both; }

@-webkit-keyframes rotating { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }

@keyframes rotating { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }

@-webkit-keyframes glow { 0% { opacity: 0.5;
    visibility: hidden; }
  50% { fill: #232223;
    opacity: 1;
    visibility: visible; }
  100% { opacity: 0.5;
    visibility: hidden; } }

@keyframes glow { 0% { opacity: 0.5;
    visibility: hidden; }
  50% { fill: #232223;
    opacity: 1;
    visibility: visible; }
  100% { opacity: 0.5;
    visibility: hidden; } }

.ui-datepicker { width: 17.5rem; }

.ui-datepicker .ui-datepicker-header { background-color: #232223; border-radius: 0.125rem 0.125rem 0 0; padding: 0.25rem 0.75rem; position: relative; }

.ui-datepicker .ui-datepicker-header .ui-datepicker-prev, .ui-datepicker .ui-datepicker-header .ui-datepicker-next { color: #FFF; line-height: 1; position: absolute; right: 1.5rem; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }

.ui-datepicker .ui-datepicker-header .ui-datepicker-prev:after, .ui-datepicker .ui-datepicker-header .ui-datepicker-next:after { content: ""; font-size: 1.25rem; }

.ui-datepicker .ui-datepicker-header .ui-datepicker-prev .ui-icon, .ui-datepicker .ui-datepicker-header .ui-datepicker-next .ui-icon { display: none; }

.ui-datepicker .ui-datepicker-header .ui-datepicker-next { right: 0.25rem; }

.ui-datepicker .ui-datepicker-header .ui-datepicker-next:after { content: ""; }

.ui-datepicker .ui-datepicker-header .ui-datepicker-title { color: #FFF; font-size: 1rem; font-weight: bold; }

.ui-datepicker .ui-datepicker-calendar { background-color: #FFF; border-bottom: 0.0625rem solid #E6E6E6; border-left: 0.0625rem solid #E6E6E6; border-radius: 0 0 0.125rem 0.125rem; border-right: 0.0625rem solid #E6E6E6; border-spacing: 0; width: 100%; }

.ui-datepicker .ui-datepicker-calendar thead th { background-color: #F7F7F7; border-bottom: 0.0625rem solid #E6E6E6; font-size: 0.75rem; font-weight: bold; text-transform: uppercase; }

.ui-datepicker .ui-datepicker-calendar tbody td { border-radius: 0.25rem; font-size: 1rem; height: 2.5rem; text-align: center; width: 2.5rem; }

.ui-datepicker .ui-datepicker-calendar tbody td a { display: block; }

.ui-datepicker .ui-datepicker-calendar tbody td:hover { background-color: #dedede; }

.ui-datepicker .ui-datepicker-calendar tbody td.ui-state-disabled { background-color: #FFF; }

.ui-datepicker .ui-datepicker-calendar tbody td.ui-datepicker-current-day { background-color: #D2232A; color: #FFF; font-weight: bold; }

.ui-datepicker .ui-datepicker-calendar tbody td.ui-datepicker-today { background-color: #951114; color: #FFF; font-weight: bold; }

.mfp-wrap { display: -webkit-flex; display: -ms-flexbox; display: flex; width: 100%; z-index: 9999; }

.mfp-wrap:before { content: ""; position: absolute; width: 100%; height: 100%; background-color: #232223; opacity: .5; top: 0; left: 0; }

.mfp-wrap .mfp-iframe { height: 66vh; width: 66vw; }

.mfp-wrap .mfp-container { margin: auto; width: 66vw; z-index: 2; }

.mfp-wrap .mfp-content { max-width: 56.25rem; }

.mfp-iframe-holder .mfp-close { color: #FFF; cursor: pointer; font-size: 3.125rem; top: -2.8125rem; }

.mfp-wizardSelector .mfp-iframe-holder .mfp-content { min-height: 37.5rem; }

@media print, screen and (min-width: 64em) { .mfp-wizardSelector .mfp-iframe-holder .mfp-content { height: 51.125rem; width: 54rem; } }

.mfp-wizardSelector .mfp-iframe-holder .mfp-close { height: 1.5rem; padding: 0; position: absolute; right: 1rem; text-align: center; top: 1rem; width: 1.5rem; }

.mfp-wizardSelector .mfp-iframe-holder .mfp-close:after { content: ""; display: inline-block; left: 0; position: absolute; top: 0; }

.powermail_form fieldset { border: none; margin: 0; padding: 0; }

/** Swiper 4.1.0 Most modern mobile touch slider and framework with hardware accelerated transitions http://www.idangero.us/swiper/ Copyright 2014-2018 Vladimir Kharlampidi Released under the MIT License Released on: January 13, 2018 */
.swiper-container { margin: 0 auto; position: relative; overflow: hidden; list-style: none; padding: 0; /* Fix of Webkit flickering */ z-index: 1; }

.swiper-container-no-flexbox .swiper-slide { float: left; }

.swiper-container-vertical > .swiper-wrapper { -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; }

.swiper-wrapper { position: relative; width: 100%; height: 100%; z-index: 1; display: -webkit-flex; display: -ms-flexbox; display: flex; transition-property: -webkit-transform; transition-property: transform; transition-property: transform, -webkit-transform; box-sizing: content-box; }

.swiper-container-android .swiper-slide, .swiper-wrapper { -webkit-transform: translate3d(0px, 0, 0); transform: translate3d(0px, 0, 0); }

.swiper-container-multirow > .swiper-wrapper { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }

.swiper-container-free-mode > .swiper-wrapper { transition-timing-function: ease-out; margin: 0 auto; }

.swiper-slide { -ms-flex-negative: 0; -webkit-flex-shrink: 0; flex-shrink: 0; width: 100%; height: 100%; position: relative; transition-property: -webkit-transform; transition-property: transform; transition-property: transform, -webkit-transform; }

.swiper-invisible-blank-slide { visibility: hidden; }

/* Auto Height */
.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide { height: auto; }

.swiper-container-autoheight .swiper-wrapper { -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; transition-property: height, -webkit-transform; transition-property: transform, height; transition-property: transform, height, -webkit-transform; }

/* 3D Effects */
.swiper-container-3d { -webkit-perspective: 1200px; perspective: 1200px; }

.swiper-container-3d .swiper-wrapper, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-cube-shadow { -webkit-transform-style: preserve-3d; transform-style: preserve-3d; }

.swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom { position: absolute; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; z-index: 10; }

.swiper-container-3d .swiper-slide-shadow-left { background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), transparent); }

.swiper-container-3d .swiper-slide-shadow-right { background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), transparent); }

.swiper-container-3d .swiper-slide-shadow-top { background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent); }

.swiper-container-3d .swiper-slide-shadow-bottom { background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent); }

/* IE10 Windows Phone 8 Fixes */
.swiper-container-wp8-horizontal, .swiper-container-wp8-horizontal > .swiper-wrapper { -ms-touch-action: pan-y; touch-action: pan-y; }

.swiper-container-wp8-vertical, .swiper-container-wp8-vertical > .swiper-wrapper { -ms-touch-action: pan-x; touch-action: pan-x; }

.swiper-button-prev, .swiper-button-next { position: absolute; top: 50%; width: 27px; height: 44px; margin-top: -22px; z-index: 10; cursor: pointer; background-size: 27px 44px; background-position: center; background-repeat: no-repeat; }

.swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled { opacity: 0.35; cursor: auto; pointer-events: none; }

.swiper-button-prev, .swiper-container-rtl .swiper-button-next { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); left: 10px; right: auto; }

.swiper-button-next, .swiper-container-rtl .swiper-button-prev { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); right: 10px; left: auto; }

.swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-lock { display: none; }

.swiper-pagination { position: absolute; text-align: center; transition: 300ms opacity; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); z-index: 10; }

.swiper-pagination.swiper-pagination-hidden { opacity: 0; }

/* Common Styles */
.swiper-pagination-fraction, .swiper-pagination-custom, .swiper-container-horizontal > .swiper-pagination-bullets { bottom: 10px; left: 0; width: 100%; }

/* Bullets */
.swiper-pagination-bullets-dynamic { overflow: hidden; font-size: 0; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { -webkit-transform: scale(0.33); transform: scale(0.33); position: relative; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active { -webkit-transform: scale(1); transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev { -webkit-transform: scale(0.66); transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev { -webkit-transform: scale(0.33); transform: scale(0.33); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next { -webkit-transform: scale(0.66); transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next { -webkit-transform: scale(0.33); transform: scale(0.33); }

.swiper-pagination-bullet { width: 8px; height: 8px; display: inline-block; border-radius: 100%; background: #000; opacity: 0.2; }

button.swiper-pagination-bullet { border: none; margin: 0; padding: 0; box-shadow: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; }

.swiper-pagination-clickable .swiper-pagination-bullet { cursor: pointer; }

.swiper-pagination-bullet-active { opacity: 1; background: #007aff; }

.swiper-container-vertical > .swiper-pagination-bullets { right: 10px; top: 50%; -webkit-transform: translate3d(0px, -50%, 0); transform: translate3d(0px, -50%, 0); }

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet { margin: 6px 0; display: block; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic { top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); width: 8px; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { display: inline-block; transition: 200ms top, 200ms -webkit-transform; transition: 200ms transform, 200ms top; transition: 200ms transform, 200ms top, 200ms -webkit-transform; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet { margin: 0 4px; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic { left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); white-space: nowrap; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { transition: 200ms left, 200ms -webkit-transform; transition: 200ms transform, 200ms left; transition: 200ms transform, 200ms left, 200ms -webkit-transform; }

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet { transition: 200ms right, 200ms -webkit-transform; transition: 200ms transform, 200ms right; transition: 200ms transform, 200ms right, 200ms -webkit-transform; }

/* Progress */
.swiper-pagination-progressbar { background: rgba(0, 0, 0, 0.25); position: absolute; }

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill { background: #007aff; position: absolute; left: 0; top: 0; width: 100%; height: 100%; -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: left top; transform-origin: left top; }

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { -webkit-transform-origin: right top; transform-origin: right top; }

.swiper-container-horizontal > .swiper-pagination-progressbar { width: 100%; height: 4px; left: 0; top: 0; }

.swiper-container-vertical > .swiper-pagination-progressbar { width: 4px; height: 100%; left: 0; top: 0; }

.swiper-pagination-white .swiper-pagination-bullet-active { background: #ffffff; }

.swiper-pagination-progressbar.swiper-pagination-white { background: rgba(255, 255, 255, 0.25); }

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill { background: #ffffff; }

.swiper-pagination-black .swiper-pagination-bullet-active { background: #000000; }

.swiper-pagination-progressbar.swiper-pagination-black { background: rgba(0, 0, 0, 0.25); }

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill { background: #000000; }

.swiper-pagination-lock { display: none; }

/* Scrollbar */
.swiper-scrollbar { border-radius: 10px; position: relative; -ms-touch-action: none; background: rgba(0, 0, 0, 0.1); }

.swiper-container-horizontal > .swiper-scrollbar { position: absolute; left: 1%; bottom: 3px; z-index: 50; height: 5px; width: 98%; }

.swiper-container-vertical > .swiper-scrollbar { position: absolute; right: 3px; top: 1%; z-index: 50; width: 5px; height: 98%; }

.swiper-scrollbar-drag { height: 100%; width: 100%; position: relative; background: rgba(0, 0, 0, 0.5); border-radius: 10px; left: 0; top: 0; }

.swiper-scrollbar-cursor-drag { cursor: move; }

.swiper-scrollbar-lock { display: none; }

.swiper-zoom-container { width: 100%; height: 100%; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; text-align: center; }

.swiper-zoom-container > img, .swiper-zoom-container > svg, .swiper-zoom-container > canvas { max-width: 100%; max-height: 100%; object-fit: contain; }

.swiper-slide-zoomed { cursor: move; }

/* Preloader */
.swiper-lazy-preloader { width: 42px; height: 42px; position: absolute; left: 50%; top: 50%; margin-left: -21px; margin-top: -21px; z-index: 10; -webkit-transform-origin: 50%; transform-origin: 50%; -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite; animation: swiper-preloader-spin 1s steps(12, end) infinite; }

.swiper-lazy-preloader:after { display: block; content: ''; width: 100%; height: 100%; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); background-position: 50%; background-size: 100%; background-repeat: no-repeat; }

.swiper-lazy-preloader-white:after { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }

@-webkit-keyframes swiper-preloader-spin { 100% { -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes swiper-preloader-spin { 100% { -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

/* a11y */
.swiper-container .swiper-notification { position: absolute; left: 0; top: 0; pointer-events: none; opacity: 0; z-index: -1000; }

.swiper-container-fade.swiper-container-free-mode .swiper-slide { transition-timing-function: ease-out; }

.swiper-container-fade .swiper-slide { pointer-events: none; transition-property: opacity; }

.swiper-container-fade .swiper-slide .swiper-slide { pointer-events: none; }

.swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active { pointer-events: auto; }

.swiper-container-cube { overflow: visible; }

.swiper-container-cube .swiper-slide { pointer-events: none; -webkit-backface-visibility: hidden; backface-visibility: hidden; z-index: 1; visibility: hidden; -webkit-transform-origin: 0 0; transform-origin: 0 0; width: 100%; height: 100%; }

.swiper-container-cube .swiper-slide .swiper-slide { pointer-events: none; }

.swiper-container-cube.swiper-container-rtl .swiper-slide { -webkit-transform-origin: 100% 0; transform-origin: 100% 0; }

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active { pointer-events: auto; }

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-prev, .swiper-container-cube .swiper-slide-next + .swiper-slide { pointer-events: auto; visibility: visible; }

.swiper-container-cube .swiper-slide-shadow-top, .swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right { z-index: 0; -webkit-backface-visibility: hidden; backface-visibility: hidden; }

.swiper-container-cube .swiper-cube-shadow { position: absolute; left: 0; bottom: 0px; width: 100%; height: 100%; background: #000; opacity: 0.6; -webkit-filter: blur(50px); filter: blur(50px); z-index: 0; }

.swiper-container-flip { overflow: visible; }

.swiper-container-flip .swiper-slide { pointer-events: none; -webkit-backface-visibility: hidden; backface-visibility: hidden; z-index: 1; }

.swiper-container-flip .swiper-slide .swiper-slide { pointer-events: none; }

.swiper-container-flip .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active { pointer-events: auto; }

.swiper-container-flip .swiper-slide-shadow-top, .swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-right { z-index: 0; -webkit-backface-visibility: hidden; backface-visibility: hidden; }

.swiper-container-coverflow .swiper-wrapper { /* Windows 8 IE 10 fix */ -ms-perspective: 1200px; }

@font-face { font-family: "Helvetica Neue LT W01_41488878"; src: url("/typo3conf/ext/i3d_template/Resources/Public/fonts/1b950d2a-907a-4888-8056-0d44e8e86338.eot?#iefix"); src: url("/typo3conf/ext/i3d_template/Resources/Public/fonts/1b950d2a-907a-4888-8056-0d44e8e86338.eot?#iefix") format("eot"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/3a46542f-f429-4821-9a88-62e3be54a640.woff2") format("woff2"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/50ac1699-f3d2-47b6-878f-67a368a17c41.woff") format("woff"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/0be5590f-8353-4ef3-ada1-43ac380859f8.ttf") format("truetype"); }

@font-face { font-family: "Helvetica Neue LT W01_41488884"; src: url("/typo3conf/ext/i3d_template/Resources/Public/fonts/e36efb7d-12e3-4773-a830-26e5652373ea.eot?#iefix"); src: url("/typo3conf/ext/i3d_template/Resources/Public/fonts/e36efb7d-12e3-4773-a830-26e5652373ea.eot?#iefix") format("eot"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/261b4efb-3d70-4965-977d-38af9422700d.woff2") format("woff2"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/2e00514e-1764-4250-a0c5-aca3e5a8d133.woff") format("woff"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/e2fe2e07-9419-400f-953d-dc23cfa647a2.ttf") format("truetype"); }

@font-face { font-family: "Helvetica Neue LT W01_51488890"; src: url("/typo3conf/ext/i3d_template/Resources/Public/fonts/bf7ef4ce-de2a-4213-a9d7-826a3ee323cd.eot?#iefix"); src: url("/typo3conf/ext/i3d_template/Resources/Public/fonts/bf7ef4ce-de2a-4213-a9d7-826a3ee323cd.eot?#iefix") format("eot"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/3dac71eb-afa7-4c80-97f0-599202772905.woff2") format("woff2"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/34e0e4c0-c294-49bb-9a8e-1b2cafd54e32.woff") format("woff"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/8a8bfee3-197c-4942-9b11-71508cc9f406.ttf") format("truetype"); }

@font-face { font-family: "Helvetica Neue LT W01_56 It"; src: url("/typo3conf/ext/i3d_template/Resources/Public/fonts/5d0e5dca-869d-4e14-ac6b-45fbab3c4047.eot?#iefix"); src: url("/typo3conf/ext/i3d_template/Resources/Public/fonts/5d0e5dca-869d-4e14-ac6b-45fbab3c4047.eot?#iefix") format("eot"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/21c44514-f4d6-4cff-a5de-e4cac5e61aff.woff2") format("woff2"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/e7c4b231-76ad-47c7-a54b-5d84dcd78d0f.woff") format("woff"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/b6db417f-e795-426a-a2af-adc37a3419a6.ttf") format("truetype"); }

@font-face { font-family: "Helvetica Neue LT W01_65 Md"; src: url("/typo3conf/ext/i3d_template/Resources/Public/fonts/f95f9fc2-ffda-431c-9d6a-2c3668f5b20b.eot?#iefix"); src: url("/typo3conf/ext/i3d_template/Resources/Public/fonts/f95f9fc2-ffda-431c-9d6a-2c3668f5b20b.eot?#iefix") format("eot"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/5b1fbd62-45dc-4433-a7df-a2b24a146411.woff2") format("woff2"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/050b1948-f226-4d20-a65a-15d8ed031222.woff") format("woff"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/beb88be6-2a60-46fe-914f-6892b3ae46ce.ttf") format("truetype"); }

@font-face { font-family: "Helvetica Neue LT W01_61488908"; src: url("/typo3conf/ext/i3d_template/Resources/Public/fonts/4c68f39a-1d08-4a26-81b3-c424cbe6d712.eot?#iefix"); src: url("/typo3conf/ext/i3d_template/Resources/Public/fonts/4c68f39a-1d08-4a26-81b3-c424cbe6d712.eot?#iefix") format("eot"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/657c2fa4-585b-4761-9e2e-65ab13159323.woff2") format("woff2"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/400869f0-f0d5-49a0-8a11-f4fb4279d125.woff") format("woff"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/14df02b1-01f4-4426-bf7b-ad2f39dc1346.ttf") format("truetype"); }

@font-face { font-family: "Helvetica Neue LT W01_75 Bold"; src: url("/typo3conf/ext/i3d_template/Resources/Public/fonts/9697cfef-7816-47cc-81ed-c56c029d3bcf.eot?#iefix"); src: url("/typo3conf/ext/i3d_template/Resources/Public/fonts/9697cfef-7816-47cc-81ed-c56c029d3bcf.eot?#iefix") format("eot"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/1f4274cd-2674-481e-9023-69e33ffca161.woff2") format("woff2"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/5e8d493c-be01-44b9-962e-504a5cf10dd8.woff") format("woff"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/ae36b4a0-aa2c-46cc-98d8-d8b7d22241dc.ttf") format("truetype"); }

@font-face { font-family: "Helvetica Neue LT W01_71488920"; src: url("/typo3conf/ext/i3d_template/Resources/Public/fonts/52b6ae3e-9443-4acc-9bf9-f5154eeab77c.eot?#iefix"); src: url("/typo3conf/ext/i3d_template/Resources/Public/fonts/52b6ae3e-9443-4acc-9bf9-f5154eeab77c.eot?#iefix") format("eot"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/ade4dbae-c607-4c84-a375-f0c4de0cc357.woff2") format("woff2"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/5b864741-6f14-4ed9-a297-27a4d73edf51.woff") format("woff"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/0cdccad5-a023-4a17-8ea9-01a0e6ad7ff4.ttf") format("truetype"); }

@font-face { font-family: "Helvetica Neue LT W01_77 Bd Cn"; src: url("/typo3conf/ext/i3d_template/Resources/Public/fonts/1527aeed-e69d-4399-82e3-7b53d48da7a2.eot?#iefix"); src: url("/typo3conf/ext/i3d_template/Resources/Public/fonts/1527aeed-e69d-4399-82e3-7b53d48da7a2.eot?#iefix") format("eot"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/5f4620bc-98f7-4b13-9f90-3a54ea6a9c55.woff2") format("woff2"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/ac30e84e-cb19-4576-b6f9-491fccbd42ff.woff") format("woff"), url("/typo3conf/ext/i3d_template/Resources/Public/fonts/b583b782-0709-4a13-899f-7e9ab1a7eccd.ttf") format("truetype"); }

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

h6, .wysiwyg blockquote, .powermail_fieldwrap input, .powermail_fieldwrap textarea, .powermail_fieldwrap select, .powermail_fieldwrap.powermail_fieldwrap_type_file label, .powermail_fieldwrap.powermail_fieldwrap_type_file .filename, .breadcrumb li, #main-footer ul, .login, .primary-menu .submenu-menu, .primary-menu .submenu-teaser p, .search-form input, .search-form-inline input[type=text], .search-form ::-webkit-input-placeholder, .search-form ::-moz-placeholder, .search-form :-ms-input-placeholder, .mobile-menu, .secondary-menu a, .ce-search-results .search-item p, .event-item a main, .game-server-item a main, .news-item a main, .service-item a main, .swiper-button-next, .swiper-button-prev, .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active, .vacancy-item a main { font-family: 'Helvetica Neue LT W01_41488878'; }

body, .breadcrumb a, .info-window__body p { font-family: 'Helvetica Neue LT W01_51488890'; }

.frequency-price .frequency, h4, .event-item a figure figcaption, .game-server-item a figure figcaption, .news-item a figure figcaption, .service-item a figure figcaption, .vacancy-item a figure figcaption, h5, .primary-menu .menu-item, .primary-menu .submenu-menu .active a, .secondary-menu .active > a, .people-item .inner-wrapper .name, .people-item .inner-wrapper .job, .service-item .lead-paragraph, .swiper-pagination .swiper-pagination-bullet, .info-window__body h1, .info-window__body .frequency-price .price, .frequency-price .info-window__body .price, .ce-wordmap-list li a { font-family: 'Helvetica Neue LT W01_65 Md'; }

.list-title, .powermail_fieldwrap .powermail_label, .powermail_fieldwrap_type_text, .list-title p, .powermail_fieldwrap .powermail_label p, .powermail_fieldwrap_type_text p, h1, .frequency-price .price, h2, h3, .ce-market-trigger .tabs .tabs-title, .ce-market-trigger .mobile a, .wysiwyg ol li:before, .ce-content-slider .tabs .tabs-title a:hover, .ce-content-slider .tabs .tabs-title.is-active a { font-family: 'Helvetica Neue LT W01_75 Bold'; }

.btn, .button { font-family: 'Helvetica Neue LT W01_77 Bd Cn'; }

.ui-datepicker .ui-datepicker-header .ui-datepicker-prev:after, .ui-datepicker .ui-datepicker-header .ui-datepicker-next:after, .mfp-wizardSelector .mfp-iframe-holder .mfp-close:after, .wysiwyg blockquote:before, .btn.with-icon:before, .btn.with-icon:after, .button.with-icon:before, .button.with-icon:after, .breadcrumb a:after, #main-footer ul.contact-list li .mail:before, #main-footer ul.quick-list a:after, .grid-elements .ce-text .button:after, .support:before, .cart:before, .search-button:before, .menu-button:before, .login:before, .language-switch .selected:before, .language-switch .selected:after, .primary-menu .submenu-toggle span:after, .primary-menu .submenu-menu a:hover:after, .secondary-menu a:after, .secondary-menu .submenu-open > a:before, .event-item a main ul li:before, .game-server-item a main ul li:before, .icon-item h5:after, .news-item a main ul li:before, .service-item a main ul li:before, .swiper-button-prev:before, .swiper-button-next:after, .vacancy-item a main ul li:before, .info-window__link:before, .info-window__close:after, .ce-wordmap-list li a span:after, .ce-content-slider .accordion .accordion-title:after, .ce-locations-grid .location-item main .description:before, .ce-locations-grid .location-item main .contact-details li:before, .ce-market-trigger .mobile a:after { font-family: 'icomoon'; font-size: 1rem; line-height: 1; }

@media print, screen and (min-width: 48em) { .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:after, .ui-datepicker .ui-datepicker-header .ui-datepicker-next:after, .mfp-wizardSelector .mfp-iframe-holder .mfp-close:after, .wysiwyg blockquote:before, .btn.with-icon:before, .btn.with-icon:after, .button.with-icon:before, .button.with-icon:after, .breadcrumb a:after, #main-footer ul.contact-list li .mail:before, #main-footer ul.quick-list a:after, .grid-elements .ce-text .button:after, .support:before, .cart:before, .search-button:before, .menu-button:before, .login:before, .language-switch .selected:before, .language-switch .selected:after, .primary-menu .submenu-toggle span:after, .primary-menu .submenu-menu a:hover:after, .secondary-menu a:after, .secondary-menu .submenu-open > a:before, .event-item a main ul li:before, .game-server-item a main ul li:before, .icon-item h5:after, .news-item a main ul li:before, .service-item a main ul li:before, .swiper-button-prev:before, .swiper-button-next:after, .vacancy-item a main ul li:before, .info-window__link:before, .info-window__close:after, .ce-wordmap-list li a span:after, .ce-content-slider .accordion .accordion-title:after, .ce-locations-grid .location-item main .description:before, .ce-locations-grid .location-item main .contact-details li:before, .ce-market-trigger .mobile a:after { font-size: 1.5rem; } }

@media print, screen and (min-width: 48em) { body { font-size: 1.25rem; line-height: 2rem; } }

@media print, screen and (min-width: 48em) { p { line-height: 2rem; } }

a { color: inherit; }

a:hover, a:focus { color: inherit; }

.intro, .frequency-price label, #main-footer ul.quick-list a, .intro p, .frequency-price label p, #main-footer ul.quick-list a p { font-family: 'Helvetica Neue LT W01_41488878'; }

@media print, screen and (min-width: 48em) { .intro, .frequency-price label, #main-footer ul.quick-list a, .intro p, .frequency-price label p, #main-footer ul.quick-list a p { font-size: 1.625rem; line-height: 2.5rem; } }

.list-title, .powermail_fieldwrap .powermail_label, .powermail_fieldwrap_type_text, .list-title p, .powermail_fieldwrap .powermail_label p, .powermail_fieldwrap_type_text p { text-transform: uppercase; }

@media print, screen and (min-width: 48em) { .list-title, .powermail_fieldwrap .powermail_label, .powermail_fieldwrap_type_text, .list-title p, .powermail_fieldwrap .powermail_label p, .powermail_fieldwrap_type_text p { font-size: 0.75rem; line-height: 1rem; } }

.frequency-price label { display: block; margin-bottom: 0.5rem; }

.frequency-price .frequency { color: #656465; }

@media print, screen and (min-width: 48em) { h1, .frequency-price .price { font-size: 4.5rem; line-height: 5.375rem; } }

@media print, screen and (min-width: 48em) { h2 { font-size: 3.75rem; line-height: 4.75rem; } }

@media print, screen and (min-width: 48em) { h3, .ce-market-trigger .tabs .tabs-title, .ce-market-trigger .mobile a { font-size: 2.5rem; line-height: 3rem; } }

@media print, screen and (min-width: 48em) { h4, .event-item a figure figcaption, .game-server-item a figure figcaption, .news-item a figure figcaption, .service-item a figure figcaption, .vacancy-item a figure figcaption { font-size: 2rem; line-height: 2.5rem; } }

@media print, screen and (min-width: 48em) { h5 { font-size: 1.625rem; line-height: 2.5rem; } }

@media print, screen and (min-width: 48em) { h6 { font-size: 1.625rem; line-height: 2.5rem; } }

.long-field { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 100%; }

:focus { outline: none; }

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

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

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

img.aligncenter, a img.aligncenter { display: block; margin-left: auto; margin-right: auto; }

.wysiwyg a:not(.button) { color: #D2232A; text-decoration: underline; }

.wysiwyg a:not(.button):hover { color: #D2232A; text-decoration: none; }

.wysiwyg p { margin-bottom: 1rem; }

@media print, screen and (min-width: 48em) { .wysiwyg p { margin-bottom: 1.5rem; } }

.wysiwyg ul, .wysiwyg ol { list-style-type: none; }

@media print, screen and (min-width: 48em) { .wysiwyg ul, .wysiwyg ol { margin-left: 2rem; } }

.wysiwyg ul li, .wysiwyg ol li { padding-left: 1.5rem; position: relative; }

.wysiwyg ul li:before, .wysiwyg ol li:before { left: 0; position: absolute; }

.wysiwyg ul li:before { background-color: #232223; border-radius: 0.125rem; content: ''; height: 0.5rem; position: absolute; top: 0.5625rem; width: 0.5rem; }

@media print, screen and (min-width: 48em) { .wysiwyg ul li:before { height: 0.625rem; top: 0.6875rem; width: 0.625rem; } }

.wysiwyg ol { counter-reset: item; }

.wysiwyg ol li:before { content: counter(item); counter-increment: item; top: 0; }

.wysiwyg blockquote { border: 0; color: #232223; font-style: italic; line-height: 1; margin: 1rem 0; padding: 0; }

@media print, screen and (min-width: 48em) { .wysiwyg blockquote { margin: 2.5rem 0; } }

.wysiwyg blockquote:before { color: #D2232A; content: ""; display: block; font-size: 2.5rem; font-style: normal; margin-bottom: 0.5rem; }

.wysiwyg blockquote p, .wysiwyg .wysiwyg blockquote p { color: #232223; display: inline; font-size: 2rem; line-height: 3rem; }

.wysiwyg blockquote:last-child { margin-bottom: 0; }

.wysiwyg :last-child { margin-bottom: 0; }

table tbody { border: 0; }

.full-width { margin-left: auto; margin-right: auto; max-width: initial; width: 100%; }

@media print, screen and (min-width: 64em) { .large-flex { display: -webkit-flex; display: -ms-flexbox; display: flex; }
  .large-flex > .column, .large-flex > .columns { float: none; } }

.row { max-width: calc(100vw - 16px); }

@media screen and (min-width: 80em) { .row { max-width: calc(100vw - 168px); } }

.row.expanded { width: 100%; }

svg { height: 100%; width: 100%; }

.icon { display: inline-block; height: 1.5rem; width: 1.5rem; }

.icon svg { fill: #232223; display: block; }

textarea { resize: none; }

.powermail_form { margin: 0 -0.5rem; }

.powermail_fieldwrap { margin-bottom: 1rem; padding: 0 0.5rem; position: relative; width: 100%; }

.powermail_fieldwrap-100 { width: 100%; }

.powermail_fieldwrap-66 { width: 100%; }

@media print, screen and (min-width: 48em) { .powermail_fieldwrap-66 { width: calc((100% / 3) * 2); } }

.powermail_fieldwrap-50 { width: 100%; }

@media print, screen and (min-width: 48em) { .powermail_fieldwrap-50 { width: 50%; } }

.powermail_fieldwrap-33 { width: 100%; }

@media print, screen and (min-width: 48em) { .powermail_fieldwrap-33 { width: calc(100% / 3); } }

.powermail_fieldwrap .powermail_label { transition: all 200ms linear; left: 2rem; position: absolute; top: 1rem; }

.powermail_fieldwrap input, .powermail_fieldwrap textarea, .powermail_fieldwrap select { transition: all 200ms linear; background-color: #FFF; border: 0; border-radius: 0.25rem; box-shadow: 0 0 8px 0 rgba(35, 34, 35, 0.1); font-size: 1rem; height: 4rem; padding: 1.25rem 1.5rem 0 1.5rem; width: 100%; -webkit-appearance: none; -moz-appearance: none; appearance: none; }

.powermail_fieldwrap input:hover, .powermail_fieldwrap input:focus, .powermail_fieldwrap textarea:hover, .powermail_fieldwrap textarea:focus, .powermail_fieldwrap select:hover, .powermail_fieldwrap select:focus { box-shadow: 0 0 12px 2px rgba(35, 34, 35, 0.1); }

.powermail_fieldwrap textarea { height: 12.5rem; padding: 2rem 1.5rem 1.5rem; }

.powermail_fieldwrap .radio label, .powermail_fieldwrap .checkbox label { cursor: pointer; display: block; line-height: 2rem; margin-bottom: 1rem; padding-left: 2.5rem; position: relative; }

.powermail_fieldwrap .radio:last-child label, .powermail_fieldwrap .checkbox:last-child label { margin-bottom: 0; }

.powermail_fieldwrap .radio input, .powermail_fieldwrap .checkbox input { display: none; }

.powermail_fieldwrap .radio input:checked ~ span:after, .powermail_fieldwrap .checkbox input:checked ~ span:after { opacity: 1; }

.powermail_fieldwrap .radio span, .powermail_fieldwrap .checkbox span { background-color: #FFF; border: 0.0625rem solid #232223; border-radius: 0.125rem; height: 1.5rem; left: 0; position: absolute; top: 0.25rem; width: 1.5rem; }

.powermail_fieldwrap .radio span:after, .powermail_fieldwrap .checkbox span:after { background-color: #232223; border: 0; border-radius: 0.125rem; content: ''; height: 1.125rem; left: 0.125rem; opacity: 0; position: absolute; top: 0.125rem; width: 1.125rem; }

.powermail_fieldwrap .radio span { border-radius: 50%; }

.powermail_fieldwrap .radio span:after { border-radius: 50%; }

.powermail_fieldwrap_type_text { margin-bottom: 0.5rem; }

.powermail_fieldwrap.powermail_fieldwrap_type_file label { transition: all 200ms linear; background-color: #FFF; border: 0.0625rem solid #F7F7F7; border-radius: 0.625rem; box-shadow: 0 0 8px 0 rgba(35, 34, 35, 0.1); cursor: pointer; display: inline-block; font-size: 1rem; height: 2.5rem; line-height: 2.5rem; padding: 0 0.75rem; position: relative; }

.powermail_fieldwrap.powermail_fieldwrap_type_file label:hover { box-shadow: 0 0 12px 2px rgba(35, 34, 35, 0.1); }

.powermail_fieldwrap.powermail_fieldwrap_type_file .filename { color: #232223; display: inline-block; font-size: 1rem; line-height: 2.5rem; margin-left: 1rem; }

.powermail_fieldwrap.powermail_fieldwrap_type_file input { display: none; }

.powermail_fieldwrap.powermail_fieldwrap_type_file .powermail_label, .powermail_fieldwrap.powermail_fieldwrap_type_radio .powermail_label, .powermail_fieldwrap.powermail_fieldwrap_type_check .powermail_label { display: none; }

.powermail_fieldwrap.is-active .powermail_label, .powermail_fieldwrap.is-completed .powermail_label, .powermail_fieldwrap.powermail_fieldwrap_type_select .powermail_label { top: 0.75rem; }

.powermail_confirmation .powermail_all_label { min-width: 15.625rem; }

.powermail_confirmation form .button { float: left; margin-top: 2rem; position: relative; }

.powermail_confirmation form .submit { margin-left: 2rem; }

.powermail_message { list-style-type: none; padding: 32px; width: 50%; }

.powermail_message_error { background-color: rgba(210, 35, 42, 0.3); border: 0.0625rem solid #D2232A; }

.powermail_message_ok { background-color: rgba(12, 160, 62, 0.3); border: 0.0625rem solid #0ca03e; }

.btn, .button { transition: all 200ms linear; background-color: #D2232A; border: 0; border-radius: 0.5rem; color: #FFF; cursor: pointer; display: inline-block; font-size: 0.75rem; padding: 0.75rem 1rem; position: relative; text-transform: uppercase; }

@media print, screen and (min-width: 48em) { .btn, .button { font-size: 1.25rem; padding: 0.75rem 1.5rem; } }

.btn:focus, .btn:hover, .button:focus, .button:hover { background-color: #951114; color: #FFF; text-decoration: none; }

.btn.with-icon:before, .btn.with-icon:after, .button.with-icon:before, .button.with-icon:after { display: inline-block; position: relative; top: 0.125rem; font-size: 0.75rem; }

@media print, screen and (min-width: 48em) { .btn.with-icon:before, .btn.with-icon:after, .button.with-icon:before, .button.with-icon:after { font-size: 1.5rem; } }

.btn.with-icon.icon-left:before, .button.with-icon.icon-left:before { margin-right: 0.5rem; }

.btn.with-icon.icon-left.arrow-right:before, .button.with-icon.icon-left.arrow-right:before { content: ""; }

.btn.with-icon.icon-left.arrow-right-long:before, .button.with-icon.icon-left.arrow-right-long:before { content: ""; }

.btn.with-icon.icon-left.cart:before, .button.with-icon.icon-left.cart:before { content: ""; }

.btn.with-icon.icon-left.check:before, .button.with-icon.icon-left.check:before { content: ""; }

.btn.with-icon.icon-left.chevron-down:before, .button.with-icon.icon-left.chevron-down:before { content: ""; }

.btn.with-icon.icon-left.chevron-left:before, .button.with-icon.icon-left.chevron-left:before { content: ""; }

.btn.with-icon.icon-left.chevron-left-right:before, .button.with-icon.icon-left.chevron-left-right:before { content: ""; }

.btn.with-icon.icon-left.chevron-right:before, .button.with-icon.icon-left.chevron-right:before { content: ""; }

.btn.with-icon.icon-left.chevron-up:before, .button.with-icon.icon-left.chevron-up:before { content: ""; }

.btn.with-icon.icon-left.clock:before, .button.with-icon.icon-left.clock:before { content: ""; }

.btn.with-icon.icon-left.close:before, .button.with-icon.icon-left.close:before { content: ""; }

.btn.with-icon.icon-left.dot:before, .button.with-icon.icon-left.dot:before { content: ""; }

.btn.with-icon.icon-left.info:before, .button.with-icon.icon-left.info:before { content: ""; }

.btn.with-icon.icon-left.login:before, .button.with-icon.icon-left.login:before { content: ""; }

.btn.with-icon.icon-left.mail:before, .button.with-icon.icon-left.mail:before { content: ""; }

.btn.with-icon.icon-left.marker:before, .button.with-icon.icon-left.marker:before { content: ""; }

.btn.with-icon.icon-left.menu:before, .button.with-icon.icon-left.menu:before { content: ""; }

.btn.with-icon.icon-left.phone:before, .button.with-icon.icon-left.phone:before { content: ""; }

.btn.with-icon.icon-left.plus:before, .button.with-icon.icon-left.plus:before { content: ""; }

.btn.with-icon.icon-left.quote:before, .button.with-icon.icon-left.quote:before { content: ""; }

.btn.with-icon.icon-left.search:before, .button.with-icon.icon-left.search:before { content: ""; }

.btn.with-icon.icon-left.support:before, .button.with-icon.icon-left.support:before { content: ""; }

.btn.with-icon.icon-left.tag:before, .button.with-icon.icon-left.tag:before { content: ""; }

.btn.with-icon.icon-left.world:before, .button.with-icon.icon-left.world:before { content: ""; }

.btn.with-icon.icon-right:after, .button.with-icon.icon-right:after { margin-left: 0.5rem; }

.btn.with-icon.icon-right.arrow-right:after, .button.with-icon.icon-right.arrow-right:after { content: ""; }

.btn.with-icon.icon-right.arrow-right-long:after, .button.with-icon.icon-right.arrow-right-long:after { content: ""; }

.btn.with-icon.icon-right.cart:after, .button.with-icon.icon-right.cart:after { content: ""; }

.btn.with-icon.icon-right.check:after, .button.with-icon.icon-right.check:after { content: ""; }

.btn.with-icon.icon-right.chevron-down:after, .button.with-icon.icon-right.chevron-down:after { content: ""; }

.btn.with-icon.icon-right.chevron-left:after, .button.with-icon.icon-right.chevron-left:after { content: ""; }

.btn.with-icon.icon-right.chevron-left-right:after, .button.with-icon.icon-right.chevron-left-right:after { content: ""; }

.btn.with-icon.icon-right.chevron-right:after, .button.with-icon.icon-right.chevron-right:after { content: ""; }

.btn.with-icon.icon-right.chevron-up:after, .button.with-icon.icon-right.chevron-up:after { content: ""; }

.btn.with-icon.icon-right.clock:after, .button.with-icon.icon-right.clock:after { content: ""; }

.btn.with-icon.icon-right.close:after, .button.with-icon.icon-right.close:after { content: ""; }

.btn.with-icon.icon-right.dot:after, .button.with-icon.icon-right.dot:after { content: ""; }

.btn.with-icon.icon-right.info:after, .button.with-icon.icon-right.info:after { content: ""; }

.btn.with-icon.icon-right.login:after, .button.with-icon.icon-right.login:after { content: ""; }

.btn.with-icon.icon-right.mail:after, .button.with-icon.icon-right.mail:after { content: ""; }

.btn.with-icon.icon-right.marker:after, .button.with-icon.icon-right.marker:after { content: ""; }

.btn.with-icon.icon-right.menu:after, .button.with-icon.icon-right.menu:after { content: ""; }

.btn.with-icon.icon-right.phone:after, .button.with-icon.icon-right.phone:after { content: ""; }

.btn.with-icon.icon-right.plus:after, .button.with-icon.icon-right.plus:after { content: ""; }

.btn.with-icon.icon-right.quote:after, .button.with-icon.icon-right.quote:after { content: ""; }

.btn.with-icon.icon-right.search:after, .button.with-icon.icon-right.search:after { content: ""; }

.btn.with-icon.icon-right.support:after, .button.with-icon.icon-right.support:after { content: ""; }

.btn.with-icon.icon-right.tag:after, .button.with-icon.icon-right.tag:after { content: ""; }

.btn.with-icon.icon-right.world:after, .button.with-icon.icon-right.world:after { content: ""; }

@media print, screen and (min-width: 48em) { .btn.with-icon.icon-left:before, .button.with-icon.icon-left:before { margin-right: 1rem; }
  .btn.with-icon.icon-left.arrow-right:before, .button.with-icon.icon-left.arrow-right:before { content: ""; }
  .btn.with-icon.icon-left.arrow-right-long:before, .button.with-icon.icon-left.arrow-right-long:before { content: ""; }
  .btn.with-icon.icon-left.cart:before, .button.with-icon.icon-left.cart:before { content: ""; }
  .btn.with-icon.icon-left.check:before, .button.with-icon.icon-left.check:before { content: ""; }
  .btn.with-icon.icon-left.chevron-down:before, .button.with-icon.icon-left.chevron-down:before { content: ""; }
  .btn.with-icon.icon-left.chevron-left:before, .button.with-icon.icon-left.chevron-left:before { content: ""; }
  .btn.with-icon.icon-left.chevron-left-right:before, .button.with-icon.icon-left.chevron-left-right:before { content: ""; }
  .btn.with-icon.icon-left.chevron-right:before, .button.with-icon.icon-left.chevron-right:before { content: ""; }
  .btn.with-icon.icon-left.chevron-up:before, .button.with-icon.icon-left.chevron-up:before { content: ""; }
  .btn.with-icon.icon-left.clock:before, .button.with-icon.icon-left.clock:before { content: ""; }
  .btn.with-icon.icon-left.close:before, .button.with-icon.icon-left.close:before { content: ""; }
  .btn.with-icon.icon-left.dot:before, .button.with-icon.icon-left.dot:before { content: ""; }
  .btn.with-icon.icon-left.info:before, .button.with-icon.icon-left.info:before { content: ""; }
  .btn.with-icon.icon-left.login:before, .button.with-icon.icon-left.login:before { content: ""; }
  .btn.with-icon.icon-left.mail:before, .button.with-icon.icon-left.mail:before { content: ""; }
  .btn.with-icon.icon-left.marker:before, .button.with-icon.icon-left.marker:before { content: ""; }
  .btn.with-icon.icon-left.menu:before, .button.with-icon.icon-left.menu:before { content: ""; }
  .btn.with-icon.icon-left.phone:before, .button.with-icon.icon-left.phone:before { content: ""; }
  .btn.with-icon.icon-left.plus:before, .button.with-icon.icon-left.plus:before { content: ""; }
  .btn.with-icon.icon-left.quote:before, .button.with-icon.icon-left.quote:before { content: ""; }
  .btn.with-icon.icon-left.search:before, .button.with-icon.icon-left.search:before { content: ""; }
  .btn.with-icon.icon-left.support:before, .button.with-icon.icon-left.support:before { content: ""; }
  .btn.with-icon.icon-left.tag:before, .button.with-icon.icon-left.tag:before { content: ""; }
  .btn.with-icon.icon-left.world:before, .button.with-icon.icon-left.world:before { content: ""; }
  .btn.with-icon.icon-right:after, .button.with-icon.icon-right:after { margin-left: 1rem; }
  .btn.with-icon.icon-right.arrow-right:after, .button.with-icon.icon-right.arrow-right:after { content: ""; }
  .btn.with-icon.icon-right.arrow-right-long:after, .button.with-icon.icon-right.arrow-right-long:after { content: ""; }
  .btn.with-icon.icon-right.cart:after, .button.with-icon.icon-right.cart:after { content: ""; }
  .btn.with-icon.icon-right.check:after, .button.with-icon.icon-right.check:after { content: ""; }
  .btn.with-icon.icon-right.chevron-down:after, .button.with-icon.icon-right.chevron-down:after { content: ""; }
  .btn.with-icon.icon-right.chevron-left:after, .button.with-icon.icon-right.chevron-left:after { content: ""; }
  .btn.with-icon.icon-right.chevron-left-right:after, .button.with-icon.icon-right.chevron-left-right:after { content: ""; }
  .btn.with-icon.icon-right.chevron-right:after, .button.with-icon.icon-right.chevron-right:after { content: ""; }
  .btn.with-icon.icon-right.chevron-up:after, .button.with-icon.icon-right.chevron-up:after { content: ""; }
  .btn.with-icon.icon-right.clock:after, .button.with-icon.icon-right.clock:after { content: ""; }
  .btn.with-icon.icon-right.close:after, .button.with-icon.icon-right.close:after { content: ""; }
  .btn.with-icon.icon-right.dot:after, .button.with-icon.icon-right.dot:after { content: ""; }
  .btn.with-icon.icon-right.info:after, .button.with-icon.icon-right.info:after { content: ""; }
  .btn.with-icon.icon-right.login:after, .button.with-icon.icon-right.login:after { content: ""; }
  .btn.with-icon.icon-right.mail:after, .button.with-icon.icon-right.mail:after { content: ""; }
  .btn.with-icon.icon-right.marker:after, .button.with-icon.icon-right.marker:after { content: ""; }
  .btn.with-icon.icon-right.menu:after, .button.with-icon.icon-right.menu:after { content: ""; }
  .btn.with-icon.icon-right.phone:after, .button.with-icon.icon-right.phone:after { content: ""; }
  .btn.with-icon.icon-right.plus:after, .button.with-icon.icon-right.plus:after { content: ""; }
  .btn.with-icon.icon-right.quote:after, .button.with-icon.icon-right.quote:after { content: ""; }
  .btn.with-icon.icon-right.search:after, .button.with-icon.icon-right.search:after { content: ""; }
  .btn.with-icon.icon-right.support:after, .button.with-icon.icon-right.support:after { content: ""; }
  .btn.with-icon.icon-right.tag:after, .button.with-icon.icon-right.tag:after { content: ""; }
  .btn.with-icon.icon-right.world:after, .button.with-icon.icon-right.world:after { content: ""; } }

.btn.with-icon.icon-only, .button.with-icon.icon-only { border-radius: 50%; color: transparent; height: 3rem; position: relative; width: 3rem; }

@media print, screen and (min-width: 48em) { .btn.with-icon.icon-only, .button.with-icon.icon-only { height: 4rem; width: 4rem; } }

.btn.with-icon.icon-only:before, .btn.with-icon.icon-only:after, .button.with-icon.icon-only:before, .button.with-icon.icon-only:after { color: #FFF; left: 50%; margin: 0; position: absolute; top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

.btn-group { display: none; }

.pull-right { float: right; }

#wrapper { overflow: hidden; }

#outer-wrap { overflow: hidden; position: relative; width: 100%; }

#outer-wrap #inner-wrap { position: relative; width: 100%; }

#main-wrap { float: left; width: 100%; }

@media print, screen and (min-width: 64em) { #main-wrap { float: none; } }

.item-slide { transition: left 0.3s ease; left: 0; }

.nav-open .item-slide { left: -70%; }

#s-main { padding-top: 5.6875rem; }

@media print, screen and (min-width: 64em) { #s-main { padding-top: 7.1875rem; } }

.ce { padding: 2rem 0; }

@media print, screen and (min-width: 48em) { .ce { padding: 3.5rem 0; } }

.remove--padding-top { padding: 0 0 2rem 0; }

@media print, screen and (min-width: 48em) { .remove--padding-top { padding: 0 0 3.5rem 0; } }

.remove--padding-bottom { padding: 2rem 0 0 0; }

@media print, screen and (min-width: 48em) { .remove--padding-bottom { padding: 3.5rem 0 0 0; } }

.remove--padding-all { padding: 0; }

@media print, screen and (min-width: 48em) { .remove--padding-all { padding: 0; } }

.breadcrumb { list-style: none; margin: 0; padding: 0; padding: 0.75rem 0 0.75rem 1rem; border: 0.0625rem solid #F7F7F7; }

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

.breadcrumb::after { clear: both; }

@media print, screen and (min-width: 48em) { .breadcrumb { padding: 1.5rem 0 1.5rem 1rem; } }

.breadcrumb li { float: left; margin-right: 1rem; }

.breadcrumb li:last-child { margin-right: 0; }

.breadcrumb a { transition: all 200ms linear; color: #232223; display: inline-block; padding-right: 1rem; position: relative; }

@media print, screen and (min-width: 48em) { .breadcrumb a { padding-right: 1.5rem; } }

.breadcrumb a:after { transition: all 200ms linear; color: #D2232A; content: ""; position: absolute; right: -0.5rem; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }

@media screen and (max-width: 37.4375em) { .breadcrumb a:after { font-size: 1rem; } }

.breadcrumb a:hover { text-decoration: underline; }

.breadcrumb a:hover:after { -webkit-transform: translate(2px, -50%); transform: translate(2px, -50%); }

.cookie-notice { background-color: white; border-radius: 0.5rem; bottom: 2rem; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); color: black; max-width: 31.25rem; padding: 1.5rem; position: fixed; right: 2rem; visibility: hidden; z-index: 10000000; }

@media print, screen and (min-width: 48em) { .cookie-notice { padding: 2rem; } }

.cookie-notice .cn-content h5 { line-height: 1.3; margin-bottom: 0.5rem; }

@media print, screen and (min-width: 48em) { .cookie-notice .cn-content h5 { margin-bottom: 1rem; } }

.cookie-notice .cn-button-wrapper { margin-top: 1rem; }

@media print, screen and (min-width: 48em) { .cookie-notice .cn-button-wrapper { margin-top: 1.5rem; } }

.cookie-notice .cn-button-wrapper .cn-button:last-child { margin-left: 1rem; }

.cookie-notice-open .cookie-notice { opacity: 1; visibility: visible; }

.footer-menu ul { list-style: none; margin: 0; padding: 0; margin-bottom: 2.5rem; overflow: hidden; }

.footer-menu li { float: left; line-height: 2.125rem; margin-bottom: 1.875rem; width: 50%; }

@media print, screen and (min-width: 48em) { .footer-menu li { line-height: 1.5625rem; width: 40%; } }

.footer-menu a { color: #232223; font-family: 'Montserrat', sans-serif; font-size: 1rem; font-weight: 500; text-decoration: none; }

.footer-menu a:hover { text-decoration: underline; }

#main-footer { background-color: #232223; color: #FFF; padding: 2rem 0 1rem; }

@media print, screen and (min-width: 48em) { #main-footer { padding: 3.5rem 0; } }

#main-footer h3, #main-footer .ce-market-trigger .tabs .tabs-title, .ce-market-trigger .tabs #main-footer .tabs-title, #main-footer .ce-market-trigger .mobile a, .ce-market-trigger .mobile #main-footer a { width: 100%; }

@media print, screen and (min-width: 48em) { #main-footer h3, #main-footer .ce-market-trigger .tabs .tabs-title, .ce-market-trigger .tabs #main-footer .tabs-title, #main-footer .ce-market-trigger .mobile a, .ce-market-trigger .mobile #main-footer a { margin-bottom: 1rem; } }

#main-footer ul:not(.compliancy-list) { list-style: none; margin: 0; padding: 0; }

@media screen and (max-width: 63.9375em) { #main-footer ul:not(.compliancy-list) { margin-bottom: 1.5rem; } }

@media screen and (max-width: 37.4375em) { #main-footer ul.contact-list li { margin-bottom: 0.5rem; }
  #main-footer ul.contact-list li:last-child { margin-bottom: 0; } }

#main-footer ul.contact-list li .mail:before { content: ""; font-size: 1.5rem; line-height: 1; opacity: 0.4; }

#main-footer ul.contact-list li .nl:before { background-image: url("/typo3conf/ext/i3d_template/Resources/Public/img/flag-netherlands.svg"); background-size: cover; }

#main-footer ul.contact-list li .usa:before { background-image: url("/typo3conf/ext/i3d_template/Resources/Public/img/flag-us.svg"); background-size: cover; }

#main-footer ul.contact-list a { display: block; padding-left: 2.5rem; position: relative; }

#main-footer ul.contact-list a:before { content: ''; height: 1.5rem; left: 0; position: absolute; top: 0; width: 1.5rem; }

#main-footer ul.contact-list a:hover { text-decoration: underline; }

#main-footer ul.social-list { float: left; }

@media print, screen and (min-width: 48em) { #main-footer ul.social-list { margin-top: 2.5rem; } }

#main-footer ul.quick-list a { display: inline-block; }

#main-footer ul.quick-list a:after { transition: all 200ms linear; color: #D2232A; content: ""; display: inline-block; margin-left: 0.5rem; position: relative; top: 0.125rem; }

#main-footer ul.quick-list a:hover { text-decoration: underline; }

#main-footer ul.quick-list a:hover:after { text-decoration: none; -webkit-transform: translateX(0.5rem); transform: translateX(0.5rem); }

#main-footer .compliancy-list { margin-bottom: 0; }

#main-footer .compliancy-list .icon-item .inner-wrapper { height: 5rem; position: relative; }

#main-footer .compliancy-list .icon-item img { transition: all 200ms linear; height: 5rem; width: auto; }

#main-footer .compliancy-list .icon-item img.overlay { -webkit-filter: none; filter: none; left: 0; opacity: 0; position: absolute; top: 0; z-index: 1; }

#main-footer .compliancy-list .icon-item h5, #main-footer .compliancy-list .icon-item h6 { display: none; }

#main-footer .compliancy-list .icon-item:hover .overlay { opacity: 1; }

.grid-elements .column-image { margin-left: 0; max-width: 100%; -webkit-flex: 1; -ms-flex: 1; flex: 1; padding: 0 2rem 3.75rem 0; }

.grid-elements .column-text, .grid-elements .column-image { margin-left: 0; max-width: 100%; -webkit-flex: 1; -ms-flex: 1; flex: 1; }

.grid-elements .ce-text { padding: 0 2rem 3.75rem 0; }

.grid-elements .ce-text .button { color: #FFF; text-decoration: none; }

.grid-elements .ce-text .button:after { content: ""; display: inline-block; font-size: 0.75rem; margin-left: 0.5rem; position: relative; top: 0.125rem; }

@media print, screen and (min-width: 48em) { .grid-elements .ce-text .button:after { font-size: 1.5rem; margin-left: 1rem; } }

.header-wrapper { transition: all 200ms linear; height: 5.875rem; }

@media screen and (min-width: 80em) { .header-wrapper { height: 6.75rem; } }

#header { transition: all 200ms linear; background-color: #FFF; box-shadow: none; display: block; left: 0; padding: 1rem 0; position: fixed; right: 0; width: 100%; z-index: 20; }

.header-fixed #header { box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06); padding: 0.5rem 0; }

.menu-trigger { background-color: #232223; border-radius: 3px; display: block; height: 3.125rem; position: absolute; right: 0.9375rem; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); width: 3.125rem; z-index: 10; }

.nav-open .menu-trigger { border-radius: 3px 0 0 3px; right: 0; }

@media screen and (min-width: 80em) { .menu-trigger { display: none; } }

.menu-trigger span { transition: all 200ms linear; background-color: #FFF; border-radius: 2px; bottom: 0; display: block; height: 0.1875rem; left: 0; margin: auto; position: absolute; right: 0; text-indent: -6249.9375rem; top: 0; width: 1.25rem; }

.nav-open .menu-trigger span { background: none; }

.menu-trigger span:before, .menu-trigger span:after { transition: all 200ms linear; background-color: #FFF; border-radius: 2px; content: ''; height: 0.1875rem; left: 0; position: absolute; width: 100%; }

.menu-trigger span:before { top: -0.375rem; }

.nav-open .menu-trigger span:before { top: 0; -webkit-transform: rotate(45deg); transform: rotate(45deg); }

.menu-trigger span:after { bottom: -0.375rem; }

.nav-open .menu-trigger span:after { bottom: 0; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }

.support:before { content: ""; display: inline-block; font-size: 1.75rem; margin-right: 1rem; -webkit-transform: translateY(0.3125rem); transform: translateY(0.3125rem); }

@media screen and (min-width: 80em) { .support:before { font-size: 1.4375rem; margin-right: auto; -webkit-transform: translateY(0.1875rem); transform: translateY(0.1875rem); } }

.cart:before { content: ""; font-size: 1.75rem; }

.search-button:before { content: ""; font-size: 2rem; line-height: 2rem; margin-right: 1rem; }

@media screen and (min-width: 80em) { .search-button:before { font-size: 1.75rem; line-height: 1.75rem; margin-right: auto; } }

.menu-open .search-button { pointer-events: none; }

.menu-open .search-button:before { opacity: .2; }

.search-button .tx_solr { display: none; }

.menu-button:before { content: ""; font-size: 2rem; line-height: 2rem; vertical-align: middle; }

.menu-open .menu-button:before { content: ""; }

.search-open .menu-button { pointer-events: none; }

.search-open .menu-button:before { opacity: .2; }

.login { display: block; }

.login:before { content: ""; font-size: 1.75rem; margin-right: 0.5rem; vertical-align: middle; }

.keyvisual { position: relative; }

@media print, screen and (min-width: 48em) { .keyvisual { min-height: 41.5rem; } }

.keyvisual figure { background-position: center center; background-size: cover; height: 15rem; width: 100%; }

@media print, screen and (min-width: 48em) { .keyvisual figure { height: 100%; left: 0; position: absolute; top: 0; } }

.keyvisual .inner-wrapper { color: #232223; margin-top: 2rem; position: relative; z-index: 2; }

@media print, screen and (min-width: 48em) { .keyvisual .inner-wrapper { color: #FFF; margin: 5rem 0; } }

.keyvisual .inner-wrapper h1, .keyvisual .inner-wrapper .frequency-price .price, .frequency-price .keyvisual .inner-wrapper .price { margin-bottom: 0; }

.keyvisual .inner-wrapper .intro, .keyvisual .inner-wrapper .frequency-price label, .frequency-price .keyvisual .inner-wrapper label, .keyvisual .inner-wrapper #main-footer ul.quick-list a, #main-footer ul.quick-list .keyvisual .inner-wrapper a { margin: 0.5rem 0 0; max-width: 24.5rem; width: 100%; }

@media print, screen and (min-width: 48em) { .keyvisual .inner-wrapper .intro, .keyvisual .inner-wrapper .frequency-price label, .frequency-price .keyvisual .inner-wrapper label, .keyvisual .inner-wrapper #main-footer ul.quick-list a, #main-footer ul.quick-list .keyvisual .inner-wrapper a { margin: 2rem 0 0; } }

.keyvisual .inner-wrapper .button { margin-top: 1.5rem; }

@media print, screen and (min-width: 48em) { .keyvisual .inner-wrapper .button { margin-top: 3.5rem; } }

.page-icon-wrapper { position: relative; }

.page-icon-wrapper img { left: 0; position: absolute; top: 4.6875rem; width: calc(100% / 12); }

@media screen and (max-width: 37.4375em) { .page-icon-wrapper img { display: none; } }

.page-icon-wrapper.without-keyvisual img { top: 0; }

.language-switch { background-color: #FFF; border: 1px solid #E6E6E6; border-radius: 0.3125rem; color: #232223; display: inline-block; position: relative; text-transform: uppercase; }

@media screen and (min-width: 80em) { .language-switch { margin-top: 0.75rem; } }

.language-switch-open .language-switch { border-color: #232223; }

.language-switch .selected { color: inherit; display: block; font-size: 1rem; line-height: 1.25rem; padding: 0.875rem 1rem; }

.language-switch .selected:before { content: ""; font-size: 1rem; padding-right: 0.5rem; }

.language-switch .selected:after { transition: all 200ms linear; content: ""; display: inline-block; font-size: 1rem; margin-left: 0.5rem; position: relative; top: .125rem; }

.language-switch-open .language-switch .selected { background-color: #232223; color: #FFF; }

.language-switch-open .language-switch .selected:after { -webkit-transform: rotate(180deg); transform: rotate(180deg); }

.language-switch .submenu { transition: all 200ms linear; background-color: #232223; border: 1px solid black; border-radius: 0 0 0.3125rem 0.3125rem; border-top: 0; display: block; left: -0.0625rem; list-style: none; margin: 0; margin-top: -0.1875rem; opacity: 0; padding: 0.3125rem 0; position: absolute; top: 100%; visibility: hidden; width: calc(100% + 2px); }

.language-switch-open .language-switch .submenu { opacity: 1; visibility: visible; z-index: 60; }

.language-switch-open .language-switch .submenu a { color: #656465; }

.language-switch-open .language-switch .submenu a:hover, .language-switch-open .language-switch .submenu a:focus { color: #FFF; }

.language-switch .submenu a { color: inherit; display: block; line-height: 1em; padding: 0.5rem 0.5rem 0.5rem 2.8125rem; }

.logo { display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; margin: 0.5rem 0; vertical-align: top; }

.logo img { height: 2.875rem; width: 5rem; }

@media screen and (min-width: 80em) { .logo img { height: 3.6875rem; width: 6.5rem; } }

@media screen and (max-width: 79.9375em) { body.menu-open, body.submenu-open { overflow: hidden; } }

.primary-menu { display: none; }

@media screen and (min-width: 80em) { .primary-menu { display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; margin-left: 3.5rem; } }

@media screen and (min-width: 80em) and (max-width: 82em) { .primary-menu { margin-left: 1rem; } }

@media screen and (min-width: 82em) and (max-width: 85.4em) { .primary-menu { margin-left: 2.5rem; } }

.primary-menu ul { list-style: none; margin: 0; padding: 0; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; }

.primary-menu ul > li { margin: -1rem 0; }

.header-fixed .primary-menu ul > li { margin: -0.5rem 0; }

.primary-menu .menu-item { color: #232223; font-size: 1.25rem; line-height: 2rem; position: relative; text-decoration: none; }

@media screen and (min-width: 80em) { .primary-menu .menu-item { display: block; padding: 2.5rem 0.75rem 2.25rem; }
  .header-fixed .primary-menu .menu-item { padding: 2rem 0.75rem 1.75rem; } }

@media screen and (min-width: 86.25em) { .primary-menu .menu-item { padding: 2.5rem 1.25rem 2.25rem; }
  .header-fixed .primary-menu .menu-item { padding: 2rem 1.25rem 1.75rem; } }

.primary-menu .menu-item:after { transition: all 200ms linear; background-color: #D2232A; bottom: 0; content: ''; height: 0.5rem; left: 50%; position: absolute; -webkit-transform: translateX(-50%); transform: translateX(-50%); width: 0; }

.primary-menu .menu-item:hover:after { width: 100%; }

.primary-menu .active .menu-item { color: #D2232A; }

.primary-menu .submenu { transition: all 200ms linear; background-color: #F7F7F7; left: 0; opacity: 0; padding: 3.5rem 0; position: absolute; right: 0; top: 6.75rem; visibility: hidden; width: 100vw; z-index: 50; }

.header-fixed .primary-menu .submenu { position: absolute; top: 5.75rem; }

.primary-menu .submenu-toggle span:after { content: ""; display: inline-block; height: 1.5rem; margin-left: 0.5rem; position: relative; top: 0.25rem; width: 1.5rem; }

.primary-menu .submenu-menu { border-right: 1px solid #E6E6E6; padding-left: 12.125rem; }

.primary-menu .submenu-menu a { color: #232223; display: inline-block; font-size: 1.25rem; line-height: 1.5rem; margin-bottom: 1rem; margin-top: 1rem; text-decoration: none; }

.primary-menu .submenu-menu a:hover { color: #D2232A; }

.primary-menu .submenu-menu a:hover:after { content: ""; display: inline-block; font-size: 1.5rem; margin-left: 0.5rem; vertical-align: top; }

.primary-menu .submenu-menu ul { display: block; }

.primary-menu .submenu-teaser { max-width: 45.5625rem; padding-left: 6.5625rem; }

.primary-menu .submenu-teaser h3, .primary-menu .submenu-teaser .ce-market-trigger .tabs .tabs-title, .ce-market-trigger .tabs .primary-menu .submenu-teaser .tabs-title, .primary-menu .submenu-teaser .ce-market-trigger .mobile a, .ce-market-trigger .mobile .primary-menu .submenu-teaser a { margin-bottom: 1rem; }

.primary-menu .submenu-teaser p { line-height: 2rem; margin-bottom: 2.5rem; }

.primary-menu .submenu-open { background-color: #F7F7F7; }

.primary-menu .submenu-open .menu-item:after { width: 0; }

.primary-menu .submenu-open .submenu { opacity: 1; visibility: visible; }

.primary-menu .submenu-open .submenu-toggle span:after { content: ""; }

.search-form { transition: all 200ms linear; background-color: #F7F7F7; border-top: 1px solid #E6E6E6; left: 0; opacity: 0; padding: 1.5rem 1rem 1.5rem 1.5rem; position: absolute; top: 100%; visibility: hidden; width: 100%; z-index: 10; }

@media print, screen and (min-width: 48em) { .search-form { padding: 3.5rem 12.875rem; } }

.search-open .search-form { opacity: 1; visibility: visible; }

.search-form form { display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; margin: 0 auto; width: 100%; }

.search-form input { -webkit-appearance: none; -moz-appearance: none; appearance: none; background-color: transparent; border: 0; border-left: 0.0625rem solid #E6E6E6; font-size: 1rem; line-height: 1.5rem; padding: 0 0 0 0.75rem; width: 70%; }

@media print, screen and (min-width: 64em) { .search-form input { font-size: 1.25rem; padding: 0 0 0 1rem; width: 80%; } }

.search-form-inline { margin-bottom: 1.5rem; width: 100%; }

.search-form-inline form { width: 100%; }

.search-form-inline input[type=text] { background-color: #FFF; border: 0.0625rem solid #F7F7F7; border-radius: 0.4375rem; height: 3.5rem; padding: 0 1.5rem; width: 100%; }

.search-form ::-webkit-input-placeholder { color: #404040; }

.search-form ::-moz-placeholder { color: #404040; opacity: 1; }

.search-form :-ms-input-placeholder { color: #404040; }

.mobile-menu { transition: all 200ms linear; background-color: #F7F7F7; border-top: 1px solid #E6E6E6; height: calc(100vh - 6.4375rem); opacity: 0; padding: 1.5rem; position: fixed; right: 0; top: 5.875rem; visibility: hidden; width: 100vw; z-index: 50; }

.header-fixed .mobile-menu { top: 4.875rem; }

@media screen and (min-width: 80em) { .mobile-menu { display: none; } }

.menu-open .mobile-menu { opacity: 1; visibility: visible; }

.secondary-menu { margin-top: 0.75rem; }

.secondary-menu ul { list-style: none; margin: 0; padding: 0; }

.secondary-menu a { color: #232223; display: inline-block; font-size: 1.25rem; line-height: 1.5rem; margin-bottom: 1rem; margin-top: 1rem; text-decoration: none; }

.secondary-menu a:after { content: ""; display: inline-block; font-size: 1.5rem; margin-left: 0.5rem; vertical-align: top; }

.secondary-menu .submenu-teaser { display: none; }

.secondary-menu .submenu-menu { display: none; }

.secondary-menu .submenu .expanded { width: 100%; }

.secondary-menu .submenu-open { background-color: #F7F7F7; height: calc(100vh - 6.4375rem); padding: 1.5rem; position: fixed; right: 0; top: 6.4375rem; width: 100vw; }

.secondary-menu .submenu-open > a { color: #D2232A; margin-bottom: 1.5rem; }

.secondary-menu .submenu-open > a:before { content: ""; display: inline-block; font-size: 1.5rem; margin-right: 0.5rem; -webkit-transform: rotate(180deg); transform: rotate(180deg); vertical-align: top; }

.secondary-menu .submenu-open > a:after { content: none; }

.secondary-menu .submenu-open .submenu-menu { display: block; height: calc(100vh - 6.4375rem - 6.75rem); overflow-y: scroll; padding: 0; }

@media screen and (min-width: 80em) { .top-nav { display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; } }

.top-nav ul { list-style: none; margin: 0; padding: 0; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; }

.top-nav a { transition: all 200ms linear; color: #232223; display: block; font-size: 1.25rem; line-height: 2rem; margin-top: 0.75rem; text-decoration: none; }

@media screen and (min-width: 80em) { .top-nav a { margin-bottom: auto; margin-top: auto; padding: 1.5rem 1.125rem 1rem 1.125rem; } }

.top-nav a:hover { color: #D2232A; }

.top-nav a.login { line-height: 1; }

.mobile-top-nav ul { list-style: none; margin: 0; padding: 0; -webkit-align-items: center; -ms-flex-align: center; align-items: center; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; }

.mobile-top-nav a { margin: 0; }

.submenu-open .mobile-top-nav { display: none; }

.ce-search-results h2 { margin-bottom: 1.5rem; }

.ce-search-results .search-item { margin: 1.5rem 0 2rem; }

.ce-search-results .search-item a { background-color: #F7F7F7; height: 100%; display: block; position: relative; padding: 2rem; }

.ce-search-results .search-item .list-title, .ce-search-results .search-item .powermail_fieldwrap .powermail_label, .powermail_fieldwrap .ce-search-results .search-item .powermail_label, .ce-search-results .search-item .powermail_fieldwrap_type_text { margin-bottom: 0.5rem; }

.ce-search-results .search-item p { margin-bottom: 0; }

.ce-search-results .search-item .button { bottom: 0; position: absolute; right: 2rem; -webkit-transform: translateY(50%); transform: translateY(50%); }

.event-item { margin-top: 32px; }

@media screen and (max-width: 37.4375em) { .event-item:first-child { margin-top: 0; } }

@media print, screen and (min-width: 48em) { .event-item:nth-child(n):nth-child(-n+2) { margin-top: 0; } }

@media screen and (min-width: 80em) { .event-item:nth-child(n):nth-child(-n+3) { margin-top: 0; } }

.event-item a { background-color: #F7F7F7; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; height: 100%; }

.event-item a figure { position: relative; background-color: #232223; min-height: 20rem; }

.event-item a figure figcaption { bottom: 1.5rem; color: #FFF; left: 2rem; position: absolute; right: 5.5rem; z-index: 1; }

.event-item a figure .button.icon-only { bottom: 0; position: absolute; right: 1rem; -webkit-transform: translateY(50%); transform: translateY(50%); z-index: 1; }

.event-item a main { padding: 2rem; }

.event-item a main ul { list-style: none; margin: 0; padding: 0; margin-bottom: 0.5rem; }

.event-item a main ul li { margin-bottom: 0.5rem; padding-left: 2.5rem; position: relative; }

.event-item a main ul li:before { color: #D2232A; left: 0; position: absolute; top: 0; }

.event-item a main p { display: block; margin: 0; }

.event-item .post-start-date:before { content: ""; }

.event-item .post-location:before { content: ""; }

.game-server-item { margin-top: 32px; }

@media screen and (max-width: 37.4375em) { .game-server-item:first-child { margin-top: 0; } }

@media print, screen and (min-width: 48em) { .game-server-item:nth-child(n):nth-child(-n+2) { margin-top: 0; } }

@media screen and (min-width: 80em) { .game-server-item:nth-child(n):nth-child(-n+3) { margin-top: 0; } }

.game-server-item a { background-color: #F7F7F7; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; height: 100%; }

.game-server-item a figure { position: relative; background-color: #232223; min-height: 20rem; }

.game-server-item a figure figcaption { bottom: 1.5rem; color: #FFF; left: 2rem; position: absolute; right: 5.5rem; z-index: 1; }

.game-server-item a figure .button.icon-only { bottom: 0; position: absolute; right: 1rem; -webkit-transform: translateY(50%); transform: translateY(50%); z-index: 1; }

.game-server-item a main { padding: 2rem; }

.game-server-item a main ul { list-style: none; margin: 0; padding: 0; margin-bottom: 0.5rem; }

.game-server-item a main ul li { margin-bottom: 0.5rem; padding-left: 2.5rem; position: relative; }

.game-server-item a main ul li:before { color: #D2232A; left: 0; position: absolute; top: 0; }

.game-server-item a main p { display: block; margin: 0; }

.game-server-item a { background-color: #232223; }

.game-server-item main { color: #FFF; }

.icon-item { color: #232223; margin-bottom: 1rem; }

@media print, screen and (min-width: 48em) { .icon-item { margin-bottom: 2.5rem; } }

.icon-item:hover figure { opacity: 0; }

.icon-item:hover figure.overlay { -webkit-filter: none !important; filter: none !important; opacity: 1; }

.icon-item .inner-wrapper { height: 10rem; position: relative; width: 100%; }

.icon-item figure { transition: all 200ms linear; height: 100%; left: 0; opacity: 1; position: absolute; top: 0; width: 100%; }

.icon-item figure.overlay { opacity: 0; z-index: 1; }

.icon-item figure img { height: 80%; left: 50%; position: absolute; top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 80%; }

.black .icon-item { color: #FFF; }

.icon-item h5, .icon-item h6 { margin-bottom: 0; margin-top: 2rem; text-align: center; }

.icon-item h5 { position: relative; }

.icon-item h5:after { transition: all 200ms linear; color: #D2232A; content: ""; margin-left: 0.5rem; position: relative; }

@media print, screen and (min-width: 48em) { .icon-item h5:after { top: 0.5rem; } }

.intro-heading { margin-bottom: 1rem; }

@media print, screen and (min-width: 48em) { .intro-heading { margin-bottom: 2.5rem; } }

.intro-heading .row { position: relative; }

@media print, screen and (min-width: 48em) { .intro-heading h2 { margin-bottom: 1rem; } }

@media print, screen and (min-width: 48em) { .intro-heading .button { position: absolute; right: 1rem; top: 0; } }

.black .intro-heading { color: #FFF; }

.news-item { margin-top: 32px; }

@media screen and (max-width: 37.4375em) { .news-item:first-child { margin-top: 0; } }

@media print, screen and (min-width: 48em) { .news-item:nth-child(n):nth-child(-n+2) { margin-top: 0; } }

@media screen and (min-width: 80em) { .news-item:nth-child(n):nth-child(-n+3) { margin-top: 0; } }

.news-item a { background-color: #F7F7F7; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; height: 100%; }

.news-item a figure { position: relative; background-color: #232223; min-height: 20rem; }

.news-item a figure figcaption { bottom: 1.5rem; color: #FFF; left: 2rem; position: absolute; right: 5.5rem; z-index: 1; }

.news-item a figure .button.icon-only { bottom: 0; position: absolute; right: 1rem; -webkit-transform: translateY(50%); transform: translateY(50%); z-index: 1; }

.news-item a main { padding: 2rem; }

.news-item a main ul { list-style: none; margin: 0; padding: 0; margin-bottom: 0.5rem; }

.news-item a main ul li { margin-bottom: 0.5rem; padding-left: 2.5rem; position: relative; }

.news-item a main ul li:before { color: #D2232A; left: 0; position: absolute; top: 0; }

.news-item a main p { display: block; margin: 0; }

.news-item .post-date:before { content: ""; }

.news-item .post-tag:before { content: ""; }

.pagination { margin-top: -0.625rem; }

.pagination a { color: #232223; font-size: 1rem; }

.pagination .icon { transition: all 200ms linear; height: 1rem; position: relative; top: 0.1875rem; width: 0.5rem; }

.pagination .icon svg { fill: #232223; }

.pagination .blur { opacity: 0.1; }

.pagination .blur a { cursor: default; }

.pagination .page-prev { float: left; }

.pagination .page-prev .icon { right: 0; -webkit-transform: rotate(-180deg); transform: rotate(-180deg); }

.pagination .page-prev:not(.blur):hover .icon { right: 0.3125rem; }

.pagination .page-next { float: right; }

.pagination .page-next .icon { left: 0; }

.pagination .page-next:not(.blur):hover .icon { left: 0.3125rem; }

.people-item { margin-top: 32px; }

.people-item figure { background-position: center; background-repeat: no-repeat; background-size: cover; position: relative; width: 100%; }

.people-item .inner-wrapper { bottom: 1.5rem; left: 1.5rem; position: absolute; z-index: 1; }

@media print, screen and (min-width: 48em) { .people-item .inner-wrapper { bottom: 2rem; left: 2rem; } }

.people-item .inner-wrapper .name, .people-item .inner-wrapper .job { color: #FFF; display: block; }

.people-item .icon { transition: all 200ms linear; bottom: 1.5rem; height: 2.5rem; position: absolute; right: 1.5rem; width: 2.5rem; z-index: 1; }

@media print, screen and (min-width: 48em) { .people-item .icon { bottom: 2rem; right: 2rem; } }

.people-item .icon:hover { -webkit-transform: scale(1.25); transform: scale(1.25); }

.ce-post-heading { padding-bottom: 0; }

.ce-post-heading h1, .ce-post-heading .frequency-price .price, .frequency-price .ce-post-heading .price { margin-bottom: 1rem; }

.ce-post-heading .heading-post { margin-right: 2rem; margin-bottom: 0.25rem; }

.ce-post-heading .heading-post:last-child { margin-right: 0; }

.ce-post-heading .heading-post svg { fill: #D2232A; height: 1.5rem; margin-right: 1rem; width: 1.5rem; -webkit-transform: translateY(0.25rem); transform: translateY(0.25rem); }

.server-item { margin-bottom: 2.5rem; }

@media print, screen and (min-width: 48em) { .server-item { margin-bottom: 3.5rem; } }

@media print, screen and (min-width: 64em) { .server-item { margin-bottom: 0; } }

.server-item .inner-wrapper { background-color: #232223; color: #FFF; display: block; height: 100%; padding: 1.5rem 2rem; position: relative; }

.server-item h4, .server-item .event-item a figure figcaption, .event-item a figure .server-item figcaption, .server-item .game-server-item a figure figcaption, .game-server-item a figure .server-item figcaption, .server-item .news-item a figure figcaption, .news-item a figure .server-item figcaption, .server-item .service-item a figure figcaption, .service-item a figure .server-item figcaption, .server-item .vacancy-item a figure figcaption, .vacancy-item a figure .server-item figcaption { margin-bottom: 3.5rem; padding-right: 2.5rem; }

.server-item .intro p, .server-item .frequency-price label p, .frequency-price .server-item label p, .server-item #main-footer ul.quick-list a p, #main-footer ul.quick-list .server-item a p { margin-bottom: 0; }

.server-item hr { border-color: #404040; margin: 2rem 0; }

.server-item .button.with-icon.icon-only { bottom: 0; position: absolute; right: 2rem; -webkit-transform: translateY(50%); transform: translateY(50%); }

.server-item .tooltip-wrapper { left: 1.5rem; position: absolute; right: 1.5rem; top: 1.5rem; z-index: 1; }

.server-item .tooltip-wrapper .info-trigger { position: absolute; right: 1rem; top: 0.75rem; }

.server-item .tooltip-wrapper .info-trigger svg { fill: #FFF; }

.server-item .tooltip-wrapper .close-trigger { transition: all 200ms linear; height: 1rem; pointer-events: none; position: absolute; right: 1.25rem; top: 1.25rem; -webkit-transform: rotate(-75px); transform: rotate(-75px); width: 1rem; }

.server-item .tooltip-wrapper .tooltip-info { transition: all 200ms linear; background-color: #FFF; border-radius: 0.625rem; color: #232223; max-height: 28.125rem; opacity: 0; overflow-y: scroll; padding: 2rem 3rem 2rem 2rem; visibility: hidden; }

@media screen and (min-width: 48em) and (max-width: 63.9375em) { .server-item .tooltip-wrapper .tooltip-info { max-height: 32.5rem; } }

@media screen and (max-width: 37.4375em) { .server-item .tooltip-wrapper .tooltip-info { max-height: 19.375rem; } }

.server-item .tooltip-wrapper .tooltip-info p:last-of-type { margin-bottom: 0; }

.server-item .tooltip-wrapper.active .info-trigger { opacity: 0; }

.server-item .tooltip-wrapper.active .tooltip-info { opacity: 1; visibility: visible; }

.server-item .tooltip-wrapper.active .close-trigger { -webkit-transform: rotate(-90deg); transform: rotate(-90deg); }

.service-item { margin-top: 32px; }

@media screen and (max-width: 37.4375em) { .service-item:first-child { margin-top: 0; } }

@media print, screen and (min-width: 48em) { .service-item:nth-child(n):nth-child(-n+2) { margin-top: 0; } }

@media screen and (min-width: 80em) { .service-item:nth-child(n):nth-child(-n+3) { margin-top: 0; } }

.service-item a { background-color: #F7F7F7; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; height: 100%; }

.service-item a figure { position: relative; background-color: #232223; min-height: 20rem; }

.service-item a figure figcaption { bottom: 1.5rem; color: #FFF; left: 2rem; position: absolute; right: 5.5rem; z-index: 1; }

.service-item a figure .button.icon-only { bottom: 0; position: absolute; right: 1rem; -webkit-transform: translateY(50%); transform: translateY(50%); z-index: 1; }

.service-item a main { padding: 2rem; }

.service-item a main ul { list-style: none; margin: 0; padding: 0; margin-bottom: 0.5rem; }

.service-item a main ul li { margin-bottom: 0.5rem; padding-left: 2.5rem; position: relative; }

.service-item a main ul li:before { color: #D2232A; left: 0; position: absolute; top: 0; }

.service-item a main p { display: block; margin: 0; }

.service-item a { background-color: #232223; }

.service-item a figure { min-height: 0.625rem; }

.service-item main { color: #FFF; }

.service-item .lead-paragraph { margin-bottom: 0.5rem; }

.swiper-wrapper { box-sizing: border-box; }

.swiper-slide { height: auto; }

.swiper-cta { display: block; margin-top: 1.5rem; position: relative; text-align: center; z-index: 10; }

.swiper-button-next, .swiper-button-prev { background: none; color: #232223; display: none; float: left; height: auto; margin: 0; position: static; top: auto; width: auto; }

.black .swiper-button-next, .black .swiper-button-prev { color: #FFF; }

@media print, screen and (min-width: 48em) { .swiper-button-next, .swiper-button-prev { display: block; } }

.swiper-button-prev:before { transition: all 200ms linear; content: ""; display: inline-block; margin-right: 1rem; position: relative; top: 0.125rem; }

.swiper-button-prev:hover:before { -webkit-transform: translateX(-0.25rem); transform: translateX(-0.25rem); }

.swiper-button-next { float: right; }

.swiper-button-next:after { transition: all 200ms linear; content: ""; display: inline-block; margin-left: 1rem; position: relative; top: 0.125rem; }

.swiper-button-next:hover:after { -webkit-transform: translateX(0.25rem); transform: translateX(0.25rem); }

.swiper-pagination { color: #232223; display: inline-block; font-size: 1rem; position: static; width: auto; }

.black .swiper-pagination { color: #FFF; }

.swiper-pagination .swiper-pagination-bullet { transition: all 200ms linear; background: none; border-radius: initial; height: auto; margin: 0 0.375rem; opacity: 1; width: auto; }

.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active { opacity: 0.3; }

.swiper-pagination .swiper-pagination-bullet:hover { opacity: 0.3; }

.swiper-button-lock, .swiper-pagination-lock { display: none !important; }

.social-list { list-style: none; margin: 0; padding: 0; }

.social-list::before, .social-list::after { display: table; content: ' '; }

.social-list::after { clear: both; }

.social-list li { float: left; margin-right: 1rem; }

.social-list li:last-child { margin-right: 0; }

.social-list li a { transition: all 200ms linear; display: inline-block; }

.social-list li a:hover { -webkit-transform: scale(1.2); transform: scale(1.2); }

.social-list li .icon { height: 2rem; width: 2rem; }

@media print, screen and (min-width: 48em) { .social-list li .icon { height: 2.5rem; width: 2.5rem; } }

.social-list li .icon img { width: 100%; }

.vacancy-item { margin-top: 32px; }

@media screen and (max-width: 37.4375em) { .vacancy-item:first-child { margin-top: 0; } }

@media print, screen and (min-width: 48em) { .vacancy-item:nth-child(n):nth-child(-n+2) { margin-top: 0; } }

@media screen and (min-width: 80em) { .vacancy-item:nth-child(n):nth-child(-n+3) { margin-top: 0; } }

.vacancy-item a { background-color: #F7F7F7; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; height: 100%; }

.vacancy-item a figure { position: relative; background-color: #232223; min-height: 20rem; }

.vacancy-item a figure figcaption { bottom: 1.5rem; color: #FFF; left: 2rem; position: absolute; right: 5.5rem; z-index: 1; }

.vacancy-item a figure .button.icon-only { bottom: 0; position: absolute; right: 1rem; -webkit-transform: translateY(50%); transform: translateY(50%); z-index: 1; }

.vacancy-item a main { padding: 2rem; }

.vacancy-item a main ul { list-style: none; margin: 0; padding: 0; margin-bottom: 0.5rem; }

.vacancy-item a main ul li { margin-bottom: 0.5rem; padding-left: 2.5rem; position: relative; }

.vacancy-item a main ul li:before { color: #D2232A; left: 0; position: absolute; top: 0; }

.vacancy-item a main p { display: block; margin: 0; }

.vacancy-item .post-date:before { content: ""; }

.vacancy-item .post-location:before { content: ""; }

.ce-textpic { margin: 2rem 0; overflow: hidden; }

.ce-textpic .gallery-view { -webkit-flex: 0 0 96%; -ms-flex: 0 0 96%; flex: 0 0 96%; margin-left: 0; max-width: 100%; }

.ce-textpic.ce-above .column-image, .ce-textpic.ce-below .column-image { display: -webkit-flex; display: -ms-flexbox; display: flex; }

.ce-textpic.ce-above.ce-right .column-image, .ce-textpic.ce-below.ce-right .column-image { -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; }

.ce-textpic.ce-above.ce-left .column-image, .ce-textpic.ce-below.ce-left .column-image { -webkit-justify-content: flex-start; -ms-flex-pack: start; justify-content: flex-start; }

.ce-textpic.ce-center .column-image { display: inline-block; text-align: center; }

.ce-textpic.ce-center .column-image .image { display: inline-block; }

.ce-textpic.ce-left .ce-image, .ce-textpic.ce-left .block { float: left; }

.ce-textpic.ce-left .column-image { padding-left: 0; }

.ce-textpic.ce-left .block { margin: 0 2rem 2rem 0; }

.ce-textpic.ce-right .ce-image, .ce-textpic.ce-right .block { float: right; margin: 0; }

.ce-textpic.ce-right .block { margin: 0 0 2rem 2rem; }

.ce-textpic.ce-right .column-image { padding-right: 0; }

.ce-textpic.ce-above .image, .ce-textpic.ce-below .image { -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; width: 100%; }

.ce-textpic.ce-intext .block { -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; width: 100%; }

@media print, screen and (min-width: 48em) { .ce-textpic.ce-intext .block { -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; width: 50%; } }

@media print, screen and (min-width: 48em) { .ce-textpic.ce-nowrap { display: -webkit-flex; display: -ms-flexbox; display: flex; } }

.ce-textpic.ce-nowrap.ce-right { -webkit-flex-direction: row-reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }

.ce-textpic.ce-nowrap.ce-right .block { margin-left: 2rem; }

.ce-textpic.ce-nowrap.ce-left .block { margin-right: 2rem; }

@media screen and (max-width: 63.9375em) { .ce-textpic.ce-nowrap .block { margin-bottom: 1.25rem; } }

.ce-textpic.ce-nowrap .ce-image { width: 100%; }

.ce-textpic.ce-nowrap .ce-image .column-image { margin: 0; min-width: 100%; }

.ce-textpic .column-image { padding-top: 0; }

.ce-worldmap { height: 46.375rem; margin-bottom: 2.5rem; width: 100%; }

.info-window { position: relative; }

.info-window__body { background-color: #232223; color: #FFF; margin-right: 1.5rem; padding: 2.5rem; width: 18.5rem; }

@media print, screen and (min-width: 48em) { .info-window__body h1, .info-window__body .frequency-price .price, .frequency-price .info-window__body .price { font-size: 2rem; line-height: 2.5rem; } }

.info-window__body p { color: #a7a7a7; }

@media print, screen and (min-width: 48em) { .info-window__body p { font-size: 1.25rem; line-height: 2rem; } }

.info-window__body p a { text-decoration: underline; color: #F7F7F7; }

.info-window__link { background-color: #D2232A; border-radius: 50%; bottom: 1rem; height: 3rem; position: absolute; right: 0; text-align: center; width: 3rem; }

.info-window__link:before { content: ""; display: inline-block; font-size: 1.125rem; line-height: 3rem; }

.info-window__close { cursor: pointer; }

.info-window__close:after { color: #FFF; content: ""; font-size: 1rem; position: absolute; right: 2.3125rem; top: 0.8125rem; -webkit-transform: rotate(45deg); transform: rotate(45deg); }

.gm-style .gm-style-iw { width: auto !important; }

.gm-style .gm-style-iw > div { max-width: none !important; }

.gm-style .gm-ui-hover-effect { display: none !important; }

.ce-wordmap-list { margin-bottom: 4rem; }

.ce-wordmap-list ul { list-style: none; margin: 0; padding: 0; }

.ce-wordmap-list li { background-color: #232223; margin-bottom: 0.5rem; margin-right: 1rem; }

.ce-wordmap-list li a { color: #FFF; display: block; font-size: 1.125rem; line-height: 1.5rem; padding: 1rem 0.75rem; position: relative; text-align: center; }

.ce-wordmap-list li a span { background-color: #D2232A; border-radius: 50%; display: inline-block; height: 2rem; position: absolute; right: -1rem; text-align: center; top: 0.75rem; width: 2rem; }

.ce-wordmap-list li a span:after { content: ""; font-size: 0.875rem; line-height: 2rem; }

.ce-wordmap-list .button { margin-top: 1rem; }

.ce-wordmap-list .button:focus { background-color: #D2232A; }

.ce-wordmap-list .collapse { transition: all 200ms linear; display: none; opacity: 0; }

.wordmap-list-open .ce-wordmap-list .collapse { display: block; opacity: 1; }

.wordmap-list-open .ce-wordmap-list .button:after { -webkit-transform: rotate(180deg); transform: rotate(180deg); }

.ce-case-trigger main { background-color: #232223; height: auto; padding: 1.5rem 0 12.75rem; position: relative; }

@media print, screen and (min-width: 48em) { .ce-case-trigger main { height: 46.875rem; padding: 5rem 0; } }

.ce-case-trigger main .row { height: 100%; }

@media print, screen and (min-width: 48em) { .ce-case-trigger main .row { position: relative; } }

.ce-case-trigger main figure { background-position: center; background-repeat: no-repeat; background-size: cover; height: 100%; left: 0; position: absolute; top: 0; width: 100%; }

.ce-case-trigger main .content-wrapper { color: #FFF; max-width: 32.75rem; position: relative; z-index: 1; }

.ce-case-trigger main .content-wrapper h2 { margin-bottom: 0.5rem; }

@media print, screen and (min-width: 48em) { .ce-case-trigger main .content-wrapper h2 { margin-bottom: 1rem; } }

.ce-case-trigger main .content-wrapper p { margin-bottom: 1rem; }

@media print, screen and (min-width: 48em) { .ce-case-trigger main .content-wrapper p { margin-bottom: 2rem; } }

.ce-case-trigger main .case-icon { bottom: 1.5rem; left: 1.5rem; max-height: 4rem; max-width: 4rem; position: absolute; }

@media print, screen and (min-width: 48em) { .ce-case-trigger main .case-icon { bottom: 0; left: 0; max-height: 7.5rem; max-width: 7.5rem; } }

.ce-case-trigger .swiper-container { bottom: 1.5rem; position: absolute; right: 1.5rem; width: 60%; }

@media print, screen and (min-width: 48em) { .ce-case-trigger .swiper-container { bottom: 0; right: 0; width: 24.5rem; } }

.ce-case-trigger .swiper-container .swiper-cta { margin: 0 0 1rem; }

.ce-case-trigger .swiper-container .swiper-cta::before, .ce-case-trigger .swiper-container .swiper-cta::after { display: table; content: ' '; }

.ce-case-trigger .swiper-container .swiper-cta::after { clear: both; }

.ce-case-trigger .swiper-container .swiper-cta * { color: #FFF; }

.ce-case-trigger .swiper-container .swiper-cta .swiper-button-prev, .ce-case-trigger .swiper-container .swiper-cta .swiper-button-next { display: block; }

.ce-case-trigger .swiper-container .swiper-cta .swiper-pagination { display: none; left: 50%; position: absolute; top: 25%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

@media print, screen and (min-width: 48em) { .ce-case-trigger .swiper-container .swiper-cta .swiper-pagination { display: block; } }

.ce-case-trigger .swiper-container .swiper-slide { background-color: #232223; border: 0.25rem solid #FFF; border-radius: 0.625rem; height: 7.75rem; overflow: hidden; padding: 1rem; position: relative; }

@media print, screen and (min-width: 48em) { .ce-case-trigger .swiper-container .swiper-slide { height: 16rem; padding: 2.5rem; } }

.ce-case-trigger .swiper-container figure { height: 100%; left: 0; opacity: 0.8; position: absolute; top: 0; width: 100%; }

.ce-case-trigger .swiper-container .inner-wrapper { color: #FFF; position: relative; z-index: 1; }

.ce-case-trigger .swiper-container .inner-wrapper .label { display: block; }

.ce-case-trigger .swiper-container .inner-wrapper .label:after { content: ':'; display: inline-block; }

.ce-case-trigger .swiper-container .case-icon { display: none; }

@media print, screen and (min-width: 48em) { .ce-case-trigger .swiper-container .case-icon { bottom: 2.5rem; display: block; height: inherit; left: 2.5rem; max-height: 3.5rem; max-width: 12.5rem; position: absolute; width: auto; } }

.ce-content-slider .tabs { list-style: none; margin: 0; padding: 0; background-color: #232223; padding: 3.5rem; position: relative; z-index: 1; }

.ce-content-slider .tabs .tabs-title { margin-bottom: 0.75rem; }

.ce-content-slider .tabs .tabs-title:last-child { margin-bottom: 0; }

.ce-content-slider .tabs .tabs-title a { transition: all 200ms linear; color: #FFF; }

.ce-content-slider .tabs .tabs-title a:before { transition: all 200ms linear; content: '· '; display: inline-block; opacity: 0; }

.ce-content-slider .tabs .tabs-title.is-active a { padding-left: 1.75rem; }

.ce-content-slider .tabs .tabs-title.is-active a:before { opacity: 1; }

.ce-content-slider .tabs-content-wrapper { margin-left: -8.34%; }

.ce-content-slider .tabs-content { background-color: #F7F7F7; }

.ce-content-slider .tabs-content .tabs-panel { display: none; margin-top: 3.125rem; }

.ce-content-slider .tabs-content .tabs-panel figure { background-size: cover; height: 25rem; position: relative; }

.ce-content-slider .tabs-content .tabs-panel .button { bottom: 0; position: absolute; right: 2rem; -webkit-transform: translateY(50%); transform: translateY(50%); }

.ce-content-slider .tabs-content .tabs-panel .content-wrapper { padding: 3.5rem; padding-left: calc((calc(100vw - 168px) / 12) + 36px); }

.ce-content-slider .tabs-content .tabs-panel .content-wrapper h3, .ce-content-slider .tabs-content .tabs-panel .content-wrapper .ce-market-trigger .tabs .tabs-title, .ce-market-trigger .tabs .ce-content-slider .tabs-content .tabs-panel .content-wrapper .tabs-title, .ce-content-slider .tabs-content .tabs-panel .content-wrapper .ce-market-trigger .mobile a, .ce-market-trigger .mobile .ce-content-slider .tabs-content .tabs-panel .content-wrapper a { margin-bottom: 1rem; }

.ce-content-slider .tabs-content .tabs-panel .content-wrapper p { margin-bottom: 0; }

.ce-content-slider .tabs-content .tabs-panel.is-active { display: block; }

.ce-content-slider .accordion { list-style: none; margin: 0; padding: 0; }

.ce-content-slider .accordion .accordion-title { background-color: #232223; color: #FFF; display: block; padding: 1rem 1.5rem; }

.ce-content-slider .accordion .accordion-title:after { transition: all 200ms linear; content: ""; display: inline-block; margin-left: 0.5rem; }

.ce-content-slider .accordion .accordion-content { background-color: #F7F7F7; display: none; }

.ce-content-slider .accordion .accordion-content figure { position: relative; }

.ce-content-slider .accordion .accordion-content .button { bottom: 0; position: absolute; right: 1.5rem; -webkit-transform: translateY(50%); transform: translateY(50%); }

.ce-content-slider .accordion .accordion-content .content-wrapper { padding: 1.5rem; }

.ce-content-slider .accordion .accordion-content .content-wrapper p { margin-bottom: 0; }

.ce-content-slider .accordion .is-active .accordion-title:after { -webkit-transform: rotate(-180deg); transform: rotate(-180deg); }

.ce-cta .button { margin-top: 2.1875rem; }

.ce-cta figure { margin-bottom: 1rem; text-align: center; }

@media print, screen and (min-width: 64em) { .ce-cta figure { margin-bottom: 0; } }

.ce-cta figure img { width: auto; }

.ce-cta h3, .ce-cta .ce-market-trigger .tabs .tabs-title, .ce-market-trigger .tabs .ce-cta .tabs-title, .ce-cta .ce-market-trigger .mobile a, .ce-market-trigger .mobile .ce-cta a { margin-bottom: 0.5rem; }

@media print, screen and (min-width: 48em) { .ce-cta h3, .ce-cta .ce-market-trigger .tabs .tabs-title, .ce-market-trigger .tabs .ce-cta .tabs-title, .ce-cta .ce-market-trigger .mobile a, .ce-market-trigger .mobile .ce-cta a { margin-bottom: 1rem; } }

.ce-cta p { margin-bottom: 1.5rem; }

@media print, screen and (min-width: 48em) { .ce-cta p { margin-bottom: 2.5rem; } }

.ce-cta .cta-content { -webkit-align-self: flex-start; -ms-flex-item-align: start; align-self: flex-start; }

.vc-forms { background-image: linear-gradient(-180deg, rgba(145, 215, 220, 0.1) 0%, rgba(35, 34, 35, 0.1) 100%); padding: 1.875rem 0; }

@media print, screen and (min-width: 48em) { .vc-forms { padding: 3.125rem 1.875rem; } }

@media print, screen and (min-width: 64em) { .vc-forms { padding: 7.5rem; } }

.vc-forms .gform_wrapper { margin-top: 1.5625rem; }

.vc-forms .gform_wrapper li { position: relative; }

.vc-forms .gform_footer::before, .vc-forms .gform_footer::after { display: table; content: ' '; }

.vc-forms .gform_footer::after { clear: both; }

.vc-forms .gform_footer .button { float: right; margin-bottom: 0; }

.vc-forms label { color: #232223; display: block; font-family: 'Montserrat', sans-serif; font-weight: 500; margin-bottom: 0.3125rem; text-transform: uppercase; width: 100%; }

.vc-forms input, .vc-forms textarea { border-radius: 0.1875rem; display: block; margin-bottom: 1.5625rem; width: 100%; }

.vc-forms .validation_error { display: none; }

.vc-forms .gform_body ul { list-style: none; margin: 0; padding: 0; }

.vc-forms .gform_ajax_spinner { display: none !important; }

.ce-game-server-list .game-server-item:nth-child(n+7) { display: none; }

.ce-game-server-list .load-more { margin-top: 1.5rem; }

@media print, screen and (min-width: 48em) { .ce-game-server-list .load-more { margin-top: 2.5rem; } }

.ce-locations-grid .location-item { margin-bottom: 32px; overflow: hidden; }

.ce-locations-grid .location-item figure { background: no-repeat center; background-size: cover; height: 15rem; }

@media print, screen and (min-width: 48em) { .ce-locations-grid .location-item figure { height: 24rem; } }

.ce-locations-grid .location-item main { background-color: #232223; color: #FFF; height: 100%; padding: 2rem; }

.ce-locations-grid .location-item main .description { display: block; position: relative; }

.ce-locations-grid .location-item main .description:before { color: #D2232A; content: ""; font-size: 1.5rem; left: 0; position: absolute; top: 0.125rem; }

.ce-locations-grid .location-item main .description p { margin-bottom: 0; padding-left: 2rem; }

.ce-locations-grid .location-item main .contact-details { list-style: none; margin: 0; padding: 0; }

.ce-locations-grid .location-item main .contact-details li { margin-bottom: 0.5rem; padding-left: 2.5rem; position: relative; }

.ce-locations-grid .location-item main .contact-details li:before { color: #F7F7F7; font-size: 1.5rem; left: 0; opacity: 0.5; position: absolute; top: 0.125rem; }

.ce-locations-grid .location-item main .contact-details li:last-child { margin-bottom: 0; }

.ce-locations-grid .location-item main .contact-details li.phone-number:before { content: ""; }

.ce-locations-grid .location-item main .contact-details li.email:before { content: ""; }

.ce-locations-grid .location-item main .contact-details li a:hover { text-decoration: underline; }

.ce-logo-list .inner-wrapper.black { background-color: #232223; padding: 2rem 0; }

@media print, screen and (min-width: 48em) { .ce-logo-list .inner-wrapper.black { padding: 3.5rem 0; } }

.ce-logo-trigger .inner-wrapper.black { background-color: #232223; padding: 2rem 0; }

@media print, screen and (min-width: 48em) { .ce-logo-trigger .inner-wrapper.black { padding: 3.5rem 0; } }

.ce-market-trigger .inner-wrapper { margin-bottom: 3.5rem; position: relative; }

.ce-market-trigger .tabs { list-style: none; margin: 0; padding: 0; left: 3.5rem; position: absolute; top: 3.5rem; z-index: 1; }

.ce-market-trigger .tabs .tabs-title { transition: all 200ms linear; color: #FFF; margin-bottom: 2rem; opacity: 0.4; }

.ce-market-trigger .tabs .tabs-title:last-child { margin-bottom: 0; }

.ce-market-trigger .tabs .tabs-title.is-active, .ce-market-trigger .tabs .tabs-title:hover { opacity: 1; }

.ce-market-trigger .tabs-panel { background-color: #404040; display: none; height: 35rem; }

@media screen and (min-width: 80em) { .ce-market-trigger .tabs-panel { height: 45rem; } }

.ce-market-trigger .tabs-panel figure { background-position: center center; background-size: cover; height: 100%; position: relative; }

.ce-market-trigger .tabs-panel .content-wrapper { background-color: #232223; bottom: -3.5rem; color: #FFF; max-width: 32.75rem; padding: 2.5rem 4rem 2.5rem 2.5rem; position: absolute; right: 3.5rem; width: 100%; z-index: 1; }

.ce-market-trigger .tabs-panel .content-wrapper p { margin: 1rem 0 0; }

.ce-market-trigger .tabs-panel .content-wrapper .button { bottom: 1.5rem; position: absolute; right: 0; -webkit-transform: translateX(50%); transform: translateX(50%); }

.ce-market-trigger .tabs-panel.is-active { display: block; }

.ce-market-trigger .mobile figure { background-position: center center; background-size: cover; padding: 1.5rem; }

@media print, screen and (min-width: 48em) { .ce-market-trigger .mobile figure { padding: 2.5rem; } }

.ce-market-trigger .mobile ul { list-style: none; margin: 0; padding: 0; }

.ce-market-trigger .mobile li { margin-bottom: 0.5rem; }

.ce-market-trigger .mobile li:last-child { margin-bottom: 0; }

.ce-market-trigger .mobile a { color: #FFF; }

.ce-market-trigger .mobile a:after { content: ""; display: inline-block; margin-left: 0.5rem; }

.ce-media-slider .swiper-container { padding-bottom: 3.5rem; }

.ce-media-slider .swiper-slide .inner-wrapper { height: 13.75rem; position: relative; }

@media print, screen and (min-width: 48em) { .ce-media-slider .swiper-slide .inner-wrapper { height: 30rem; } }

@media screen and (min-width: 80em) { .ce-media-slider .swiper-slide .inner-wrapper { height: 43.75rem; } }

.ce-media-slider figure { transition: all 200ms linear; background-position: center; background-size: cover; height: 100%; left: 0; position: absolute; top: 0; width: 100%; }

.ce-media-slider .responsive-embed { height: 100%; left: 0; margin: 0; padding: 0; position: absolute; width: 100%; }

.ce-media-slider .responsive-embed video { transition: all 200ms linear; cursor: pointer; height: auto; left: 50%; min-height: 100%; min-width: 100%; opacity: 0; top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); visibility: hidden; width: auto; }

.ce-media-slider .trigger { transition: all 200ms linear; background-color: #D2232A; border-radius: 50%; bottom: 1rem; cursor: pointer; height: 3.125rem; left: 1rem; position: absolute; width: 3.125rem; }

@media print, screen and (min-width: 48em) { .ce-media-slider .trigger { bottom: 2.5rem; height: 4rem; left: 2.5rem; width: 4rem; } }

.ce-media-slider .trigger:after { content: 'Play video'; position: absolute; left: calc(100% + 12px); top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); color: #FFF; white-space: nowrap; }

@media print, screen and (min-width: 48em) { .ce-media-slider .trigger:after { left: calc(100% + 24px); font-size: 1.5rem; } }

.ce-media-slider .trigger .icon { height: 1.5rem; left: 50%; position: absolute; top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 1.125rem; }

@media print, screen and (min-width: 48em) { .ce-media-slider .trigger .icon { height: 2rem; width: 2rem; } }

.ce-media-slider .trigger svg { transition: all 200ms linear; fill: #FFF; }

.ce-media-slider .trigger:hover { background-color: #951114; }

.ce-media-slider .trigger:hover svg { fill: #FFF; }

.ce-media-slider .is-playing figure { opacity: 0; visibility: hidden; }

.ce-media-slider .is-playing video { opacity: 1; visibility: visible; }

.ce-media-slider .is-playing .play { opacity: 0; visibility: hidden; }

.ce-media-slider .is-playing:hover .pause { opacity: 1; visibility: visible; }

.ce-media-slider .intro, .ce-media-slider .frequency-price label, .frequency-price .ce-media-slider label, .ce-media-slider #main-footer ul.quick-list a, #main-footer ul.quick-list .ce-media-slider a { display: block; left: 0; margin: 0.5rem 0 0; position: absolute; top: 100%; width: 100%; }

@media print, screen and (min-width: 48em) { .ce-media-slider .intro, .ce-media-slider .frequency-price label, .frequency-price .ce-media-slider label, .ce-media-slider #main-footer ul.quick-list a, #main-footer ul.quick-list .ce-media-slider a { margin: 1.25rem 0 0; } }

.ce-media-slider .intro p, .ce-media-slider .frequency-price label p, .frequency-price .ce-media-slider label p, .ce-media-slider #main-footer ul.quick-list a p, #main-footer ul.quick-list .ce-media-slider a p { overflow: hidden; padding-right: 3.5rem; text-overflow: ellipsis; white-space: nowrap; }

@media print, screen and (min-width: 48em) { .ce-media-slider .intro p, .ce-media-slider .frequency-price label p, .frequency-price .ce-media-slider label p, .ce-media-slider #main-footer ul.quick-list a p, #main-footer ul.quick-list .ce-media-slider a p { padding-right: 20.625rem; } }

.ce-media-slider .cta-wrapper { background-color: #FFF; bottom: 1.25rem; position: absolute; right: 0; top: 13.75rem; width: 21rem; }

@media print, screen and (min-width: 48em) { .ce-media-slider .cta-wrapper { top: 30rem; } }

@media screen and (min-width: 80em) { .ce-media-slider .cta-wrapper { top: 43.75rem; } }

@media print, screen and (min-width: 48em) { .ce-media-slider .cta-wrapper .swiper-pagination { font-size: 1.25rem; margin: 0 1.5rem; } }

.ce-server-trigger main { margin-bottom: 0; }

@media print, screen and (min-width: 64em) { .ce-server-trigger main { margin-bottom: 2rem; } }

.ce-service-trigger .swiper-wrapper { height: auto; }

.ce-service-trigger .service-item { margin-top: 0; }

.ce-vacancy-apply p { margin-bottom: 1.5rem; }

@media print, screen and (min-width: 48em) { .ce-vacancy-apply p { margin-bottom: 2.5rem; } }

.ce-vacancy-apply .button { margin-top: 0.625rem; }

.ce-video .inner-wrapper { position: relative; }

.ce-video .inner-wrapper.is-playing figure, .ce-video .inner-wrapper.is-playing .trigger { opacity: 0; visibility: hidden; }

.ce-video figure { transition: all 200ms linear; background-size: cover; height: 100%; left: 0; position: absolute; top: 0; width: 100%; }

.ce-video .trigger { transition: all 200ms linear; background-color: #D2232A; border-radius: 50%; bottom: 1rem; cursor: pointer; height: 3.125rem; left: 1rem; position: absolute; width: 3.125rem; }

@media print, screen and (min-width: 48em) { .ce-video .trigger { bottom: 2.5rem; height: 4rem; left: 2.5rem; width: 4rem; } }

.ce-video .trigger:after { content: 'Play video'; position: absolute; left: calc(100% + 12px); top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); color: #FFF; white-space: nowrap; }

@media print, screen and (min-width: 48em) { .ce-video .trigger:after { left: calc(100% + 24px); font-size: 1.5rem; } }

.ce-video .trigger .icon { height: 1.5rem; left: 50%; position: absolute; top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 1.125rem; }

@media print, screen and (min-width: 48em) { .ce-video .trigger .icon { height: 2rem; width: 2rem; } }

.ce-video .trigger svg { transition: all 200ms linear; fill: #FFF; }

.ce-video .trigger:hover { background-color: #951114; }

.ce-video .trigger:hover svg { fill: #FFF; }

.ce-video iframe { width: 100%; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsInN0eWxlLnNjc3MiLCIuLi8uLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvQGNvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9AY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiYmFzZS90eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvQGNvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9AY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwiLi4vLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL0Bjb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJzZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL0Bjb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9AY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL0Bjb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvQGNvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9AY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MiLCIuLi8uLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvQGNvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Jvdy5zY3NzIiwiLi4vLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL0Bjb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uLy4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9AY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvQGNvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvQGNvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9AY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL0Bjb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvQGNvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL0Bjb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL0Bjb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvQGNvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9AY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvQGNvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9AY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsImFuaW1hdGlvbnMuc2NzcyIsInBsdWdpbnMvanF1ZXJ5LWRhdGVwaWNrZXIuc2NzcyIsInBsdWdpbnMvbWFnbmlmaWMtcG9wdXAuc2NzcyIsInBsdWdpbnMvcG93ZXJtYWlsLnNjc3MiLCJwbHVnaW5zL3N3aXBlci5zY3NzIiwiYmFzZS90YWJsZS5zY3NzIiwiYmFzZS9ncmlkLnNjc3MiLCJiYXNlL2ljb25zLnNjc3MiLCJiYXNlL2Zvcm1zLnNjc3MiLCJtaXhpbnMuc2NzcyIsImJhc2UvYnV0dG9ucy5zY3NzIiwibGF5b3V0L2Jhc2Uuc2NzcyIsImxheW91dC9ibG9jay5zY3NzIiwibGF5b3V0L2JyZWFkY3J1bWIuc2NzcyIsImxheW91dC9jb29raWUtbm90aWNlLnNjc3MiLCJsYXlvdXQvZm9vdGVyLW1lbnUuc2NzcyIsImxheW91dC9mb290ZXIuc2NzcyIsImxheW91dC9ncmlkLWVsZW1lbnRzLnNjc3MiLCJsYXlvdXQvaGVhZGVyLnNjc3MiLCJsYXlvdXQva2V5dmlzdWFsLnNjc3MiLCJsYXlvdXQvbGFuZ3VhZ2Utc3dpdGNoLnNjc3MiLCJsYXlvdXQvbG9nby5zY3NzIiwibGF5b3V0L3ByaW1hcnktbWVudS5zY3NzIiwibGF5b3V0L3NlYXJjaC5zY3NzIiwibGF5b3V0L3NlY29uZGFyeS1tZW51LnNjc3MiLCJsYXlvdXQvdG9wLW5hdi5zY3NzIiwidGVtcGxhdGVzL3NlYXJjaC1yZXN1bHRzLnNjc3MiLCJwYXJ0cy9ldmVudC1pdGVtLnNjc3MiLCJwYXJ0cy9nYW1lLXNlcnZlci1pdGVtLnNjc3MiLCJwYXJ0cy9pY29uLWl0ZW0uc2NzcyIsInBhcnRzL2ludHJvLWhlYWRpbmcuc2NzcyIsInBhcnRzL25ld3MtaXRlbS5zY3NzIiwicGFydHMvcGFnaW5hdGlvbi5zY3NzIiwicGFydHMvcGVvcGxlLWl0ZW0uc2NzcyIsInBhcnRzL3Bvc3QtaGVhZGluZy5zY3NzIiwicGFydHMvc2VydmVyLWl0ZW0uc2NzcyIsInBhcnRzL3NlcnZpY2UtaXRlbS5zY3NzIiwicGFydHMvc2xpZGVyLnNjc3MiLCJwYXJ0cy9zb2NpYWwtbGlzdC5zY3NzIiwicGFydHMvdmFjYW5jeS1pdGVtLnNjc3MiLCJjb250ZW50LWVsZW1lbnRzL2NlLXRleHRwaWMuc2NzcyIsImNvbnRlbnQtZWxlbWVudHMvY2Utd29ybGRtYXAuc2NzcyIsImNvbnRlbnQtZWxlbWVudHMvdmMtY2FzZS10cmlnZ2VyLnNjc3MiLCJjb250ZW50LWVsZW1lbnRzL3ZjLWNvbnRlbnQtc2xpZGVyLnNjc3MiLCJjb250ZW50LWVsZW1lbnRzL3ZjLWN0YS5zY3NzIiwiY29udGVudC1lbGVtZW50cy92Yy1mb3Jtcy5zY3NzIiwiY29udGVudC1lbGVtZW50cy92Yy1nYW1lLXNlcnZlci1saXN0LnNjc3MiLCJjb250ZW50LWVsZW1lbnRzL3ZjLWxvY2F0aW9ucy1ncmlkLnNjc3MiLCJjb250ZW50LWVsZW1lbnRzL3ZjLWxvZ28tbGlzdC5zY3NzIiwiY29udGVudC1lbGVtZW50cy92Yy1sb2dvLXRyaWdnZXIuc2NzcyIsImNvbnRlbnQtZWxlbWVudHMvdmMtbWFya2V0LXRyaWdnZXIuc2NzcyIsImNvbnRlbnQtZWxlbWVudHMvdmMtbWVkaWEtc2xpZGVyLnNjc3MiLCJjb250ZW50LWVsZW1lbnRzL3ZjLXNlcnZlci10cmlnZ2VyLnNjc3MiLCJjb250ZW50LWVsZW1lbnRzL3ZjLXNlcnZpY2UtdHJpZ2dlci5zY3NzIiwiY29udGVudC1lbGVtZW50cy92Yy12YWNhbmN5LWFwcGx5LnNjc3MiLCJjb250ZW50LWVsZW1lbnRzL3ZjLXZpZGVvLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCOzs7Ozs7OztFQVFFO0FDUkYsb0dBS0c7QUN3Q0QsaUVBQWlFO0FBRy9ELHlGQUNnRjtBQUVoRixvTkFLRztBQ3JEUCx5R0FBWTtBRHVEUixPQUNFLHdCRTFDdUIsQ0YwQ1MsT0FBTyxDQVFyQyxrQkFBa0IsQ0FBRSxPQUFPLENBRTdCLDJCQUEyQixDQUFFLE9BQU8sQ0FDcEMsK0JBQStCLENBQUUsT0FBTyxFQUN6Qzs7QUFJRCx5RkFDZ0Y7QUFFaEYsdURBRUc7QUFFSCxPQUNFLFVBQVUsRUFDWDs7QUFFRCx3Q0FFRztBQUVILCtDQU1FLGVBQWUsRUFDaEI7O0FBRUQsZ0lBR0c7QUFFSCw4Qkc5RUYsZUFYaUIsQ0hvR1gsaUJBQWlCLEVBRXBCOztBQW9DRCxpR0FDZ0Y7QUF1Q2hGLHdDQUVHO0FBRUgscUJBRUUsZUFBZSxFQUNoQjs7QUFFRCxzQ0FFRztBQUVILFNBS0ksaUJFdkxZLEVGeUxmOztBQUVELHFGQUdHO0FBRUgsS0FDRSx3QkFBd0IsQ0FBRSxPQUFPLENBQ2pDLFVBQVUsQ0FBRSxPQUFPLENBQ25CLGtCQUFrQixDQUFFLE9BQU8sRUFDNUI7O0FBRUQscUNBRUc7QUFFSCxPQUNFLGVBQWUsRUFDaEI7O0FBYUQsZ0lBR0c7QUFFSCxNQUNFLGtDQUFrQyxDQUFFLE9BQU8sQ0FDM0MsZUFBZSxDQUFFLE9BQU8sRUFDekI7O0FBSUQsc0ZBQ2dGO0FBRWhGLHlIQUdHO0FBRUgsSUFDRSw4QkFBOEIsQ0FBRSxPQUFPLENBQ3ZDLHNDQUFzQyxDQUFFLE9BQU8sRUFDaEQ7O0FB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QixTRGtDZ0IsRUFHWDs7QUFGRCxpQkNuQ0osaUJEa0NnQixDQ2xDaEIsa0JEa0NnQixDQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQsaUJDbkNKLGlCRGtDZ0IsQ0NsQ2hCLGtCRGtDZ0IsQ0NsQ2hCLFNEa0NnQixFQUdYOztBQUZELGlCQ25DSixpQkRrQ2dCLENDbENoQixrQkRrQ2dCLENDbENoQixTRGtDZ0IsRUFHWDs7QUFGRCxpQkNuQ0osaUJEa0NnQixDQ2xDaEIsa0JEa0NnQixDQ2xDaEIsU0RrQ2dCLEVBR1g7O0FFcURELCtDRnZEQSxtQkNuQ0osaUJEa0NnQixDQ2xDaEIsa0JEa0NnQixDQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRCxtQkNuQ0osaUJEa0NnQixDQ2xDaEIsa0JEa0NnQixDQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRCxtQkNuQ0osaUJEa0NnQixDQ2xDaEIsa0JEa0NnQixDQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRCxtQkNuQ0osaUJEa0NnQixDQ2xDaEIsa0JEa0NnQixDQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRCxtQkNuQ0osaUJEa0NnQixDQ2xDaEIsa0JEa0NnQixDQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRCxtQkNuQ0osaUJEa0NnQixDQ2xDaEIsa0JEa0NnQixDQ2xDaEIsU0RrQ2dCLEVBR1gsRUFBQTs7QUVxREQsNkNGdkRBLGtCQ25DSixpQkRrQ2dCLENDbENoQixrQkRrQ2dCLENDbENoQixTRGtDZ0IsRUFHWDtFQUZELGtCQ25DSixpQkRrQ2dCLENDbENoQixrQkRrQ2dCLENDbENoQixTRGtDZ0IsRUFHWDtFQUZELGtCQ25DSixpQkRrQ2dCLENDbENoQixrQkRrQ2dCLENDbENoQixTRGtDZ0IsRUFHWDtFQUZELGtCQ25DSixpQkRrQ2dCLENDbENoQixrQkRrQ2dCLENDbENoQixTRGtDZ0IsRUFHWDtFQUZELGtCQ25DSixpQkRrQ2dCLENDbENoQixrQkRrQ2dCLENDbENoQixTRGtDZ0IsRUFHWDtFQUZELGtCQ25DSixpQkRrQ2dCLENDbENoQixrQkRrQ2dCLENDbENoQixTRGtDZ0IsRUFHWCxFQUFBOztBRXFERCw2Q0Z2REEsaUJDbkNKLGlCRGtDZ0IsQ0NsQ2hCLGtCRGtDZ0IsQ0NsQ2hCLFNEa0NnQixFQUdYO0VBRkQsaUJDbkNKLGlCRGtDZ0IsQ0NsQ2hCLGtCRGtDZ0IsQ0NsQ2hCLFNEa0NnQixFQUdYO0VBRkQsaUJDbkNKLGlCRGtDZ0IsQ0NsQ2hCLGtCRGtDZ0IsQ0NsQ2hCLFNEa0NnQixFQUdYO0VBRkQsaUJDbkNKLGlCRGtDZ0IsQ0NsQ2hCLGtCRGtDZ0IsQ0NsQ2hCLFNEa0NnQixFQUdYO0VBRkQsaUJDbkNKLGlCRGtDZ0IsQ0NsQ2hCLGtCRGtDZ0IsQ0NsQ2hCLFNEa0NnQixFQUdYO0VBRkQsaUJDbkNKLGlCRGtDZ0IsQ0NsQ2hCLGtCRGtDZ0IsQ0NsQ2hCLFNEa0NnQixFQUdYLEVBQUE7O0FFMERELHNDRjVEQSxrQkNuQ0osaUJEa0NnQixDQ2xDaEIsa0JEa0NnQixDQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRCxrQkNuQ0osaUJEa0NnQixDQ2xDaEIsa0JEa0NnQixDQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRCxrQkNuQ0osaUJEa0NnQixDQ2xDaEIsa0JEa0NnQixDQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRCxrQkNuQ0osaUJEa0NnQixDQ2xDaEIsa0JEa0NnQixDQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRCxrQkNuQ0osaUJEa0NnQixDQ2xDaEIsa0JEa0NnQixDQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRCxrQkNuQ0osaUJEa0NnQixDQ2xDaEIsa0JEa0NnQixDQ2xDaEIsU0RrQ2dCLEVBR1gsRUFBQTs7QUUwREQsdUNGNURBLG1CQ25DSixpQkRrQ2dCLENDbENoQixrQkRrQ2dCLENDbENoQixTRGtDZ0IsRUFHWDtFQUZELG1CQ25DSixpQkRrQ2dCLENDbENoQixrQkRrQ2dCLENDbENoQixTRGtDZ0IsRUFHWDtFQUZELG1CQ25DSixpQkRrQ2dCLENDbENoQixrQkRrQ2dCLENDbENoQixTRGtDZ0IsRUFHWDtFQUZELG1CQ25DSixpQkRrQ2dCLENDbENoQixrQkRrQ2dCLENDbENoQixT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QVZELFdBQ0Usc0JHbktnQixDSG1LaEIsa0JHbktnQixDSG1LaEIsY0duS2dCLENIb0toQixlR3BLZ0IsRUhxS2pCOztBQUtELGtCSTdKSiw0QkRic0IsRUg0S2pCOztBQVZELFdBQ0UsaUNHbktnQixDSG1LaEIsNkJHbktnQixDSG1LaEIseUJHbktnQixDSG9LaEIsMEJHcEtnQixFSHFLakI7O0FBS0Qsa0JJN0pKLGlCRGJzQixFSDRLakI7O0FBVkQsV0FDRSxpQ0duS2dCLENIbUtoQiw2QkduS2dCLENIbUtoQix5QkduS2dCLENIb0toQiwwQkdwS2dCLEVIcUtqQjs7QUFLRCxrQkk3SkosNEJEYnNCLEVINEtqQjs7QUFWRCxXQUNFLHNCR25LZ0IsQ0htS2hCLGtCR25LZ0IsQ0htS2hCLGNHbktnQixDSG9LaEIsZUdwS2dCLEVIcUtqQjs7QUFLRCxrQkk3SkosNEJEYnNCLEVINEtqQjs7QUFWRCxXQUNFLGlDR25LZ0IsQ0htS2hCLDZCR25LZ0IsQ0htS2hCLHlCR25LZ0IsQ0hvS2hCLDBCR3BLZ0IsRUhxS2pCOztBQUtELGtCSTdKSixpQkRic0IsRUg0S2pCOztBQVZELFdBQ0UsaUNHbktnQixDSG1LaEIsNkJHbktnQixDSG1LaEIseUJHbktnQixDSG9LaEIsMEJHcEtnQixFSHFLakI7O0FBS0Qsa0JJN0pKLDRCRGJzQixFSDRLakI7O0FBVkQsV0FDRSxzQkduS2dCLENIbUtoQixrQkduS2dCLENIbUtoQixjR25LZ0IsQ0hvS2hCLGVHcEtnQixFSHFLakI7O0FBS0Qsa0JJN0pKLDRCRGJzQixFSDRLakI7O0FBVkQsWUFDRSxpQ0duS2dCLENIbUtoQiw2QkduS2dCLENIbUtoQix5QkduS2dCLENIb0toQiwwQkdwS2dCLEVIcUtqQjs7QUFLRCxrQkk3SkosaUJEYnNCLEVINEtqQjs7QUFWRCxZQUNFLGlDR25LZ0IsQ0htS2hCLDZCR25LZ0IsQ0htS2hCLHlCR25LZ0IsQ0hvS2hCLDBCR3BLZ0IsRUhxS2pCOztBQUtELG1CSTdKSiw0QkRic0IsRUg0S2pCOztBQVZELFlBQ0UsdUJHbktnQixDSG1LaEIsbUJHbktnQixDSG1LaEIsZUduS2dCLENIb0toQixnQkdwS2dCLEVIcUtqQjs7QUFLRCxtQkk3SkosNEJEYnNCLEVINEtqQjs7QUFLRCxjQTFHSix3QkFBZ0IsQ0FBaEIsb0JBQWdCLENBQWhCLGdCQUFnQixFQTRHWDs7QUExR0gsZ0RBR0EsdUJBRmdCLENBRWhCLG1CQUZnQixDQUVoQixlQUZnQixDQUdoQixnQkFIZ0IsRUFJakI7O0FBbUdHLGNBMUdKLHdCQUFnQixDQUFoQixvQkFBZ0IsQ0FBaEIsZ0JBQWdCLEVBNEdYOztBQTFHSCxnREFHQSxzQkFGZ0IsQ0FFaEIsa0JBRmdCLENBRWhCLGNBRmdCLENBR2hCLGVBSGdCLEVBSWpCOztBQW1HRyxjQTFHSix3QkFBZ0IsQ0FBaEIsb0JBQWdCLENBQWhCLGdCQUFnQixFQTRHWDs7QUExR0gsZ0RBR0EsaUNBRmdCLENBRWhCLDZCQUZnQixDQUVoQix5QkFGZ0IsQ0FHaEIsMEJBSGdCLEVBSWpCOztBQW1HRyxjQTFHSix3QkFBZ0IsQ0FBaEIsb0JBQWdCLENBQWhCLGdCQUFnQixFQTRHWDs7QUExR0gsZ0RBR0Esc0JBRmdCLENBRWhCLGtCQUZnQixDQUVoQixjQUZnQixDQUdoQixlQUhnQixFQUlqQjs7QUFtR0csY0ExR0osd0JBQWdCLENBQWhCLG9CQUFnQixDQUFoQixnQkFBZ0IsRUE0R1g7O0FBMUdILGdEQUdBLHNCQUZnQixDQUVoQixrQkFGZ0IsQ0FFaEIsY0FGZ0IsQ0FHaEIsZUFIZ0IsRUFJakI7O0FBbUdHLGNBMUdKLHdCQUFnQixDQUFoQixvQkFBZ0IsQ0FBaEIsZ0JBQWdCLEVBNEdYOztBQTFHSCxnREFHQSxpQ0FGZ0IsQ0FFaEIsNkJBRmdCLENBRWhCLHlCQUZnQixDQUdoQiwwQkFIZ0IsRUFJakI7O0FBbUdHLGNBMUdKLHdCQUFnQixDQUFoQixvQkFBZ0IsQ0FBaEIsZ0JBQWdCLEVBNEdYOztBQTFHSCxnREFHQSxpQ0FGZ0IsQ0FFaEIsNkJBRmdCLENBRWhCLHlCQUZnQixDQUdoQiwwQkFIZ0IsRUFJakI7O0FBbUdHLGNBMUdKLHdCQUFnQixDQUFoQixvQkFBZ0IsQ0FBaEIsZ0JBQWdCLEVBNEdYOztBQTFHSCxnREFHQSx3QkFGZ0IsQ0FFaEIsb0JBRmdCLENBRWhCLGdCQUZnQixDQUdoQixpQkFIZ0IsRUFJakI7O0FBK0hDLHdERXBOQSxpQkFGa0IsQ0FHbEIsZ0JBSGtCLEVGdU4wQjs7QUFHNUMsNERFeE5BLG9CQUZrQixDQUdsQixtQkFIa0IsRUYyTm1DOztBRDVFbkQsK0NDNEJBLGFBQ0UsZ0NHbktnQixDSG1LaEIsNEJHbktnQixDSG1LaEIsd0JHbktnQixDSG9LaEIseUJHcEtnQixFSHFLakI7RUFLRCxvQkk3SkosZ0JEaEJzQixFSCtLakI7RUFWRCxhQUNFLGlDR25LZ0IsQ0htS2hCLDZCR25LZ0IsQ0htS2hCLHlCR25LZ0IsQ0hvS2hCLDBCR3BLZ0IsRUhxS2pCO0VBS0Qsb0JJN0pKLDJCRGJzQixFSDRLakI7RUFWRCxhQUNFLHNCR25LZ0IsQ0htS2hCLGtCR25LZ0IsQ0htS2hCLGNHbktnQixDSG9LaEIsZUdwS2dCLEVIcUtqQjtFQUtELG9CSTdKSiw0QkRic0IsRUg0S2pCO0VBVkQsYUFDRSxpQ0duS2dCLENIbUtoQiw2QkduS2dCLENIbUtoQix5QkduS2dCLENIb0toQiwwQkdwS2dCLEVIcUtqQjtFQUtELG9CSTdKSixpQkRic0IsRUg0S2pCO0VBVkQsYUFDRSxpQ0duS2dCLENIbUtoQiw2QkduS2dCLENIbUtoQix5QkduS2dCLENIb0toQiwwQkdwS2dCLEVIcUtqQjtFQUtELG9CSTdKSiw0QkRic0IsRUg0S2pCO0VBVkQsYUFDRSxzQkduS2dCLENIbUtoQixrQkduS2dCLENIbUtoQixjR25LZ0IsQ0hvS2hCLGVHcEtnQixFSHFLakI7RUFLRCxvQkk3SkosNEJEYnNCLEVINEtqQjtFQVZELGFBQ0UsaUNHbktnQixDSG1LaEIsNkJHbktnQixDSG1LaEIseUJHbktnQixDSG9LaEIsMEJHcEtnQixFSHFLakI7RUFLRCxvQkk3SkosaUJEYnNCLEVINEtqQjtFQVZELGFBQ0UsaUNHbktnQixDSG1LaEIsNkJHbktnQixDSG1LaEIs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LEVIcUtqQjtFQUtELG1CSTdKSiwyQkRic0IsRUg0S2pCO0VBVkQsWUFDRSxzQkduS2dCLENIbUtoQixrQkduS2dCLENIbUtoQixjR25LZ0IsQ0hvS2hCLGVHcEtnQixFSHFLakI7RUFLRCxtQkk3SkosNEJEYnNCLEVINEtqQjtFQVZELFlBQ0UsaUNHbktnQixDSG1LaEIsNkJHbktnQixDSG1LaEIseUJHbktnQixDSG9LaEIsMEJHcEtnQixFSHFLakI7RUFLRCxtQkk3SkosaUJEYnNCLEVINEtqQjtFQVZELFlBQ0UsaUNHbktnQixDSG1LaEIsNkJHbktnQixDSG1LaEIseUJHbktnQixDSG9LaEIsMEJHcEtnQixFSHFLakI7RUFLRCxtQkk3SkosNEJEYnNCLEVINEtqQjtFQVZELFlBQ0Usc0JHbktnQixDSG1LaEIsa0JHbktnQixDSG1LaEIsY0duS2dCLENIb0toQixlR3BLZ0IsRUhxS2pCO0VBS0QsbUJJN0pKLDRCRGJzQixFSDRLakI7RUFWRCxZQUNFLGlDR25LZ0IsQ0htS2hCLDZCR25LZ0IsQ0htS2hCLHlCR25LZ0IsQ0hvS2hCLDBCR3BLZ0IsRUhxS2pCO0VBS0QsbUJJN0pKLGlCRGJzQixFSDRLakI7RUFWRCxZQUNFLGlDR25LZ0IsQ0htS2hCLDZCR25LZ0IsQ0htS2hCLHlCR25LZ0IsQ0hvS2hCLDBCR3BLZ0IsRUhxS2pCO0VBS0QsbUJJN0pKLDRCRGJzQixFSDRLakI7RUFWRCxZQUNFLHNCR25LZ0IsQ0htS2hCLGtCR25LZ0IsQ0htS2hCLGNHbktnQixDSG9LaEIsZUdwS2dCLEVIcUtqQjtFQUtELG1CSTdKSiw0QkRic0IsRUg0S2pCO0VBVkQsYUFDRSxpQ0duS2dCLENIbUtoQiw2QkduS2dCLENIbUtoQix5QkduS2dCLENIb0toQiwwQkdwS2dCLEVIcUtqQjtFQUtELG1CSTdKSixpQkRic0IsRUg0S2pCO0VBVkQsYUFDRSxpQ0duS2dCLENIbUtoQiw2QkduS2dCLENIbUtoQix5QkduS2dCLENIb0toQiwwQkdwS2dCLEVIcUtqQjtFQUtELG9CSTdKSiw0QkRic0IsRUg0S2pCO0VBVkQsYUFDRSx1QkduS2dCLENIbUtoQixtQkduS2dCLENIbUtoQixlR25LZ0IsQ0hvS2hCLGdCR3BLZ0IsRUhxS2pCO0VBS0Qsb0JJN0pKLDRCRGJzQixFSDRLakI7RUFLRCxlQTFHSix3QkFBZ0IsQ0FBaEIsb0JBQWdCLENBQWhCLGdCQUFnQixFQTRHWDtFQTFHSCxrREFHQSx1QkFGZ0IsQ0FFaEIsbUJBRmdCLENBRWhCLGVBRmdCLENBR2hCLGdCQUhnQixFQUlqQjtFQW1HRyxlQTFHSix3QkFBZ0IsQ0FBaEIsb0JBQWdCLENBQWhCLGdCQUFnQixFQTRHWDtFQTFHSCxrREFHQSxzQkFGZ0IsQ0FFaEIsa0JBRmdCLENBRWhCLGNBRmdCLENBR2hCLGVBSGdCLEVBSWpCO0VBbUdHLGVBMUdKLHdCQUFnQixDQUFoQixvQkFBZ0IsQ0FBaEIsZ0JBQWdCLEVBNEdYO0VBMUdILGtEQUdBLGlDQUZnQixDQUVoQiw2QkFGZ0IsQ0FFaEIseUJBRmdCLENBR2hCLDBCQUhnQixFQUlqQjtFQW1HRyxlQTFHSix3QkFBZ0IsQ0FBaEIsb0JBQWdCLENBQWhCLGdCQUFnQixFQTRHWDtFQTFHSCxrREFHQSxzQkFGZ0IsQ0FFaEIsa0JBRmdCLENBRWhCLGNBRmdCLENBR2hCLGVBSGdCLEVBSWpCO0VBbUdHLGVBMUdKLHdCQUFnQixDQUFoQixvQkFBZ0IsQ0FBaEIsZ0JBQWdCLEVBNEdYO0VBMUdILGtEQUdBLHNCQUZnQixDQUVoQixrQkFGZ0IsQ0FFaEIsY0FGZ0IsQ0FHaEIsZUFIZ0IsRUFJakI7RUFtR0csZUExR0osd0JBQWdCLENBQWhCLG9CQUFnQixDQUFoQixnQkFBZ0IsRUE0R1g7RUExR0gsa0RBR0EsaUNBRmdCLENBRWhCLDZCQUZnQixDQUVoQix5QkFGZ0IsQ0FHaEIsMEJBSGdCLEVBSWpCO0VBbUdHLGVBMUdKLHdCQUFnQixDQUFoQixvQkFBZ0IsQ0FBaEIsZ0JBQWdCLEVBNEdYO0VBMUdILGtEQUdBLGlDQUZnQixDQUVoQiw2QkFGZ0IsQ0FFaEIseUJBRmdCLENBR2hCLDBCQUhnQixFQUlqQjtFQW1HRyxlQTFHSix3QkFBZ0IsQ0FBaEIsb0JBQWdCLENBQWhCLGdCQUFnQixFQTRHWDtFQTFHSCxrREFHQSx3QkFGZ0IsQ0FFaEIsb0JBRmdCLENBRWhCLGdCQUZnQixDQUdoQixpQkFIZ0IsRUFJakIsRUFBQTs7QUR3REcsbUVDbURFLGlCQUNFLHNCQTVKTSxDQTRKTixrQkE1Sk0sQ0E0Sk4sY0E1Sk0sRUE2SlAsRUFBQTs7QUFLRCxnRUFFSSx1QkFBMkIsQ0FBM0IsbUJBQTJCLENBQTNCLGVBQTJCLEVBSzVCOztBRGpFTCw2Q0MwREUsZ0VBS00sc0JBdktFLENBdUtGLGtCQXZLRSxDQXVLRixjQXZLRSxFQXlLTCxFQUFBOztBRGpFTCw2Q0N1RUYsMERFcE5BLGlCQUZrQixDQUdsQixnQkFIa0IsRUZ1TjBCO0VBRzVDLDhERXhOQSxvQkFGa0IsQ0FHbEIsbUJBSGtCLEVGMk5tQyxFQUFBOztBRDVFbkQsNkNDNEJBLFdBQ0UsZ0NHbktnQixDSG1LaEIsNEJHbktnQixDSG1LaEIsd0JHbktnQixDSG9LaEIseUJHcEtnQixFSHFLakI7RUFLRCxrQkk3SkosZ0JEaEJzQixFSCtLakI7RUFWRCxXQUNFLGlDR25LZ0IsQ0htS2hCLDZCR25LZ0IsQ0htS2hCLHlCR25LZ0IsQ0hvS2hCLDBCR3BLZ0IsRUhxS2pCO0VBS0Qsa0JJN0pKLDJCRGJzQixFSDRLakI7RUFWRCxXQUNFLHNCR25LZ0IsQ0htS2hCLGtCR25LZ0IsQ0htS2hCLGNHbktnQixDSG9LaEIsZUdwS2dCLEVIcUtqQjtFQUtELGtCSTdKSiw0QkRic0IsRUg0S2pCO0VBVkQsV0FDRSxpQ0duS2dCLENIbUtoQiw2QkduS2dCLENIbUtoQix5QkduS2dCLENIb0toQiwwQkdwS2dCLEVIcUtqQjtFQUtELGtCSTdKSixpQkRic0IsRUg0S2pCO0VBVkQsV0FDRSxpQ0duS2dCLENIbUtoQiw2QkduS2dCLENIbUtoQix5QkduS2dCLENIb0toQiwwQkdwS2dCLEVIcUtqQjtFQUtELGtCSTdKSiw0QkRic0IsRUg0S2pCO0VBVkQsV0FDRSxzQkduS2dCLENIbUtoQixrQkduS2dCLENIbUtoQixjR25LZ0IsQ0hvS2hCLGVHcEtnQixFSHFLakI7RUFLRCxrQkk3SkosNEJEYnNCLEVINEtqQjtFQVZELFdBQ0UsaUNHbktnQixDSG1LaEIsNkJHbktnQixDSG1LaEIseUJHbktnQixDSG9LaEIsMEJHcEtnQixFSHFLakI7RUFLRCxrQkk3SkosaUJEYnNCLEVINEtqQjtFQVZELFdBQ0UsaUNHbktnQixDSG1LaEIsNkJHbktnQixDSG1LaEIseUJHbktnQixDSG9LaEIsMEJHcEtnQixFSHFLakI7RUFLRCxrQkk3SkosNEJEYnNCLEVINEtqQjtFQVZELFdBQ0Usc0JHbktnQixDSG1LaEIsa0JHbktnQixDSG1LaEIsY0duS2dCLENIb0toQixlR3BLZ0IsRUhxS2pCO0VBS0Qsa0JJN0pKLDRCRGJzQixFSDRLakI7RUFWRCxZQUNFLGlDR25LZ0IsQ0htS2hCLDZCR25LZ0IsQ0htS2hCLHlCR25LZ0IsQ0hvS2hCLDBCR3BLZ0IsRUhxS2pCO0VBS0Qsa0JJN0pKLGlCRGJzQixFSDRLakI7RUFWRCxZQUNFLGlDR25LZ0IsQ0htS2hCLDZCR25LZ0IsQ0htS2hCLHlCR25LZ0IsQ0hvS2hCLDBCR3BLZ0IsRUhxS2pCO0VBS0QsbUJJN0pKLDRCRGJzQixFSDRLakI7RUFWRCxZQUNFLHVCR25LZ0IsQ0htS2hCLG1CR25LZ0IsQ0htS2hCLGVHbktnQixDSG9LaEIsZ0JHcEtnQixFSHFLakI7RUFLRCxtQkk3SkosNEJEYnNCLEVINEtqQjtFQUtELGNBMUdKLHdCQUFnQixDQUFoQixvQkFBZ0IsQ0FBaEIsZ0JBQWdCLEVBNEdYO0VBMUdILGdEQUdBLHVCQUZnQixDQUVoQixtQkFGZ0IsQ0FFaEIsZUFGZ0IsQ0FHaEIsZ0JBSGdCLEVBSWpCO0VBbUdHLGNBMUdKLHdCQUFnQixDQUFoQixvQkFBZ0IsQ0FBaEIsZ0JBQWdCLEVBNEdYO0VBMUdILGdEQUdBLHNCQUZnQixDQUVoQixrQkFGZ0IsQ0FFaEIsY0FGZ0IsQ0FHaEIsZUFIZ0IsRUFJakI7RUFtR0csY0ExR0osd0JBQWdCLENBQWhCLG9CQUFnQixDQUFoQixnQkFBZ0IsRUE0R1g7RUExR0gsZ0RBR0EsaUNBRmdCLENBRWhCLDZCQUZnQixDQUVoQix5QkFGZ0IsQ0FHaEIsMEJBSGdCLEVBSWpCO0VBbUdHLGNBMUdKLHdCQUFnQixDQUFoQixvQkFBZ0IsQ0FBaEIsZ0JBQWdCLEVBNEdYO0VBMUdILGdEQUdBLHNCQUZnQixDQUVoQixrQkFGZ0IsQ0FFaEIsY0FGZ0IsQ0FHaEIsZUFIZ0IsRUFJakI7RUFtR0csY0ExR0osd0JBQWdCLENBQWhCLG9CQUFnQixDQUFoQixnQkFBZ0IsRUE0R1g7RUExR0gsZ0RBR0Esc0JBRmdCLENBRWhCLGtCQUZnQixDQUVoQixjQUZnQixDQUdoQixlQUhnQixFQUlqQjtFQW1HRyxjQTFHSix3QkFBZ0IsQ0FBaEIsb0JBQWdCLENBQWhCLGdCQUFnQixFQTRHWDtFQTFHSCxnREFHQSxpQ0FGZ0IsQ0FFaEIsNkJBRmdCLENBRWhCLHlCQUZnQixDQUdoQiwwQkFIZ0IsRUFJakI7RUFtR0csY0ExR0osd0JBQWdCLENBQWhCLG9CQUFnQixDQUFoQixnQkFBZ0IsRUE0R1g7RUExR0gsZ0RBR0EsaUNBRmdCLENBRWhCLDZCQUZnQixDQUVoQix5QkFGZ0IsQ0FHaEIsMEJBSGdCLEVBSWpCO0VBbUdHLGNBMUdKLHdCQUFnQixDQUFoQixvQkFBZ0IsQ0FBaEIsZ0JBQWdCLEVBNEdYO0VBMUdILGdEQUdBLHdCQUZnQixDQUVoQixvQkFGZ0IsQ0FFaEIsZ0JBRmdCLENBR2hCLGlCQUhnQixFQUlqQixFQUFBOztBRHdERyxtRUNtREUsZ0JBQ0Usc0JBNUpNLENBNEpOLGtCQTVKTSxDQTRKTixjQTVKTSxFQTZKUCxFQUFBOztBQUtELDhEQUVJLHVCQUEyQixDQUEzQixtQkFBMkIsQ0FBM0IsZUFBMkIsRUFLNUI7O0FEakVMLDZDQzBERSw4REFLTSxzQkF2S0UsQ0F1S0Ysa0JBdktFLENBdUtGLGNBdktFLEVBeUtMLEVBQUE7O0FEakVMLDZDQ3VFRix3REVwTkEsaUJBRmtCLENBR2xCLGdCQUhrQixFRnVOMEI7RUFHNUMsNERFeE5BLG9CQUZrQixDQUdsQixtQkFIa0IsRUYyTm1DLEVBQUE7O0FEdkVuRCxzQ0N1QkEsWUFDRSxnQ0duS2dCLENIbUtoQiw0QkduS2dCLENIbUtoQix3QkduS2dCLENIb0toQix5QkdwS2dCLEVIcUtqQjtFQUtELG1CSTdKSixnQkRoQnNCLEVIK0tqQjtFQVZELFlBQ0UsaUNHbktnQixDSG1LaEIsNkJHbktnQixDSG1LaEIseUJHbktnQixDSG9LaEIsMEJHcEtnQixFSHFLakI7RUFLRCxtQkk3SkosMkJEYnNCLEVINEtqQjtFQVZELFlBQ0Usc0JHbktnQixDSG1LaEIsa0JHbktnQixDSG1LaEIsY0duS2dCLENIb0toQixlR3BLZ0IsRUhxS2pCO0VBS0QsbUJJN0pKLDRCRGJzQixFSDRLakI7RUFWRCxZQUNFLGlDR25LZ0IsQ0htS2hCLDZCR25LZ0IsQ0htS2hCLHlCR25LZ0IsQ0hvS2hCLDBCR3BLZ0IsRUhxS2pCO0VBS0QsbUJJN0pKLGlCRGJzQixFSDRLakI7RUFWRCxZQUNFLGlDR25LZ0IsQ0htS2hCLDZCR25LZ0IsQ0htS2hCLHlCR25LZ0IsQ0hvS2hCLDBCR3BLZ0IsRUhxS2pCO0VBS0QsbUJJN0pKLDRCRGJzQixFSDRLakI7RUFWRCxZQUNFLHNCR25LZ0IsQ0htS2hCLGtCR25LZ0IsQ0htS2hCLGNHbktnQixDSG9LaEIsZUdwS2dCLEVIcUtqQjtFQUtELG1CSTdKSiw0QkRic0IsRUg0S2pCO0VBVkQsWUFDRSxpQ0duS2dCLENIbUtoQiw2QkduS2dCLENIbUtoQix5QkduS2dCLENIb0toQiwwQkdwS2dCLEVIcUtqQjtFQUtELG1CSTdKSixpQkRic0IsRUg0S2pCO0VBVkQsWUFDRSxpQ0duS2dCLENIbUtoQiw2QkduS2dCLENIbUtoQix5QkduS2dCLENIb0toQiwwQkdwS2dCLEVIcUtqQjtFQUtELG1CSTdKSiw0QkRic0IsRUg0S2pCO0VBVkQsWUFDRSxzQkduS2dCLENIbUtoQixrQkduS2dCLENIbUtoQixjR25LZ0IsQ0hvS2hCLGVHcEtnQixFSHFLakI7RUFLRCxtQkk3SkosNEJEYnNCLEVINEtqQjtFQVZELGFBQ0UsaUNHbktn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QixDSG9LaEIsMEJHcEtnQixFSHFLakI7RUFLRCxvQkk3SkosaUJEYnNCLEVINEtqQjtFQVZELGFBQ0UsaUNHbktnQixDSG1LaEIsNkJHbktnQixDSG1LaEIseUJHbktnQixDSG9LaEIsMEJHcEtnQixFSHFLakI7RUFLRCxvQkk3SkosNEJEYnNCLEVINEtqQjtFQVZELGFBQ0Usc0JHbktnQixDSG1LaEIsa0JHbktnQixDSG1LaEIsY0duS2dCLENIb0toQixlR3BLZ0IsRUhxS2pCO0VBS0Qsb0JJN0pKLDRCRGJzQixFSDRLakI7RUFWRCxhQUNFLGlDR25LZ0IsQ0htS2hCLDZCR25LZ0IsQ0htS2hCLHlCR25LZ0IsQ0hvS2hCLDBCR3BLZ0IsRUhxS2pCO0VBS0Qsb0JJN0pKLGlCRGJzQixFSDRLakI7RUFWRCxhQUNFLGlDR25LZ0IsQ0htS2hCLDZCR25LZ0IsQ0htS2hCLHlCR25LZ0IsQ0hvS2hCLDBCR3BLZ0IsRUhxS2pCO0VBS0Qsb0JJN0pKLDRCRGJzQixFSDRLakI7RUFWRCxhQUNFLHNCR25LZ0IsQ0htS2hCLGtCR25LZ0IsQ0htS2hCLGNHbktnQixDSG9LaEIsZUdwS2dCLEVIcUtqQjtFQUtELG9CSTdKSiw0QkRic0IsRUg0S2pCO0VBVkQsY0FDRSxpQ0duS2dCLENIbUtoQiw2QkduS2dCLENIbUtoQix5QkduS2dCLENIb0toQiwwQkdwS2dCLEVIcUtqQjtFQUtELG9CSTdKSixpQkRic0IsRUg0S2pCO0VBVkQsY0FDRSxpQ0duS2dCLENIbUtoQiw2QkduS2dCLENIbUtoQix5QkduS2dCLENIb0toQiwwQkdwS2dCLEVIcUtqQjtFQUtELHFCSTdKSiw0QkRic0IsRUg0S2pCO0VBVkQsY0FDRSx1QkduS2dCLENIbUtoQixtQkduS2dCLENIbUtoQixlR25LZ0IsQ0hvS2hCLGdCR3BLZ0IsRUhxS2pCO0VBS0QscUJJN0pKLDRCRGJzQixFSDRLakI7RUFLRCxnQkExR0osd0JBQWdCLENBQWhCLG9CQUFnQixDQUFoQixnQkFBZ0IsRUE0R1g7RUExR0gsb0RBR0EsdUJBRmdCLENBRWhCLG1CQUZnQixDQUVo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QUFtQixDQUNuQiwwQkFBMEIsRUE2RTdCOztBMUJ1RUssNkMwQm5LTixnQkFtQlEsbUJwQnFFYyxDb0JwRWQsd0JwQm9FYyxFb0JJckIsRUFBQTs7QUE1RkQsdURBMkJRLDBCOUJIVSxDOEJJVixZOUJkSSxDOEJlSixzQkFBc0IsRUFFekI7O0FBL0JMLGlHQXdDWSxzQkFBc0IsQ0FDdEIsbUJBQW1CLENBQ25CLGNwQjhDVSxDb0I3Q1YsbUJwQjZDVSxFb0JyQ2I7O0ExQmdISCw2QzBCbktOLGlHQStDZ0Isa0JwQnlDTSxFb0JyQ2IsRUFBQTs7QUFuRFQsc0VEb0NnQixxQm5Cb0RNLEVtQmxEVDs7QUN0Q2IsOEZENENvQixhN0IwQkMsRUFBTzs7QThCdEU1Qix3R0Q0Q29CLGE3QjJCTSxFQUFPOztBOEJ2RWpDLGdGRDRDb0IsYTdCNEJOLEVBQU87O0E4QnhFckIsa0ZENENvQixhN0I2Qk4sRUFBTzs7QThCekVyQixnR0Q0Q29CLGE3QjhCRSxFQUFPOztBOEIxRTdCLGdHRDRDb0IsYTdCK0JDLEVBQU87O0E4QjNFNUIsNEdENENvQixhN0JnQ08sRUFBTzs7QThCNUVsQyxrR0Q0Q29CLGE3QmlDRSxFQUFPOztBOEI3RTdCLDRGRDRDb0IsYTdCa0NBLEVBQU87O0E4QjlFM0Isa0ZENENvQixhN0JtQ04sRUFBTzs7QThCL0VyQixrRkQ0Q29CLGE3Qm9DTixFQUFPOztBOEJoRnJCLDhFRDRDb0IsYTdCcUNSLEVBQU87O0E4QmpGbkIsZ0ZENENvQixhN0JzQ1AsRUFBTzs7QThCbEZwQixrRkQ0Q29CLGE3QnVDTCxFQUFPOztBOEJuRnRCLGdGRDRDb0IsYTdCd0NOLEVBQU87O0E4QnBGckIsb0ZENENvQixhN0J5Q0osRUFBTzs7QThCckZ2QixnRkQ0Q29CLGE3QjBDTixFQUFPOztBOEJ0RnJCLGtGRDRDb0IsYTdCMkNMLEVBQU87O0E4QnZGdEIsZ0ZENENvQixhN0I0Q04sRUFBTzs7QThCeEZyQixrRkQ0Q29CLGE3QjZDTCxFQUFPOztBOEJ6RnRCLG9GRDRDb0IsYTdCOENKLEVBQU87O0E4QjFGdkIsc0ZENENvQixhN0IrQ0gsRUFBTzs7QThCM0Z4Qiw4RUQ0Q29CLGE3QmdEUCxFQUFPOztBOEI1RnBCLGtGRDRDb0IsYTdCaURMLEVBQU87O0E4QjdGdEIsc0VEMERnQixvQm5COEJNLEVtQjVCVDs7QUM1RGIsOEZEa0VvQixhN0JJQyxFQUFPOztBOEJ0RTVCLHdHRGtFb0IsYTdCS00sRUFBTzs7QThCdkVqQyxnRkRrRW9CLGE3Qk1OLEVBQU87O0E4QnhFckIsa0ZEa0VvQixhN0JPTixFQUFPOztBOEJ6RXJCLGdHRGtFb0IsYTdCUUUsRUFBTzs7QThCMUU3QixnR0RrRW9CLGE3QlNDLEVBQU87O0E4QjNFNUIsNEdEa0VvQixhN0JVTyxFQUFPOztBOEI1RWxDLGtHRGtFb0IsYTdCV0UsRUFBTzs7QThCN0U3Qiw0RkRrRW9CLGE3QllBLEVBQU87O0E4QjlFM0Isa0ZEa0VvQixhN0JhTixFQUFPOztBOEIvRXJCLGtGRGtFb0IsYTdCY04sRUFBTzs7QThCaEZyQiw4RURrRW9CLGE3QmVSLEVBQU87O0E4QmpGbkIsZ0ZEa0VvQixhN0JnQlAsRUFBTzs7QThCbEZwQixrRkRrRW9CLGE3QmlCTCxFQUFPOztBOEJuRnRCLGdGRGtFb0IsYTdCa0JOLEVBQU87O0E4QnBGckIsb0ZEa0VvQixhN0JtQkosRUFBTzs7QThCckZ2QixnRkRrRW9CLGE3Qm9CTixFQUFPOztBOEJ0RnJCLGtGRGtFb0IsYTdCcUJMLEVBQU87O0E4QnZGdEIsZ0ZEa0VvQixhN0JzQk4sRUFBTzs7QThCeEZyQixrRkRrRW9CLGE3QnVCTCxFQUFPOztBOEJ6RnRCLG9GRGtFb0IsYTdCd0JKLEVBQU87O0E4QjFGdkIsc0ZEa0VvQixhN0J5QkgsRUFBTzs7QThCM0Z4Qiw4RURrRW9CLGE3QjBCUCxFQUFPOztBOEI1RnBCLGtGRGtFb0IsYTdCMkJMLEVBQU87O0FJc0VoQiw2QzBCbktOLHNFRG9DZ0IsbUJuQm9ETSxFbUJsRFQ7RUN0Q2IsOEZENENvQixhN0IwQkMsRUFBTztFOEJ0RTVCLHdHRDRDb0IsYTdCMkJNLEVBQU87RThCdkVqQyxnRkQ0Q29CLGE3QjRCTixFQUFPO0U4QnhFckIsa0ZENENvQixhN0I2Qk4sRUFBTztFOEJ6RXJCLGdHRDRDb0IsYTdCOEJFLEVBQU87RThCMUU3QixnR0Q0Q29CLGE3QitCQyxFQUFPO0U4QjNFNUIsNEdENENvQixhN0JnQ08sRUFBTztFOEI1RWxDLGtHRDRDb0IsYTdCaUNFLEVBQU87RThCN0U3Qiw0RkQ0Q29CLGE3QmtDQSxFQUFPO0U4QjlFM0Isa0ZENENvQixhN0JtQ04sRUFBTztFOEIvRXJCLGtGRDRDb0IsYTdCb0NOLEVBQU87RThCaEZyQiw4RUQ0Q29CLGE3QnFDUixFQUFPO0U4QmpGbkIsZ0ZENENvQixhN0JzQ1AsRUFBTztFOEJsRnBCLGtGRDRDb0IsYTdCdUNMLEVBQU87RThCbkZ0QixnRkQ0Q29CLGE3QndDTixFQUFPO0U4QnBGckIsb0ZENENvQixhN0J5Q0osRUFBTztFOEJyRnZCLGdGRDRDb0IsYTdCMENOLEVBQU87RThCdEZyQixrRkQ0Q29CLGE3QjJDTCxFQUFPO0U4QnZGdEIsZ0ZENENvQixhN0I0Q04sRUFBTztFOEJ4RnJCLGtGRDRDb0IsYTdCNkNMLEVBQU87RThCekZ0QixvRkQ0Q29CLGE3QjhDSixFQUFPO0U4QjFGdkIsc0ZENENvQixhN0IrQ0gsRUFBTztFOEIzRnhCLDhFRDRDb0IsYTdCZ0RQLEVBQU87RThCNUZwQixrRkQ0Q29CLGE3QmlETCxFQUFPO0U4QjdGdEIsc0VEMERnQixrQm5COEJNLEVtQjVCVDtFQzVEYiw4RkRrRW9CLGE3QklDLEVBQU87RThCdEU1Qix3R0RrRW9CLGE3QktNLEVBQU87RThCdkVqQyxnRkRrRW9CLGE3Qk1OLEVBQU87RThCeEVyQixrRkRrRW9CLGE3Qk9OLEVBQU87RThCekVyQixnR0RrRW9CLGE3QlFFLEVBQU87RThCMUU3QixnR0RrRW9CLGE3QlNDLEVBQU87RThCM0U1Qiw0R0RrRW9CLGE3QlVPLEVBQU87RThCNUVsQyxrR0RrRW9CLGE3QldFLEVBQU87RThCN0U3Qiw0RkRrRW9CLGE3QllBLEVBQU87RThCOUUzQixrRkRrRW9CLGE3QmFOLEVBQU87RThCL0Vy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K0JBRUksVzdCaFFBLEU2QmtRSDs7QThDaFJULG1CQXlDUSxZQUFZLEVBRWYiLCJmaWxlIjoic3R5bGUubWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qXG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuUHJvamVjdCA6IFJlZGtpd2lJbml0VGhlbWVcblR5cGUgICAgOiBXb3JkcHJlc3NcblZlcnNpb24gOiAyMDE3MDczMVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiovXG4vKiogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQiBWZXJzaW9uIDYuNC4zIGZvdW5kYXRpb24uenVyYi5jb20gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlICovXG4vKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuLyogRG9jdW1lbnQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy4gMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuICovXG5AaW1wb3J0IHVybChcImh0dHBzOi8vZmFzdC5mb250cy5uZXQvdC8xLmNzcz9hcGlUeXBlPWNzcyZwcm9qZWN0aWQ9MGU0NDEwNzctMzljMy00MDBjLThlYjctNmE5YWJmYzRjZGEyXCIpO1xuaHRtbCB7IGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqLyB9XG5cbi8qIFNlY3Rpb25zID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuICovXG5ib2R5IHsgbWFyZ2luOiAwOyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS4gKi9cbmFydGljbGUsIGFzaWRlLCBmb290ZXIsIGhlYWRlciwgbmF2LCBzZWN0aW9uIHsgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS4gKi9cbmgxLCAuZnJlcXVlbmN5LXByaWNlIC5wcmljZSB7IGZvbnQtc2l6ZTogMmVtOyBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS4gKi9cbmZpZ2NhcHRpb24sIGZpZ3VyZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguICovXG5maWd1cmUgeyBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS4gKi9cbmhyIHsgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi8gaGVpZ2h0OiAwOyAvKiAxICovIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovIH1cblxuLyoqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLiAqL1xubWFpbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuICovXG5wcmUgeyBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi8gZm9udC1zaXplOiAxZW07IC8qIDIgKi8gfVxuXG4vKiBMaW5rcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC4gMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLiAqL1xuYSB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi8gfVxuXG4vKiogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLiAqL1xuYTphY3RpdmUsIGE6aG92ZXIgeyBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLiAqL1xuYWJiclt0aXRsZV0geyBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqLyB9XG5cbi8qKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi4gKi9cbmIsIHN0cm9uZyB7IGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLiAqL1xuYiwgc3Ryb25nIHsgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKiogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy4gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLiAqL1xuY29kZSwga2JkLCBzYW1wIHsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovIH1cblxuLyoqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS4gKi9cbmRmbiB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKiogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLiAqL1xubWFyayB7IGJhY2tncm91bmQtY29sb3I6ICNmZjA7IGNvbG9yOiAjMDAwOyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy4gKi9cbnNtYWxsIHsgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuICovXG5zdWIsIHN1cCB7IGZvbnQtc2l6ZTogNzUlOyBsaW5lLWhlaWdodDogMDsgcG9zaXRpb246IHJlbGF0aXZlOyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHsgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7IHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS4gKi9cbmF1ZGlvLCB2aWRlbyB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKiogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7IGRpc3BsYXk6IG5vbmU7IGhlaWdodDogMDsgfVxuXG4vKiogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uICovXG5pbWcgeyBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLiAqL1xuc3ZnOm5vdCg6cm9vdCkgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEZvcm1zID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS4gMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLiAqL1xuYnV0dG9uLCBpbnB1dCwgb3B0Z3JvdXAsIHNlbGVjdCwgdGV4dGFyZWEgeyBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqLyBmb250LXNpemU6IDEwMCU7IC8qIDEgKi8gbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi8gbWFyZ2luOiAwOyAvKiAyICovIH1cblxuLyoqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLiAqL1xuYnV0dG9uIHsgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guICovXG5idXR0b24sIHNlbGVjdCB7IC8qIDEgKi8gdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYCBjb250cm9scyBpbiBBbmRyb2lkIDQuIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuICovXG5idXR0b24sIGh0bWwgW3R5cGU9XCJidXR0b25cIl0sIFt0eXBlPVwicmVzZXRcIl0sIFt0eXBlPVwic3VibWl0XCJdIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi8gfVxuXG5idXR0b24sIFt0eXBlPVwiYnV0dG9uXCJdLCBbdHlwZT1cInJlc2V0XCJdLCBbdHlwZT1cInN1Ym1pdFwiXSB7IC8qKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LiAqLyAvKiogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLiAqLyB9XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHsgYm9yZGVyLXN0eWxlOiBub25lOyBwYWRkaW5nOiAwOyB9XG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZywgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHsgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLiAqL1xuaW5wdXQgeyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKiogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi8gcGFkZGluZzogMDsgLyogMiAqLyB9XG5cbi8qKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24geyBoZWlnaHQ6IGF1dG87IH1cblxuLyoqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi8gb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi8gLyoqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuICovIH1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi8gZm9udDogaW5oZXJpdDsgLyogMiAqLyB9XG5cbi8qKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS4gKi9cbmZpZWxkc2V0IHsgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDsgbWFyZ2luOiAwIDJweDsgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXQgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuICovXG5sZWdlbmQgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovIG1heC13aWR0aDogMTAwJTsgLyogMSAqLyBwYWRkaW5nOiAwOyAvKiAzICovIGNvbG9yOiBpbmhlcml0OyAvKiAyICovIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi8gfVxuXG4vKiogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuICovXG5wcm9ncmVzcyB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqLyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi8gfVxuXG4vKiogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS4gKi9cbnRleHRhcmVhIHsgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyogSW50ZXJhY3RpdmUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC4gKi9cbmRldGFpbHMgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuICovXG5zdW1tYXJ5IHsgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLiAqL1xubWVudSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIFNjcmlwdGluZyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLiAqL1xuY2FudmFzIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS4gKi9cbnRlbXBsYXRlIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uICovXG5baGlkZGVuXSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEgeyBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mc21lZGl1bT0zNy41ZW0mbWVkaXVtPTQ4ZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9ODBlbSZ4eGxhcmdlPTEyMGVtXCI7IH1cblxuaHRtbCB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLCAqOjpiZWZvcmUsICo6OmFmdGVyIHsgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBiYWNrZ3JvdW5kOiAjRkZGOyBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGxpbmUtaGVpZ2h0OiAxLjU7IGNvbG9yOiAjMjMyMjIzOyAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IG1heC13aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbnRleHRhcmVhIHsgaGVpZ2h0OiBhdXRvOyBtaW4taGVpZ2h0OiA1MHB4OyBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHdpZHRoOiAxMDAlOyBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5tYXBfY2FudmFzIGltZywgLm1hcF9jYW52YXMgZW1iZWQsIC5tYXBfY2FudmFzIG9iamVjdCwgLm1xYS1kaXNwbGF5IGltZywgLm1xYS1kaXNwbGF5IGVtYmVkLCAubXFhLWRpc3BsYXkgb2JqZWN0IHsgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHsgcGFkZGluZzogMDsgYXBwZWFyYW5jZTogbm9uZTsgYm9yZGVyOiAwOyBib3JkZXItcmFkaXVzOiAwOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgbGluZS1oZWlnaHQ6IDE7IGN1cnNvcjogYXV0bzsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHsgb3V0bGluZTogMDsgfVxuXG5wcmUgeyBvdmVyZmxvdzogYXV0bzsgfVxuXG5idXR0b24sIGlucHV0LCBvcHRncm91cCwgc2VsZWN0LCB0ZXh0YXJlYSB7IGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5pcy12aXNpYmxlIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5hbGlnbi1yaWdodCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tcmlnaHQudmVydGljYWwubWVudSA+IGxpID4gYSB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlci52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLXRvcCB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1zZWxmLXRvcCB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLWJvdHRvbSB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tc2VsZi1ib3R0b20geyBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tbWlkZGxlIHsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc2VsZi1taWRkbGUgeyBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmFsaWduLXN0cmV0Y2ggeyBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHsgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4uYWxpZ24tY2VudGVyLW1pZGRsZSB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyOyBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cblxuLnNtYWxsLW9yZGVyLTEgeyBvcmRlcjogMTsgfVxuXG4uc21hbGwtb3JkZXItMiB7IG9yZGVyOiAyOyB9XG5cbi5zbWFsbC1vcmRlci0zIHsgb3JkZXI6IDM7IH1cblxuLnNtYWxsLW9yZGVyLTQgeyBvcmRlcjogNDsgfVxuXG4uc21hbGwtb3JkZXItNSB7IG9yZGVyOiA1OyB9XG5cbi5zbWFsbC1vcmRlci02IHsgb3JkZXI6IDY7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3LjVlbSkgeyAuc21lZGl1bS1vcmRlci0xIHsgb3JkZXI6IDE7IH1cbiAgLnNtZWRpdW0tb3JkZXItMiB7IG9yZGVyOiAyOyB9XG4gIC5zbWVkaXVtLW9yZGVyLTMgeyBvcmRlcjogMzsgfVxuICAuc21lZGl1bS1vcmRlci00IHsgb3JkZXI6IDQ7IH1cbiAgLnNtZWRpdW0tb3JkZXItNSB7IG9yZGVyOiA1OyB9XG4gIC5zbWVkaXVtLW9yZGVyLTYgeyBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5tZWRpdW0tb3JkZXItMSB7IG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7IG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7IG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7IG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7IG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7IG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmxhcmdlLW9yZGVyLTEgeyBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7IG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHsgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQgeyBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7IG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHsgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7IC54bGFyZ2Utb3JkZXItMSB7IG9yZGVyOiAxOyB9XG4gIC54bGFyZ2Utb3JkZXItMiB7IG9yZGVyOiAyOyB9XG4gIC54bGFyZ2Utb3JkZXItMyB7IG9yZGVyOiAzOyB9XG4gIC54bGFyZ2Utb3JkZXItNCB7IG9yZGVyOiA0OyB9XG4gIC54bGFyZ2Utb3JkZXItNSB7IG9yZGVyOiA1OyB9XG4gIC54bGFyZ2Utb3JkZXItNiB7IG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLnh4bGFyZ2Utb3JkZXItMSB7IG9yZGVyOiAxOyB9XG4gIC54eGxhcmdlLW9yZGVyLTIgeyBvcmRlcjogMjsgfVxuICAueHhsYXJnZS1vcmRlci0zIHsgb3JkZXI6IDM7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNCB7IG9yZGVyOiA0OyB9XG4gIC54eGxhcmdlLW9yZGVyLTUgeyBvcmRlcjogNTsgfVxuICAueHhsYXJnZS1vcmRlci02IHsgb3JkZXI6IDY7IH0gfVxuXG4uZmxleC1jb250YWluZXIgeyBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mbGV4LWNoaWxkLWF1dG8geyBmbGV4OiAxIDEgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1ncm93IHsgZmxleDogMSAwIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtc2hyaW5rIHsgZmxleDogMCAxIGF1dG87IH1cblxuLmZsZXgtZGlyLXJvdyB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLmZsZXgtZGlyLXJvdy1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4geyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSB7IC5zbWVkaXVtLWZsZXgtY29udGFpbmVyIHsgZGlzcGxheTogZmxleDsgfVxuICAuc21lZGl1bS1mbGV4LWNoaWxkLWF1dG8geyBmbGV4OiAxIDEgYXV0bzsgfVxuICAuc21lZGl1bS1mbGV4LWNoaWxkLWdyb3cgeyBmbGV4OiAxIDAgYXV0bzsgfVxuICAuc21lZGl1bS1mbGV4LWNoaWxkLXNocmluayB7IGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5zbWVkaXVtLWZsZXgtZGlyLXJvdyB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnNtZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLnNtZWRpdW0tZmxleC1kaXItY29sdW1uIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuc21lZGl1bS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5tZWRpdW0tZmxleC1jb250YWluZXIgeyBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1hdXRvIHsgZmxleDogMSAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWdyb3cgeyBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHsgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3cgeyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4geyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubGFyZ2UtZmxleC1jb250YWluZXIgeyBkaXNwbGF5OiBmbGV4OyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8geyBmbGV4OiAxIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1ncm93IHsgZmxleDogMSAwIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHsgZmxleDogMCAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4geyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHsgLnhsYXJnZS1mbGV4LWNvbnRhaW5lciB7IGRpc3BsYXk6IGZsZXg7IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLWF1dG8geyBmbGV4OiAxIDEgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7IGZsZXg6IDEgMCBhdXRvOyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsgeyBmbGV4OiAwIDEgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtZGlyLXJvdyB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAueGxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IC54eGxhcmdlLWZsZXgtY29udGFpbmVyIHsgZGlzcGxheTogZmxleDsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLWF1dG8geyBmbGV4OiAxIDEgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLWdyb3cgeyBmbGV4OiAxIDAgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7IGZsZXg6IDAgMSBhdXRvOyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLXJvdyB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItY29sdW1uIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbi5yb3cgeyBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAxNjhweCk7IG1hcmdpbi1yaWdodDogYXV0bzsgbWFyZ2luLWxlZnQ6IGF1dG87IGRpc3BsYXk6IGZsZXg7IGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLnJvdyAucm93IHsgbWFyZ2luLXJpZ2h0OiAtMXJlbTsgbWFyZ2luLWxlZnQ6IC0xcmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHsgLnJvdyAucm93IHsgbWFyZ2luLXJpZ2h0OiAtMXJlbTsgbWFyZ2luLWxlZnQ6IC0xcmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLnJvdyAucm93IHsgbWFyZ2luLXJpZ2h0OiAtMXJlbTsgbWFyZ2luLWxlZnQ6IC0xcmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLnJvdyAucm93IHsgbWFyZ2luLXJpZ2h0OiAtMXJlbTsgbWFyZ2luLWxlZnQ6IC0xcmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkgeyAucm93IC5yb3cgeyBtYXJnaW4tcmlnaHQ6IC0xcmVtOyBtYXJnaW4tbGVmdDogLTFyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAucm93IC5yb3cgeyBtYXJnaW4tcmlnaHQ6IC0xcmVtOyBtYXJnaW4tbGVmdDogLTFyZW07IH0gfVxuXG4ucm93IC5yb3cuY29sbGFwc2UgeyBtYXJnaW4tcmlnaHQ6IDA7IG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5yb3cuZXhwYW5kZWQgeyBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLnJvdy5leHBhbmRlZCAucm93IHsgbWFyZ2luLXJpZ2h0OiBhdXRvOyBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4ucm93Om5vdCguZXhwYW5kZWQpIC5yb3cgeyBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7IHBhZGRpbmctcmlnaHQ6IDA7IHBhZGRpbmctbGVmdDogMDsgfVxuXG4ucm93LmlzLWNvbGxhcHNlLWNoaWxkLCAucm93LmNvbGxhcHNlID4gLmNvbHVtbiA+IC5yb3csIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyA+IC5yb3cgeyBtYXJnaW4tcmlnaHQ6IDA7IG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5jb2x1bW4sIC5jb2x1bW5zIHsgZmxleDogMSAxIDBweDsgcGFkZGluZy1yaWdodDogMXJlbTsgcGFkZGluZy1sZWZ0OiAxcmVtOyBtaW4td2lkdGg6IDA7IH1cblxuLmNvbHVtbi5yb3cucm93LCAucm93LnJvdy5jb2x1bW5zIHsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5yb3cgLmNvbHVtbi5yb3cucm93LCAucm93IC5yb3cucm93LmNvbHVtbnMgeyBtYXJnaW4tcmlnaHQ6IDA7IG1hcmdpbi1sZWZ0OiAwOyBwYWRkaW5nLXJpZ2h0OiAwOyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLTEgeyBmbGV4OiAwIDAgOC4zMzMzMzMzMzMzJTsgbWF4LXdpZHRoOiA4LjMzMzMzMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7IG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7IGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTsgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEgeyBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTsgfVxuXG4uc21hbGwtMyB7IGZsZXg6IDAgMCAyNSU7IG1heC13aWR0aDogMjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7IG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTsgfVxuXG4uc21hbGwtNCB7IGZsZXg6IDAgMCAzMy4zMzMzMzMzMzMzJTsgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMgeyBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHsgZmxleDogMCAwIDQxLjY2NjY2NjY2NjclOyBtYXgtd2lkdGg6IDQxLjY2NjY2NjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7IG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTsgfVxuXG4uc21hbGwtNiB7IGZsZXg6IDAgMCA1MCU7IG1heC13aWR0aDogNTAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7IG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTsgfVxuXG4uc21hbGwtNyB7IGZsZXg6IDAgMCA1OC4zMzMzMzMzMzMzJTsgbWF4LXdpZHRoOiA1OC4zMzMzMzMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYgeyBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHsgZmxleDogMCAwIDY2LjY2NjY2NjY2NjclOyBtYXgtd2lkdGg6IDY2LjY2NjY2NjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7IG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTsgfVxuXG4uc21hbGwtOSB7IGZsZXg6IDAgMCA3NSU7IG1heC13aWR0aDogNzUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7IG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTsgfVxuXG4uc21hbGwtMTAgeyBmbGV4OiAwIDAgODMuMzMzMzMzMzMzMyU7IG1heC13aWR0aDogODMuMzMzMzMzMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC05IHsgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtMTEgeyBmbGV4OiAwIDAgOTEuNjY2NjY2NjY2NyU7IG1heC13aWR0aDogOTEuNjY2NjY2NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7IG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJTsgfVxuXG4uc21hbGwtMTIgeyBmbGV4OiAwIDAgMTAwJTsgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEgeyBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7IH1cblxuLnNtYWxsLXVwLTEgeyBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnNtYWxsLXVwLTEgPiAuY29sdW1uLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zIHsgZmxleDogMCAwIDEwMCU7IG1heC13aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtdXAtMiB7IGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uc21hbGwtdXAtMiA+IC5jb2x1bW4sIC5zbWFsbC11cC0yID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgNTAlOyBtYXgtd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtdXAtMyB7IGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uc21hbGwtdXAtMyA+IC5jb2x1bW4sIC5zbWFsbC11cC0zID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7IG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgeyBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHsgZmxleDogMCAwIDI1JTsgbWF4LXdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgeyBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnNtYWxsLXVwLTUgPiAuY29sdW1uLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zIHsgZmxleDogMCAwIDIwJTsgbWF4LXdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYgeyBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHsgZmxleDogMCAwIDE2LjY2NjY2NjY2NjclOyBtYXgtd2lkdGg6IDE2LjY2NjY2NjY2NjclOyB9XG5cbi5zbWFsbC11cC03IHsgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5zbWFsbC11cC03ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTcgPiAuY29sdW1ucyB7IGZsZXg6IDAgMCAxNC4yODU3MTQyODU3JTsgbWF4LXdpZHRoOiAxNC4yODU3MTQyODU3JTsgfVxuXG4uc21hbGwtdXAtOCB7IGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uc21hbGwtdXAtOCA+IC5jb2x1bW4sIC5zbWFsbC11cC04ID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMTIuNSU7IG1heC13aWR0aDogMTIuNSU7IH1cblxuLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbnMgeyBwYWRkaW5nLXJpZ2h0OiAwOyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHsgcGFkZGluZy1yaWdodDogMXJlbTsgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHsgLnNtZWRpdW0tMSB7IGZsZXg6IDAgMCA4LjMzMzMzMzMzMzMlOyBtYXgtd2lkdGg6IDguMzMzMzMzMzMzMyU7IH1cbiAgLnNtZWRpdW0tb2Zmc2V0LTAgeyBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLnNtZWRpdW0tMiB7IGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTsgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTsgfVxuICAuc21lZGl1bS1vZmZzZXQtMSB7IG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlOyB9XG4gIC5zbWVkaXVtLTMgeyBmbGV4OiAwIDAgMjUlOyBtYXgtd2lkdGg6IDI1JTsgfVxuICAuc21lZGl1bS1vZmZzZXQtMiB7IG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTsgfVxuICAuc21lZGl1bS00IHsgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlOyBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlOyB9XG4gIC5zbWVkaXVtLW9mZnNldC0zIHsgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuc21lZGl1bS01IHsgZmxleDogMCAwIDQxLjY2NjY2NjY2NjclOyBtYXgtd2lkdGg6IDQxLjY2NjY2NjY2NjclOyB9XG4gIC5zbWVkaXVtLW9mZnNldC00IHsgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlOyB9XG4gIC5zbWVkaXVtLTYgeyBmbGV4OiAwIDAgNTAlOyBtYXgtd2lkdGg6IDUwJTsgfVxuICAuc21lZGl1bS1vZmZzZXQtNSB7IG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTsgfVxuICAuc21lZGl1bS03IHsgZmxleDogMCAwIDU4LjMzMzMzMzMzMzMlOyBtYXgtd2lkdGg6IDU4LjMzMzMzMzMzMzMlOyB9XG4gIC5zbWVkaXVtLW9mZnNldC02IHsgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuc21lZGl1bS04IHsgZmxleDogMCAwIDY2LjY2NjY2NjY2NjclOyBtYXgtd2lkdGg6IDY2LjY2NjY2NjY2NjclOyB9XG4gIC5zbWVkaXVtLW9mZnNldC03IHsgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlOyB9XG4gIC5zbWVkaXVtLTkgeyBmbGV4OiAwIDAgNzUlOyBtYXgtd2lkdGg6IDc1JTsgfVxuICAuc21lZGl1bS1vZmZzZXQtOCB7IG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTsgfVxuICAuc21lZGl1bS0xMCB7IGZsZXg6IDAgMCA4My4zMzMzMzMzMzMzJTsgbWF4LXdpZHRoOiA4My4zMzMzMzMzMzMzJTsgfVxuICAuc21lZGl1bS1vZmZzZXQtOSB7IG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLnNtZWRpdW0tMTEgeyBmbGV4OiAwIDAgOTEuNjY2NjY2NjY2NyU7IG1heC13aWR0aDogOTEuNjY2NjY2NjY2NyU7IH1cbiAgLnNtZWRpdW0tb2Zmc2V0LTEwIHsgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlOyB9XG4gIC5zbWVkaXVtLTEyIHsgZmxleDogMCAwIDEwMCU7IG1heC13aWR0aDogMTAwJTsgfVxuICAuc21lZGl1bS1vZmZzZXQtMTEgeyBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7IH1cbiAgLnNtZWRpdW0tdXAtMSB7IGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21lZGl1bS11cC0xID4gLmNvbHVtbiwgLnNtZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHsgZmxleDogMCAwIDEwMCU7IG1heC13aWR0aDogMTAwJTsgfVxuICAuc21lZGl1bS11cC0yIHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWVkaXVtLXVwLTIgPiAuY29sdW1uLCAuc21lZGl1bS11cC0yID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgNTAlOyBtYXgtd2lkdGg6IDUwJTsgfVxuICAuc21lZGl1bS11cC0zIHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWVkaXVtLXVwLTMgPiAuY29sdW1uLCAuc21lZGl1bS11cC0zID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7IG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7IH1cbiAgLnNtZWRpdW0tdXAtNCB7IGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21lZGl1bS11cC00ID4gLmNvbHVtbiwgLnNtZWRpdW0tdXAtNCA+IC5jb2x1bW5zIHsgZmxleDogMCAwIDI1JTsgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLnNtZWRpdW0tdXAtNSB7IGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21lZGl1bS11cC01ID4gLmNvbHVtbiwgLnNtZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHsgZmxleDogMCAwIDIwJTsgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLnNtZWRpdW0tdXAtNiB7IGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21lZGl1bS11cC02ID4gLmNvbHVtbiwgLnNtZWRpdW0tdXAtNiA+IC5jb2x1bW5zIHsgZmxleDogMCAwIDE2LjY2NjY2NjY2NjclOyBtYXgtd2lkdGg6IDE2LjY2NjY2NjY2NjclOyB9XG4gIC5zbWVkaXVtLXVwLTcgeyBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtZWRpdW0tdXAtNyA+IC5jb2x1bW4sIC5zbWVkaXVtLXVwLTcgPiAuY29sdW1ucyB7IGZsZXg6IDAgMCAxNC4yODU3MTQyODU3JTsgbWF4LXdpZHRoOiAxNC4yODU3MTQyODU3JTsgfVxuICAuc21lZGl1bS11cC04IHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWVkaXVtLXVwLTggPiAuY29sdW1uLCAuc21lZGl1bS11cC04ID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMTIuNSU7IG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSB7IC5zbWVkaXVtLWV4cGFuZCB7IGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93LnNtZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cuc21lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSB7IC5yb3cuc21lZGl1bS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5zbWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7IGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSB7IC5zbWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLnNtZWRpdW0tY29sbGFwc2UgPiAuY29sdW1ucyB7IHBhZGRpbmctcmlnaHQ6IDA7IHBhZGRpbmctbGVmdDogMDsgfVxuICAuc21lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHsgcGFkZGluZy1yaWdodDogMXJlbTsgcGFkZGluZy1sZWZ0OiAxcmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLm1lZGl1bS0xIHsgZmxleDogMCAwIDguMzMzMzMzMzMzMyU7IG1heC13aWR0aDogOC4zMzMzMzMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0wIHsgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5tZWRpdW0tMiB7IGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTsgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHsgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7IH1cbiAgLm1lZGl1bS0zIHsgZmxleDogMCAwIDI1JTsgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7IG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTsgfVxuICAubWVkaXVtLTQgeyBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7IG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7IG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS01IHsgZmxleDogMCAwIDQxLjY2NjY2NjY2NjclOyBtYXgtd2lkdGg6IDQxLjY2NjY2NjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQgeyBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyU7IH1cbiAgLm1lZGl1bS02IHsgZmxleDogMCAwIDUwJTsgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7IG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTsgfVxuICAubWVkaXVtLTcgeyBmbGV4OiAwIDAgNTguMzMzMzMzMzMzMyU7IG1heC13aWR0aDogNTguMzMzMzMzMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7IG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS04IHsgZmxleDogMCAwIDY2LjY2NjY2NjY2NjclOyBtYXgtd2lkdGg6IDY2LjY2NjY2NjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcgeyBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7IH1cbiAgLm1lZGl1bS05IHsgZmxleDogMCAwIDc1JTsgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7IG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTsgfVxuICAubWVkaXVtLTEwIHsgZmxleDogMCAwIDgzLjMzMzMzMzMzMzMlOyBtYXgtd2lkdGg6IDgzLjMzMzMzMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkgeyBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tMTEgeyBmbGV4OiAwIDAgOTEuNjY2NjY2NjY2NyU7IG1heC13aWR0aDogOTEuNjY2NjY2NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAgeyBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyU7IH1cbiAgLm1lZGl1bS0xMiB7IGZsZXg6IDAgMCAxMDAlOyBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEgeyBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7IH1cbiAgLm1lZGl1bS11cC0xIHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHsgZmxleDogMCAwIDEwMCU7IG1heC13aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLXVwLTIgeyBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgNTAlOyBtYXgtd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXVwLTMgeyBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7IG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00IHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zIHsgZmxleDogMCAwIDI1JTsgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01IHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHsgZmxleDogMCAwIDIwJTsgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02IHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zIHsgZmxleDogMCAwIDE2LjY2NjY2NjY2NjclOyBtYXgtd2lkdGg6IDE2LjY2NjY2NjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyB7IGZsZXgtd3JhcDogd3JhcDsgfVxuICAubWVkaXVtLXVwLTcgPiAuY29sdW1uLCAubWVkaXVtLXVwLTcgPiAuY29sdW1ucyB7IGZsZXg6IDAgMCAxNC4yODU3MTQyODU3JTsgbWF4LXdpZHRoOiAxNC4yODU3MTQyODU3JTsgfVxuICAubWVkaXVtLXVwLTggeyBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNvbHVtbiwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMTIuNSU7IG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLm1lZGl1bS1leHBhbmQgeyBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7IGZsZXg6IDAgMCAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMgeyBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1ucyB7IHBhZGRpbmctcmlnaHQ6IDA7IHBhZGRpbmctbGVmdDogMDsgfVxuICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7IHBhZGRpbmctcmlnaHQ6IDFyZW07IHBhZGRpbmctbGVmdDogMXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5sYXJnZS0xIHsgZmxleDogMCAwIDguMzMzMzMzMzMzMyU7IG1heC13aWR0aDogOC4zMzMzMzMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTAgeyBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmxhcmdlLTIgeyBmbGV4OiAwIDAgMTYuNjY2NjY2NjY2NyU7IG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHsgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7IH1cbiAgLmxhcmdlLTMgeyBmbGV4OiAwIDAgMjUlOyBtYXgtd2lkdGg6IDI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIgeyBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7IH1cbiAgLmxhcmdlLTQgeyBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7IG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHsgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtNSB7IGZsZXg6IDAgMCA0MS42NjY2NjY2NjY3JTsgbWF4LXdpZHRoOiA0MS42NjY2NjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQgeyBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyU7IH1cbiAgLmxhcmdlLTYgeyBmbGV4OiAwIDAgNTAlOyBtYXgtd2lkdGg6IDUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUgeyBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7IH1cbiAgLmxhcmdlLTcgeyBmbGV4OiAwIDAgNTguMzMzMzMzMzMzMyU7IG1heC13aWR0aDogNTguMzMzMzMzMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC02IHsgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtOCB7IGZsZXg6IDAgMCA2Ni42NjY2NjY2NjY3JTsgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcgeyBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7IH1cbiAgLmxhcmdlLTkgeyBmbGV4OiAwIDAgNzUlOyBtYXgtd2lkdGg6IDc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTggeyBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7IH1cbiAgLmxhcmdlLTEwIHsgZmxleDogMCAwIDgzLjMzMzMzMzMzMzMlOyBtYXgtd2lkdGg6IDgzLjMzMzMzMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7IG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLTExIHsgZmxleDogMCAwIDkxLjY2NjY2NjY2NjclOyBtYXgtd2lkdGg6IDkxLjY2NjY2NjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAgeyBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyU7IH1cbiAgLmxhcmdlLTEyIHsgZmxleDogMCAwIDEwMCU7IG1heC13aWR0aDogMTAwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHsgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclOyB9XG4gIC5sYXJnZS11cC0xIHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5sYXJnZS11cC0xID4gLmNvbHVtbiwgLmxhcmdlLXVwLTEgPiAuY29sdW1ucyB7IGZsZXg6IDAgMCAxMDAlOyBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIgeyBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY29sdW1uLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHsgZmxleDogMCAwIDUwJTsgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMgeyBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHsgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlOyBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00IHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5sYXJnZS11cC00ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTQgPiAuY29sdW1ucyB7IGZsZXg6IDAgMCAyNSU7IG1heC13aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01IHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7IGZsZXg6IDAgMCAyMCU7IG1heC13aWR0aDogMjAlOyB9XG4gIC5sYXJnZS11cC02IHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5sYXJnZS11cC02ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTYgPiAuY29sdW1ucyB7IGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTsgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyB7IGZsZXgtd3JhcDogd3JhcDsgfVxuICAubGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC5sYXJnZS11cC03ID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMTQuMjg1NzE0Mjg1NyU7IG1heC13aWR0aDogMTQuMjg1NzE0Mjg1NyU7IH1cbiAgLmxhcmdlLXVwLTggeyBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmxhcmdlLXVwLTggPiAuY29sdW1uLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHsgZmxleDogMCAwIDEyLjUlOyBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5sYXJnZS1leHBhbmQgeyBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnJvdy5sYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5sYXJnZS11bnN0YWNrID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7IGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7IHBhZGRpbmctcmlnaHQ6IDA7IHBhZGRpbmctbGVmdDogMDsgfVxuICAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMgeyBwYWRkaW5nLXJpZ2h0OiAxcmVtOyBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7IC54bGFyZ2UtMSB7IGZsZXg6IDAgMCA4LjMzMzMzMzMzMzMlOyBtYXgtd2lkdGg6IDguMzMzMzMzMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMCB7IG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAueGxhcmdlLTIgeyBmbGV4OiAwIDAgMTYuNjY2NjY2NjY2NyU7IG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMSB7IG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlOyB9XG4gIC54bGFyZ2UtMyB7IGZsZXg6IDAgMCAyNSU7IG1heC13aWR0aDogMjUlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTIgeyBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7IH1cbiAgLnhsYXJnZS00IHsgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlOyBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTMgeyBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC54bGFyZ2UtNSB7IGZsZXg6IDAgMCA0MS42NjY2NjY2NjY3JTsgbWF4LXdpZHRoOiA0MS42NjY2NjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC00IHsgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlOyB9XG4gIC54bGFyZ2UtNiB7IGZsZXg6IDAgMCA1MCU7IG1heC13aWR0aDogNTAlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTUgeyBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7IH1cbiAgLnhsYXJnZS03IHsgZmxleDogMCAwIDU4LjMzMzMzMzMzMzMlOyBtYXgtd2lkdGg6IDU4LjMzMzMzMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTYgeyBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC54bGFyZ2UtOCB7IGZsZXg6IDAgMCA2Ni42NjY2NjY2NjY3JTsgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC03IHsgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlOyB9XG4gIC54bGFyZ2UtOSB7IGZsZXg6IDAgMCA3NSU7IG1heC13aWR0aDogNzUlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTggeyBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7IH1cbiAgLnhsYXJnZS0xMCB7IGZsZXg6IDAgMCA4My4zMzMzMzMzMzMzJTsgbWF4LXdpZHRoOiA4My4zMzMzMzMzMzMzJTsgfVxuICAueGxhcmdlLW9mZnNldC05IHsgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAueGxhcmdlLTExIHsgZmxleDogMCAwIDkxLjY2NjY2NjY2NjclOyBtYXgtd2lkdGg6IDkxLjY2NjY2NjY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEwIHsgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlOyB9XG4gIC54bGFyZ2UtMTIgeyBmbGV4OiAwIDAgMTAwJTsgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTExIHsgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclOyB9XG4gIC54bGFyZ2UtdXAtMSB7IGZsZXgtd3JhcDogd3JhcDsgfVxuICAueGxhcmdlLXVwLTEgPiAuY29sdW1uLCAueGxhcmdlLXVwLTEgPiAuY29sdW1ucyB7IGZsZXg6IDAgMCAxMDAlOyBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS11cC0yIHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC54bGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHsgZmxleDogMCAwIDUwJTsgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS11cC0zIHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC54bGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHsgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlOyBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlOyB9XG4gIC54bGFyZ2UtdXAtNCB7IGZsZXgtd3JhcDogd3JhcDsgfVxuICAueGxhcmdlLXVwLTQgPiAuY29sdW1uLCAueGxhcmdlLXVwLTQgPiAuY29sdW1ucyB7IGZsZXg6IDAgMCAyNSU7IG1heC13aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtdXAtNSB7IGZsZXgtd3JhcDogd3JhcDsgfVxuICAueGxhcmdlLXVwLTUgPiAuY29sdW1uLCAueGxhcmdlLXVwLTUgPiAuY29sdW1ucyB7IGZsZXg6IDAgMCAyMCU7IG1heC13aWR0aDogMjAlOyB9XG4gIC54bGFyZ2UtdXAtNiB7IGZsZXgtd3JhcDogd3JhcDsgfVxuICAueGxhcmdlLXVwLTYgPiAuY29sdW1uLCAueGxhcmdlLXVwLTYgPiAuY29sdW1ucyB7IGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTsgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTsgfVxuICAueGxhcmdlLXVwLTcgeyBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnhsYXJnZS11cC03ID4gLmNvbHVtbiwgLnhsYXJnZS11cC03ID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMTQuMjg1NzE0Mjg1NyU7IG1heC13aWR0aDogMTQuMjg1NzE0Mjg1NyU7IH1cbiAgLnhsYXJnZS11cC04IHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC54bGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHsgZmxleDogMCAwIDEyLjUlOyBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkgYW5kIChtaW4td2lkdGg6IDgwZW0pIHsgLnhsYXJnZS1leHBhbmQgeyBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnJvdy54bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cueGxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7IGZsZXg6IDAgMCAxMDAlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHsgLnJvdy54bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cueGxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7IGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7IC54bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAueGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMgeyBwYWRkaW5nLXJpZ2h0OiAwOyBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMgeyBwYWRkaW5nLXJpZ2h0OiAxcmVtOyBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAueHhsYXJnZS0xIHsgZmxleDogMCAwIDguMzMzMzMzMzMzMyU7IG1heC13aWR0aDogOC4zMzMzMzMzMzMzJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMCB7IG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAueHhsYXJnZS0yIHsgZmxleDogMCAwIDE2LjY2NjY2NjY2NjclOyBtYXgtd2lkdGg6IDE2LjY2NjY2NjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xIHsgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7IH1cbiAgLnh4bGFyZ2UtMyB7IGZsZXg6IDAgMCAyNSU7IG1heC13aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0yIHsgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclOyB9XG4gIC54eGxhcmdlLTQgeyBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7IG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTMgeyBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC54eGxhcmdlLTUgeyBmbGV4OiAwIDAgNDEuNjY2NjY2NjY2NyU7IG1heC13aWR0aDogNDEuNjY2NjY2NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTQgeyBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyU7IH1cbiAgLnh4bGFyZ2UtNiB7IGZsZXg6IDAgMCA1MCU7IG1heC13aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW9mZnNldC01IHsgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclOyB9XG4gIC54eGxhcmdlLTcgeyBmbGV4OiAwIDAgNTguMzMzMzMzMzMzMyU7IG1heC13aWR0aDogNTguMzMzMzMzMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTYgeyBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC54eGxhcmdlLTggeyBmbGV4OiAwIDAgNjYuNjY2NjY2NjY2NyU7IG1heC13aWR0aDogNjYuNjY2NjY2NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTcgeyBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7IH1cbiAgLnh4bGFyZ2UtOSB7IGZsZXg6IDAgMCA3NSU7IG1heC13aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW9mZnNldC04IHsgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclOyB9XG4gIC54eGxhcmdlLTEwIHsgZmxleDogMCAwIDgzLjMzMzMzMzMzMzMlOyBtYXgtd2lkdGg6IDgzLjMzMzMzMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC05IHsgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAueHhsYXJnZS0xMSB7IGZsZXg6IDAgMCA5MS42NjY2NjY2NjY3JTsgbWF4LXdpZHRoOiA5MS42NjY2NjY2NjY3JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTAgeyBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyU7IH1cbiAgLnh4bGFyZ2UtMTIgeyBmbGV4OiAwIDAgMTAwJTsgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMSB7IG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTsgfVxuICAueHhsYXJnZS11cC0xIHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC54eGxhcmdlLXVwLTEgPiAuY29sdW1uLCAueHhsYXJnZS11cC0xID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMTAwJTsgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC54eGxhcmdlLXVwLTIgeyBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnh4bGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTIgPiAuY29sdW1ucyB7IGZsZXg6IDAgMCA1MCU7IG1heC13aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLXVwLTMgeyBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnh4bGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTMgPiAuY29sdW1ucyB7IGZsZXg6IDAgMCAzMy4zMzMzMzMzMzMzJTsgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTsgfVxuICAueHhsYXJnZS11cC00IHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC54eGxhcmdlLXVwLTQgPiAuY29sdW1uLCAueHhsYXJnZS11cC00ID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMjUlOyBtYXgtd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS11cC01IHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC54eGxhcmdlLXVwLTUgPiAuY29sdW1uLCAueHhsYXJnZS11cC01ID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMjAlOyBtYXgtd2lkdGg6IDIwJTsgfVxuICAueHhsYXJnZS11cC02IHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC54eGxhcmdlLXVwLTYgPiAuY29sdW1uLCAueHhsYXJnZS11cC02ID4gLmNvbHVtbnMgeyBmbGV4OiAwIDAgMTYuNjY2NjY2NjY2NyU7IG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7IH1cbiAgLnh4bGFyZ2UtdXAtNyB7IGZsZXgtd3JhcDogd3JhcDsgfVxuICAueHhsYXJnZS11cC03ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHsgZmxleDogMCAwIDE0LjI4NTcxNDI4NTclOyBtYXgtd2lkdGg6IDE0LjI4NTcxNDI4NTclOyB9XG4gIC54eGxhcmdlLXVwLTggeyBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnh4bGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTggPiAuY29sdW1ucyB7IGZsZXg6IDAgMCAxMi41JTsgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLnh4bGFyZ2UtZXhwYW5kIHsgZmxleDogMSAxIDBweDsgfSB9XG5cbi5yb3cueHhsYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7IGZsZXg6IDAgMCAxMDAlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IC5yb3cueHhsYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7IGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAueHhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC54eGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMgeyBwYWRkaW5nLXJpZ2h0OiAwOyBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnh4bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC54eGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7IHBhZGRpbmctcmlnaHQ6IDFyZW07IHBhZGRpbmctbGVmdDogMXJlbTsgfSB9XG5cbi5zaHJpbmsgeyBmbGV4OiAwIDAgYXV0bzsgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5jb2x1bW4tYmxvY2sgeyBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbi5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGl2LCBkbCwgZHQsIGRkLCB1bCwgb2wsIGxpLCBoMSwgLmZyZXF1ZW5jeS1wcmljZSAucHJpY2UsIGgyLCBoMywgLmNlLW1hcmtldC10cmlnZ2VyIC50YWJzIC50YWJzLXRpdGxlLCAuY2UtbWFya2V0LXRyaWdnZXIgLm1vYmlsZSBhLCBoNCwgLmV2ZW50LWl0ZW0gYSBmaWd1cmUgZmlnY2FwdGlvbiwgLmdhbWUtc2VydmVyLWl0ZW0gYSBmaWd1cmUgZmlnY2FwdGlvbiwgLm5ld3MtaXRlbSBhIGZpZ3VyZSBmaWdjYXB0aW9uLCAuc2VydmljZS1pdGVtIGEgZmlndXJlIGZpZ2NhcHRpb24sIC52YWNhbmN5LWl0ZW0gYSBmaWd1cmUgZmlnY2FwdGlvbiwgaDUsIGg2LCBwcmUsIGZvcm0sIHAsIGJsb2NrcXVvdGUsIHRoLCB0ZCB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfVxuXG5wIHsgbWFyZ2luLWJvdHRvbTogMXJlbTsgZm9udC1zaXplOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS42OyB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLCBpIHsgZm9udC1zdHlsZTogaXRhbGljOyBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsIGIgeyBmb250LXdlaWdodDogYm9sZDsgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwgeyBmb250LXNpemU6IDgwJTsgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsIC5mcmVxdWVuY3ktcHJpY2UgLnByaWNlLCAuaDEsIGgyLCAuaDIsIGgzLCAuY2UtbWFya2V0LXRyaWdnZXIgLnRhYnMgLnRhYnMtdGl0bGUsIC5jZS1tYXJrZXQtdHJpZ2dlciAubW9iaWxlIGEsIC5oMywgaDQsIC5ldmVudC1pdGVtIGEgZmlndXJlIGZpZ2NhcHRpb24sIC5nYW1lLXNlcnZlci1pdGVtIGEgZmlndXJlIGZpZ2NhcHRpb24sIC5uZXdzLWl0ZW0gYSBmaWd1cmUgZmlnY2FwdGlvbiwgLnNlcnZpY2UtaXRlbSBhIGZpZ3VyZSBmaWdjYXB0aW9uLCAudmFjYW5jeS1pdGVtIGEgZmlndXJlIGZpZ2NhcHRpb24sIC5oNCwgaDUsIC5oNSwgaDYsIC5oNiB7IGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBjb2xvcjogaW5oZXJpdDsgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5oMSBzbWFsbCwgLmZyZXF1ZW5jeS1wcmljZSAucHJpY2Ugc21hbGwsIC5oMSBzbWFsbCwgaDIgc21hbGwsIC5oMiBzbWFsbCwgaDMgc21hbGwsIC5jZS1tYXJrZXQtdHJpZ2dlciAudGFicyAudGFicy10aXRsZSBzbWFsbCwgLmNlLW1hcmtldC10cmlnZ2VyIC5tb2JpbGUgYSBzbWFsbCwgLmgzIHNtYWxsLCBoNCBzbWFsbCwgLmV2ZW50LWl0ZW0gYSBmaWd1cmUgZmlnY2FwdGlvbiBzbWFsbCwgLmdhbWUtc2VydmVyLWl0ZW0gYSBmaWd1cmUgZmlnY2FwdGlvbiBzbWFsbCwgLm5ld3MtaXRlbSBhIGZpZ3VyZSBmaWdjYXB0aW9uIHNtYWxsLCAuc2VydmljZS1pdGVtIGEgZmlndXJlIGZpZ2NhcHRpb24gc21hbGwsIC52YWNhbmN5LWl0ZW0gYSBmaWd1cmUgZmlnY2FwdGlvbiBzbWFsbCwgLmg0IHNtYWxsLCBoNSBzbWFsbCwgLmg1IHNtYWxsLCBoNiBzbWFsbCwgLmg2IHNtYWxsIHsgbGluZS1oZWlnaHQ6IDA7IGNvbG9yOiAjY2FjYWNhOyB9XG5cbmgxLCAuZnJlcXVlbmN5LXByaWNlIC5wcmljZSwgLmgxIHsgZm9udC1zaXplOiAxLjVyZW07IGxpbmUtaGVpZ2h0OiAxLjQ7IG1hcmdpbi10b3A6IDA7IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMiwgLmgyIHsgZm9udC1zaXplOiAxLjI1cmVtOyBsaW5lLWhlaWdodDogMS40OyBtYXJnaW4tdG9wOiAwOyBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDMsIC5jZS1tYXJrZXQtdHJpZ2dlciAudGFicyAudGFicy10aXRsZSwgLmNlLW1hcmtldC10cmlnZ2VyIC5tb2JpbGUgYSwgLmgzIHsgZm9udC1zaXplOiAxLjE4NzVyZW07IGxpbmUtaGVpZ2h0OiAxLjQ7IG1hcmdpbi10b3A6IDA7IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNCwgLmV2ZW50LWl0ZW0gYSBmaWd1cmUgZmlnY2FwdGlvbiwgLmdhbWUtc2VydmVyLWl0ZW0gYSBmaWd1cmUgZmlnY2FwdGlvbiwgLm5ld3MtaXRlbSBhIGZpZ3VyZSBmaWdjYXB0aW9uLCAuc2VydmljZS1pdGVtIGEgZmlndXJlIGZpZ2NhcHRpb24sIC52YWNhbmN5LWl0ZW0gYSBmaWd1cmUgZmlnY2FwdGlvbiwgLmg0IHsgZm9udC1zaXplOiAxLjEyNXJlbTsgbGluZS1oZWlnaHQ6IDEuNDsgbWFyZ2luLXRvcDogMDsgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg1LCAuaDUgeyBmb250LXNpemU6IDEuMDYyNXJlbTsgbGluZS1oZWlnaHQ6IDEuNDsgbWFyZ2luLXRvcDogMDsgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg2LCAuaDYgeyBmb250LXNpemU6IDFyZW07IGxpbmUtaGVpZ2h0OiAxLjQ7IG1hcmdpbi10b3A6IDA7IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyBoMSwgLmZyZXF1ZW5jeS1wcmljZSAucHJpY2UsIC5oMSB7IGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiwgLmgyIHsgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgaDMsIC5jZS1tYXJrZXQtdHJpZ2dlciAudGFicyAudGFicy10aXRsZSwgLmNlLW1hcmtldC10cmlnZ2VyIC5tb2JpbGUgYSwgLmgzIHsgZm9udC1zaXplOiAxLjkzNzVyZW07IH1cbiAgaDQsIC5ldmVudC1pdGVtIGEgZmlndXJlIGZpZ2NhcHRpb24sIC5nYW1lLXNlcnZlci1pdGVtIGEgZmlndXJlIGZpZ2NhcHRpb24sIC5uZXdzLWl0ZW0gYSBmaWd1cmUgZmlnY2FwdGlvbiwgLnNlcnZpY2UtaXRlbSBhIGZpZ3VyZSBmaWdjYXB0aW9uLCAudmFjYW5jeS1pdGVtIGEgZmlndXJlIGZpZ2NhcHRpb24sIC5oNCB7IGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9XG4gIGg1LCAuaDUgeyBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgaDYsIC5oNiB7IGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbmEgeyBsaW5lLWhlaWdodDogaW5oZXJpdDsgY29sb3I6ICMxNzc5YmE7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmE6aG92ZXIsIGE6Zm9jdXMgeyBjb2xvcjogIzE0NjhhMDsgfVxuXG5hIGltZyB7IGJvcmRlcjogMDsgfVxuXG5ociB7IGNsZWFyOiBib3RoOyBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAxNjhweCk7IGhlaWdodDogMDsgbWFyZ2luOiAxLjI1cmVtIGF1dG87IGJvcmRlci10b3A6IDA7IGJvcmRlci1yaWdodDogMDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYWNhY2E7IGJvcmRlci1sZWZ0OiAwOyB9XG5cbnVsLCBvbCwgZGwgeyBtYXJnaW4tYm90dG9tOiAxcmVtOyBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlOyBsaW5lLWhlaWdodDogMS42OyB9XG5cbmxpIHsgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHsgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG5vbCB7IG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHsgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwgeyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbmRsIGR0IHsgbWFyZ2luLWJvdHRvbTogMC4zcmVtOyBmb250LXdlaWdodDogYm9sZDsgfVxuXG5ibG9ja3F1b3RlIHsgbWFyZ2luOiAwIDAgMXJlbTsgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07IGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NhY2FjYTsgfVxuXG5ibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAgeyBsaW5lLWhlaWdodDogMS42OyBjb2xvcjogIzhhOGE4YTsgfVxuXG5jaXRlIHsgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogMC44MTI1cmVtOyBjb2xvcjogIzhhOGE4YTsgfVxuXG5jaXRlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbmFiYnIsIGFiYnJbdGl0bGVdIHsgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjMjMyMjIzOyBjdXJzb3I6IGhlbHA7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5maWd1cmUgeyBtYXJnaW46IDA7IH1cblxuY29kZSB7IHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07IGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7IGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlOyBmb250LXdlaWdodDogbm9ybWFsOyBjb2xvcjogIzIzMjIyMzsgfVxuXG5rYmQgeyBtYXJnaW46IDA7IHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDsgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7IGNvbG9yOiAjMjMyMjIzOyB9XG5cbi5zdWJoZWFkZXIgeyBtYXJnaW4tdG9wOiAwLjJyZW07IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IDEuNDsgY29sb3I6ICM4YThhOGE7IH1cblxuLmxlYWQgeyBmb250LXNpemU6IDEyNSU7IGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQgeyBmb250LXNpemU6IDIuNXJlbTsgbGluZS1oZWlnaHQ6IDE7IH1cblxucCArIC5zdGF0IHsgbWFyZ2luLXRvcDogLTFyZW07IH1cblxudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQgeyBtYXJnaW4tbGVmdDogMDsgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSB7IC5zbWVkaXVtLXRleHQtbGVmdCB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnNtZWRpdW0tdGV4dC1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5zbWVkaXVtLXRleHQtY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5zbWVkaXVtLXRleHQtanVzdGlmeSB7IHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAubWVkaXVtLXRleHQtbGVmdCB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7IHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubGFyZ2UtdGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHsgLnhsYXJnZS10ZXh0LWxlZnQgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC54bGFyZ2UtdGV4dC1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC54bGFyZ2UtdGV4dC1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnhsYXJnZS10ZXh0LWp1c3RpZnkgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLnh4bGFyZ2UtdGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueHhsYXJnZS10ZXh0LXJpZ2h0IHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnh4bGFyZ2UtdGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQgeyAqIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSwgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLCBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLCBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsIGJsb2NrcXVvdGUgeyBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhOyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cbiAgcCwgaDIsIGgzLCAuY2UtbWFya2V0LXRyaWdnZXIgLnRhYnMgLnRhYnMtdGl0bGUsIC5jZS1tYXJrZXQtdHJpZ2dlciAubW9iaWxlIGEgeyBvcnBoYW5zOiAzOyB3aWRvd3M6IDM7IH1cbiAgaDIsIGgzLCAuY2UtbWFya2V0LXRyaWdnZXIgLnRhYnMgLnRhYnMtdGl0bGUsIC5jZS1tYXJrZXQtdHJpZ2dlciAubW9iaWxlIGEgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAucHJpbnQtYnJlYWstaW5zaWRlIHsgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87IH0gfVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCwgLmZsZXgtdmlkZW8geyBwb3NpdGlvbjogcmVsYXRpdmU7IGhlaWdodDogMDsgbWFyZ2luLWJvdHRvbTogMXJlbTsgcGFkZGluZy1ib3R0b206IDc1JTsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsIC5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCwgLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsIC5yZXNwb25zaXZlLWVtYmVkIHZpZGVvLCAuZmxleC12aWRlbyBpZnJhbWUsIC5mbGV4LXZpZGVvIG9iamVjdCwgLmZsZXgtdmlkZW8gZW1iZWQsIC5mbGV4LXZpZGVvIHZpZGVvIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbiwgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7IHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cblxuLm1lZGlhLW9iamVjdCB7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi5tZWRpYS1vYmplY3QgaW1nIHsgbWF4LXdpZHRoOiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3LjQzNzVlbSkgeyAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24geyBwYWRkaW5nOiAwOyBwYWRkaW5nLWJvdHRvbTogMXJlbTsgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7IHdpZHRoOiAxMDAlOyB9IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHsgZGlzcGxheTogdGFibGUtY2VsbDsgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb246Zmlyc3QtY2hpbGQgeyBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7IHBhZGRpbmctbGVmdDogMXJlbTsgfVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1pZGRsZSB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uLmJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cblxuLmhpZGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy40Mzc1ZW0pIHsgLmhpZGUtZm9yLXNtYWxsLW9ubHkgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3LjVlbSkgeyAuc2hvdy1mb3Itc21hbGwtb25seSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHsgLmhpZGUtZm9yLXNtZWRpdW0geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy40Mzc1ZW0pIHsgLnNob3ctZm9yLXNtZWRpdW0geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHsgLmhpZGUtZm9yLXNtZWRpdW0tb25seSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3LjQzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuc2hvdy1mb3Itc21lZGl1bS1vbmx5IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLmhpZGUtZm9yLW1lZGl1bSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkgeyAuc2hvdy1mb3ItbWVkaXVtIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkgeyAuaGlkZS1mb3ItbWVkaXVtLW9ubHkgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmhpZGUtZm9yLWxhcmdlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7IC5zaG93LWZvci1sYXJnZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHsgLmhpZGUtZm9yLWxhcmdlLW9ubHkgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHsgLnNob3ctZm9yLWxhcmdlLW9ubHkgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7IC5oaWRlLWZvci14bGFyZ2UgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHsgLnNob3ctZm9yLXhsYXJnZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIGFuZCAobWF4LXdpZHRoOiAxMTkuOTM3NWVtKSB7IC5oaWRlLWZvci14bGFyZ2Utb25seSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLnNob3ctZm9yLXhsYXJnZS1vbmx5IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLmhpZGUtZm9yLXh4bGFyZ2UgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkuOTM3NWVtKSB7IC5zaG93LWZvci14eGxhcmdlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOS45Mzc1ZW0pIHsgLnNob3ctZm9yLXh4bGFyZ2Utb25seSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zciwgLnNob3ctb24tZm9jdXMgeyBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgd2lkdGg6IDFweDsgaGVpZ2h0OiAxcHg7IHBhZGRpbmc6IDA7IG92ZXJmbG93OiBoaWRkZW47IGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7IHdoaXRlLXNwYWNlOiBub3dyYXA7IGNsaXAtcGF0aDogaW5zZXQoNTAlKTsgYm9yZGVyOiAwOyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMgeyBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7IHdpZHRoOiBhdXRvOyBoZWlnaHQ6IGF1dG87IG92ZXJmbG93OiB2aXNpYmxlOyBjbGlwOiBhdXRvOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyBjbGlwLXBhdGg6IG5vbmU7IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSwgLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgeyAuc2hvdy1mb3ItbGFuZHNjYXBlLCAuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkgeyAuc2hvdy1mb3ItbGFuZHNjYXBlLCAuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLCAuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHsgLmhpZGUtZm9yLWxhbmRzY2FwZSwgLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkgeyAuaGlkZS1mb3ItbGFuZHNjYXBlLCAuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmZsb2F0LWxlZnQgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1yaWdodCB7IGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1jZW50ZXIgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLXJpZ2h0OiBhdXRvOyBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4uY2xlYXJmaXg6OmJlZm9yZSwgLmNsZWFyZml4OjphZnRlciB7IGRpc3BsYXk6IHRhYmxlOyBjb250ZW50OiAnICc7IH1cblxuLmNsZWFyZml4OjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbkBrZXlmcmFtZXMgcm90YXRpbmcgeyBmcm9tIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBnbG93IHsgMCUgeyBvcGFjaXR5OiAwLjU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIDUwJSB7IGZpbGw6ICMyMzIyMjM7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIDEwMCUgeyBvcGFjaXR5OiAwLjU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9IH1cblxuLnVpLWRhdGVwaWNrZXIgeyB3aWR0aDogMTcuNXJlbTsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMyMjIzOyBib3JkZXItcmFkaXVzOiAwLjEyNXJlbSAwLjEyNXJlbSAwIDA7IHBhZGRpbmc6IDAuMjVyZW0gMC43NXJlbTsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciAudWktZGF0ZXBpY2tlci1wcmV2LCAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7IGNvbG9yOiAjRkZGOyBsaW5lLWhlaWdodDogMTsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMS41cmVtOyB0b3A6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciAudWktZGF0ZXBpY2tlci1wcmV2OmFmdGVyLCAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIgLnVpLWRhdGVwaWNrZXItbmV4dDphZnRlciB7IGNvbnRlbnQ6IFwi7qSTXCI7IGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIgLnVpLWRhdGVwaWNrZXItcHJldiAudWktaWNvbiwgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItaGVhZGVyIC51aS1kYXRlcGlja2VyLW5leHQgLnVpLWljb24geyBkaXNwbGF5OiBub25lOyB9XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciAudWktZGF0ZXBpY2tlci1uZXh0IHsgcmlnaHQ6IDAuMjVyZW07IH1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItaGVhZGVyIC51aS1kYXRlcGlja2VyLW5leHQ6YWZ0ZXIgeyBjb250ZW50OiBcIu6kjlwiOyB9XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciAudWktZGF0ZXBpY2tlci10aXRsZSB7IGNvbG9yOiAjRkZGOyBmb250LXNpemU6IDFyZW07IGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICNFNkU2RTY7IGJvcmRlci1sZWZ0OiAwLjA2MjVyZW0gc29saWQgI0U2RTZFNjsgYm9yZGVyLXJhZGl1czogMCAwIDAuMTI1cmVtIDAuMTI1cmVtOyBib3JkZXItcmlnaHQ6IDAuMDYyNXJlbSBzb2xpZCAjRTZFNkU2OyBib3JkZXItc3BhY2luZzogMDsgd2lkdGg6IDEwMCU7IH1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGhlYWQgdGggeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGN0Y3OyBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgI0U2RTZFNjsgZm9udC1zaXplOiAwLjc1cmVtOyBmb250LXdlaWdodDogYm9sZDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB0Ym9keSB0ZCB7IGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IGZvbnQtc2l6ZTogMXJlbTsgaGVpZ2h0OiAyLjVyZW07IHRleHQtYWxpZ246IGNlbnRlcjsgd2lkdGg6IDIuNXJlbTsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB0Ym9keSB0ZCBhIHsgZGlzcGxheTogYmxvY2s7IH1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGJvZHkgdGQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlOyB9XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRib2R5IHRkLnVpLXN0YXRlLWRpc2FibGVkIHsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB0Ym9keSB0ZC51aS1kYXRlcGlja2VyLWN1cnJlbnQtZGF5IHsgYmFja2dyb3VuZC1jb2xvcjogI0QyMjMyQTsgY29sb3I6ICNGRkY7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRib2R5IHRkLnVpLWRhdGVwaWNrZXItdG9kYXkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjOTUxMTE0OyBjb2xvcjogI0ZGRjsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLm1mcC13cmFwIHsgZGlzcGxheTogZmxleDsgd2lkdGg6IDEwMCU7IHotaW5kZXg6IDk5OTk7IH1cblxuLm1mcC13cmFwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgYmFja2dyb3VuZC1jb2xvcjogIzIzMjIyMzsgb3BhY2l0eTogLjU7IHRvcDogMDsgbGVmdDogMDsgfVxuXG4ubWZwLXdyYXAgLm1mcC1pZnJhbWUgeyBoZWlnaHQ6IDY2dmg7IHdpZHRoOiA2NnZ3OyB9XG5cbi5tZnAtd3JhcCAubWZwLWNvbnRhaW5lciB7IG1hcmdpbjogYXV0bzsgd2lkdGg6IDY2dnc7IHotaW5kZXg6IDI7IH1cblxuLm1mcC13cmFwIC5tZnAtY29udGVudCB7IG1heC13aWR0aDogNTYuMjVyZW07IH1cblxuLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2UgeyBjb2xvcjogI0ZGRjsgY3Vyc29yOiBwb2ludGVyOyBmb250LXNpemU6IDMuMTI1cmVtOyB0b3A6IC0yLjgxMjVyZW07IH1cblxuLm1mcC13aXphcmRTZWxlY3RvciAubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jb250ZW50IHsgbWluLWhlaWdodDogMzcuNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubWZwLXdpemFyZFNlbGVjdG9yIC5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNvbnRlbnQgeyBoZWlnaHQ6IDUxLjEyNXJlbTsgd2lkdGg6IDU0cmVtOyB9IH1cblxuLm1mcC13aXphcmRTZWxlY3RvciAubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7IGhlaWdodDogMS41cmVtOyBwYWRkaW5nOiAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAxcmVtOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHRvcDogMXJlbTsgd2lkdGg6IDEuNXJlbTsgfVxuXG4ubWZwLXdpemFyZFNlbGVjdG9yIC5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlOmFmdGVyIHsgY29udGVudDogXCLupItcIjsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBsZWZ0OiAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgfVxuXG4ucG93ZXJtYWlsX2Zvcm0gZmllbGRzZXQgeyBib3JkZXI6IG5vbmU7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfVxuXG4vKiogU3dpcGVyIDQuMS4wIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zIGh0dHA6Ly93d3cuaWRhbmdlcm8udXMvc3dpcGVyLyBDb3B5cmlnaHQgMjAxNC0yMDE4IFZsYWRpbWlyIEtoYXJsYW1waWRpIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSBSZWxlYXNlZCBvbjogSmFudWFyeSAxMywgMjAxOCAqL1xuLnN3aXBlci1jb250YWluZXIgeyBtYXJnaW46IDAgYXV0bzsgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuOyBsaXN0LXN0eWxlOiBub25lOyBwYWRkaW5nOiAwOyAvKiBGaXggb2YgV2Via2l0IGZsaWNrZXJpbmcgKi8gei1pbmRleDogMTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1uby1mbGV4Ym94IC5zd2lwZXItc2xpZGUgeyBmbG9hdDogbGVmdDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7IC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7IC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOyAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5zd2lwZXItd3JhcHBlciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgei1pbmRleDogMTsgZGlzcGxheTogLXdlYmtpdC1ib3g7IGRpc3BsYXk6IC13ZWJraXQtZmxleDsgZGlzcGxheTogLW1zLWZsZXhib3g7IGRpc3BsYXk6IGZsZXg7IC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07IHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtOyAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07IHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCAtd2Via2l0LXRyYW5zZm9ybTsgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuLnN3aXBlci1jb250YWluZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLXdyYXBwZXIgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLW11bHRpcm93ID4gLnN3aXBlci13cmFwcGVyIHsgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7IC1tcy1mbGV4LXdyYXA6IHdyYXA7IGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIgeyAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IG1hcmdpbjogMCBhdXRvOyB9XG5cbi5zd2lwZXItc2xpZGUgeyAtd2Via2l0LWZsZXgtc2hyaW5rOiAwOyAtbXMtZmxleC1uZWdhdGl2ZTogMDsgZmxleC1zaHJpbms6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTsgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07IC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOyB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi5zd2lwZXItaW52aXNpYmxlLWJsYW5rLXNsaWRlIHsgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qIEF1dG8gSGVpZ2h0ICovXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LCAuc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUgeyBoZWlnaHQ6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXIgeyAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7IC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IC1tcy1mbGV4LWFsaWduOiBzdGFydDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTsgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTsgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7IHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0OyB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodCwgLXdlYmtpdC10cmFuc2Zvcm07IH1cblxuLyogM0QgRWZmZWN0cyAqL1xuLnN3aXBlci1jb250YWluZXItM2QgeyAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMjAwcHg7IHBlcnNwZWN0aXZlOiAxMjAwcHg7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci13cmFwcGVyLCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3cgeyAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyB0b3A6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBvaW50ZXItZXZlbnRzOiBub25lOyB6LWluZGV4OiAxMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0IHsgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIHJpZ2h0IHRvcCwgbGVmdCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8odHJhbnNwYXJlbnQpKTsgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgdHJhbnNwYXJlbnQpOyBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQocmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgdHJhbnNwYXJlbnQpOyBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCB0cmFuc3BhcmVudCk7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQgeyBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byh0cmFuc3BhcmVudCkpOyBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHRyYW5zcGFyZW50KTsgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgdHJhbnNwYXJlbnQpOyBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgdHJhbnNwYXJlbnQpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7IGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgbGVmdCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8odHJhbnNwYXJlbnQpKTsgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHRyYW5zcGFyZW50KTsgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCB0cmFuc3BhcmVudCk7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgdHJhbnNwYXJlbnQpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7IGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8odHJhbnNwYXJlbnQpKTsgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHRyYW5zcGFyZW50KTsgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCB0cmFuc3BhcmVudCk7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgdHJhbnNwYXJlbnQpOyB9XG5cbi8qIElFMTAgV2luZG93cyBQaG9uZSA4IEZpeGVzICovXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtaG9yaXpvbnRhbCwgLnN3aXBlci1jb250YWluZXItd3A4LWhvcml6b250YWwgPiAuc3dpcGVyLXdyYXBwZXIgeyAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTsgdG91Y2gtYWN0aW9uOiBwYW4teTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwsIC5zd2lwZXItY29udGFpbmVyLXdwOC12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7IC1tcy10b3VjaC1hY3Rpb246IHBhbi14OyB0b3VjaC1hY3Rpb246IHBhbi14OyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYsIC5zd2lwZXItYnV0dG9uLW5leHQgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyB3aWR0aDogMjdweDsgaGVpZ2h0OiA0NHB4OyBtYXJnaW4tdG9wOiAtMjJweDsgei1pbmRleDogMTA7IGN1cnNvcjogcG9pbnRlcjsgYmFja2dyb3VuZC1zaXplOiAyN3B4IDQ0cHg7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tZGlzYWJsZWQsIC5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7IG9wYWNpdHk6IDAuMzU7IGN1cnNvcjogYXV0bzsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1idXR0b24tcHJldiwgLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgbGVmdDogMTBweDsgcmlnaHQ6IGF1dG87IH1cblxuLnN3aXBlci1idXR0b24tbmV4dCwgLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgcmlnaHQ6IDEwcHg7IGxlZnQ6IGF1dG87IH1cblxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlLCAuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlLCAuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrLCAuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrLCAuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tbG9jayB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uIHsgcG9zaXRpb246IGFic29sdXRlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IC13ZWJraXQtdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTsgLW8tdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTsgdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB6LWluZGV4OiAxMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIHsgb3BhY2l0eTogMDsgfVxuXG4vKiBDb21tb24gU3R5bGVzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24sIC5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sIC5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7IGJvdHRvbTogMTBweDsgbGVmdDogMDsgd2lkdGg6IDEwMCU7IH1cblxuLyogQnVsbGV0cyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7IG92ZXJmbG93OiBoaWRkZW47IGZvbnQtc2l6ZTogMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7IC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpOyB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpOyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2IHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNjYpOyAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTsgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYtcHJldiB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTsgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7IHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0IHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNjYpOyAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTsgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQtbmV4dCB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTsgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7IHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7IHdpZHRoOiA4cHg7IGhlaWdodDogOHB4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJvcmRlci1yYWRpdXM6IDEwMCU7IGJhY2tncm91bmQ6ICMwMDA7IG9wYWNpdHk6IDAuMjsgfVxuXG5idXR0b24uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHsgYm9yZGVyOiBub25lOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsgYm94LXNoYWRvdzogbm9uZTsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IGFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHsgb3BhY2l0eTogMTsgYmFja2dyb3VuZDogIzAwN2FmZjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHsgcmlnaHQ6IDEwcHg7IHRvcDogNTAlOyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7IG1hcmdpbjogNnB4IDA7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHsgdG9wOiA1MCU7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IHdpZHRoOiA4cHg7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtOyB0cmFuc2l0aW9uOiAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtOyAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDsgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3A7IHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgdG9wLCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7IG1hcmdpbjogMCA0cHg7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7IGxlZnQ6IDUwJTsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQgeyAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIGxlZnQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtOyB0cmFuc2l0aW9uOiAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTsgLW8tdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0OyB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQ7IHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbC5zd2lwZXItY29udGFpbmVyLXJ0bCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7IC13ZWJraXQtdHJhbnNpdGlvbjogMjAwbXMgcmlnaHQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtOyB0cmFuc2l0aW9uOiAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07IC1vLXRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQ7IHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQ7IHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi8qIFByb2dyZXNzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpOyBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHsgYmFja2dyb3VuZDogIzAwN2FmZjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyB0b3A6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTsgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7IHRyYW5zZm9ybTogc2NhbGUoMCk7IC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7IC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDsgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7IH1cblxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7IC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wOyAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wOyB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDRweDsgbGVmdDogMDsgdG9wOiAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHsgd2lkdGg6IDRweDsgaGVpZ2h0OiAxMDAlOyBsZWZ0OiAwOyB0b3A6IDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHsgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7IGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHsgYmFja2dyb3VuZDogIzAwMDAwMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sgeyBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7IGJhY2tncm91bmQ6ICMwMDAwMDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWxvY2sgeyBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFNjcm9sbGJhciAqL1xuLnN3aXBlci1zY3JvbGxiYXIgeyBib3JkZXItcmFkaXVzOiAxMHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IC1tcy10b3VjaC1hY3Rpb246IG5vbmU7IGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1zY3JvbGxiYXIgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDElOyBib3R0b206IDNweDsgei1pbmRleDogNTA7IGhlaWdodDogNXB4OyB3aWR0aDogOTglOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1zY3JvbGxiYXIgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAzcHg7IHRvcDogMSU7IHotaW5kZXg6IDUwOyB3aWR0aDogNXB4OyBoZWlnaHQ6IDk4JTsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1kcmFnIHsgaGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJTsgcG9zaXRpb246IHJlbGF0aXZlOyBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7IGJvcmRlci1yYWRpdXM6IDEwcHg7IGxlZnQ6IDA7IHRvcDogMDsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1jdXJzb3ItZHJhZyB7IGN1cnNvcjogbW92ZTsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1sb2NrIHsgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpcGVyLXpvb20tY29udGFpbmVyIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgZGlzcGxheTogLXdlYmtpdC1ib3g7IGRpc3BsYXk6IC13ZWJraXQtZmxleDsgZGlzcGxheTogLW1zLWZsZXhib3g7IGRpc3BsYXk6IGZsZXg7IC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLW1zLWZsZXgtcGFjazogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOyAtbXMtZmxleC1hbGlnbjogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGltZywgLnN3aXBlci16b29tLWNvbnRhaW5lciA+IHN2ZywgLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGNhbnZhcyB7IG1heC13aWR0aDogMTAwJTsgbWF4LWhlaWdodDogMTAwJTsgLW8tb2JqZWN0LWZpdDogY29udGFpbjsgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuXG4uc3dpcGVyLXNsaWRlLXpvb21lZCB7IGN1cnNvcjogbW92ZTsgfVxuXG4vKiBQcmVsb2FkZXIgKi9cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXIgeyB3aWR0aDogNDJweDsgaGVpZ2h0OiA0MnB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDUwJTsgdG9wOiA1MCU7IG1hcmdpbi1sZWZ0OiAtMjFweDsgbWFyZ2luLXRvcDogLTIxcHg7IHotaW5kZXg6IDEwOyAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJTsgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJTsgdHJhbnNmb3JtLW9yaWdpbjogNTAlOyAtd2Via2l0LWFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlOyBhbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBzdGVwcygxMiwgZW5kKSBpbmZpbml0ZTsgfVxuXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyOmFmdGVyIHsgZGlzcGxheTogYmxvY2s7IGNvbnRlbnQ6ICcnOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjM2YzZjNmMnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJTsgYmFja2dyb3VuZC1zaXplOiAxMDAlOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXItd2hpdGU6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjNmZmYnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7IDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHsgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLyogYTExeSAqL1xuLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1ub3RpZmljYXRpb24geyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHRvcDogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7IG9wYWNpdHk6IDA7IHotaW5kZXg6IC0xMDAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZSB7IC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwgLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7IHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgeyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgei1pbmRleDogMTsgdmlzaWJpbGl0eTogaGlkZGVuOyAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDsgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDAgMDsgdHJhbnNmb3JtLW9yaWdpbjogMCAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZS5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXNsaWRlIHsgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7IC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7IHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHsgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwgLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1wcmV2LCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCArIC5zd2lwZXItc2xpZGUgeyBwb2ludGVyLWV2ZW50czogYXV0bzsgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCwgLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwgLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7IHotaW5kZXg6IDA7IC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93IHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyBib3R0b206IDBweDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgYmFja2dyb3VuZDogIzAwMDsgb3BhY2l0eTogMC42OyAtd2Via2l0LWZpbHRlcjogYmx1cig1MHB4KTsgZmlsdGVyOiBibHVyKDUwcHgpOyB6LWluZGV4OiAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgeyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgei1pbmRleDogMTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUsIC5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUgeyBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCwgLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sIC5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwgLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7IHotaW5kZXg6IDA7IC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnN3aXBlci1jb250YWluZXItY292ZXJmbG93IC5zd2lwZXItd3JhcHBlciB7IC8qIFdpbmRvd3MgOCBJRSAxMCBmaXggKi8gLW1zLXBlcnNwZWN0aXZlOiAxMjAwcHg7IH1cblxuQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlIExUIFcwMV80MTQ4ODg3OFwiOyBzcmM6IHVybChcIi90eXBvM2NvbmYvZXh0L2kzZF90ZW1wbGF0ZS9SZXNvdXJjZXMvUHVibGljL2ZvbnRzLzFiOTUwZDJhLTkwN2EtNDg4OC04MDU2LTBkNDRlOGU4NjMzOC5lb3Q/I2llZml4XCIpOyBzcmM6IHVybChcIi90eXBvM2NvbmYvZXh0L2kzZF90ZW1wbGF0ZS9SZXNvdXJjZXMvUHVibGljL2ZvbnRzLzFiOTUwZDJhLTkwN2EtNDg4OC04MDU2LTBkNDRlOGU4NjMzOC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiL3R5cG8zY29uZi9leHQvaTNkX3RlbXBsYXRlL1Jlc291cmNlcy9QdWJsaWMvZm9udHMvM2E0NjU0MmYtZjQyOS00ODIxLTlhODgtNjJlM2JlNTRhNjQwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIvdHlwbzNjb25mL2V4dC9pM2RfdGVtcGxhdGUvUmVzb3VyY2VzL1B1YmxpYy9mb250cy81MGFjMTY5OS1mM2QyLTQ3YjYtODc4Zi02N2EzNjhhMTdjNDEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvdHlwbzNjb25mL2V4dC9pM2RfdGVtcGxhdGUvUmVzb3VyY2VzL1B1YmxpYy9mb250cy8wYmU1NTkwZi04MzUzLTRlZjMtYWRhMS00M2FjMzgwODU5ZjgudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2UgeyBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZSBMVCBXMDFfNDE0ODg4ODRcIjsgc3JjOiB1cmwoXCIvdHlwbzNjb25mL2V4dC9pM2RfdGVtcGxhdGUvUmVzb3VyY2VzL1B1YmxpYy9mb250cy9lMzZlZmI3ZC0xMmUzLTQ3NzMtYTgzMC0yNmU1NjUyMzczZWEuZW90PyNpZWZpeFwiKTsgc3JjOiB1cmwoXCIvdHlwbzNjb25mL2V4dC9pM2RfdGVtcGxhdGUvUmVzb3VyY2VzL1B1YmxpYy9mb250cy9lMzZlZmI3ZC0xMmUzLTQ3NzMtYTgzMC0yNmU1NjUyMzczZWEuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi90eXBvM2NvbmYvZXh0L2kzZF90ZW1wbGF0ZS9SZXNvdXJjZXMvUHVibGljL2ZvbnRzLzI2MWI0ZWZiLTNkNzAtNDk2NS05NzdkLTM4YWY5NDIyNzAwZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiL3R5cG8zY29uZi9leHQvaTNkX3RlbXBsYXRlL1Jlc291cmNlcy9QdWJsaWMvZm9udHMvMmUwMDUxNGUtMTc2NC00MjUwLWEwYzUtYWNhM2U1YThkMTMzLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL3R5cG8zY29uZi9leHQvaTNkX3RlbXBsYXRlL1Jlc291cmNlcy9QdWJsaWMvZm9udHMvZTJmZTJlMDctOTQxOS00MDBmLTk1M2QtZGMyM2NmYTY0N2EyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWUgTFQgVzAxXzUxNDg4ODkwXCI7IHNyYzogdXJsKFwiL3R5cG8zY29uZi9leHQvaTNkX3RlbXBsYXRlL1Jlc291cmNlcy9QdWJsaWMvZm9udHMvYmY3ZWY0Y2UtZGUyYS00MjEzLWE5ZDctODI2YTNlZTMyM2NkLmVvdD8jaWVmaXhcIik7IHNyYzogdXJsKFwiL3R5cG8zY29uZi9leHQvaTNkX3RlbXBsYXRlL1Jlc291cmNlcy9QdWJsaWMvZm9udHMvYmY3ZWY0Y2UtZGUyYS00MjEzLWE5ZDctODI2YTNlZTMyM2NkLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIvdHlwbzNjb25mL2V4dC9pM2RfdGVtcGxhdGUvUmVzb3VyY2VzL1B1YmxpYy9mb250cy8zZGFjNzFlYi1hZmE3LTRjODAtOTdmMC01OTkyMDI3NzI5MDUud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi90eXBvM2NvbmYvZXh0L2kzZF90ZW1wbGF0ZS9SZXNvdXJjZXMvUHVibGljL2ZvbnRzLzM0ZTBlNGMwLWMyOTQtNDliYi05YThlLTFiMmNhZmQ1NGUzMi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi90eXBvM2NvbmYvZXh0L2kzZF90ZW1wbGF0ZS9SZXNvdXJjZXMvUHVibGljL2ZvbnRzLzhhOGJmZWUzLTE5N2MtNDk0Mi05YjExLTcxNTA4Y2M5ZjQwNi50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlIExUIFcwMV81NiBJdFwiOyBzcmM6IHVybChcIi90eXBvM2NvbmYvZXh0L2kzZF90ZW1wbGF0ZS9SZXNvdXJjZXMvUHVibGljL2ZvbnRzLzVkMGU1ZGNhLTg2OWQtNGUxNC1hYzZiLTQ1ZmJhYjNjNDA0Ny5lb3Q/I2llZml4XCIpOyBzcmM6IHVybChcIi90eXBvM2NvbmYvZXh0L2kzZF90ZW1wbGF0ZS9SZXNvdXJjZXMvUHVibGljL2ZvbnRzLzVkMGU1ZGNhLTg2OWQtNGUxNC1hYzZiLTQ1ZmJhYjNjNDA0Ny5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiL3R5cG8zY29uZi9leHQvaTNkX3RlbXBsYXRlL1Jlc291cmNlcy9QdWJsaWMvZm9udHMvMjFjNDQ1MTQtZjRkNi00Y2ZmLWE1ZGUtZTRjYWM1ZTYxYWZmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIvdHlwbzNjb25mL2V4dC9pM2RfdGVtcGxhdGUvUmVzb3VyY2VzL1B1YmxpYy9mb250cy9lN2M0YjIzMS03NmFkLTQ3YzctYTU0Yi01ZDg0ZGNkNzhkMGYud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvdHlwbzNjb25mL2V4dC9pM2RfdGVtcGxhdGUvUmVzb3VyY2VzL1B1YmxpYy9mb250cy9iNmRiNDE3Zi1lNzk1LTQyNmEtYTJhZi1hZGMzN2EzNDE5YTYudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2UgeyBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZSBMVCBXMDFfNjUgTWRcIjsgc3JjOiB1cmwoXCIvdHlwbzNjb25mL2V4dC9pM2RfdGVtcGxhdGUvUmVzb3VyY2VzL1B1YmxpYy9mb250cy9mOTVmOWZjMi1mZmRhLTQzMWMtOWQ2YS0yYzM2NjhmNWIyMGIuZW90PyNpZWZpeFwiKTsgc3JjOiB1cmwoXCIvdHlwbzNjb25mL2V4dC9pM2RfdGVtcGxhdGUvUmVzb3VyY2VzL1B1YmxpYy9mb250cy9mOTVmOWZjMi1mZmRhLTQzMWMtOWQ2YS0yYzM2NjhmNWIyMGIuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi90eXBvM2NvbmYvZXh0L2kzZF90ZW1wbGF0ZS9SZXNvdXJjZXMvUHVibGljL2ZvbnRzLzViMWZiZDYyLTQ1ZGMtNDQzMy1hN2RmLWEyYjI0YTE0NjQxMS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiL3R5cG8zY29uZi9leHQvaTNkX3RlbXBsYXRlL1Jlc291cmNlcy9QdWJsaWMvZm9udHMvMDUwYjE5NDgtZjIyNi00ZDIwLWE2NWEtMTVkOGVkMDMxMjIyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL3R5cG8zY29uZi9leHQvaTNkX3RlbXBsYXRlL1Jlc291cmNlcy9QdWJsaWMvZm9udHMvYmViODhiZTYtMmE2MC00NmZlLTkxNGYtNjg5MmIzYWU0NmNlLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWUgTFQgVzAxXzYxNDg4OTA4XCI7IHNyYzogdXJsKFwiL3R5cG8zY29uZi9leHQvaTNkX3RlbXBsYXRlL1Jlc291cmNlcy9QdWJsaWMvZm9udHMvNGM2OGYzOWEtMWQwOC00YTI2LTgxYjMtYzQyNGNiZTZkNzEyLmVvdD8jaWVmaXhcIik7IHNyYzogdXJsKFwiL3R5cG8zY29uZi9leHQvaTNkX3RlbXBsYXRlL1Jlc291cmNlcy9QdWJsaWMvZm9udHMvNGM2OGYzOWEtMWQwOC00YTI2LTgxYjMtYzQyNGNiZTZkNzEyLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIvdHlwbzNjb25mL2V4dC9pM2RfdGVtcGxhdGUvUmVzb3VyY2VzL1B1YmxpYy9mb250cy82NTdjMmZhNC01ODViLTQ3NjEtOWUyZS02NWFiMTMxNTkzMjMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi90eXBvM2NvbmYvZXh0L2kzZF90ZW1wbGF0ZS9SZXNvdXJjZXMvUHVibGljL2ZvbnRzLzQwMDg2OWYwLWYwZDUtNDlhMC04YTExLWY0ZmI0Mjc5ZDEyNS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi90eXBvM2NvbmYvZXh0L2kzZF90ZW1wbGF0ZS9SZXNvdXJjZXMvUHVibGljL2ZvbnRzLzE0ZGYwMmIxLTAxZjQtNDQyNi1iZjdiLWFkMmYzOWRjMTM0Ni50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlIExUIFcwMV83NSBCb2xkXCI7IHNyYzogdXJsKFwiL3R5cG8zY29uZi9leHQvaTNkX3RlbXBsYXRlL1Jlc291cmNlcy9QdWJsaWMvZm9udHMvOTY5N2NmZWYtNzgxNi00N2NjLTgxZWQtYzU2YzAyOWQzYmNmLmVvdD8jaWVmaXhcIik7IHNyYzogdXJsKFwiL3R5cG8zY29uZi9leHQvaTNkX3RlbXBsYXRlL1Jlc291cmNlcy9QdWJsaWMvZm9udHMvOTY5N2NmZWYtNzgxNi00N2NjLTgxZWQtYzU2YzAyOWQzYmNmLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIvdHlwbzNjb25mL2V4dC9pM2RfdGVtcGxhdGUvUmVzb3VyY2VzL1B1YmxpYy9mb250cy8xZjQyNzRjZC0yNjc0LTQ4MWUtOTAyMy02OWUzM2ZmY2ExNjEud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi90eXBvM2NvbmYvZXh0L2kzZF90ZW1wbGF0ZS9SZXNvdXJjZXMvUHVibGljL2ZvbnRzLzVlOGQ0OTNjLWJlMDEtNDRiOS05NjJlLTUwNGE1Y2YxMGRkOC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi90eXBvM2NvbmYvZXh0L2kzZF90ZW1wbGF0ZS9SZXNvdXJjZXMvUHVibGljL2ZvbnRzL2FlMzZiNGEwLWFhMmMtNDZjYy05OGQ4LWQ4YjdkMjIyNDFkYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlIExUIFcwMV83MTQ4ODkyMFwiOyBzcmM6IHVybChcIi90eXBvM2NvbmYvZXh0L2kzZF90ZW1wbGF0ZS9SZXNvdXJjZXMvUHVibGljL2ZvbnRzLzUyYjZhZTNlLTk0NDMtNGFjYy05YmY5LWY1MTU0ZWVhYjc3Yy5lb3Q/I2llZml4XCIpOyBzcmM6IHVybChcIi90eXBvM2NvbmYvZXh0L2kzZF90ZW1wbGF0ZS9SZXNvdXJjZXMvUHVibGljL2ZvbnRzLzUyYjZhZTNlLTk0NDMtNGFjYy05YmY5LWY1MTU0ZWVhYjc3Yy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiL3R5cG8zY29uZi9leHQvaTNkX3RlbXBsYXRlL1Jlc291cmNlcy9QdWJsaWMvZm9udHMvYWRlNGRiYWUtYzYwNy00Yzg0LWEzNzUtZjBjNGRlMGNjMzU3LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIvdHlwbzNjb25mL2V4dC9pM2RfdGVtcGxhdGUvUmVzb3VyY2VzL1B1YmxpYy9mb250cy81Yjg2NDc0MS02ZjE0LTRlZDktYTI5Ny0yN2E0ZDczZWRmNTEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvdHlwbzNjb25mL2V4dC9pM2RfdGVtcGxhdGUvUmVzb3VyY2VzL1B1YmxpYy9mb250cy8wY2RjY2FkNS1hMDIzLTRhMTctOGVhOS0wMWEwZTZhZDdmZjQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2UgeyBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZSBMVCBXMDFfNzcgQmQgQ25cIjsgc3JjOiB1cmwoXCIvdHlwbzNjb25mL2V4dC9pM2RfdGVtcGxhdGUvUmVzb3VyY2VzL1B1YmxpYy9mb250cy8xNTI3YWVlZC1lNjlkLTQzOTktODJlMy03YjUzZDQ4ZGE3YTIuZW90PyNpZWZpeFwiKTsgc3JjOiB1cmwoXCIvdHlwbzNjb25mL2V4dC9pM2RfdGVtcGxhdGUvUmVzb3VyY2VzL1B1YmxpYy9mb250cy8xNTI3YWVlZC1lNjlkLTQzOTktODJlMy03YjUzZDQ4ZGE3YTIuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi90eXBvM2NvbmYvZXh0L2kzZF90ZW1wbGF0ZS9SZXNvdXJjZXMvUHVibGljL2ZvbnRzLzVmNDYyMGJjLTk4ZjctNGIxMy05ZjkwLTNhNTRlYTZhOWM1NS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiL3R5cG8zY29uZi9leHQvaTNkX3RlbXBsYXRlL1Jlc291cmNlcy9QdWJsaWMvZm9udHMvYWMzMGU4NGUtY2IxOS00NTc2LWI2ZjktNDkxZmNjYmQ0MmZmLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL3R5cG8zY29uZi9leHQvaTNkX3RlbXBsYXRlL1Jlc291cmNlcy9QdWJsaWMvZm9udHMvYjU4M2I3ODItMDcwOS00YTEzLTg5OWYtN2U5YWIxYTdlY2NkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICdpY29tb29uJzsgc3JjOiB1cmwoXCIvdHlwbzNjb25mL2V4dC9pM2RfdGVtcGxhdGUvUmVzb3VyY2VzL1B1YmxpYy9mb250cy9pY29tb29uLmVvdD9vcnB0cmdcIik7IHNyYzogdXJsKFwiL3R5cG8zY29uZi9leHQvaTNkX3RlbXBsYXRlL1Jlc291cmNlcy9QdWJsaWMvZm9udHMvaWNvbW9vbi5lb3Q/b3JwdHJnI2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvdHlwbzNjb25mL2V4dC9pM2RfdGVtcGxhdGUvUmVzb3VyY2VzL1B1YmxpYy9mb250cy9pY29tb29uLnR0Zj9vcnB0cmdcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi90eXBvM2NvbmYvZXh0L2kzZF90ZW1wbGF0ZS9SZXNvdXJjZXMvUHVibGljL2ZvbnRzL2ljb21vb24ud29mZj9vcnB0cmdcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL3R5cG8zY29uZi9leHQvaTNkX3RlbXBsYXRlL1Jlc291cmNlcy9QdWJsaWMvZm9udHMvaWNvbW9vbi5zdmc/b3JwdHJnI2ljb21vb25cIikgZm9ybWF0KFwic3ZnXCIpOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuaDYsIC53eXNpd3lnIGJsb2NrcXVvdGUsIC5wb3dlcm1haWxfZmllbGR3cmFwIGlucHV0LCAucG93ZXJtYWlsX2ZpZWxkd3JhcCB0ZXh0YXJlYSwgLnBvd2VybWFpbF9maWVsZHdyYXAgc2VsZWN0LCAucG93ZXJtYWlsX2ZpZWxkd3JhcC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfZmlsZSBsYWJlbCwgLnBvd2VybWFpbF9maWVsZHdyYXAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX2ZpbGUgLmZpbGVuYW1lLCAuYnJlYWRjcnVtYiBsaSwgI21haW4tZm9vdGVyIHVsLCAubG9naW4sIC5wcmltYXJ5LW1lbnUgLnN1Ym1lbnUtbWVudSwgLnByaW1hcnktbWVudSAuc3VibWVudS10ZWFzZXIgcCwgLnNlYXJjaC1mb3JtIGlucHV0LCAuc2VhcmNoLWZvcm0taW5saW5lIGlucHV0W3R5cGU9dGV4dF0sIC5zZWFyY2gtZm9ybSA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC5zZWFyY2gtZm9ybSA6Oi1tb3otcGxhY2Vob2xkZXIsIC5zZWFyY2gtZm9ybSA6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAubW9iaWxlLW1lbnUsIC5zZWNvbmRhcnktbWVudSBhLCAuY2Utc2VhcmNoLXJlc3VsdHMgLnNlYXJjaC1pdGVtIHAsIC5ldmVudC1pdGVtIGEgbWFpbiwgLmdhbWUtc2VydmVyLWl0ZW0gYSBtYWluLCAubmV3cy1pdGVtIGEgbWFpbiwgLnNlcnZpY2UtaXRlbSBhIG1haW4sIC5zd2lwZXItYnV0dG9uLW5leHQsIC5zd2lwZXItYnV0dG9uLXByZXYsIC5zd2lwZXItcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUsIC52YWNhbmN5LWl0ZW0gYSBtYWluIHsgZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZSBMVCBXMDFfNDE0ODg4NzgnOyB9XG5cbmJvZHksIC5icmVhZGNydW1iIGEsIC5pbmZvLXdpbmRvd19fYm9keSBwIHsgZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZSBMVCBXMDFfNTE0ODg4OTAnOyB9XG5cbi5mcmVxdWVuY3ktcHJpY2UgLmZyZXF1ZW5jeSwgaDQsIC5ldmVudC1pdGVtIGEgZmlndXJlIGZpZ2NhcHRpb24sIC5nYW1lLXNlcnZlci1pdGVtIGEgZmlndXJlIGZpZ2NhcHRpb24sIC5uZXdzLWl0ZW0gYSBmaWd1cmUgZmlnY2FwdGlvbiwgLnNlcnZpY2UtaXRlbSBhIGZpZ3VyZSBmaWdjYXB0aW9uLCAudmFjYW5jeS1pdGVtIGEgZmlndXJlIGZpZ2NhcHRpb24sIGg1LCAucHJpbWFyeS1tZW51IC5tZW51LWl0ZW0sIC5wcmltYXJ5LW1lbnUgLnN1Ym1lbnUtbWVudSAuYWN0aXZlIGEsIC5zZWNvbmRhcnktbWVudSAuYWN0aXZlID4gYSwgLnBlb3BsZS1pdGVtIC5pbm5lci13cmFwcGVyIC5uYW1lLCAucGVvcGxlLWl0ZW0gLmlubmVyLXdyYXBwZXIgLmpvYiwgLnNlcnZpY2UtaXRlbSAubGVhZC1wYXJhZ3JhcGgsIC5zd2lwZXItcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LCAuaW5mby13aW5kb3dfX2JvZHkgaDEsIC5pbmZvLXdpbmRvd19fYm9keSAuZnJlcXVlbmN5LXByaWNlIC5wcmljZSwgLmZyZXF1ZW5jeS1wcmljZSAuaW5mby13aW5kb3dfX2JvZHkgLnByaWNlLCAuY2Utd29yZG1hcC1saXN0IGxpIGEgeyBmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlIExUIFcwMV82NSBNZCc7IH1cblxuLmxpc3QtdGl0bGUsIC5wb3dlcm1haWxfZmllbGR3cmFwIC5wb3dlcm1haWxfbGFiZWwsIC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfdGV4dCwgLmxpc3QtdGl0bGUgcCwgLnBvd2VybWFpbF9maWVsZHdyYXAgLnBvd2VybWFpbF9sYWJlbCBwLCAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3RleHQgcCwgaDEsIC5mcmVxdWVuY3ktcHJpY2UgLnByaWNlLCBoMiwgaDMsIC5jZS1tYXJrZXQtdHJpZ2dlciAudGFicyAudGFicy10aXRsZSwgLmNlLW1hcmtldC10cmlnZ2VyIC5tb2JpbGUgYSwgLnd5c2l3eWcgb2wgbGk6YmVmb3JlLCAuY2UtY29udGVudC1zbGlkZXIgLnRhYnMgLnRhYnMtdGl0bGUgYTpob3ZlciwgLmNlLWNvbnRlbnQtc2xpZGVyIC50YWJzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSBhIHsgZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZSBMVCBXMDFfNzUgQm9sZCc7IH1cblxuLmJ0biwgLmJ1dHRvbiB7IGZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUgTFQgVzAxXzc3IEJkIENuJzsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIgLnVpLWRhdGVwaWNrZXItcHJldjphZnRlciwgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItaGVhZGVyIC51aS1kYXRlcGlja2VyLW5leHQ6YWZ0ZXIsIC5tZnAtd2l6YXJkU2VsZWN0b3IgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2U6YWZ0ZXIsIC53eXNpd3lnIGJsb2NrcXVvdGU6YmVmb3JlLCAuYnRuLndpdGgtaWNvbjpiZWZvcmUsIC5idG4ud2l0aC1pY29uOmFmdGVyLCAuYnV0dG9uLndpdGgtaWNvbjpiZWZvcmUsIC5idXR0b24ud2l0aC1pY29uOmFmdGVyLCAuYnJlYWRjcnVtYiBhOmFmdGVyLCAjbWFpbi1mb290ZXIgdWwuY29udGFjdC1saXN0IGxpIC5tYWlsOmJlZm9yZSwgI21haW4tZm9vdGVyIHVsLnF1aWNrLWxpc3QgYTphZnRlciwgLmdyaWQtZWxlbWVudHMgLmNlLXRleHQgLmJ1dHRvbjphZnRlciwgLnN1cHBvcnQ6YmVmb3JlLCAuY2FydDpiZWZvcmUsIC5zZWFyY2gtYnV0dG9uOmJlZm9yZSwgLm1lbnUtYnV0dG9uOmJlZm9yZSwgLmxvZ2luOmJlZm9yZSwgLmxhbmd1YWdlLXN3aXRjaCAuc2VsZWN0ZWQ6YmVmb3JlLCAubGFuZ3VhZ2Utc3dpdGNoIC5zZWxlY3RlZDphZnRlciwgLnByaW1hcnktbWVudSAuc3VibWVudS10b2dnbGUgc3BhbjphZnRlciwgLnByaW1hcnktbWVudSAuc3VibWVudS1tZW51IGE6aG92ZXI6YWZ0ZXIsIC5zZWNvbmRhcnktbWVudSBhOmFmdGVyLCAuc2Vjb25kYXJ5LW1lbnUgLnN1Ym1lbnUtb3BlbiA+IGE6YmVmb3JlLCAuZXZlbnQtaXRlbSBhIG1haW4gdWwgbGk6YmVmb3JlLCAuZ2FtZS1zZXJ2ZXItaXRlbSBhIG1haW4gdWwgbGk6YmVmb3JlLCAuaWNvbi1pdGVtIGg1OmFmdGVyLCAubmV3cy1pdGVtIGEgbWFpbiB1bCBsaTpiZWZvcmUsIC5zZXJ2aWNlLWl0ZW0gYSBtYWluIHVsIGxpOmJlZm9yZSwgLnN3aXBlci1idXR0b24tcHJldjpiZWZvcmUsIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsIC52YWNhbmN5LWl0ZW0gYSBtYWluIHVsIGxpOmJlZm9yZSwgLmluZm8td2luZG93X19saW5rOmJlZm9yZSwgLmluZm8td2luZG93X19jbG9zZTphZnRlciwgLmNlLXdvcmRtYXAtbGlzdCBsaSBhIHNwYW46YWZ0ZXIsIC5jZS1jb250ZW50LXNsaWRlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIsIC5jZS1sb2NhdGlvbnMtZ3JpZCAubG9jYXRpb24taXRlbSBtYWluIC5kZXNjcmlwdGlvbjpiZWZvcmUsIC5jZS1sb2NhdGlvbnMtZ3JpZCAubG9jYXRpb24taXRlbSBtYWluIC5jb250YWN0LWRldGFpbHMgbGk6YmVmb3JlLCAuY2UtbWFya2V0LXRyaWdnZXIgLm1vYmlsZSBhOmFmdGVyIHsgZm9udC1mYW1pbHk6ICdpY29tb29uJzsgZm9udC1zaXplOiAxcmVtOyBsaW5lLWhlaWdodDogMTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIgLnVpLWRhdGVwaWNrZXItcHJldjphZnRlciwgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItaGVhZGVyIC51aS1kYXRlcGlja2VyLW5leHQ6YWZ0ZXIsIC5tZnAtd2l6YXJkU2VsZWN0b3IgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2U6YWZ0ZXIsIC53eXNpd3lnIGJsb2NrcXVvdGU6YmVmb3JlLCAuYnRuLndpdGgtaWNvbjpiZWZvcmUsIC5idG4ud2l0aC1pY29uOmFmdGVyLCAuYnV0dG9uLndpdGgtaWNvbjpiZWZvcmUsIC5idXR0b24ud2l0aC1pY29uOmFmdGVyLCAuYnJlYWRjcnVtYiBhOmFmdGVyLCAjbWFpbi1mb290ZXIgdWwuY29udGFjdC1saXN0IGxpIC5tYWlsOmJlZm9yZSwgI21haW4tZm9vdGVyIHVsLnF1aWNrLWxpc3QgYTphZnRlciwgLmdyaWQtZWxlbWVudHMgLmNlLXRleHQgLmJ1dHRvbjphZnRlciwgLnN1cHBvcnQ6YmVmb3JlLCAuY2FydDpiZWZvcmUsIC5zZWFyY2gtYnV0dG9uOmJlZm9yZSwgLm1lbnUtYnV0dG9uOmJlZm9yZSwgLmxvZ2luOmJlZm9yZSwgLmxhbmd1YWdlLXN3aXRjaCAuc2VsZWN0ZWQ6YmVmb3JlLCAubGFuZ3VhZ2Utc3dpdGNoIC5zZWxlY3RlZDphZnRlciwgLnByaW1hcnktbWVudSAuc3VibWVudS10b2dnbGUgc3BhbjphZnRlciwgLnByaW1hcnktbWVudSAuc3VibWVudS1tZW51IGE6aG92ZXI6YWZ0ZXIsIC5zZWNvbmRhcnktbWVudSBhOmFmdGVyLCAuc2Vjb25kYXJ5LW1lbnUgLnN1Ym1lbnUtb3BlbiA+IGE6YmVmb3JlLCAuZXZlbnQtaXRlbSBhIG1haW4gdWwgbGk6YmVmb3JlLCAuZ2FtZS1zZXJ2ZXItaXRlbSBhIG1haW4gdWwgbGk6YmVmb3JlLCAuaWNvbi1pdGVtIGg1OmFmdGVyLCAubmV3cy1pdGVtIGEgbWFpbiB1bCBsaTpiZWZvcmUsIC5zZXJ2aWNlLWl0ZW0gYSBtYWluIHVsIGxpOmJlZm9yZSwgLnN3aXBlci1idXR0b24tcHJldjpiZWZvcmUsIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsIC52YWNhbmN5LWl0ZW0gYSBtYWluIHVsIGxpOmJlZm9yZSwgLmluZm8td2luZG93X19saW5rOmJlZm9yZSwgLmluZm8td2luZG93X19jbG9zZTphZnRlciwgLmNlLXdvcmRtYXAtbGlzdCBsaSBhIHNwYW46YWZ0ZXIsIC5jZS1jb250ZW50LXNsaWRlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIsIC5jZS1sb2NhdGlvbnMtZ3JpZCAubG9jYXRpb24taXRlbSBtYWluIC5kZXNjcmlwdGlvbjpiZWZvcmUsIC5jZS1sb2NhdGlvbnMtZ3JpZCAubG9jYXRpb24taXRlbSBtYWluIC5jb250YWN0LWRldGFpbHMgbGk6YmVmb3JlLCAuY2UtbWFya2V0LXRyaWdnZXIgLm1vYmlsZSBhOmFmdGVyIHsgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyBib2R5IHsgZm9udC1zaXplOiAxLjI1cmVtOyBsaW5lLWhlaWdodDogMnJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IHAgeyBsaW5lLWhlaWdodDogMnJlbTsgfSB9XG5cbmEgeyBjb2xvcjogaW5oZXJpdDsgfVxuXG5hOmhvdmVyLCBhOmZvY3VzIHsgY29sb3I6IGluaGVyaXQ7IH1cblxuLmludHJvLCAuZnJlcXVlbmN5LXByaWNlIGxhYmVsLCAjbWFpbi1mb290ZXIgdWwucXVpY2stbGlzdCBhLCAuaW50cm8gcCwgLmZyZXF1ZW5jeS1wcmljZSBsYWJlbCBwLCAjbWFpbi1mb290ZXIgdWwucXVpY2stbGlzdCBhIHAgeyBmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlIExUIFcwMV80MTQ4ODg3OCc7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLmludHJvLCAuZnJlcXVlbmN5LXByaWNlIGxhYmVsLCAjbWFpbi1mb290ZXIgdWwucXVpY2stbGlzdCBhLCAuaW50cm8gcCwgLmZyZXF1ZW5jeS1wcmljZSBsYWJlbCBwLCAjbWFpbi1mb290ZXIgdWwucXVpY2stbGlzdCBhIHAgeyBmb250LXNpemU6IDEuNjI1cmVtOyBsaW5lLWhlaWdodDogMi41cmVtOyB9IH1cblxuLmxpc3QtdGl0bGUsIC5wb3dlcm1haWxfZmllbGR3cmFwIC5wb3dlcm1haWxfbGFiZWwsIC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfdGV4dCwgLmxpc3QtdGl0bGUgcCwgLnBvd2VybWFpbF9maWVsZHdyYXAgLnBvd2VybWFpbF9sYWJlbCBwLCAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3RleHQgcCB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLmxpc3QtdGl0bGUsIC5wb3dlcm1haWxfZmllbGR3cmFwIC5wb3dlcm1haWxfbGFiZWwsIC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfdGV4dCwgLmxpc3QtdGl0bGUgcCwgLnBvd2VybWFpbF9maWVsZHdyYXAgLnBvd2VybWFpbF9sYWJlbCBwLCAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3RleHQgcCB7IGZvbnQtc2l6ZTogMC43NXJlbTsgbGluZS1oZWlnaHQ6IDFyZW07IH0gfVxuXG4uZnJlcXVlbmN5LXByaWNlIGxhYmVsIHsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uZnJlcXVlbmN5LXByaWNlIC5mcmVxdWVuY3kgeyBjb2xvcjogIzY1NjQ2NTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyBoMSwgLmZyZXF1ZW5jeS1wcmljZSAucHJpY2UgeyBmb250LXNpemU6IDQuNXJlbTsgbGluZS1oZWlnaHQ6IDUuMzc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgaDIgeyBmb250LXNpemU6IDMuNzVyZW07IGxpbmUtaGVpZ2h0OiA0Ljc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgaDMsIC5jZS1tYXJrZXQtdHJpZ2dlciAudGFicyAudGFicy10aXRsZSwgLmNlLW1hcmtldC10cmlnZ2VyIC5tb2JpbGUgYSB7IGZvbnQtc2l6ZTogMi41cmVtOyBsaW5lLWhlaWdodDogM3JlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IGg0LCAuZXZlbnQtaXRlbSBhIGZpZ3VyZSBmaWdjYXB0aW9uLCAuZ2FtZS1zZXJ2ZXItaXRlbSBhIGZpZ3VyZSBmaWdjYXB0aW9uLCAubmV3cy1pdGVtIGEgZmlndXJlIGZpZ2NhcHRpb24sIC5zZXJ2aWNlLWl0ZW0gYSBmaWd1cmUgZmlnY2FwdGlvbiwgLnZhY2FuY3ktaXRlbSBhIGZpZ3VyZSBmaWdjYXB0aW9uIHsgZm9udC1zaXplOiAycmVtOyBsaW5lLWhlaWdodDogMi41cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgaDUgeyBmb250LXNpemU6IDEuNjI1cmVtOyBsaW5lLWhlaWdodDogMi41cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgaDYgeyBmb250LXNpemU6IDEuNjI1cmVtOyBsaW5lLWhlaWdodDogMi41cmVtOyB9IH1cblxuLmxvbmctZmllbGQgeyBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgd2lkdGg6IDEwMCU7IH1cblxuOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG5pbnB1dFt0eXBlPXNlYXJjaF0geyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbmltZy5hbGlnbnJpZ2h0LCBhIGltZy5hbGlnbnJpZ2h0IHsgZmxvYXQ6IHJpZ2h0OyBtYXJnaW46IDAgMCAxZW0gMWVtOyB9XG5cbmltZy5hbGlnbmxlZnQsIGEgaW1nLmFsaWdubGVmdCB7IGZsb2F0OiBsZWZ0OyBtYXJnaW46IDAgMWVtIDFlbSAwOyB9XG5cbmltZy5hbGlnbmNlbnRlciwgYSBpbWcuYWxpZ25jZW50ZXIgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4ud3lzaXd5ZyBhOm5vdCguYnV0dG9uKSB7IGNvbG9yOiAjRDIyMzJBOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4ud3lzaXd5ZyBhOm5vdCguYnV0dG9uKTpob3ZlciB7IGNvbG9yOiAjRDIyMzJBOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnd5c2l3eWcgcCB7IG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLnd5c2l3eWcgcCB7IG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfSB9XG5cbi53eXNpd3lnIHVsLCAud3lzaXd5ZyBvbCB7IGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAud3lzaXd5ZyB1bCwgLnd5c2l3eWcgb2wgeyBtYXJnaW4tbGVmdDogMnJlbTsgfSB9XG5cbi53eXNpd3lnIHVsIGxpLCAud3lzaXd5ZyBvbCBsaSB7IHBhZGRpbmctbGVmdDogMS41cmVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnd5c2l3eWcgdWwgbGk6YmVmb3JlLCAud3lzaXd5ZyBvbCBsaTpiZWZvcmUgeyBsZWZ0OiAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLnd5c2l3eWcgdWwgbGk6YmVmb3JlIHsgYmFja2dyb3VuZC1jb2xvcjogIzIzMjIyMzsgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07IGNvbnRlbnQ6ICcnOyBoZWlnaHQ6IDAuNXJlbTsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDAuNTYyNXJlbTsgd2lkdGg6IDAuNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAud3lzaXd5ZyB1bCBsaTpiZWZvcmUgeyBoZWlnaHQ6IDAuNjI1cmVtOyB0b3A6IDAuNjg3NXJlbTsgd2lkdGg6IDAuNjI1cmVtOyB9IH1cblxuLnd5c2l3eWcgb2wgeyBjb3VudGVyLXJlc2V0OiBpdGVtOyB9XG5cbi53eXNpd3lnIG9sIGxpOmJlZm9yZSB7IGNvbnRlbnQ6IGNvdW50ZXIoaXRlbSk7IGNvdW50ZXItaW5jcmVtZW50OiBpdGVtOyB0b3A6IDA7IH1cblxuLnd5c2l3eWcgYmxvY2txdW90ZSB7IGJvcmRlcjogMDsgY29sb3I6ICMyMzIyMjM7IGZvbnQtc3R5bGU6IGl0YWxpYzsgbGluZS1oZWlnaHQ6IDE7IG1hcmdpbjogMXJlbSAwOyBwYWRkaW5nOiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC53eXNpd3lnIGJsb2NrcXVvdGUgeyBtYXJnaW46IDIuNXJlbSAwOyB9IH1cblxuLnd5c2l3eWcgYmxvY2txdW90ZTpiZWZvcmUgeyBjb2xvcjogI0QyMjMyQTsgY29udGVudDogXCLupJhcIjsgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogMi41cmVtOyBmb250LXN0eWxlOiBub3JtYWw7IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4ud3lzaXd5ZyBibG9ja3F1b3RlIHAsIC53eXNpd3lnIC53eXNpd3lnIGJsb2NrcXVvdGUgcCB7IGNvbG9yOiAjMjMyMjIzOyBkaXNwbGF5OiBpbmxpbmU7IGZvbnQtc2l6ZTogMnJlbTsgbGluZS1oZWlnaHQ6IDNyZW07IH1cblxuLnd5c2l3eWcgYmxvY2txdW90ZTpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ud3lzaXd5ZyA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxudGFibGUgdGJvZHkgeyBib3JkZXI6IDA7IH1cblxuLmZ1bGwtd2lkdGggeyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvOyBtYXgtd2lkdGg6IGluaXRpYWw7IHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5sYXJnZS1mbGV4IHsgZGlzcGxheTogZmxleDsgfVxuICAubGFyZ2UtZmxleCA+IC5jb2x1bW4sIC5sYXJnZS1mbGV4ID4gLmNvbHVtbnMgeyBmbG9hdDogbm9uZTsgfSB9XG5cbi5yb3cgeyBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAxNnB4KTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7IC5yb3cgeyBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAxNjhweCk7IH0gfVxuXG4ucm93LmV4cGFuZGVkIHsgd2lkdGg6IDEwMCU7IH1cblxuc3ZnIHsgaGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJTsgfVxuXG4uaWNvbiB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgaGVpZ2h0OiAxLjVyZW07IHdpZHRoOiAxLjVyZW07IH1cblxuLmljb24gc3ZnIHsgZmlsbDogIzIzMjIyMzsgZGlzcGxheTogYmxvY2s7IH1cblxudGV4dGFyZWEgeyByZXNpemU6IG5vbmU7IH1cblxuLnBvd2VybWFpbF9mb3JtIHsgbWFyZ2luOiAwIC0wLjVyZW07IH1cblxuLnBvd2VybWFpbF9maWVsZHdyYXAgeyBtYXJnaW4tYm90dG9tOiAxcmVtOyBwYWRkaW5nOiAwIDAuNXJlbTsgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMTAwJTsgfVxuXG4ucG93ZXJtYWlsX2ZpZWxkd3JhcC0xMDAgeyB3aWR0aDogMTAwJTsgfVxuXG4ucG93ZXJtYWlsX2ZpZWxkd3JhcC02NiB7IHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5wb3dlcm1haWxfZmllbGR3cmFwLTY2IHsgd2lkdGg6IGNhbGMoKDEwMCUgLyAzKSAqIDIpOyB9IH1cblxuLnBvd2VybWFpbF9maWVsZHdyYXAtNTAgeyB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAucG93ZXJtYWlsX2ZpZWxkd3JhcC01MCB7IHdpZHRoOiA1MCU7IH0gfVxuXG4ucG93ZXJtYWlsX2ZpZWxkd3JhcC0zMyB7IHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5wb3dlcm1haWxfZmllbGR3cmFwLTMzIHsgd2lkdGg6IGNhbGMoMTAwJSAvIDMpOyB9IH1cblxuLnBvd2VybWFpbF9maWVsZHdyYXAgLnBvd2VybWFpbF9sYWJlbCB7IHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7IGxlZnQ6IDJyZW07IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxcmVtOyB9XG5cbi5wb3dlcm1haWxfZmllbGR3cmFwIGlucHV0LCAucG93ZXJtYWlsX2ZpZWxkd3JhcCB0ZXh0YXJlYSwgLnBvd2VybWFpbF9maWVsZHdyYXAgc2VsZWN0IHsgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsgYm9yZGVyOiAwOyBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyBib3gtc2hhZG93OiAwIDAgOHB4IDAgcmdiYSgzNSwgMzQsIDM1LCAwLjEpOyBmb250LXNpemU6IDFyZW07IGhlaWdodDogNHJlbTsgcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gMCAxLjVyZW07IHdpZHRoOiAxMDAlOyBhcHBlYXJhbmNlOiBub25lOyB9XG5cbi5wb3dlcm1haWxfZmllbGR3cmFwIGlucHV0OmhvdmVyLCAucG93ZXJtYWlsX2ZpZWxkd3JhcCBpbnB1dDpmb2N1cywgLnBvd2VybWFpbF9maWVsZHdyYXAgdGV4dGFyZWE6aG92ZXIsIC5wb3dlcm1haWxfZmllbGR3cmFwIHRleHRhcmVhOmZvY3VzLCAucG93ZXJtYWlsX2ZpZWxkd3JhcCBzZWxlY3Q6aG92ZXIsIC5wb3dlcm1haWxfZmllbGR3cmFwIHNlbGVjdDpmb2N1cyB7IGJveC1zaGFkb3c6IDAgMCAxMnB4IDJweCByZ2JhKDM1LCAzNCwgMzUsIDAuMSk7IH1cblxuLnBvd2VybWFpbF9maWVsZHdyYXAgdGV4dGFyZWEgeyBoZWlnaHQ6IDEyLjVyZW07IHBhZGRpbmc6IDJyZW0gMS41cmVtIDEuNXJlbTsgfVxuXG4ucG93ZXJtYWlsX2ZpZWxkd3JhcCAucmFkaW8gbGFiZWwsIC5wb3dlcm1haWxfZmllbGR3cmFwIC5jaGVja2JveCBsYWJlbCB7IGN1cnNvcjogcG9pbnRlcjsgZGlzcGxheTogYmxvY2s7IGxpbmUtaGVpZ2h0OiAycmVtOyBtYXJnaW4tYm90dG9tOiAxcmVtOyBwYWRkaW5nLWxlZnQ6IDIuNXJlbTsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5wb3dlcm1haWxfZmllbGR3cmFwIC5yYWRpbzpsYXN0LWNoaWxkIGxhYmVsLCAucG93ZXJtYWlsX2ZpZWxkd3JhcCAuY2hlY2tib3g6bGFzdC1jaGlsZCBsYWJlbCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnBvd2VybWFpbF9maWVsZHdyYXAgLnJhZGlvIGlucHV0LCAucG93ZXJtYWlsX2ZpZWxkd3JhcCAuY2hlY2tib3ggaW5wdXQgeyBkaXNwbGF5OiBub25lOyB9XG5cbi5wb3dlcm1haWxfZmllbGR3cmFwIC5yYWRpbyBpbnB1dDpjaGVja2VkIH4gc3BhbjphZnRlciwgLnBvd2VybWFpbF9maWVsZHdyYXAgLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBzcGFuOmFmdGVyIHsgb3BhY2l0eTogMTsgfVxuXG4ucG93ZXJtYWlsX2ZpZWxkd3JhcCAucmFkaW8gc3BhbiwgLnBvd2VybWFpbF9maWVsZHdyYXAgLmNoZWNrYm94IHNwYW4geyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOyBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMjMyMjIzOyBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgaGVpZ2h0OiAxLjVyZW07IGxlZnQ6IDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwLjI1cmVtOyB3aWR0aDogMS41cmVtOyB9XG5cbi5wb3dlcm1haWxfZmllbGR3cmFwIC5yYWRpbyBzcGFuOmFmdGVyLCAucG93ZXJtYWlsX2ZpZWxkd3JhcCAuY2hlY2tib3ggc3BhbjphZnRlciB7IGJhY2tncm91bmQtY29sb3I6ICMyMzIyMjM7IGJvcmRlcjogMDsgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07IGNvbnRlbnQ6ICcnOyBoZWlnaHQ6IDEuMTI1cmVtOyBsZWZ0OiAwLjEyNXJlbTsgb3BhY2l0eTogMDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDAuMTI1cmVtOyB3aWR0aDogMS4xMjVyZW07IH1cblxuLnBvd2VybWFpbF9maWVsZHdyYXAgLnJhZGlvIHNwYW4geyBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLnBvd2VybWFpbF9maWVsZHdyYXAgLnJhZGlvIHNwYW46YWZ0ZXIgeyBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLnBvd2VybWFpbF9maWVsZHdyYXBfdHlwZV90ZXh0IHsgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5wb3dlcm1haWxfZmllbGR3cmFwLnBvd2VybWFpbF9maWVsZHdyYXBfdHlwZV9maWxlIGxhYmVsIHsgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI0Y3RjdGNzsgYm9yZGVyLXJhZGl1czogMC42MjVyZW07IGJveC1zaGFkb3c6IDAgMCA4cHggMCByZ2JhKDM1LCAzNCwgMzUsIDAuMSk7IGN1cnNvcjogcG9pbnRlcjsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDFyZW07IGhlaWdodDogMi41cmVtOyBsaW5lLWhlaWdodDogMi41cmVtOyBwYWRkaW5nOiAwIDAuNzVyZW07IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucG93ZXJtYWlsX2ZpZWxkd3JhcC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfZmlsZSBsYWJlbDpob3ZlciB7IGJveC1zaGFkb3c6IDAgMCAxMnB4IDJweCByZ2JhKDM1LCAzNCwgMzUsIDAuMSk7IH1cblxuLnBvd2VybWFpbF9maWVsZHdyYXAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX2ZpbGUgLmZpbGVuYW1lIHsgY29sb3I6ICMyMzIyMjM7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxcmVtOyBsaW5lLWhlaWdodDogMi41cmVtOyBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4ucG93ZXJtYWlsX2ZpZWxkd3JhcC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfZmlsZSBpbnB1dCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLnBvd2VybWFpbF9maWVsZHdyYXAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX2ZpbGUgLnBvd2VybWFpbF9sYWJlbCwgLnBvd2VybWFpbF9maWVsZHdyYXAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3JhZGlvIC5wb3dlcm1haWxfbGFiZWwsIC5wb3dlcm1haWxfZmllbGR3cmFwLnBvd2VybWFpbF9maWVsZHdyYXBfdHlwZV9jaGVjayAucG93ZXJtYWlsX2xhYmVsIHsgZGlzcGxheTogbm9uZTsgfVxuXG4ucG93ZXJtYWlsX2ZpZWxkd3JhcC5pcy1hY3RpdmUgLnBvd2VybWFpbF9sYWJlbCwgLnBvd2VybWFpbF9maWVsZHdyYXAuaXMtY29tcGxldGVkIC5wb3dlcm1haWxfbGFiZWwsIC5wb3dlcm1haWxfZmllbGR3cmFwLnBvd2VybWFpbF9maWVsZHdyYXBfdHlwZV9zZWxlY3QgLnBvd2VybWFpbF9sYWJlbCB7IHRvcDogMC43NXJlbTsgfVxuXG4ucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiAucG93ZXJtYWlsX2FsbF9sYWJlbCB7IG1pbi13aWR0aDogMTUuNjI1cmVtOyB9XG5cbi5wb3dlcm1haWxfY29uZmlybWF0aW9uIGZvcm0gLmJ1dHRvbiB7IGZsb2F0OiBsZWZ0OyBtYXJnaW4tdG9wOiAycmVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnBvd2VybWFpbF9jb25maXJtYXRpb24gZm9ybSAuc3VibWl0IHsgbWFyZ2luLWxlZnQ6IDJyZW07IH1cblxuLnBvd2VybWFpbF9tZXNzYWdlIHsgbGlzdC1zdHlsZS10eXBlOiBub25lOyBwYWRkaW5nOiAzMnB4OyB3aWR0aDogNTAlOyB9XG5cbi5wb3dlcm1haWxfbWVzc2FnZV9lcnJvciB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjEwLCAzNSwgNDIsIDAuMyk7IGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNEMjIzMkE7IH1cblxuLnBvd2VybWFpbF9tZXNzYWdlX29rIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMiwgMTYwLCA2MiwgMC4zKTsgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzBjYTAzZTsgfVxuXG4uYnRuLCAuYnV0dG9uIHsgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjsgYmFja2dyb3VuZC1jb2xvcjogI0QyMjMyQTsgYm9yZGVyOiAwOyBib3JkZXItcmFkaXVzOiAwLjVyZW07IGNvbG9yOiAjRkZGOyBjdXJzb3I6IHBvaW50ZXI7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAwLjc1cmVtOyBwYWRkaW5nOiAwLjc1cmVtIDFyZW07IHBvc2l0aW9uOiByZWxhdGl2ZTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuYnRuLCAuYnV0dG9uIHsgZm9udC1zaXplOiAxLjI1cmVtOyBwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTsgfSB9XG5cbi5idG46Zm9jdXMsIC5idG46aG92ZXIsIC5idXR0b246Zm9jdXMsIC5idXR0b246aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjOTUxMTE0OyBjb2xvcjogI0ZGRjsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5idG4ud2l0aC1pY29uOmJlZm9yZSwgLmJ0bi53aXRoLWljb246YWZ0ZXIsIC5idXR0b24ud2l0aC1pY29uOmJlZm9yZSwgLmJ1dHRvbi53aXRoLWljb246YWZ0ZXIgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAwLjEyNXJlbTsgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5idG4ud2l0aC1pY29uOmJlZm9yZSwgLmJ0bi53aXRoLWljb246YWZ0ZXIsIC5idXR0b24ud2l0aC1pY29uOmJlZm9yZSwgLmJ1dHRvbi53aXRoLWljb246YWZ0ZXIgeyBmb250LXNpemU6IDEuNXJlbTsgfSB9XG5cbi5idG4ud2l0aC1pY29uLmljb24tbGVmdDpiZWZvcmUsIC5idXR0b24ud2l0aC1pY29uLmljb24tbGVmdDpiZWZvcmUgeyBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4uYnRuLndpdGgtaWNvbi5pY29uLWxlZnQuYXJyb3ctcmlnaHQ6YmVmb3JlLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLWxlZnQuYXJyb3ctcmlnaHQ6YmVmb3JlIHsgY29udGVudDogXCLupJJcIjsgfVxuXG4uYnRuLndpdGgtaWNvbi5pY29uLWxlZnQuYXJyb3ctcmlnaHQtbG9uZzpiZWZvcmUsIC5idXR0b24ud2l0aC1pY29uLmljb24tbGVmdC5hcnJvdy1yaWdodC1sb25nOmJlZm9yZSB7IGNvbnRlbnQ6IFwi7qSMXCI7IH1cblxuLmJ0bi53aXRoLWljb24uaWNvbi1sZWZ0LmNhcnQ6YmVmb3JlLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLWxlZnQuY2FydDpiZWZvcmUgeyBjb250ZW50OiBcIu6kkVwiOyB9XG5cbi5idG4ud2l0aC1pY29uLmljb24tbGVmdC5jaGVjazpiZWZvcmUsIC5idXR0b24ud2l0aC1pY29uLmljb24tbGVmdC5jaGVjazpiZWZvcmUgeyBjb250ZW50OiBcIu6kkFwiOyB9XG5cbi5idG4ud2l0aC1pY29uLmljb24tbGVmdC5jaGV2cm9uLWRvd246YmVmb3JlLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLWxlZnQuY2hldnJvbi1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwi7qSUXCI7IH1cblxuLmJ0bi53aXRoLWljb24uaWNvbi1sZWZ0LmNoZXZyb24tbGVmdDpiZWZvcmUsIC5idXR0b24ud2l0aC1pY29uLmljb24tbGVmdC5jaGV2cm9uLWxlZnQ6YmVmb3JlIHsgY29udGVudDogXCLupJNcIjsgfVxuXG4uYnRuLndpdGgtaWNvbi5pY29uLWxlZnQuY2hldnJvbi1sZWZ0LXJpZ2h0OmJlZm9yZSwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1sZWZ0LmNoZXZyb24tbGVmdC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIu6kj1wiOyB9XG5cbi5idG4ud2l0aC1pY29uLmljb24tbGVmdC5jaGV2cm9uLXJpZ2h0OmJlZm9yZSwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1sZWZ0LmNoZXZyb24tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogXCLupI5cIjsgfVxuXG4uYnRuLndpdGgtaWNvbi5pY29uLWxlZnQuY2hldnJvbi11cDpiZWZvcmUsIC5idXR0b24ud2l0aC1pY29uLmljb24tbGVmdC5jaGV2cm9uLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwi7qSVXCI7IH1cblxuLmJ0bi53aXRoLWljb24uaWNvbi1sZWZ0LmNsb2NrOmJlZm9yZSwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1sZWZ0LmNsb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IFwi7qSNXCI7IH1cblxuLmJ0bi53aXRoLWljb24uaWNvbi1sZWZ0LmNsb3NlOmJlZm9yZSwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1sZWZ0LmNsb3NlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi7qSLXCI7IH1cblxuLmJ0bi53aXRoLWljb24uaWNvbi1sZWZ0LmRvdDpiZWZvcmUsIC5idXR0b24ud2l0aC1pY29uLmljb24tbGVmdC5kb3Q6YmVmb3JlIHsgY29udGVudDogXCLupIpcIjsgfVxuXG4uYnRuLndpdGgtaWNvbi5pY29uLWxlZnQuaW5mbzpiZWZvcmUsIC5idXR0b24ud2l0aC1pY29uLmljb24tbGVmdC5pbmZvOmJlZm9yZSB7IGNvbnRlbnQ6IFwi7qSJXCI7IH1cblxuLmJ0bi53aXRoLWljb24uaWNvbi1sZWZ0LmxvZ2luOmJlZm9yZSwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1sZWZ0LmxvZ2luOmJlZm9yZSB7IGNvbnRlbnQ6IFwi7qSIXCI7IH1cblxuLmJ0bi53aXRoLWljb24uaWNvbi1sZWZ0Lm1haWw6YmVmb3JlLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLWxlZnQubWFpbDpiZWZvcmUgeyBjb250ZW50OiBcIu6kh1wiOyB9XG5cbi5idG4ud2l0aC1pY29uLmljb24tbGVmdC5tYXJrZXI6YmVmb3JlLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLWxlZnQubWFya2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwi7qSGXCI7IH1cblxuLmJ0bi53aXRoLWljb24uaWNvbi1sZWZ0Lm1lbnU6YmVmb3JlLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLWxlZnQubWVudTpiZWZvcmUgeyBjb250ZW50OiBcIu6khVwiOyB9XG5cbi5idG4ud2l0aC1pY29uLmljb24tbGVmdC5waG9uZTpiZWZvcmUsIC5idXR0b24ud2l0aC1pY29uLmljb24tbGVmdC5waG9uZTpiZWZvcmUgeyBjb250ZW50OiBcIu6khFwiOyB9XG5cbi5idG4ud2l0aC1pY29uLmljb24tbGVmdC5wbHVzOmJlZm9yZSwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1sZWZ0LnBsdXM6YmVmb3JlIHsgY29udGVudDogXCLupINcIjsgfVxuXG4uYnRuLndpdGgtaWNvbi5pY29uLWxlZnQucXVvdGU6YmVmb3JlLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLWxlZnQucXVvdGU6YmVmb3JlIHsgY29udGVudDogXCLupJhcIjsgfVxuXG4uYnRuLndpdGgtaWNvbi5pY29uLWxlZnQuc2VhcmNoOmJlZm9yZSwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1sZWZ0LnNlYXJjaDpiZWZvcmUgeyBjb250ZW50OiBcIu6kglwiOyB9XG5cbi5idG4ud2l0aC1pY29uLmljb24tbGVmdC5zdXBwb3J0OmJlZm9yZSwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1sZWZ0LnN1cHBvcnQ6YmVmb3JlIHsgY29udGVudDogXCLupJlcIjsgfVxuXG4uYnRuLndpdGgtaWNvbi5pY29uLWxlZnQudGFnOmJlZm9yZSwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1sZWZ0LnRhZzpiZWZvcmUgeyBjb250ZW50OiBcIu6kgVwiOyB9XG5cbi5idG4ud2l0aC1pY29uLmljb24tbGVmdC53b3JsZDpiZWZvcmUsIC5idXR0b24ud2l0aC1pY29uLmljb24tbGVmdC53b3JsZDpiZWZvcmUgeyBjb250ZW50OiBcIu6kgFwiOyB9XG5cbi5idG4ud2l0aC1pY29uLmljb24tcmlnaHQ6YWZ0ZXIsIC5idXR0b24ud2l0aC1pY29uLmljb24tcmlnaHQ6YWZ0ZXIgeyBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG5cbi5idG4ud2l0aC1pY29uLmljb24tcmlnaHQuYXJyb3ctcmlnaHQ6YWZ0ZXIsIC5idXR0b24ud2l0aC1pY29uLmljb24tcmlnaHQuYXJyb3ctcmlnaHQ6YWZ0ZXIgeyBjb250ZW50OiBcIu6kklwiOyB9XG5cbi5idG4ud2l0aC1pY29uLmljb24tcmlnaHQuYXJyb3ctcmlnaHQtbG9uZzphZnRlciwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1yaWdodC5hcnJvdy1yaWdodC1sb25nOmFmdGVyIHsgY29udGVudDogXCLupIxcIjsgfVxuXG4uYnRuLndpdGgtaWNvbi5pY29uLXJpZ2h0LmNhcnQ6YWZ0ZXIsIC5idXR0b24ud2l0aC1pY29uLmljb24tcmlnaHQuY2FydDphZnRlciB7IGNvbnRlbnQ6IFwi7qSRXCI7IH1cblxuLmJ0bi53aXRoLWljb24uaWNvbi1yaWdodC5jaGVjazphZnRlciwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1yaWdodC5jaGVjazphZnRlciB7IGNvbnRlbnQ6IFwi7qSQXCI7IH1cblxuLmJ0bi53aXRoLWljb24uaWNvbi1yaWdodC5jaGV2cm9uLWRvd246YWZ0ZXIsIC5idXR0b24ud2l0aC1pY29uLmljb24tcmlnaHQuY2hldnJvbi1kb3duOmFmdGVyIHsgY29udGVudDogXCLupJRcIjsgfVxuXG4uYnRuLndpdGgtaWNvbi5pY29uLXJpZ2h0LmNoZXZyb24tbGVmdDphZnRlciwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1yaWdodC5jaGV2cm9uLWxlZnQ6YWZ0ZXIgeyBjb250ZW50OiBcIu6kk1wiOyB9XG5cbi5idG4ud2l0aC1pY29uLmljb24tcmlnaHQuY2hldnJvbi1sZWZ0LXJpZ2h0OmFmdGVyLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLXJpZ2h0LmNoZXZyb24tbGVmdC1yaWdodDphZnRlciB7IGNvbnRlbnQ6IFwi7qSPXCI7IH1cblxuLmJ0bi53aXRoLWljb24uaWNvbi1yaWdodC5jaGV2cm9uLXJpZ2h0OmFmdGVyLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLXJpZ2h0LmNoZXZyb24tcmlnaHQ6YWZ0ZXIgeyBjb250ZW50OiBcIu6kjlwiOyB9XG5cbi5idG4ud2l0aC1pY29uLmljb24tcmlnaHQuY2hldnJvbi11cDphZnRlciwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1yaWdodC5jaGV2cm9uLXVwOmFmdGVyIHsgY29udGVudDogXCLupJVcIjsgfVxuXG4uYnRuLndpdGgtaWNvbi5pY29uLXJpZ2h0LmNsb2NrOmFmdGVyLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLXJpZ2h0LmNsb2NrOmFmdGVyIHsgY29udGVudDogXCLupI1cIjsgfVxuXG4uYnRuLndpdGgtaWNvbi5pY29uLXJpZ2h0LmNsb3NlOmFmdGVyLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLXJpZ2h0LmNsb3NlOmFmdGVyIHsgY29udGVudDogXCLupItcIjsgfVxuXG4uYnRuLndpdGgtaWNvbi5pY29uLXJpZ2h0LmRvdDphZnRlciwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1yaWdodC5kb3Q6YWZ0ZXIgeyBjb250ZW50OiBcIu6kilwiOyB9XG5cbi5idG4ud2l0aC1pY29uLmljb24tcmlnaHQuaW5mbzphZnRlciwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1yaWdodC5pbmZvOmFmdGVyIHsgY29udGVudDogXCLupIlcIjsgfVxuXG4uYnRuLndpdGgtaWNvbi5pY29uLXJpZ2h0LmxvZ2luOmFmdGVyLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLXJpZ2h0LmxvZ2luOmFmdGVyIHsgY29udGVudDogXCLupIhcIjsgfVxuXG4uYnRuLndpdGgtaWNvbi5pY29uLXJpZ2h0Lm1haWw6YWZ0ZXIsIC5idXR0b24ud2l0aC1pY29uLmljb24tcmlnaHQubWFpbDphZnRlciB7IGNvbnRlbnQ6IFwi7qSHXCI7IH1cblxuLmJ0bi53aXRoLWljb24uaWNvbi1yaWdodC5tYXJrZXI6YWZ0ZXIsIC5idXR0b24ud2l0aC1pY29uLmljb24tcmlnaHQubWFya2VyOmFmdGVyIHsgY29udGVudDogXCLupIZcIjsgfVxuXG4uYnRuLndpdGgtaWNvbi5pY29uLXJpZ2h0Lm1lbnU6YWZ0ZXIsIC5idXR0b24ud2l0aC1pY29uLmljb24tcmlnaHQubWVudTphZnRlciB7IGNvbnRlbnQ6IFwi7qSFXCI7IH1cblxuLmJ0bi53aXRoLWljb24uaWNvbi1yaWdodC5waG9uZTphZnRlciwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1yaWdodC5waG9uZTphZnRlciB7IGNvbnRlbnQ6IFwi7qSEXCI7IH1cblxuLmJ0bi53aXRoLWljb24uaWNvbi1yaWdodC5wbHVzOmFmdGVyLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLXJpZ2h0LnBsdXM6YWZ0ZXIgeyBjb250ZW50OiBcIu6kg1wiOyB9XG5cbi5idG4ud2l0aC1pY29uLmljb24tcmlnaHQucXVvdGU6YWZ0ZXIsIC5idXR0b24ud2l0aC1pY29uLmljb24tcmlnaHQucXVvdGU6YWZ0ZXIgeyBjb250ZW50OiBcIu6kmFwiOyB9XG5cbi5idG4ud2l0aC1pY29uLmljb24tcmlnaHQuc2VhcmNoOmFmdGVyLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLXJpZ2h0LnNlYXJjaDphZnRlciB7IGNvbnRlbnQ6IFwi7qSCXCI7IH1cblxuLmJ0bi53aXRoLWljb24uaWNvbi1yaWdodC5zdXBwb3J0OmFmdGVyLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLXJpZ2h0LnN1cHBvcnQ6YWZ0ZXIgeyBjb250ZW50OiBcIu6kmVwiOyB9XG5cbi5idG4ud2l0aC1pY29uLmljb24tcmlnaHQudGFnOmFmdGVyLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLXJpZ2h0LnRhZzphZnRlciB7IGNvbnRlbnQ6IFwi7qSBXCI7IH1cblxuLmJ0bi53aXRoLWljb24uaWNvbi1yaWdodC53b3JsZDphZnRlciwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1yaWdodC53b3JsZDphZnRlciB7IGNvbnRlbnQ6IFwi7qSAXCI7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLmJ0bi53aXRoLWljb24uaWNvbi1sZWZ0OmJlZm9yZSwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1sZWZ0OmJlZm9yZSB7IG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAuYnRuLndpdGgtaWNvbi5pY29uLWxlZnQuYXJyb3ctcmlnaHQ6YmVmb3JlLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLWxlZnQuYXJyb3ctcmlnaHQ6YmVmb3JlIHsgY29udGVudDogXCLupJJcIjsgfVxuICAuYnRuLndpdGgtaWNvbi5pY29uLWxlZnQuYXJyb3ctcmlnaHQtbG9uZzpiZWZvcmUsIC5idXR0b24ud2l0aC1pY29uLmljb24tbGVmdC5hcnJvdy1yaWdodC1sb25nOmJlZm9yZSB7IGNvbnRlbnQ6IFwi7qSMXCI7IH1cbiAgLmJ0bi53aXRoLWljb24uaWNvbi1sZWZ0LmNhcnQ6YmVmb3JlLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLWxlZnQuY2FydDpiZWZvcmUgeyBjb250ZW50OiBcIu6kkVwiOyB9XG4gIC5idG4ud2l0aC1pY29uLmljb24tbGVmdC5jaGVjazpiZWZvcmUsIC5idXR0b24ud2l0aC1pY29uLmljb24tbGVmdC5jaGVjazpiZWZvcmUgeyBjb250ZW50OiBcIu6kkFwiOyB9XG4gIC5idG4ud2l0aC1pY29uLmljb24tbGVmdC5jaGV2cm9uLWRvd246YmVmb3JlLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLWxlZnQuY2hldnJvbi1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwi7qSUXCI7IH1cbiAgLmJ0bi53aXRoLWljb24uaWNvbi1sZWZ0LmNoZXZyb24tbGVmdDpiZWZvcmUsIC5idXR0b24ud2l0aC1pY29uLmljb24tbGVmdC5jaGV2cm9uLWxlZnQ6YmVmb3JlIHsgY29udGVudDogXCLupJNcIjsgfVxuICAuYnRuLndpdGgtaWNvbi5pY29uLWxlZnQuY2hldnJvbi1sZWZ0LXJpZ2h0OmJlZm9yZSwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1sZWZ0LmNoZXZyb24tbGVmdC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIu6kj1wiOyB9XG4gIC5idG4ud2l0aC1pY29uLmljb24tbGVmdC5jaGV2cm9uLXJpZ2h0OmJlZm9yZSwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1sZWZ0LmNoZXZyb24tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogXCLupI5cIjsgfVxuICAuYnRuLndpdGgtaWNvbi5pY29uLWxlZnQuY2hldnJvbi11cDpiZWZvcmUsIC5idXR0b24ud2l0aC1pY29uLmljb24tbGVmdC5jaGV2cm9uLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwi7qSVXCI7IH1cbiAgLmJ0bi53aXRoLWljb24uaWNvbi1sZWZ0LmNsb2NrOmJlZm9yZSwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1sZWZ0LmNsb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IFwi7qSNXCI7IH1cbiAgLmJ0bi53aXRoLWljb24uaWNvbi1sZWZ0LmNsb3NlOmJlZm9yZSwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1sZWZ0LmNsb3NlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi7qSLXCI7IH1cbiAgLmJ0bi53aXRoLWljb24uaWNvbi1sZWZ0LmRvdDpiZWZvcmUsIC5idXR0b24ud2l0aC1pY29uLmljb24tbGVmdC5kb3Q6YmVmb3JlIHsgY29udGVudDogXCLupIpcIjsgfVxuICAuYnRuLndpdGgtaWNvbi5pY29uLWxlZnQuaW5mbzpiZWZvcmUsIC5idXR0b24ud2l0aC1pY29uLmljb24tbGVmdC5pbmZvOmJlZm9yZSB7IGNvbnRlbnQ6IFwi7qSJXCI7IH1cbiAgLmJ0bi53aXRoLWljb24uaWNvbi1sZWZ0LmxvZ2luOmJlZm9yZSwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1sZWZ0LmxvZ2luOmJlZm9yZSB7IGNvbnRlbnQ6IFwi7qSIXCI7IH1cbiAgLmJ0bi53aXRoLWljb24uaWNvbi1sZWZ0Lm1haWw6YmVmb3JlLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLWxlZnQubWFpbDpiZWZvcmUgeyBjb250ZW50OiBcIu6kh1wiOyB9XG4gIC5idG4ud2l0aC1pY29uLmljb24tbGVmdC5tYXJrZXI6YmVmb3JlLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLWxlZnQubWFya2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwi7qSGXCI7IH1cbiAgLmJ0bi53aXRoLWljb24uaWNvbi1sZWZ0Lm1lbnU6YmVmb3JlLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLWxlZnQubWVudTpiZWZvcmUgeyBjb250ZW50OiBcIu6khVwiOyB9XG4gIC5idG4ud2l0aC1pY29uLmljb24tbGVmdC5waG9uZTpiZWZvcmUsIC5idXR0b24ud2l0aC1pY29uLmljb24tbGVmdC5waG9uZTpiZWZvcmUgeyBjb250ZW50OiBcIu6khFwiOyB9XG4gIC5idG4ud2l0aC1pY29uLmljb24tbGVmdC5wbHVzOmJlZm9yZSwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1sZWZ0LnBsdXM6YmVmb3JlIHsgY29udGVudDogXCLupINcIjsgfVxuICAuYnRuLndpdGgtaWNvbi5pY29uLWxlZnQucXVvdGU6YmVmb3JlLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLWxlZnQucXVvdGU6YmVmb3JlIHsgY29udGVudDogXCLupJhcIjsgfVxuICAuYnRuLndpdGgtaWNvbi5pY29uLWxlZnQuc2VhcmNoOmJlZm9yZSwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1sZWZ0LnNlYXJjaDpiZWZvcmUgeyBjb250ZW50OiBcIu6kglwiOyB9XG4gIC5idG4ud2l0aC1pY29uLmljb24tbGVmdC5zdXBwb3J0OmJlZm9yZSwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1sZWZ0LnN1cHBvcnQ6YmVmb3JlIHsgY29udGVudDogXCLupJlcIjsgfVxuICAuYnRuLndpdGgtaWNvbi5pY29uLWxlZnQudGFnOmJlZm9yZSwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1sZWZ0LnRhZzpiZWZvcmUgeyBjb250ZW50OiBcIu6kgVwiOyB9XG4gIC5idG4ud2l0aC1pY29uLmljb24tbGVmdC53b3JsZDpiZWZvcmUsIC5idXR0b24ud2l0aC1pY29uLmljb24tbGVmdC53b3JsZDpiZWZvcmUgeyBjb250ZW50OiBcIu6kgFwiOyB9XG4gIC5idG4ud2l0aC1pY29uLmljb24tcmlnaHQ6YWZ0ZXIsIC5idXR0b24ud2l0aC1pY29uLmljb24tcmlnaHQ6YWZ0ZXIgeyBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAuYnRuLndpdGgtaWNvbi5pY29uLXJpZ2h0LmFycm93LXJpZ2h0OmFmdGVyLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLXJpZ2h0LmFycm93LXJpZ2h0OmFmdGVyIHsgY29udGVudDogXCLupJJcIjsgfVxuICAuYnRuLndpdGgtaWNvbi5pY29uLXJpZ2h0LmFycm93LXJpZ2h0LWxvbmc6YWZ0ZXIsIC5idXR0b24ud2l0aC1pY29uLmljb24tcmlnaHQuYXJyb3ctcmlnaHQtbG9uZzphZnRlciB7IGNvbnRlbnQ6IFwi7qSMXCI7IH1cbiAgLmJ0bi53aXRoLWljb24uaWNvbi1yaWdodC5jYXJ0OmFmdGVyLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLXJpZ2h0LmNhcnQ6YWZ0ZXIgeyBjb250ZW50OiBcIu6kkVwiOyB9XG4gIC5idG4ud2l0aC1pY29uLmljb24tcmlnaHQuY2hlY2s6YWZ0ZXIsIC5idXR0b24ud2l0aC1pY29uLmljb24tcmlnaHQuY2hlY2s6YWZ0ZXIgeyBjb250ZW50OiBcIu6kkFwiOyB9XG4gIC5idG4ud2l0aC1pY29uLmljb24tcmlnaHQuY2hldnJvbi1kb3duOmFmdGVyLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLXJpZ2h0LmNoZXZyb24tZG93bjphZnRlciB7IGNvbnRlbnQ6IFwi7qSUXCI7IH1cbiAgLmJ0bi53aXRoLWljb24uaWNvbi1yaWdodC5jaGV2cm9uLWxlZnQ6YWZ0ZXIsIC5idXR0b24ud2l0aC1pY29uLmljb24tcmlnaHQuY2hldnJvbi1sZWZ0OmFmdGVyIHsgY29udGVudDogXCLupJNcIjsgfVxuICAuYnRuLndpdGgtaWNvbi5pY29uLXJpZ2h0LmNoZXZyb24tbGVmdC1yaWdodDphZnRlciwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1yaWdodC5jaGV2cm9uLWxlZnQtcmlnaHQ6YWZ0ZXIgeyBjb250ZW50OiBcIu6kj1wiOyB9XG4gIC5idG4ud2l0aC1pY29uLmljb24tcmlnaHQuY2hldnJvbi1yaWdodDphZnRlciwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1yaWdodC5jaGV2cm9uLXJpZ2h0OmFmdGVyIHsgY29udGVudDogXCLupI5cIjsgfVxuICAuYnRuLndpdGgtaWNvbi5pY29uLXJpZ2h0LmNoZXZyb24tdXA6YWZ0ZXIsIC5idXR0b24ud2l0aC1pY29uLmljb24tcmlnaHQuY2hldnJvbi11cDphZnRlciB7IGNvbnRlbnQ6IFwi7qSVXCI7IH1cbiAgLmJ0bi53aXRoLWljb24uaWNvbi1yaWdodC5jbG9jazphZnRlciwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1yaWdodC5jbG9jazphZnRlciB7IGNvbnRlbnQ6IFwi7qSNXCI7IH1cbiAgLmJ0bi53aXRoLWljb24uaWNvbi1yaWdodC5jbG9zZTphZnRlciwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1yaWdodC5jbG9zZTphZnRlciB7IGNvbnRlbnQ6IFwi7qSLXCI7IH1cbiAgLmJ0bi53aXRoLWljb24uaWNvbi1yaWdodC5kb3Q6YWZ0ZXIsIC5idXR0b24ud2l0aC1pY29uLmljb24tcmlnaHQuZG90OmFmdGVyIHsgY29udGVudDogXCLupIpcIjsgfVxuICAuYnRuLndpdGgtaWNvbi5pY29uLXJpZ2h0LmluZm86YWZ0ZXIsIC5idXR0b24ud2l0aC1pY29uLmljb24tcmlnaHQuaW5mbzphZnRlciB7IGNvbnRlbnQ6IFwi7qSJXCI7IH1cbiAgLmJ0bi53aXRoLWljb24uaWNvbi1yaWdodC5sb2dpbjphZnRlciwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1yaWdodC5sb2dpbjphZnRlciB7IGNvbnRlbnQ6IFwi7qSIXCI7IH1cbiAgLmJ0bi53aXRoLWljb24uaWNvbi1yaWdodC5tYWlsOmFmdGVyLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLXJpZ2h0Lm1haWw6YWZ0ZXIgeyBjb250ZW50OiBcIu6kh1wiOyB9XG4gIC5idG4ud2l0aC1pY29uLmljb24tcmlnaHQubWFya2VyOmFmdGVyLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLXJpZ2h0Lm1hcmtlcjphZnRlciB7IGNvbnRlbnQ6IFwi7qSGXCI7IH1cbiAgLmJ0bi53aXRoLWljb24uaWNvbi1yaWdodC5tZW51OmFmdGVyLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLXJpZ2h0Lm1lbnU6YWZ0ZXIgeyBjb250ZW50OiBcIu6khVwiOyB9XG4gIC5idG4ud2l0aC1pY29uLmljb24tcmlnaHQucGhvbmU6YWZ0ZXIsIC5idXR0b24ud2l0aC1pY29uLmljb24tcmlnaHQucGhvbmU6YWZ0ZXIgeyBjb250ZW50OiBcIu6khFwiOyB9XG4gIC5idG4ud2l0aC1pY29uLmljb24tcmlnaHQucGx1czphZnRlciwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1yaWdodC5wbHVzOmFmdGVyIHsgY29udGVudDogXCLupINcIjsgfVxuICAuYnRuLndpdGgtaWNvbi5pY29uLXJpZ2h0LnF1b3RlOmFmdGVyLCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLXJpZ2h0LnF1b3RlOmFmdGVyIHsgY29udGVudDogXCLupJhcIjsgfVxuICAuYnRuLndpdGgtaWNvbi5pY29uLXJpZ2h0LnNlYXJjaDphZnRlciwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1yaWdodC5zZWFyY2g6YWZ0ZXIgeyBjb250ZW50OiBcIu6kglwiOyB9XG4gIC5idG4ud2l0aC1pY29uLmljb24tcmlnaHQuc3VwcG9ydDphZnRlciwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1yaWdodC5zdXBwb3J0OmFmdGVyIHsgY29udGVudDogXCLupJlcIjsgfVxuICAuYnRuLndpdGgtaWNvbi5pY29uLXJpZ2h0LnRhZzphZnRlciwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1yaWdodC50YWc6YWZ0ZXIgeyBjb250ZW50OiBcIu6kgVwiOyB9XG4gIC5idG4ud2l0aC1pY29uLmljb24tcmlnaHQud29ybGQ6YWZ0ZXIsIC5idXR0b24ud2l0aC1pY29uLmljb24tcmlnaHQud29ybGQ6YWZ0ZXIgeyBjb250ZW50OiBcIu6kgFwiOyB9IH1cblxuLmJ0bi53aXRoLWljb24uaWNvbi1vbmx5LCAuYnV0dG9uLndpdGgtaWNvbi5pY29uLW9ubHkgeyBib3JkZXItcmFkaXVzOiA1MCU7IGNvbG9yOiB0cmFuc3BhcmVudDsgaGVpZ2h0OiAzcmVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAzcmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5idG4ud2l0aC1pY29uLmljb24tb25seSwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1vbmx5IHsgaGVpZ2h0OiA0cmVtOyB3aWR0aDogNHJlbTsgfSB9XG5cbi5idG4ud2l0aC1pY29uLmljb24tb25seTpiZWZvcmUsIC5idG4ud2l0aC1pY29uLmljb24tb25seTphZnRlciwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1vbmx5OmJlZm9yZSwgLmJ1dHRvbi53aXRoLWljb24uaWNvbi1vbmx5OmFmdGVyIHsgY29sb3I6ICNGRkY7IGxlZnQ6IDUwJTsgbWFyZ2luOiAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG4uYnRuLWdyb3VwIHsgZGlzcGxheTogbm9uZTsgfVxuXG4ucHVsbC1yaWdodCB7IGZsb2F0OiByaWdodDsgfVxuXG4jd3JhcHBlciB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuI291dGVyLXdyYXAgeyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAxMDAlOyB9XG5cbiNvdXRlci13cmFwICNpbm5lci13cmFwIHsgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMTAwJTsgfVxuXG4jbWFpbi13cmFwIHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7ICNtYWluLXdyYXAgeyBmbG9hdDogbm9uZTsgfSB9XG5cbi5pdGVtLXNsaWRlIHsgdHJhbnNpdGlvbjogbGVmdCAwLjNzIGVhc2U7IGxlZnQ6IDA7IH1cblxuLm5hdi1vcGVuIC5pdGVtLXNsaWRlIHsgbGVmdDogLTcwJTsgfVxuXG4jcy1tYWluIHsgcGFkZGluZy10b3A6IDUuNjg3NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAjcy1tYWluIHsgcGFkZGluZy10b3A6IDcuMTg3NXJlbTsgfSB9XG5cbi5jZSB7IHBhZGRpbmc6IDJyZW0gMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuY2UgeyBwYWRkaW5nOiAzLjVyZW0gMDsgfSB9XG5cbi5yZW1vdmUtLXBhZGRpbmctdG9wIHsgcGFkZGluZzogMCAwIDJyZW0gMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAucmVtb3ZlLS1wYWRkaW5nLXRvcCB7IHBhZGRpbmc6IDAgMCAzLjVyZW0gMDsgfSB9XG5cbi5yZW1vdmUtLXBhZGRpbmctYm90dG9tIHsgcGFkZGluZzogMnJlbSAwIDAgMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAucmVtb3ZlLS1wYWRkaW5nLWJvdHRvbSB7IHBhZGRpbmc6IDMuNXJlbSAwIDAgMDsgfSB9XG5cbi5yZW1vdmUtLXBhZGRpbmctYWxsIHsgcGFkZGluZzogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAucmVtb3ZlLS1wYWRkaW5nLWFsbCB7IHBhZGRpbmc6IDA7IH0gfVxuXG4uYnJlYWRjcnVtYiB7IGxpc3Qtc3R5bGU6IG5vbmU7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgcGFkZGluZzogMC43NXJlbSAwIDAuNzVyZW0gMXJlbTsgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI0Y3RjdGNzsgfVxuXG4uYnJlYWRjcnVtYjo6YmVmb3JlLCAuYnJlYWRjcnVtYjo6YWZ0ZXIgeyBkaXNwbGF5OiB0YWJsZTsgY29udGVudDogJyAnOyB9XG5cbi5icmVhZGNydW1iOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5icmVhZGNydW1iIHsgcGFkZGluZzogMS41cmVtIDAgMS41cmVtIDFyZW07IH0gfVxuXG4uYnJlYWRjcnVtYiBsaSB7IGZsb2F0OiBsZWZ0OyBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cblxuLmJyZWFkY3J1bWIgbGk6bGFzdC1jaGlsZCB7IG1hcmdpbi1yaWdodDogMDsgfVxuXG4uYnJlYWRjcnVtYiBhIHsgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjsgY29sb3I6ICMyMzIyMjM7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgcGFkZGluZy1yaWdodDogMXJlbTsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5icmVhZGNydW1iIGEgeyBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH0gfVxuXG4uYnJlYWRjcnVtYiBhOmFmdGVyIHsgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjsgY29sb3I6ICNEMjIzMkE7IGNvbnRlbnQ6IFwi7qSOXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IC0wLjVyZW07IHRvcDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzcuNDM3NWVtKSB7IC5icmVhZGNydW1iIGE6YWZ0ZXIgeyBmb250LXNpemU6IDFyZW07IH0gfVxuXG4uYnJlYWRjcnVtYiBhOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmJyZWFkY3J1bWIgYTpob3ZlcjphZnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDJweCwgLTUwJSk7IH1cblxuLmNvb2tpZS1ub3RpY2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgYm9yZGVyLXJhZGl1czogMC41cmVtOyBib3R0b206IDJyZW07IGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMDgpOyBjb2xvcjogYmxhY2s7IG1heC13aWR0aDogMzEuMjVyZW07IHBhZGRpbmc6IDEuNXJlbTsgcG9zaXRpb246IGZpeGVkOyByaWdodDogMnJlbTsgdmlzaWJpbGl0eTogaGlkZGVuOyB6LWluZGV4OiAxMDAwMDAwMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuY29va2llLW5vdGljZSB7IHBhZGRpbmc6IDJyZW07IH0gfVxuXG4uY29va2llLW5vdGljZSAuY24tY29udGVudCBoNSB7IGxpbmUtaGVpZ2h0OiAxLjM7IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuY29va2llLW5vdGljZSAuY24tY29udGVudCBoNSB7IG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuXG4uY29va2llLW5vdGljZSAuY24tYnV0dG9uLXdyYXBwZXIgeyBtYXJnaW4tdG9wOiAxcmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5jb29raWUtbm90aWNlIC5jbi1idXR0b24td3JhcHBlciB7IG1hcmdpbi10b3A6IDEuNXJlbTsgfSB9XG5cbi5jb29raWUtbm90aWNlIC5jbi1idXR0b24td3JhcHBlciAuY24tYnV0dG9uOmxhc3QtY2hpbGQgeyBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4uY29va2llLW5vdGljZS1vcGVuIC5jb29raWUtbm90aWNlIHsgb3BhY2l0eTogMTsgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uZm9vdGVyLW1lbnUgdWwgeyBsaXN0LXN0eWxlOiBub25lOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IG1hcmdpbi1ib3R0b206IDIuNXJlbTsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uZm9vdGVyLW1lbnUgbGkgeyBmbG9hdDogbGVmdDsgbGluZS1oZWlnaHQ6IDIuMTI1cmVtOyBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgd2lkdGg6IDUwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuZm9vdGVyLW1lbnUgbGkgeyBsaW5lLWhlaWdodDogMS41NjI1cmVtOyB3aWR0aDogNDAlOyB9IH1cblxuLmZvb3Rlci1tZW51IGEgeyBjb2xvcjogIzIzMjIyMzsgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxcmVtOyBmb250LXdlaWdodDogNTAwOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmZvb3Rlci1tZW51IGE6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4jbWFpbi1mb290ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMyMjIzOyBjb2xvcjogI0ZGRjsgcGFkZGluZzogMnJlbSAwIDFyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgI21haW4tZm9vdGVyIHsgcGFkZGluZzogMy41cmVtIDA7IH0gfVxuXG4jbWFpbi1mb290ZXIgaDMsICNtYWluLWZvb3RlciAuY2UtbWFya2V0LXRyaWdnZXIgLnRhYnMgLnRhYnMtdGl0bGUsIC5jZS1tYXJrZXQtdHJpZ2dlciAudGFicyAjbWFpbi1mb290ZXIgLnRhYnMtdGl0bGUsICNtYWluLWZvb3RlciAuY2UtbWFya2V0LXRyaWdnZXIgLm1vYmlsZSBhLCAuY2UtbWFya2V0LXRyaWdnZXIgLm1vYmlsZSAjbWFpbi1mb290ZXIgYSB7IHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7ICNtYWluLWZvb3RlciBoMywgI21haW4tZm9vdGVyIC5jZS1tYXJrZXQtdHJpZ2dlciAudGFicyAudGFicy10aXRsZSwgLmNlLW1hcmtldC10cmlnZ2VyIC50YWJzICNtYWluLWZvb3RlciAudGFicy10aXRsZSwgI21haW4tZm9vdGVyIC5jZS1tYXJrZXQtdHJpZ2dlciAubW9iaWxlIGEsIC5jZS1tYXJrZXQtdHJpZ2dlciAubW9iaWxlICNtYWluLWZvb3RlciBhIHsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG5cbiNtYWluLWZvb3RlciB1bDpub3QoLmNvbXBsaWFuY3ktbGlzdCkgeyBsaXN0LXN0eWxlOiBub25lOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7ICNtYWluLWZvb3RlciB1bDpub3QoLmNvbXBsaWFuY3ktbGlzdCkgeyBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy40Mzc1ZW0pIHsgI21haW4tZm9vdGVyIHVsLmNvbnRhY3QtbGlzdCBsaSB7IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAjbWFpbi1mb290ZXIgdWwuY29udGFjdC1saXN0IGxpOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuI21haW4tZm9vdGVyIHVsLmNvbnRhY3QtbGlzdCBsaSAubWFpbDpiZWZvcmUgeyBjb250ZW50OiBcIu6kh1wiOyBmb250LXNpemU6IDEuNXJlbTsgbGluZS1oZWlnaHQ6IDE7IG9wYWNpdHk6IDAuNDsgfVxuXG4jbWFpbi1mb290ZXIgdWwuY29udGFjdC1saXN0IGxpIC5ubDpiZWZvcmUgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdHlwbzNjb25mL2V4dC9pM2RfdGVtcGxhdGUvUmVzb3VyY2VzL1B1YmxpYy9pbWcvZmxhZy1uZXRoZXJsYW5kcy5zdmdcIik7IGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuI21haW4tZm9vdGVyIHVsLmNvbnRhY3QtbGlzdCBsaSAudXNhOmJlZm9yZSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90eXBvM2NvbmYvZXh0L2kzZF90ZW1wbGF0ZS9SZXNvdXJjZXMvUHVibGljL2ltZy9mbGFnLXVzLnN2Z1wiKTsgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4jbWFpbi1mb290ZXIgdWwuY29udGFjdC1saXN0IGEgeyBkaXNwbGF5OiBibG9jazsgcGFkZGluZy1sZWZ0OiAyLjVyZW07IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4jbWFpbi1mb290ZXIgdWwuY29udGFjdC1saXN0IGE6YmVmb3JlIHsgY29udGVudDogJyc7IGhlaWdodDogMS41cmVtOyBsZWZ0OiAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgd2lkdGg6IDEuNXJlbTsgfVxuXG4jbWFpbi1mb290ZXIgdWwuY29udGFjdC1saXN0IGE6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4jbWFpbi1mb290ZXIgdWwuc29jaWFsLWxpc3QgeyBmbG9hdDogbGVmdDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAjbWFpbi1mb290ZXIgdWwuc29jaWFsLWxpc3QgeyBtYXJnaW4tdG9wOiAyLjVyZW07IH0gfVxuXG4jbWFpbi1mb290ZXIgdWwucXVpY2stbGlzdCBhIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbiNtYWluLWZvb3RlciB1bC5xdWljay1saXN0IGE6YWZ0ZXIgeyB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyOyBjb2xvcjogI0QyMjMyQTsgY29udGVudDogXCLupI5cIjsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW4tbGVmdDogMC41cmVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogMC4xMjVyZW07IH1cblxuI21haW4tZm9vdGVyIHVsLnF1aWNrLWxpc3QgYTpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbiNtYWluLWZvb3RlciB1bC5xdWljay1saXN0IGE6aG92ZXI6YWZ0ZXIgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwLjVyZW0pOyB9XG5cbiNtYWluLWZvb3RlciAuY29tcGxpYW5jeS1saXN0IHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4jbWFpbi1mb290ZXIgLmNvbXBsaWFuY3ktbGlzdCAuaWNvbi1pdGVtIC5pbm5lci13cmFwcGVyIHsgaGVpZ2h0OiA1cmVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuI21haW4tZm9vdGVyIC5jb21wbGlhbmN5LWxpc3QgLmljb24taXRlbSBpbWcgeyB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyOyBoZWlnaHQ6IDVyZW07IHdpZHRoOiBhdXRvOyB9XG5cbiNtYWluLWZvb3RlciAuY29tcGxpYW5jeS1saXN0IC5pY29uLWl0ZW0gaW1nLm92ZXJsYXkgeyBmaWx0ZXI6IG5vbmU7IGxlZnQ6IDA7IG9wYWNpdHk6IDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyB6LWluZGV4OiAxOyB9XG5cbiNtYWluLWZvb3RlciAuY29tcGxpYW5jeS1saXN0IC5pY29uLWl0ZW0gaDUsICNtYWluLWZvb3RlciAuY29tcGxpYW5jeS1saXN0IC5pY29uLWl0ZW0gaDYgeyBkaXNwbGF5OiBub25lOyB9XG5cbiNtYWluLWZvb3RlciAuY29tcGxpYW5jeS1saXN0IC5pY29uLWl0ZW06aG92ZXIgLm92ZXJsYXkgeyBvcGFjaXR5OiAxOyB9XG5cbi5ncmlkLWVsZW1lbnRzIC5jb2x1bW4taW1hZ2UgeyBtYXJnaW4tbGVmdDogMDsgbWF4LXdpZHRoOiAxMDAlOyBmbGV4OiAxOyBwYWRkaW5nOiAwIDJyZW0gMy43NXJlbSAwOyB9XG5cbi5ncmlkLWVsZW1lbnRzIC5jb2x1bW4tdGV4dCwgLmdyaWQtZWxlbWVudHMgLmNvbHVtbi1pbWFnZSB7IG1hcmdpbi1sZWZ0OiAwOyBtYXgtd2lkdGg6IDEwMCU7IGZsZXg6IDE7IH1cblxuLmdyaWQtZWxlbWVudHMgLmNlLXRleHQgeyBwYWRkaW5nOiAwIDJyZW0gMy43NXJlbSAwOyB9XG5cbi5ncmlkLWVsZW1lbnRzIC5jZS10ZXh0IC5idXR0b24geyBjb2xvcjogI0ZGRjsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5ncmlkLWVsZW1lbnRzIC5jZS10ZXh0IC5idXR0b246YWZ0ZXIgeyBjb250ZW50OiBcIu6kklwiOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMC43NXJlbTsgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IDAuMTI1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5ncmlkLWVsZW1lbnRzIC5jZS10ZXh0IC5idXR0b246YWZ0ZXIgeyBmb250LXNpemU6IDEuNXJlbTsgbWFyZ2luLWxlZnQ6IDFyZW07IH0gfVxuXG4uaGVhZGVyLXdyYXBwZXIgeyB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyOyBoZWlnaHQ6IDUuODc1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHsgLmhlYWRlci13cmFwcGVyIHsgaGVpZ2h0OiA2Ljc1cmVtOyB9IH1cblxuI2hlYWRlciB7IHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7IGJhY2tncm91bmQtY29sb3I6ICNGRkY7IGJveC1zaGFkb3c6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyBsZWZ0OiAwOyBwYWRkaW5nOiAxcmVtIDA7IHBvc2l0aW9uOiBmaXhlZDsgcmlnaHQ6IDA7IHdpZHRoOiAxMDAlOyB6LWluZGV4OiAyMDsgfVxuXG4uaGVhZGVyLWZpeGVkICNoZWFkZXIgeyBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA2KTsgcGFkZGluZzogMC41cmVtIDA7IH1cblxuLm1lbnUtdHJpZ2dlciB7IGJhY2tncm91bmQtY29sb3I6ICMyMzIyMjM7IGJvcmRlci1yYWRpdXM6IDNweDsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMy4xMjVyZW07IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDAuOTM3NXJlbTsgdG9wOiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgd2lkdGg6IDMuMTI1cmVtOyB6LWluZGV4OiAxMDsgfVxuXG4ubmF2LW9wZW4gLm1lbnUtdHJpZ2dlciB7IGJvcmRlci1yYWRpdXM6IDNweCAwIDAgM3B4OyByaWdodDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7IC5tZW51LXRyaWdnZXIgeyBkaXNwbGF5OiBub25lOyB9IH1cblxuLm1lbnUtdHJpZ2dlciBzcGFuIHsgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsgYm9yZGVyLXJhZGl1czogMnB4OyBib3R0b206IDA7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDAuMTg3NXJlbTsgbGVmdDogMDsgbWFyZ2luOiBhdXRvOyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAwOyB0ZXh0LWluZGVudDogLTYyNDkuOTM3NXJlbTsgdG9wOiAwOyB3aWR0aDogMS4yNXJlbTsgfVxuXG4ubmF2LW9wZW4gLm1lbnUtdHJpZ2dlciBzcGFuIHsgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4ubWVudS10cmlnZ2VyIHNwYW46YmVmb3JlLCAubWVudS10cmlnZ2VyIHNwYW46YWZ0ZXIgeyB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOyBib3JkZXItcmFkaXVzOiAycHg7IGNvbnRlbnQ6ICcnOyBoZWlnaHQ6IDAuMTg3NXJlbTsgbGVmdDogMDsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMTAwJTsgfVxuXG4ubWVudS10cmlnZ2VyIHNwYW46YmVmb3JlIHsgdG9wOiAtMC4zNzVyZW07IH1cblxuLm5hdi1vcGVuIC5tZW51LXRyaWdnZXIgc3BhbjpiZWZvcmUgeyB0b3A6IDA7IHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4ubWVudS10cmlnZ2VyIHNwYW46YWZ0ZXIgeyBib3R0b206IC0wLjM3NXJlbTsgfVxuXG4ubmF2LW9wZW4gLm1lbnUtdHJpZ2dlciBzcGFuOmFmdGVyIHsgYm90dG9tOiAwOyB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi5zdXBwb3J0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi7qSZXCI7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxLjc1cmVtOyBtYXJnaW4tcmlnaHQ6IDFyZW07IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwLjMxMjVyZW0pOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHsgLnN1cHBvcnQ6YmVmb3JlIHsgZm9udC1zaXplOiAxLjQzNzVyZW07IG1hcmdpbi1yaWdodDogYXV0bzsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAuMTg3NXJlbSk7IH0gfVxuXG4uY2FydDpiZWZvcmUgeyBjb250ZW50OiBcIu6kkVwiOyBmb250LXNpemU6IDEuNzVyZW07IH1cblxuLnNlYXJjaC1idXR0b246YmVmb3JlIHsgY29udGVudDogXCLupIJcIjsgZm9udC1zaXplOiAycmVtOyBsaW5lLWhlaWdodDogMnJlbTsgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHsgLnNlYXJjaC1idXR0b246YmVmb3JlIHsgZm9udC1zaXplOiAxLjc1cmVtOyBsaW5lLWhlaWdodDogMS43NXJlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9IH1cblxuLm1lbnUtb3BlbiAuc2VhcmNoLWJ1dHRvbiB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5tZW51LW9wZW4gLnNlYXJjaC1idXR0b246YmVmb3JlIHsgb3BhY2l0eTogLjI7IH1cblxuLnNlYXJjaC1idXR0b24gLnR4X3NvbHIgeyBkaXNwbGF5OiBub25lOyB9XG5cbi5tZW51LWJ1dHRvbjpiZWZvcmUgeyBjb250ZW50OiBcIu6khVwiOyBmb250LXNpemU6IDJyZW07IGxpbmUtaGVpZ2h0OiAycmVtOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5tZW51LW9wZW4gLm1lbnUtYnV0dG9uOmJlZm9yZSB7IGNvbnRlbnQ6IFwi7qSLXCI7IH1cblxuLnNlYXJjaC1vcGVuIC5tZW51LWJ1dHRvbiB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zZWFyY2gtb3BlbiAubWVudS1idXR0b246YmVmb3JlIHsgb3BhY2l0eTogLjI7IH1cblxuLmxvZ2luIHsgZGlzcGxheTogYmxvY2s7IH1cblxuLmxvZ2luOmJlZm9yZSB7IGNvbnRlbnQ6IFwi7qSIXCI7IGZvbnQtc2l6ZTogMS43NXJlbTsgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmtleXZpc3VhbCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAua2V5dmlzdWFsIHsgbWluLWhlaWdodDogNDEuNXJlbTsgfSB9XG5cbi5rZXl2aXN1YWwgZmlndXJlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgaGVpZ2h0OiAxNXJlbTsgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLmtleXZpc3VhbCBmaWd1cmUgeyBoZWlnaHQ6IDEwMCU7IGxlZnQ6IDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyB9IH1cblxuLmtleXZpc3VhbCAuaW5uZXItd3JhcHBlciB7IGNvbG9yOiAjMjMyMjIzOyBtYXJnaW4tdG9wOiAycmVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDI7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLmtleXZpc3VhbCAuaW5uZXItd3JhcHBlciB7IGNvbG9yOiAjRkZGOyBtYXJnaW46IDVyZW0gMDsgfSB9XG5cbi5rZXl2aXN1YWwgLmlubmVyLXdyYXBwZXIgaDEsIC5rZXl2aXN1YWwgLmlubmVyLXdyYXBwZXIgLmZyZXF1ZW5jeS1wcmljZSAucHJpY2UsIC5mcmVxdWVuY3ktcHJpY2UgLmtleXZpc3VhbCAuaW5uZXItd3JhcHBlciAucHJpY2UgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5rZXl2aXN1YWwgLmlubmVyLXdyYXBwZXIgLmludHJvLCAua2V5dmlzdWFsIC5pbm5lci13cmFwcGVyIC5mcmVxdWVuY3ktcHJpY2UgbGFiZWwsIC5mcmVxdWVuY3ktcHJpY2UgLmtleXZpc3VhbCAuaW5uZXItd3JhcHBlciBsYWJlbCwgLmtleXZpc3VhbCAuaW5uZXItd3JhcHBlciAjbWFpbi1mb290ZXIgdWwucXVpY2stbGlzdCBhLCAjbWFpbi1mb290ZXIgdWwucXVpY2stbGlzdCAua2V5dmlzdWFsIC5pbm5lci13cmFwcGVyIGEgeyBtYXJnaW46IDAuNXJlbSAwIDA7IG1heC13aWR0aDogMjQuNXJlbTsgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLmtleXZpc3VhbCAuaW5uZXItd3JhcHBlciAuaW50cm8sIC5rZXl2aXN1YWwgLmlubmVyLXdyYXBwZXIgLmZyZXF1ZW5jeS1wcmljZSBsYWJlbCwgLmZyZXF1ZW5jeS1wcmljZSAua2V5dmlzdWFsIC5pbm5lci13cmFwcGVyIGxhYmVsLCAua2V5dmlzdWFsIC5pbm5lci13cmFwcGVyICNtYWluLWZvb3RlciB1bC5xdWljay1saXN0IGEsICNtYWluLWZvb3RlciB1bC5xdWljay1saXN0IC5rZXl2aXN1YWwgLmlubmVyLXdyYXBwZXIgYSB7IG1hcmdpbjogMnJlbSAwIDA7IH0gfVxuXG4ua2V5dmlzdWFsIC5pbm5lci13cmFwcGVyIC5idXR0b24geyBtYXJnaW4tdG9wOiAxLjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLmtleXZpc3VhbCAuaW5uZXItd3JhcHBlciAuYnV0dG9uIHsgbWFyZ2luLXRvcDogMy41cmVtOyB9IH1cblxuLnBhZ2UtaWNvbi13cmFwcGVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5wYWdlLWljb24td3JhcHBlciBpbWcgeyBsZWZ0OiAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNC42ODc1cmVtOyB3aWR0aDogY2FsYygxMDAlIC8gMTIpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3LjQzNzVlbSkgeyAucGFnZS1pY29uLXdyYXBwZXIgaW1nIHsgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5wYWdlLWljb24td3JhcHBlci53aXRob3V0LWtleXZpc3VhbCBpbWcgeyB0b3A6IDA7IH1cblxuLmxhbmd1YWdlLXN3aXRjaCB7IGJhY2tncm91bmQtY29sb3I6ICNGRkY7IGJvcmRlcjogMXB4IHNvbGlkICNFNkU2RTY7IGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTsgY29sb3I6ICMyMzIyMjM7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgcG9zaXRpb246IHJlbGF0aXZlOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHsgLmxhbmd1YWdlLXN3aXRjaCB7IG1hcmdpbi10b3A6IDAuNzVyZW07IH0gfVxuXG4ubGFuZ3VhZ2Utc3dpdGNoLW9wZW4gLmxhbmd1YWdlLXN3aXRjaCB7IGJvcmRlci1jb2xvcjogIzIzMjIyMzsgfVxuXG4ubGFuZ3VhZ2Utc3dpdGNoIC5zZWxlY3RlZCB7IGNvbG9yOiBpbmhlcml0OyBkaXNwbGF5OiBibG9jazsgZm9udC1zaXplOiAxcmVtOyBsaW5lLWhlaWdodDogMS4yNXJlbTsgcGFkZGluZzogMC44NzVyZW0gMXJlbTsgfVxuXG4ubGFuZ3VhZ2Utc3dpdGNoIC5zZWxlY3RlZDpiZWZvcmUgeyBjb250ZW50OiBcIu6kgFwiOyBmb250LXNpemU6IDFyZW07IHBhZGRpbmctcmlnaHQ6IDAuNXJlbTsgfVxuXG4ubGFuZ3VhZ2Utc3dpdGNoIC5zZWxlY3RlZDphZnRlciB7IHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7IGNvbnRlbnQ6IFwi7qSUXCI7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxcmVtOyBtYXJnaW4tbGVmdDogMC41cmVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogLjEyNXJlbTsgfVxuXG4ubGFuZ3VhZ2Utc3dpdGNoLW9wZW4gLmxhbmd1YWdlLXN3aXRjaCAuc2VsZWN0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMyMjIzOyBjb2xvcjogI0ZGRjsgfVxuXG4ubGFuZ3VhZ2Utc3dpdGNoLW9wZW4gLmxhbmd1YWdlLXN3aXRjaCAuc2VsZWN0ZWQ6YWZ0ZXIgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG5cbi5sYW5ndWFnZS1zd2l0Y2ggLnN1Ym1lbnUgeyB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyOyBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMyMjIzOyBib3JkZXI6IDFweCBzb2xpZCBibGFjazsgYm9yZGVyLXJhZGl1czogMCAwIDAuMzEyNXJlbSAwLjMxMjVyZW07IGJvcmRlci10b3A6IDA7IGRpc3BsYXk6IGJsb2NrOyBsZWZ0OiAtMC4wNjI1cmVtOyBsaXN0LXN0eWxlOiBub25lOyBtYXJnaW46IDA7IG1hcmdpbi10b3A6IC0wLjE4NzVyZW07IG9wYWNpdHk6IDA7IHBhZGRpbmc6IDAuMzEyNXJlbSAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTAwJTsgdmlzaWJpbGl0eTogaGlkZGVuOyB3aWR0aDogY2FsYygxMDAlICsgMnB4KTsgfVxuXG4ubGFuZ3VhZ2Utc3dpdGNoLW9wZW4gLmxhbmd1YWdlLXN3aXRjaCAuc3VibWVudSB7IG9wYWNpdHk6IDE7IHZpc2liaWxpdHk6IHZpc2libGU7IHotaW5kZXg6IDYwOyB9XG5cbi5sYW5ndWFnZS1zd2l0Y2gtb3BlbiAubGFuZ3VhZ2Utc3dpdGNoIC5zdWJtZW51IGEgeyBjb2xvcjogIzY1NjQ2NTsgfVxuXG4ubGFuZ3VhZ2Utc3dpdGNoLW9wZW4gLmxhbmd1YWdlLXN3aXRjaCAuc3VibWVudSBhOmhvdmVyLCAubGFuZ3VhZ2Utc3dpdGNoLW9wZW4gLmxhbmd1YWdlLXN3aXRjaCAuc3VibWVudSBhOmZvY3VzIHsgY29sb3I6ICNGRkY7IH1cblxuLmxhbmd1YWdlLXN3aXRjaCAuc3VibWVudSBhIHsgY29sb3I6IGluaGVyaXQ7IGRpc3BsYXk6IGJsb2NrOyBsaW5lLWhlaWdodDogMWVtOyBwYWRkaW5nOiAwLjVyZW0gMC41cmVtIDAuNXJlbSAyLjgxMjVyZW07IH1cblxuLmxvZ28geyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgbWFyZ2luOiAwLjVyZW0gMDsgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4ubG9nbyBpbWcgeyBoZWlnaHQ6IDIuODc1cmVtOyB3aWR0aDogNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7IC5sb2dvIGltZyB7IGhlaWdodDogMy42ODc1cmVtOyB3aWR0aDogNi41cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7IGJvZHkubWVudS1vcGVuLCBib2R5LnN1Ym1lbnUtb3BlbiB7IG92ZXJmbG93OiBoaWRkZW47IH0gfVxuXG4ucHJpbWFyeS1tZW51IHsgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7IC5wcmltYXJ5LW1lbnUgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgbWFyZ2luLWxlZnQ6IDMuNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIGFuZCAobWF4LXdpZHRoOiA4MmVtKSB7IC5wcmltYXJ5LW1lbnUgeyBtYXJnaW4tbGVmdDogMXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgyZW0pIGFuZCAobWF4LXdpZHRoOiA4NS40ZW0pIHsgLnByaW1hcnktbWVudSB7IG1hcmdpbi1sZWZ0OiAyLjVyZW07IH0gfVxuXG4ucHJpbWFyeS1tZW51IHVsIHsgbGlzdC1zdHlsZTogbm9uZTsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuXG4ucHJpbWFyeS1tZW51IHVsID4gbGkgeyBtYXJnaW46IC0xcmVtIDA7IH1cblxuLmhlYWRlci1maXhlZCAucHJpbWFyeS1tZW51IHVsID4gbGkgeyBtYXJnaW46IC0wLjVyZW0gMDsgfVxuXG4ucHJpbWFyeS1tZW51IC5tZW51LWl0ZW0geyBjb2xvcjogIzIzMjIyMzsgZm9udC1zaXplOiAxLjI1cmVtOyBsaW5lLWhlaWdodDogMnJlbTsgcG9zaXRpb246IHJlbGF0aXZlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkgeyAucHJpbWFyeS1tZW51IC5tZW51LWl0ZW0geyBkaXNwbGF5OiBibG9jazsgcGFkZGluZzogMi41cmVtIDAuNzVyZW0gMi4yNXJlbTsgfVxuICAuaGVhZGVyLWZpeGVkIC5wcmltYXJ5LW1lbnUgLm1lbnUtaXRlbSB7IHBhZGRpbmc6IDJyZW0gMC43NXJlbSAxLjc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODYuMjVlbSkgeyAucHJpbWFyeS1tZW51IC5tZW51LWl0ZW0geyBwYWRkaW5nOiAyLjVyZW0gMS4yNXJlbSAyLjI1cmVtOyB9XG4gIC5oZWFkZXItZml4ZWQgLnByaW1hcnktbWVudSAubWVudS1pdGVtIHsgcGFkZGluZzogMnJlbSAxLjI1cmVtIDEuNzVyZW07IH0gfVxuXG4ucHJpbWFyeS1tZW51IC5tZW51LWl0ZW06YWZ0ZXIgeyB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRDIyMzJBOyBib3R0b206IDA7IGNvbnRlbnQ6ICcnOyBoZWlnaHQ6IDAuNXJlbTsgbGVmdDogNTAlOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgd2lkdGg6IDA7IH1cblxuLnByaW1hcnktbWVudSAubWVudS1pdGVtOmhvdmVyOmFmdGVyIHsgd2lkdGg6IDEwMCU7IH1cblxuLnByaW1hcnktbWVudSAuYWN0aXZlIC5tZW51LWl0ZW0geyBjb2xvcjogI0QyMjMyQTsgfVxuXG4ucHJpbWFyeS1tZW51IC5zdWJtZW51IHsgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjsgYmFja2dyb3VuZC1jb2xvcjogI0Y3RjdGNzsgbGVmdDogMDsgb3BhY2l0eTogMDsgcGFkZGluZzogMy41cmVtIDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDA7IHRvcDogNi43NXJlbTsgdmlzaWJpbGl0eTogaGlkZGVuOyB3aWR0aDogMTAwdnc7IHotaW5kZXg6IDUwOyB9XG5cbi5oZWFkZXItZml4ZWQgLnByaW1hcnktbWVudSAuc3VibWVudSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1Ljc1cmVtOyB9XG5cbi5wcmltYXJ5LW1lbnUgLnN1Ym1lbnUtdG9nZ2xlIHNwYW46YWZ0ZXIgeyBjb250ZW50OiBcIu6klFwiOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGhlaWdodDogMS41cmVtOyBtYXJnaW4tbGVmdDogMC41cmVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogMC4yNXJlbTsgd2lkdGg6IDEuNXJlbTsgfVxuXG4ucHJpbWFyeS1tZW51IC5zdWJtZW51LW1lbnUgeyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjRTZFNkU2OyBwYWRkaW5nLWxlZnQ6IDEyLjEyNXJlbTsgfVxuXG4ucHJpbWFyeS1tZW51IC5zdWJtZW51LW1lbnUgYSB7IGNvbG9yOiAjMjMyMjIzOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMS4yNXJlbTsgbGluZS1oZWlnaHQ6IDEuNXJlbTsgbWFyZ2luLWJvdHRvbTogMXJlbTsgbWFyZ2luLXRvcDogMXJlbTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5wcmltYXJ5LW1lbnUgLnN1Ym1lbnUtbWVudSBhOmhvdmVyIHsgY29sb3I6ICNEMjIzMkE7IH1cblxuLnByaW1hcnktbWVudSAuc3VibWVudS1tZW51IGE6aG92ZXI6YWZ0ZXIgeyBjb250ZW50OiBcIu6kklwiOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMS41cmVtOyBtYXJnaW4tbGVmdDogMC41cmVtOyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi5wcmltYXJ5LW1lbnUgLnN1Ym1lbnUtbWVudSB1bCB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wcmltYXJ5LW1lbnUgLnN1Ym1lbnUtdGVhc2VyIHsgbWF4LXdpZHRoOiA0NS41NjI1cmVtOyBwYWRkaW5nLWxlZnQ6IDYuNTYyNXJlbTsgfVxuXG4ucHJpbWFyeS1tZW51IC5zdWJtZW51LXRlYXNlciBoMywgLnByaW1hcnktbWVudSAuc3VibWVudS10ZWFzZXIgLmNlLW1hcmtldC10cmlnZ2VyIC50YWJzIC50YWJzLXRpdGxlLCAuY2UtbWFya2V0LXRyaWdnZXIgLnRhYnMgLnByaW1hcnktbWVudSAuc3VibWVudS10ZWFzZXIgLnRhYnMtdGl0bGUsIC5wcmltYXJ5LW1lbnUgLnN1Ym1lbnUtdGVhc2VyIC5jZS1tYXJrZXQtdHJpZ2dlciAubW9iaWxlIGEsIC5jZS1tYXJrZXQtdHJpZ2dlciAubW9iaWxlIC5wcmltYXJ5LW1lbnUgLnN1Ym1lbnUtdGVhc2VyIGEgeyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi5wcmltYXJ5LW1lbnUgLnN1Ym1lbnUtdGVhc2VyIHAgeyBsaW5lLWhlaWdodDogMnJlbTsgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG5cbi5wcmltYXJ5LW1lbnUgLnN1Ym1lbnUtb3BlbiB7IGJhY2tncm91bmQtY29sb3I6ICNGN0Y3Rjc7IH1cblxuLnByaW1hcnktbWVudSAuc3VibWVudS1vcGVuIC5tZW51LWl0ZW06YWZ0ZXIgeyB3aWR0aDogMDsgfVxuXG4ucHJpbWFyeS1tZW51IC5zdWJtZW51LW9wZW4gLnN1Ym1lbnUgeyBvcGFjaXR5OiAxOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5wcmltYXJ5LW1lbnUgLnN1Ym1lbnUtb3BlbiAuc3VibWVudS10b2dnbGUgc3BhbjphZnRlciB7IGNvbnRlbnQ6IFwi7qSVXCI7IH1cblxuLnNlYXJjaC1mb3JtIHsgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjsgYmFja2dyb3VuZC1jb2xvcjogI0Y3RjdGNzsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFNkU2RTY7IGxlZnQ6IDA7IG9wYWNpdHk6IDA7IHBhZGRpbmc6IDEuNXJlbSAxcmVtIDEuNXJlbSAxLjVyZW07IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMDAlOyB2aXNpYmlsaXR5OiBoaWRkZW47IHdpZHRoOiAxMDAlOyB6LWluZGV4OiAxMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuc2VhcmNoLWZvcm0geyBwYWRkaW5nOiAzLjVyZW0gMTIuODc1cmVtOyB9IH1cblxuLnNlYXJjaC1vcGVuIC5zZWFyY2gtZm9ybSB7IG9wYWNpdHk6IDE7IHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLnNlYXJjaC1mb3JtIGZvcm0geyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IG1hcmdpbjogMCBhdXRvOyB3aWR0aDogMTAwJTsgfVxuXG4uc2VhcmNoLWZvcm0gaW5wdXQgeyBhcHBlYXJhbmNlOiBub25lOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgYm9yZGVyOiAwOyBib3JkZXItbGVmdDogMC4wNjI1cmVtIHNvbGlkICNFNkU2RTY7IGZvbnQtc2l6ZTogMXJlbTsgbGluZS1oZWlnaHQ6IDEuNXJlbTsgcGFkZGluZzogMCAwIDAgMC43NXJlbTsgd2lkdGg6IDcwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAuc2VhcmNoLWZvcm0gaW5wdXQgeyBmb250LXNpemU6IDEuMjVyZW07IHBhZGRpbmc6IDAgMCAwIDFyZW07IHdpZHRoOiA4MCU7IH0gfVxuXG4uc2VhcmNoLWZvcm0taW5saW5lIHsgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB3aWR0aDogMTAwJTsgfVxuXG4uc2VhcmNoLWZvcm0taW5saW5lIGZvcm0geyB3aWR0aDogMTAwJTsgfVxuXG4uc2VhcmNoLWZvcm0taW5saW5lIGlucHV0W3R5cGU9dGV4dF0geyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOyBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjRjdGN0Y3OyBib3JkZXItcmFkaXVzOiAwLjQzNzVyZW07IGhlaWdodDogMy41cmVtOyBwYWRkaW5nOiAwIDEuNXJlbTsgd2lkdGg6IDEwMCU7IH1cblxuLnNlYXJjaC1mb3JtIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAjNDA0MDQwOyB9XG5cbi5zZWFyY2gtZm9ybSA6Oi1tb3otcGxhY2Vob2xkZXIgeyBjb2xvcjogIzQwNDA0MDsgb3BhY2l0eTogMTsgfVxuXG4uc2VhcmNoLWZvcm0gOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAjNDA0MDQwOyB9XG5cbi5tb2JpbGUtbWVudSB7IHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7IGJhY2tncm91bmQtY29sb3I6ICNGN0Y3Rjc7IGJvcmRlci10b3A6IDFweCBzb2xpZCAjRTZFNkU2OyBoZWlnaHQ6IGNhbGMoMTAwdmggLSA2LjQzNzVyZW0pOyBvcGFjaXR5OiAwOyBwYWRkaW5nOiAxLjVyZW07IHBvc2l0aW9uOiBmaXhlZDsgcmlnaHQ6IDA7IHRvcDogNS44NzVyZW07IHZpc2liaWxpdHk6IGhpZGRlbjsgd2lkdGg6IDEwMHZ3OyB6LWluZGV4OiA1MDsgfVxuXG4uaGVhZGVyLWZpeGVkIC5tb2JpbGUtbWVudSB7IHRvcDogNC44NzVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkgeyAubW9iaWxlLW1lbnUgeyBkaXNwbGF5OiBub25lOyB9IH1cblxuLm1lbnUtb3BlbiAubW9iaWxlLW1lbnUgeyBvcGFjaXR5OiAxOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5zZWNvbmRhcnktbWVudSB7IG1hcmdpbi10b3A6IDAuNzVyZW07IH1cblxuLnNlY29uZGFyeS1tZW51IHVsIHsgbGlzdC1zdHlsZTogbm9uZTsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9XG5cbi5zZWNvbmRhcnktbWVudSBhIHsgY29sb3I6ICMyMzIyMjM7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxLjI1cmVtOyBsaW5lLWhlaWdodDogMS41cmVtOyBtYXJnaW4tYm90dG9tOiAxcmVtOyBtYXJnaW4tdG9wOiAxcmVtOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnNlY29uZGFyeS1tZW51IGE6YWZ0ZXIgeyBjb250ZW50OiBcIu6kjlwiOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMS41cmVtOyBtYXJnaW4tbGVmdDogMC41cmVtOyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi5zZWNvbmRhcnktbWVudSAuc3VibWVudS10ZWFzZXIgeyBkaXNwbGF5OiBub25lOyB9XG5cbi5zZWNvbmRhcnktbWVudSAuc3VibWVudS1tZW51IHsgZGlzcGxheTogbm9uZTsgfVxuXG4uc2Vjb25kYXJ5LW1lbnUgLnN1Ym1lbnUgLmV4cGFuZGVkIHsgd2lkdGg6IDEwMCU7IH1cblxuLnNlY29uZGFyeS1tZW51IC5zdWJtZW51LW9wZW4geyBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGN0Y3OyBoZWlnaHQ6IGNhbGMoMTAwdmggLSA2LjQzNzVyZW0pOyBwYWRkaW5nOiAxLjVyZW07IHBvc2l0aW9uOiBmaXhlZDsgcmlnaHQ6IDA7IHRvcDogNi40Mzc1cmVtOyB3aWR0aDogMTAwdnc7IH1cblxuLnNlY29uZGFyeS1tZW51IC5zdWJtZW51LW9wZW4gPiBhIHsgY29sb3I6ICNEMjIzMkE7IG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuXG4uc2Vjb25kYXJ5LW1lbnUgLnN1Ym1lbnUtb3BlbiA+IGE6YmVmb3JlIHsgY29udGVudDogXCLupI5cIjsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDEuNXJlbTsgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLnNlY29uZGFyeS1tZW51IC5zdWJtZW51LW9wZW4gPiBhOmFmdGVyIHsgY29udGVudDogbm9uZTsgfVxuXG4uc2Vjb25kYXJ5LW1lbnUgLnN1Ym1lbnUtb3BlbiAuc3VibWVudS1tZW51IHsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogY2FsYygxMDB2aCAtIDYuNDM3NXJlbSAtIDYuNzVyZW0pOyBvdmVyZmxvdy15OiBzY3JvbGw7IHBhZGRpbmc6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkgeyAudG9wLW5hdiB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyB9IH1cblxuLnRvcC1uYXYgdWwgeyBsaXN0LXN0eWxlOiBub25lOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG5cbi50b3AtbmF2IGEgeyB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyOyBjb2xvcjogIzIzMjIyMzsgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogMS4yNXJlbTsgbGluZS1oZWlnaHQ6IDJyZW07IG1hcmdpbi10b3A6IDAuNzVyZW07IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7IC50b3AtbmF2IGEgeyBtYXJnaW4tYm90dG9tOiBhdXRvOyBtYXJnaW4tdG9wOiBhdXRvOyBwYWRkaW5nOiAxLjVyZW0gMS4xMjVyZW0gMXJlbSAxLjEyNXJlbTsgfSB9XG5cbi50b3AtbmF2IGE6aG92ZXIgeyBjb2xvcjogI0QyMjMyQTsgfVxuXG4udG9wLW5hdiBhLmxvZ2luIHsgbGluZS1oZWlnaHQ6IDE7IH1cblxuLm1vYmlsZS10b3AtbmF2IHVsIHsgbGlzdC1zdHlsZTogbm9uZTsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBhbGlnbi1pdGVtczogY2VudGVyOyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLm1vYmlsZS10b3AtbmF2IGEgeyBtYXJnaW46IDA7IH1cblxuLnN1Ym1lbnUtb3BlbiAubW9iaWxlLXRvcC1uYXYgeyBkaXNwbGF5OiBub25lOyB9XG5cbi5jZS1zZWFyY2gtcmVzdWx0cyBoMiB7IG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuXG4uY2Utc2VhcmNoLXJlc3VsdHMgLnNlYXJjaC1pdGVtIHsgbWFyZ2luOiAxLjVyZW0gMCAycmVtOyB9XG5cbi5jZS1zZWFyY2gtcmVzdWx0cyAuc2VhcmNoLWl0ZW0gYSB7IGJhY2tncm91bmQtY29sb3I6ICNGN0Y3Rjc7IGhlaWdodDogMTAwJTsgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZzogMnJlbTsgfVxuXG4uY2Utc2VhcmNoLXJlc3VsdHMgLnNlYXJjaC1pdGVtIC5saXN0LXRpdGxlLCAuY2Utc2VhcmNoLXJlc3VsdHMgLnNlYXJjaC1pdGVtIC5wb3dlcm1haWxfZmllbGR3cmFwIC5wb3dlcm1haWxfbGFiZWwsIC5wb3dlcm1haWxfZmllbGR3cmFwIC5jZS1zZWFyY2gtcmVzdWx0cyAuc2VhcmNoLWl0ZW0gLnBvd2VybWFpbF9sYWJlbCwgLmNlLXNlYXJjaC1yZXN1bHRzIC5zZWFyY2gtaXRlbSAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3RleHQgeyBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmNlLXNlYXJjaC1yZXN1bHRzIC5zZWFyY2gtaXRlbSBwIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2Utc2VhcmNoLXJlc3VsdHMgLnNlYXJjaC1pdGVtIC5idXR0b24geyBib3R0b206IDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDJyZW07IHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpOyB9XG5cbi5ldmVudC1pdGVtIHsgbWFyZ2luLXRvcDogMzJweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy40Mzc1ZW0pIHsgLmV2ZW50LWl0ZW06Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLmV2ZW50LWl0ZW06bnRoLWNoaWxkKG4pOm50aC1jaGlsZCgtbisyKSB7IG1hcmdpbi10b3A6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7IC5ldmVudC1pdGVtOm50aC1jaGlsZChuKTpudGgtY2hpbGQoLW4rMykgeyBtYXJnaW4tdG9wOiAwOyB9IH1cblxuLmV2ZW50LWl0ZW0gYSB7IGJhY2tncm91bmQtY29sb3I6ICNGN0Y3Rjc7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGhlaWdodDogMTAwJTsgfVxuXG4uZXZlbnQtaXRlbSBhIGZpZ3VyZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgYmFja2dyb3VuZC1jb2xvcjogIzIzMjIyMzsgbWluLWhlaWdodDogMjByZW07IH1cblxuLmV2ZW50LWl0ZW0gYSBmaWd1cmUgZmlnY2FwdGlvbiB7IGJvdHRvbTogMS41cmVtOyBjb2xvcjogI0ZGRjsgbGVmdDogMnJlbTsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogNS41cmVtOyB6LWluZGV4OiAxOyB9XG5cbi5ldmVudC1pdGVtIGEgZmlndXJlIC5idXR0b24uaWNvbi1vbmx5IHsgYm90dG9tOiAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAxcmVtOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTsgei1pbmRleDogMTsgfVxuXG4uZXZlbnQtaXRlbSBhIG1haW4geyBwYWRkaW5nOiAycmVtOyB9XG5cbi5ldmVudC1pdGVtIGEgbWFpbiB1bCB7IGxpc3Qtc3R5bGU6IG5vbmU7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5ldmVudC1pdGVtIGEgbWFpbiB1bCBsaSB7IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgcGFkZGluZy1sZWZ0OiAyLjVyZW07IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZXZlbnQtaXRlbSBhIG1haW4gdWwgbGk6YmVmb3JlIHsgY29sb3I6ICNEMjIzMkE7IGxlZnQ6IDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyB9XG5cbi5ldmVudC1pdGVtIGEgbWFpbiBwIHsgZGlzcGxheTogYmxvY2s7IG1hcmdpbjogMDsgfVxuXG4uZXZlbnQtaXRlbSAucG9zdC1zdGFydC1kYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi7qSNXCI7IH1cblxuLmV2ZW50LWl0ZW0gLnBvc3QtbG9jYXRpb246YmVmb3JlIHsgY29udGVudDogXCLupIZcIjsgfVxuXG4uZ2FtZS1zZXJ2ZXItaXRlbSB7IG1hcmdpbi10b3A6IDMycHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzcuNDM3NWVtKSB7IC5nYW1lLXNlcnZlci1pdGVtOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5nYW1lLXNlcnZlci1pdGVtOm50aC1jaGlsZChuKTpudGgtY2hpbGQoLW4rMikgeyBtYXJnaW4tdG9wOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkgeyAuZ2FtZS1zZXJ2ZXItaXRlbTpudGgtY2hpbGQobik6bnRoLWNoaWxkKC1uKzMpIHsgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5nYW1lLXNlcnZlci1pdGVtIGEgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGN0Y3OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBoZWlnaHQ6IDEwMCU7IH1cblxuLmdhbWUtc2VydmVyLWl0ZW0gYSBmaWd1cmUgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGJhY2tncm91bmQtY29sb3I6ICMyMzIyMjM7IG1pbi1oZWlnaHQ6IDIwcmVtOyB9XG5cbi5nYW1lLXNlcnZlci1pdGVtIGEgZmlndXJlIGZpZ2NhcHRpb24geyBib3R0b206IDEuNXJlbTsgY29sb3I6ICNGRkY7IGxlZnQ6IDJyZW07IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDUuNXJlbTsgei1pbmRleDogMTsgfVxuXG4uZ2FtZS1zZXJ2ZXItaXRlbSBhIGZpZ3VyZSAuYnV0dG9uLmljb24tb25seSB7IGJvdHRvbTogMDsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMXJlbTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7IHotaW5kZXg6IDE7IH1cblxuLmdhbWUtc2VydmVyLWl0ZW0gYSBtYWluIHsgcGFkZGluZzogMnJlbTsgfVxuXG4uZ2FtZS1zZXJ2ZXItaXRlbSBhIG1haW4gdWwgeyBsaXN0LXN0eWxlOiBub25lOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uZ2FtZS1zZXJ2ZXItaXRlbSBhIG1haW4gdWwgbGkgeyBtYXJnaW4tYm90dG9tOiAwLjVyZW07IHBhZGRpbmctbGVmdDogMi41cmVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmdhbWUtc2VydmVyLWl0ZW0gYSBtYWluIHVsIGxpOmJlZm9yZSB7IGNvbG9yOiAjRDIyMzJBOyBsZWZ0OiAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgfVxuXG4uZ2FtZS1zZXJ2ZXItaXRlbSBhIG1haW4gcCB7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW46IDA7IH1cblxuLmdhbWUtc2VydmVyLWl0ZW0gYSB7IGJhY2tncm91bmQtY29sb3I6ICMyMzIyMjM7IH1cblxuLmdhbWUtc2VydmVyLWl0ZW0gbWFpbiB7IGNvbG9yOiAjRkZGOyB9XG5cbi5pY29uLWl0ZW0geyBjb2xvcjogIzIzMjIyMzsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuaWNvbi1pdGVtIHsgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cblxuLmljb24taXRlbTpob3ZlciBmaWd1cmUgeyBvcGFjaXR5OiAwOyB9XG5cbi5pY29uLWl0ZW06aG92ZXIgZmlndXJlLm92ZXJsYXkgeyBmaWx0ZXI6IG5vbmUgIWltcG9ydGFudDsgb3BhY2l0eTogMTsgfVxuXG4uaWNvbi1pdGVtIC5pbm5lci13cmFwcGVyIHsgaGVpZ2h0OiAxMHJlbTsgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMTAwJTsgfVxuXG4uaWNvbi1pdGVtIGZpZ3VyZSB7IHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7IGhlaWdodDogMTAwJTsgbGVmdDogMDsgb3BhY2l0eTogMTsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IHdpZHRoOiAxMDAlOyB9XG5cbi5pY29uLWl0ZW0gZmlndXJlLm92ZXJsYXkgeyBvcGFjaXR5OiAwOyB6LWluZGV4OiAxOyB9XG5cbi5pY29uLWl0ZW0gZmlndXJlIGltZyB7IGhlaWdodDogODAlOyBsZWZ0OiA1MCU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB3aWR0aDogODAlOyB9XG5cbi5ibGFjayAuaWNvbi1pdGVtIHsgY29sb3I6ICNGRkY7IH1cblxuLmljb24taXRlbSBoNSwgLmljb24taXRlbSBoNiB7IG1hcmdpbi1ib3R0b206IDA7IG1hcmdpbi10b3A6IDJyZW07IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uaWNvbi1pdGVtIGg1IHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5pY29uLWl0ZW0gaDU6YWZ0ZXIgeyB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyOyBjb2xvcjogI0QyMjMyQTsgY29udGVudDogXCLupI5cIjsgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5pY29uLWl0ZW0gaDU6YWZ0ZXIgeyB0b3A6IDAuNXJlbTsgfSB9XG5cbi5pbnRyby1oZWFkaW5nIHsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuaW50cm8taGVhZGluZyB7IG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG5cbi5pbnRyby1oZWFkaW5nIC5yb3cgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLmludHJvLWhlYWRpbmcgaDIgeyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLmludHJvLWhlYWRpbmcgLmJ1dHRvbiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDFyZW07IHRvcDogMDsgfSB9XG5cbi5ibGFjayAuaW50cm8taGVhZGluZyB7IGNvbG9yOiAjRkZGOyB9XG5cbi5uZXdzLWl0ZW0geyBtYXJnaW4tdG9wOiAzMnB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3LjQzNzVlbSkgeyAubmV3cy1pdGVtOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5uZXdzLWl0ZW06bnRoLWNoaWxkKG4pOm50aC1jaGlsZCgtbisyKSB7IG1hcmdpbi10b3A6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7IC5uZXdzLWl0ZW06bnRoLWNoaWxkKG4pOm50aC1jaGlsZCgtbiszKSB7IG1hcmdpbi10b3A6IDA7IH0gfVxuXG4ubmV3cy1pdGVtIGEgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGN0Y3OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBoZWlnaHQ6IDEwMCU7IH1cblxuLm5ld3MtaXRlbSBhIGZpZ3VyZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgYmFja2dyb3VuZC1jb2xvcjogIzIzMjIyMzsgbWluLWhlaWdodDogMjByZW07IH1cblxuLm5ld3MtaXRlbSBhIGZpZ3VyZSBmaWdjYXB0aW9uIHsgYm90dG9tOiAxLjVyZW07IGNvbG9yOiAjRkZGOyBsZWZ0OiAycmVtOyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiA1LjVyZW07IHotaW5kZXg6IDE7IH1cblxuLm5ld3MtaXRlbSBhIGZpZ3VyZSAuYnV0dG9uLmljb24tb25seSB7IGJvdHRvbTogMDsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMXJlbTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7IHotaW5kZXg6IDE7IH1cblxuLm5ld3MtaXRlbSBhIG1haW4geyBwYWRkaW5nOiAycmVtOyB9XG5cbi5uZXdzLWl0ZW0gYSBtYWluIHVsIHsgbGlzdC1zdHlsZTogbm9uZTsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLm5ld3MtaXRlbSBhIG1haW4gdWwgbGkgeyBtYXJnaW4tYm90dG9tOiAwLjVyZW07IHBhZGRpbmctbGVmdDogMi41cmVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm5ld3MtaXRlbSBhIG1haW4gdWwgbGk6YmVmb3JlIHsgY29sb3I6ICNEMjIzMkE7IGxlZnQ6IDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyB9XG5cbi5uZXdzLWl0ZW0gYSBtYWluIHAgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luOiAwOyB9XG5cbi5uZXdzLWl0ZW0gLnBvc3QtZGF0ZTpiZWZvcmUgeyBjb250ZW50OiBcIu6kjVwiOyB9XG5cbi5uZXdzLWl0ZW0gLnBvc3QtdGFnOmJlZm9yZSB7IGNvbnRlbnQ6IFwi7qSBXCI7IH1cblxuLnBhZ2luYXRpb24geyBtYXJnaW4tdG9wOiAtMC42MjVyZW07IH1cblxuLnBhZ2luYXRpb24gYSB7IGNvbG9yOiAjMjMyMjIzOyBmb250LXNpemU6IDFyZW07IH1cblxuLnBhZ2luYXRpb24gLmljb24geyB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyOyBoZWlnaHQ6IDFyZW07IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAwLjE4NzVyZW07IHdpZHRoOiAwLjVyZW07IH1cblxuLnBhZ2luYXRpb24gLmljb24gc3ZnIHsgZmlsbDogIzIzMjIyMzsgfVxuXG4ucGFnaW5hdGlvbiAuYmx1ciB7IG9wYWNpdHk6IDAuMTsgfVxuXG4ucGFnaW5hdGlvbiAuYmx1ciBhIHsgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5wYWdpbmF0aW9uIC5wYWdlLXByZXYgeyBmbG9hdDogbGVmdDsgfVxuXG4ucGFnaW5hdGlvbiAucGFnZS1wcmV2IC5pY29uIHsgcmlnaHQ6IDA7IHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpOyB9XG5cbi5wYWdpbmF0aW9uIC5wYWdlLXByZXY6bm90KC5ibHVyKTpob3ZlciAuaWNvbiB7IHJpZ2h0OiAwLjMxMjVyZW07IH1cblxuLnBhZ2luYXRpb24gLnBhZ2UtbmV4dCB7IGZsb2F0OiByaWdodDsgfVxuXG4ucGFnaW5hdGlvbiAucGFnZS1uZXh0IC5pY29uIHsgbGVmdDogMDsgfVxuXG4ucGFnaW5hdGlvbiAucGFnZS1uZXh0Om5vdCguYmx1cik6aG92ZXIgLmljb24geyBsZWZ0OiAwLjMxMjVyZW07IH1cblxuLnBlb3BsZS1pdGVtIHsgbWFyZ2luLXRvcDogMzJweDsgfVxuXG4ucGVvcGxlLWl0ZW0gZmlndXJlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAxMDAlOyB9XG5cbi5wZW9wbGUtaXRlbSAuaW5uZXItd3JhcHBlciB7IGJvdHRvbTogMS41cmVtOyBsZWZ0OiAxLjVyZW07IHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAucGVvcGxlLWl0ZW0gLmlubmVyLXdyYXBwZXIgeyBib3R0b206IDJyZW07IGxlZnQ6IDJyZW07IH0gfVxuXG4ucGVvcGxlLWl0ZW0gLmlubmVyLXdyYXBwZXIgLm5hbWUsIC5wZW9wbGUtaXRlbSAuaW5uZXItd3JhcHBlciAuam9iIHsgY29sb3I6ICNGRkY7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wZW9wbGUtaXRlbSAuaWNvbiB7IHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7IGJvdHRvbTogMS41cmVtOyBoZWlnaHQ6IDIuNXJlbTsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMS41cmVtOyB3aWR0aDogMi41cmVtOyB6LWluZGV4OiAxOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5wZW9wbGUtaXRlbSAuaWNvbiB7IGJvdHRvbTogMnJlbTsgcmlnaHQ6IDJyZW07IH0gfVxuXG4ucGVvcGxlLWl0ZW0gLmljb246aG92ZXIgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMjUpOyB9XG5cbi5jZS1wb3N0LWhlYWRpbmcgeyBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uY2UtcG9zdC1oZWFkaW5nIGgxLCAuY2UtcG9zdC1oZWFkaW5nIC5mcmVxdWVuY3ktcHJpY2UgLnByaWNlLCAuZnJlcXVlbmN5LXByaWNlIC5jZS1wb3N0LWhlYWRpbmcgLnByaWNlIHsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4uY2UtcG9zdC1oZWFkaW5nIC5oZWFkaW5nLXBvc3QgeyBtYXJnaW4tcmlnaHQ6IDJyZW07IG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cblxuLmNlLXBvc3QtaGVhZGluZyAuaGVhZGluZy1wb3N0Omxhc3QtY2hpbGQgeyBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmNlLXBvc3QtaGVhZGluZyAuaGVhZGluZy1wb3N0IHN2ZyB7IGZpbGw6ICNEMjIzMkE7IGhlaWdodDogMS41cmVtOyBtYXJnaW4tcmlnaHQ6IDFyZW07IHdpZHRoOiAxLjVyZW07IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwLjI1cmVtKTsgfVxuXG4uc2VydmVyLWl0ZW0geyBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLnNlcnZlci1pdGVtIHsgbWFyZ2luLWJvdHRvbTogMy41cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLnNlcnZlci1pdGVtIHsgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5zZXJ2ZXItaXRlbSAuaW5uZXItd3JhcHBlciB7IGJhY2tncm91bmQtY29sb3I6ICMyMzIyMjM7IGNvbG9yOiAjRkZGOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAxMDAlOyBwYWRkaW5nOiAxLjVyZW0gMnJlbTsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zZXJ2ZXItaXRlbSBoNCwgLnNlcnZlci1pdGVtIC5ldmVudC1pdGVtIGEgZmlndXJlIGZpZ2NhcHRpb24sIC5ldmVudC1pdGVtIGEgZmlndXJlIC5zZXJ2ZXItaXRlbSBmaWdjYXB0aW9uLCAuc2VydmVyLWl0ZW0gLmdhbWUtc2VydmVyLWl0ZW0gYSBmaWd1cmUgZmlnY2FwdGlvbiwgLmdhbWUtc2VydmVyLWl0ZW0gYSBmaWd1cmUgLnNlcnZlci1pdGVtIGZpZ2NhcHRpb24sIC5zZXJ2ZXItaXRlbSAubmV3cy1pdGVtIGEgZmlndXJlIGZpZ2NhcHRpb24sIC5uZXdzLWl0ZW0gYSBmaWd1cmUgLnNlcnZlci1pdGVtIGZpZ2NhcHRpb24sIC5zZXJ2ZXItaXRlbSAuc2VydmljZS1pdGVtIGEgZmlndXJlIGZpZ2NhcHRpb24sIC5zZXJ2aWNlLWl0ZW0gYSBmaWd1cmUgLnNlcnZlci1pdGVtIGZpZ2NhcHRpb24sIC5zZXJ2ZXItaXRlbSAudmFjYW5jeS1pdGVtIGEgZmlndXJlIGZpZ2NhcHRpb24sIC52YWNhbmN5LWl0ZW0gYSBmaWd1cmUgLnNlcnZlci1pdGVtIGZpZ2NhcHRpb24geyBtYXJnaW4tYm90dG9tOiAzLjVyZW07IHBhZGRpbmctcmlnaHQ6IDIuNXJlbTsgfVxuXG4uc2VydmVyLWl0ZW0gLmludHJvIHAsIC5zZXJ2ZXItaXRlbSAuZnJlcXVlbmN5LXByaWNlIGxhYmVsIHAsIC5mcmVxdWVuY3ktcHJpY2UgLnNlcnZlci1pdGVtIGxhYmVsIHAsIC5zZXJ2ZXItaXRlbSAjbWFpbi1mb290ZXIgdWwucXVpY2stbGlzdCBhIHAsICNtYWluLWZvb3RlciB1bC5xdWljay1saXN0IC5zZXJ2ZXItaXRlbSBhIHAgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5zZXJ2ZXItaXRlbSBociB7IGJvcmRlci1jb2xvcjogIzQwNDA0MDsgbWFyZ2luOiAycmVtIDA7IH1cblxuLnNlcnZlci1pdGVtIC5idXR0b24ud2l0aC1pY29uLmljb24tb25seSB7IGJvdHRvbTogMDsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMnJlbTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7IH1cblxuLnNlcnZlci1pdGVtIC50b29sdGlwLXdyYXBwZXIgeyBsZWZ0OiAxLjVyZW07IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDEuNXJlbTsgdG9wOiAxLjVyZW07IHotaW5kZXg6IDE7IH1cblxuLnNlcnZlci1pdGVtIC50b29sdGlwLXdyYXBwZXIgLmluZm8tdHJpZ2dlciB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDFyZW07IHRvcDogMC43NXJlbTsgfVxuXG4uc2VydmVyLWl0ZW0gLnRvb2x0aXAtd3JhcHBlciAuaW5mby10cmlnZ2VyIHN2ZyB7IGZpbGw6ICNGRkY7IH1cblxuLnNlcnZlci1pdGVtIC50b29sdGlwLXdyYXBwZXIgLmNsb3NlLXRyaWdnZXIgeyB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyOyBoZWlnaHQ6IDFyZW07IHBvaW50ZXItZXZlbnRzOiBub25lOyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAxLjI1cmVtOyB0b3A6IDEuMjVyZW07IHRyYW5zZm9ybTogcm90YXRlKC03NXB4KTsgd2lkdGg6IDFyZW07IH1cblxuLnNlcnZlci1pdGVtIC50b29sdGlwLXdyYXBwZXIgLnRvb2x0aXAtaW5mbyB7IHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7IGJhY2tncm91bmQtY29sb3I6ICNGRkY7IGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtOyBjb2xvcjogIzIzMjIyMzsgbWF4LWhlaWdodDogMjguMTI1cmVtOyBvcGFjaXR5OiAwOyBvdmVyZmxvdy15OiBzY3JvbGw7IHBhZGRpbmc6IDJyZW0gM3JlbSAycmVtIDJyZW07IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7IC5zZXJ2ZXItaXRlbSAudG9vbHRpcC13cmFwcGVyIC50b29sdGlwLWluZm8geyBtYXgtaGVpZ2h0OiAzMi41cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzcuNDM3NWVtKSB7IC5zZXJ2ZXItaXRlbSAudG9vbHRpcC13cmFwcGVyIC50b29sdGlwLWluZm8geyBtYXgtaGVpZ2h0OiAxOS4zNzVyZW07IH0gfVxuXG4uc2VydmVyLWl0ZW0gLnRvb2x0aXAtd3JhcHBlciAudG9vbHRpcC1pbmZvIHA6bGFzdC1vZi10eXBlIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uc2VydmVyLWl0ZW0gLnRvb2x0aXAtd3JhcHBlci5hY3RpdmUgLmluZm8tdHJpZ2dlciB7IG9wYWNpdHk6IDA7IH1cblxuLnNlcnZlci1pdGVtIC50b29sdGlwLXdyYXBwZXIuYWN0aXZlIC50b29sdGlwLWluZm8geyBvcGFjaXR5OiAxOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5zZXJ2ZXItaXRlbSAudG9vbHRpcC13cmFwcGVyLmFjdGl2ZSAuY2xvc2UtdHJpZ2dlciB7IHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH1cblxuLnNlcnZpY2UtaXRlbSB7IG1hcmdpbi10b3A6IDMycHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzcuNDM3NWVtKSB7IC5zZXJ2aWNlLWl0ZW06Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLnNlcnZpY2UtaXRlbTpudGgtY2hpbGQobik6bnRoLWNoaWxkKC1uKzIpIHsgbWFyZ2luLXRvcDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHsgLnNlcnZpY2UtaXRlbTpudGgtY2hpbGQobik6bnRoLWNoaWxkKC1uKzMpIHsgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5zZXJ2aWNlLWl0ZW0gYSB7IGJhY2tncm91bmQtY29sb3I6ICNGN0Y3Rjc7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGhlaWdodDogMTAwJTsgfVxuXG4uc2VydmljZS1pdGVtIGEgZmlndXJlIHsgcG9zaXRpb246IHJlbGF0aXZlOyBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMyMjIzOyBtaW4taGVpZ2h0OiAyMHJlbTsgfVxuXG4uc2VydmljZS1pdGVtIGEgZmlndXJlIGZpZ2NhcHRpb24geyBib3R0b206IDEuNXJlbTsgY29sb3I6ICNGRkY7IGxlZnQ6IDJyZW07IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDUuNXJlbTsgei1pbmRleDogMTsgfVxuXG4uc2VydmljZS1pdGVtIGEgZmlndXJlIC5idXR0b24uaWNvbi1vbmx5IHsgYm90dG9tOiAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAxcmVtOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTsgei1pbmRleDogMTsgfVxuXG4uc2VydmljZS1pdGVtIGEgbWFpbiB7IHBhZGRpbmc6IDJyZW07IH1cblxuLnNlcnZpY2UtaXRlbSBhIG1haW4gdWwgeyBsaXN0LXN0eWxlOiBub25lOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uc2VydmljZS1pdGVtIGEgbWFpbiB1bCBsaSB7IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgcGFkZGluZy1sZWZ0OiAyLjVyZW07IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc2VydmljZS1pdGVtIGEgbWFpbiB1bCBsaTpiZWZvcmUgeyBjb2xvcjogI0QyMjMyQTsgbGVmdDogMDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IH1cblxuLnNlcnZpY2UtaXRlbSBhIG1haW4gcCB7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW46IDA7IH1cblxuLnNlcnZpY2UtaXRlbSBhIHsgYmFja2dyb3VuZC1jb2xvcjogIzIzMjIyMzsgfVxuXG4uc2VydmljZS1pdGVtIGEgZmlndXJlIHsgbWluLWhlaWdodDogMC42MjVyZW07IH1cblxuLnNlcnZpY2UtaXRlbSBtYWluIHsgY29sb3I6ICNGRkY7IH1cblxuLnNlcnZpY2UtaXRlbSAubGVhZC1wYXJhZ3JhcGggeyBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLnN3aXBlci13cmFwcGVyIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uc3dpcGVyLXNsaWRlIHsgaGVpZ2h0OiBhdXRvOyB9XG5cbi5zd2lwZXItY3RhIHsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi10b3A6IDEuNXJlbTsgcG9zaXRpb246IHJlbGF0aXZlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHotaW5kZXg6IDEwOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQsIC5zd2lwZXItYnV0dG9uLXByZXYgeyBiYWNrZ3JvdW5kOiBub25lOyBjb2xvcjogIzIzMjIyMzsgZGlzcGxheTogbm9uZTsgZmxvYXQ6IGxlZnQ7IGhlaWdodDogYXV0bzsgbWFyZ2luOiAwOyBwb3NpdGlvbjogc3RhdGljOyB0b3A6IGF1dG87IHdpZHRoOiBhdXRvOyB9XG5cbi5ibGFjayAuc3dpcGVyLWJ1dHRvbi1uZXh0LCAuYmxhY2sgLnN3aXBlci1idXR0b24tcHJldiB7IGNvbG9yOiAjRkZGOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5zd2lwZXItYnV0dG9uLW5leHQsIC5zd2lwZXItYnV0dG9uLXByZXYgeyBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXY6YmVmb3JlIHsgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjsgY29udGVudDogXCLupJNcIjsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW4tcmlnaHQ6IDFyZW07IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAwLjEyNXJlbTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2OmhvdmVyOmJlZm9yZSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMC4yNXJlbSk7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dCB7IGZsb2F0OiByaWdodDsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyIHsgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjsgY29udGVudDogXCLupI5cIjsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW4tbGVmdDogMXJlbTsgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IDAuMTI1cmVtOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQ6aG92ZXI6YWZ0ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMC4yNXJlbSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uIHsgY29sb3I6ICMyMzIyMjM7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxcmVtOyBwb3NpdGlvbjogc3RhdGljOyB3aWR0aDogYXV0bzsgfVxuXG4uYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uIHsgY29sb3I6ICNGRkY7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQgeyB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyOyBiYWNrZ3JvdW5kOiBub25lOyBib3JkZXItcmFkaXVzOiBpbml0aWFsOyBoZWlnaHQ6IGF1dG87IG1hcmdpbjogMCAwLjM3NXJlbTsgb3BhY2l0eTogMTsgd2lkdGg6IGF1dG87IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7IG9wYWNpdHk6IDAuMzsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldDpob3ZlciB7IG9wYWNpdHk6IDAuMzsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1sb2NrLCAuc3dpcGVyLXBhZ2luYXRpb24tbG9jayB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uc29jaWFsLWxpc3QgeyBsaXN0LXN0eWxlOiBub25lOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH1cblxuLnNvY2lhbC1saXN0OjpiZWZvcmUsIC5zb2NpYWwtbGlzdDo6YWZ0ZXIgeyBkaXNwbGF5OiB0YWJsZTsgY29udGVudDogJyAnOyB9XG5cbi5zb2NpYWwtbGlzdDo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4uc29jaWFsLWxpc3QgbGkgeyBmbG9hdDogbGVmdDsgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG5cbi5zb2NpYWwtbGlzdCBsaTpsYXN0LWNoaWxkIHsgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5zb2NpYWwtbGlzdCBsaSBhIHsgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5zb2NpYWwtbGlzdCBsaSBhOmhvdmVyIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9XG5cbi5zb2NpYWwtbGlzdCBsaSAuaWNvbiB7IGhlaWdodDogMnJlbTsgd2lkdGg6IDJyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLnNvY2lhbC1saXN0IGxpIC5pY29uIHsgaGVpZ2h0OiAyLjVyZW07IHdpZHRoOiAyLjVyZW07IH0gfVxuXG4uc29jaWFsLWxpc3QgbGkgLmljb24gaW1nIHsgd2lkdGg6IDEwMCU7IH1cblxuLnZhY2FuY3ktaXRlbSB7IG1hcmdpbi10b3A6IDMycHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzcuNDM3NWVtKSB7IC52YWNhbmN5LWl0ZW06Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLnZhY2FuY3ktaXRlbTpudGgtY2hpbGQobik6bnRoLWNoaWxkKC1uKzIpIHsgbWFyZ2luLXRvcDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHsgLnZhY2FuY3ktaXRlbTpudGgtY2hpbGQobik6bnRoLWNoaWxkKC1uKzMpIHsgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi52YWNhbmN5LWl0ZW0gYSB7IGJhY2tncm91bmQtY29sb3I6ICNGN0Y3Rjc7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGhlaWdodDogMTAwJTsgfVxuXG4udmFjYW5jeS1pdGVtIGEgZmlndXJlIHsgcG9zaXRpb246IHJlbGF0aXZlOyBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMyMjIzOyBtaW4taGVpZ2h0OiAyMHJlbTsgfVxuXG4udmFjYW5jeS1pdGVtIGEgZmlndXJlIGZpZ2NhcHRpb24geyBib3R0b206IDEuNXJlbTsgY29sb3I6ICNGRkY7IGxlZnQ6IDJyZW07IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDUuNXJlbTsgei1pbmRleDogMTsgfVxuXG4udmFjYW5jeS1pdGVtIGEgZmlndXJlIC5idXR0b24uaWNvbi1vbmx5IHsgYm90dG9tOiAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAxcmVtOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTsgei1pbmRleDogMTsgfVxuXG4udmFjYW5jeS1pdGVtIGEgbWFpbiB7IHBhZGRpbmc6IDJyZW07IH1cblxuLnZhY2FuY3ktaXRlbSBhIG1haW4gdWwgeyBsaXN0LXN0eWxlOiBub25lOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4udmFjYW5jeS1pdGVtIGEgbWFpbiB1bCBsaSB7IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgcGFkZGluZy1sZWZ0OiAyLjVyZW07IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udmFjYW5jeS1pdGVtIGEgbWFpbiB1bCBsaTpiZWZvcmUgeyBjb2xvcjogI0QyMjMyQTsgbGVmdDogMDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IH1cblxuLnZhY2FuY3ktaXRlbSBhIG1haW4gcCB7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW46IDA7IH1cblxuLnZhY2FuY3ktaXRlbSAucG9zdC1kYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi7qSNXCI7IH1cblxuLnZhY2FuY3ktaXRlbSAucG9zdC1sb2NhdGlvbjpiZWZvcmUgeyBjb250ZW50OiBcIu6khlwiOyB9XG5cbi5jZS10ZXh0cGljIHsgbWFyZ2luOiAycmVtIDA7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmNlLXRleHRwaWMgLmdhbGxlcnktdmlldyB7IGZsZXg6IDAgMCA5NiU7IG1hcmdpbi1sZWZ0OiAwOyBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmNlLXRleHRwaWMuY2UtYWJvdmUgLmNvbHVtbi1pbWFnZSwgLmNlLXRleHRwaWMuY2UtYmVsb3cgLmNvbHVtbi1pbWFnZSB7IGRpc3BsYXk6IGZsZXg7IH1cblxuLmNlLXRleHRwaWMuY2UtYWJvdmUuY2UtcmlnaHQgLmNvbHVtbi1pbWFnZSwgLmNlLXRleHRwaWMuY2UtYmVsb3cuY2UtcmlnaHQgLmNvbHVtbi1pbWFnZSB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmNlLXRleHRwaWMuY2UtYWJvdmUuY2UtbGVmdCAuY29sdW1uLWltYWdlLCAuY2UtdGV4dHBpYy5jZS1iZWxvdy5jZS1sZWZ0IC5jb2x1bW4taW1hZ2UgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmNlLXRleHRwaWMuY2UtY2VudGVyIC5jb2x1bW4taW1hZ2UgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY2UtdGV4dHBpYy5jZS1jZW50ZXIgLmNvbHVtbi1pbWFnZSAuaW1hZ2UgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmNlLXRleHRwaWMuY2UtbGVmdCAuY2UtaW1hZ2UsIC5jZS10ZXh0cGljLmNlLWxlZnQgLmJsb2NrIHsgZmxvYXQ6IGxlZnQ7IH1cblxuLmNlLXRleHRwaWMuY2UtbGVmdCAuY29sdW1uLWltYWdlIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5jZS10ZXh0cGljLmNlLWxlZnQgLmJsb2NrIHsgbWFyZ2luOiAwIDJyZW0gMnJlbSAwOyB9XG5cbi5jZS10ZXh0cGljLmNlLXJpZ2h0IC5jZS1pbWFnZSwgLmNlLXRleHRwaWMuY2UtcmlnaHQgLmJsb2NrIHsgZmxvYXQ6IHJpZ2h0OyBtYXJnaW46IDA7IH1cblxuLmNlLXRleHRwaWMuY2UtcmlnaHQgLmJsb2NrIHsgbWFyZ2luOiAwIDAgMnJlbSAycmVtOyB9XG5cbi5jZS10ZXh0cGljLmNlLXJpZ2h0IC5jb2x1bW4taW1hZ2UgeyBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5jZS10ZXh0cGljLmNlLWFib3ZlIC5pbWFnZSwgLmNlLXRleHRwaWMuY2UtYmVsb3cgLmltYWdlIHsgZmxleDogMCAwIDEwMCU7IG1heC13aWR0aDogMTAwJTsgd2lkdGg6IDEwMCU7IH1cblxuLmNlLXRleHRwaWMuY2UtaW50ZXh0IC5ibG9jayB7IGZsZXg6IDAgMCAxMDAlOyBtYXgtd2lkdGg6IDEwMCU7IHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5jZS10ZXh0cGljLmNlLWludGV4dCAuYmxvY2sgeyBmbGV4OiAwIDAgNTAlOyBtYXgtd2lkdGg6IDUwJTsgd2lkdGg6IDUwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5jZS10ZXh0cGljLmNlLW5vd3JhcCB7IGRpc3BsYXk6IGZsZXg7IH0gfVxuXG4uY2UtdGV4dHBpYy5jZS1ub3dyYXAuY2UtcmlnaHQgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmNlLXRleHRwaWMuY2Utbm93cmFwLmNlLXJpZ2h0IC5ibG9jayB7IG1hcmdpbi1sZWZ0OiAycmVtOyB9XG5cbi5jZS10ZXh0cGljLmNlLW5vd3JhcC5jZS1sZWZ0IC5ibG9jayB7IG1hcmdpbi1yaWdodDogMnJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHsgLmNlLXRleHRwaWMuY2Utbm93cmFwIC5ibG9jayB7IG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuXG4uY2UtdGV4dHBpYy5jZS1ub3dyYXAgLmNlLWltYWdlIHsgd2lkdGg6IDEwMCU7IH1cblxuLmNlLXRleHRwaWMuY2Utbm93cmFwIC5jZS1pbWFnZSAuY29sdW1uLWltYWdlIHsgbWFyZ2luOiAwOyBtaW4td2lkdGg6IDEwMCU7IH1cblxuLmNlLXRleHRwaWMgLmNvbHVtbi1pbWFnZSB7IHBhZGRpbmctdG9wOiAwOyB9XG5cbi5jZS13b3JsZG1hcCB7IGhlaWdodDogNDYuMzc1cmVtOyBtYXJnaW4tYm90dG9tOiAyLjVyZW07IHdpZHRoOiAxMDAlOyB9XG5cbi5pbmZvLXdpbmRvdyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaW5mby13aW5kb3dfX2JvZHkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMyMjIzOyBjb2xvcjogI0ZGRjsgbWFyZ2luLXJpZ2h0OiAxLjVyZW07IHBhZGRpbmc6IDIuNXJlbTsgd2lkdGg6IDE4LjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLmluZm8td2luZG93X19ib2R5IGgxLCAuaW5mby13aW5kb3dfX2JvZHkgLmZyZXF1ZW5jeS1wcmljZSAucHJpY2UsIC5mcmVxdWVuY3ktcHJpY2UgLmluZm8td2luZG93X19ib2R5IC5wcmljZSB7IGZvbnQtc2l6ZTogMnJlbTsgbGluZS1oZWlnaHQ6IDIuNXJlbTsgfSB9XG5cbi5pbmZvLXdpbmRvd19fYm9keSBwIHsgY29sb3I6ICNhN2E3YTc7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLmluZm8td2luZG93X19ib2R5IHAgeyBmb250LXNpemU6IDEuMjVyZW07IGxpbmUtaGVpZ2h0OiAycmVtOyB9IH1cblxuLmluZm8td2luZG93X19ib2R5IHAgYSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyBjb2xvcjogI0Y3RjdGNzsgfVxuXG4uaW5mby13aW5kb3dfX2xpbmsgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRDIyMzJBOyBib3JkZXItcmFkaXVzOiA1MCU7IGJvdHRvbTogMXJlbTsgaGVpZ2h0OiAzcmVtOyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAwOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHdpZHRoOiAzcmVtOyB9XG5cbi5pbmZvLXdpbmRvd19fbGluazpiZWZvcmUgeyBjb250ZW50OiBcIu6kklwiOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMS4xMjVyZW07IGxpbmUtaGVpZ2h0OiAzcmVtOyB9XG5cbi5pbmZvLXdpbmRvd19fY2xvc2UgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmluZm8td2luZG93X19jbG9zZTphZnRlciB7IGNvbG9yOiAjRkZGOyBjb250ZW50OiBcIu6kg1wiOyBmb250LXNpemU6IDFyZW07IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDIuMzEyNXJlbTsgdG9wOiAwLjgxMjVyZW07IHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4uZ20tc3R5bGUgLmdtLXN0eWxlLWl3IHsgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4uZ20tc3R5bGUgLmdtLXN0eWxlLWl3ID4gZGl2IHsgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmdtLXN0eWxlIC5nbS11aS1ob3Zlci1lZmZlY3QgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmNlLXdvcmRtYXAtbGlzdCB7IG1hcmdpbi1ib3R0b206IDRyZW07IH1cblxuLmNlLXdvcmRtYXAtbGlzdCB1bCB7IGxpc3Qtc3R5bGU6IG5vbmU7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfVxuXG4uY2Utd29yZG1hcC1saXN0IGxpIHsgYmFja2dyb3VuZC1jb2xvcjogIzIzMjIyMzsgbWFyZ2luLWJvdHRvbTogMC41cmVtOyBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cblxuLmNlLXdvcmRtYXAtbGlzdCBsaSBhIHsgY29sb3I6ICNGRkY7IGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDEuMTI1cmVtOyBsaW5lLWhlaWdodDogMS41cmVtOyBwYWRkaW5nOiAxcmVtIDAuNzVyZW07IHBvc2l0aW9uOiByZWxhdGl2ZTsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jZS13b3JkbWFwLWxpc3QgbGkgYSBzcGFuIHsgYmFja2dyb3VuZC1jb2xvcjogI0QyMjMyQTsgYm9yZGVyLXJhZGl1czogNTAlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGhlaWdodDogMnJlbTsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogLTFyZW07IHRleHQtYWxpZ246IGNlbnRlcjsgdG9wOiAwLjc1cmVtOyB3aWR0aDogMnJlbTsgfVxuXG4uY2Utd29yZG1hcC1saXN0IGxpIGEgc3BhbjphZnRlciB7IGNvbnRlbnQ6IFwi7qSSXCI7IGZvbnQtc2l6ZTogMC44NzVyZW07IGxpbmUtaGVpZ2h0OiAycmVtOyB9XG5cbi5jZS13b3JkbWFwLWxpc3QgLmJ1dHRvbiB7IG1hcmdpbi10b3A6IDFyZW07IH1cblxuLmNlLXdvcmRtYXAtbGlzdCAuYnV0dG9uOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogI0QyMjMyQTsgfVxuXG4uY2Utd29yZG1hcC1saXN0IC5jb2xsYXBzZSB7IHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7IGRpc3BsYXk6IG5vbmU7IG9wYWNpdHk6IDA7IH1cblxuLndvcmRtYXAtbGlzdC1vcGVuIC5jZS13b3JkbWFwLWxpc3QgLmNvbGxhcHNlIHsgZGlzcGxheTogYmxvY2s7IG9wYWNpdHk6IDE7IH1cblxuLndvcmRtYXAtbGlzdC1vcGVuIC5jZS13b3JkbWFwLWxpc3QgLmJ1dHRvbjphZnRlciB7IHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cblxuLmNlLWNhc2UtdHJpZ2dlciBtYWluIHsgYmFja2dyb3VuZC1jb2xvcjogIzIzMjIyMzsgaGVpZ2h0OiBhdXRvOyBwYWRkaW5nOiAxLjVyZW0gMCAxMi43NXJlbTsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5jZS1jYXNlLXRyaWdnZXIgbWFpbiB7IGhlaWdodDogNDYuODc1cmVtOyBwYWRkaW5nOiA1cmVtIDA7IH0gfVxuXG4uY2UtY2FzZS10cmlnZ2VyIG1haW4gLnJvdyB7IGhlaWdodDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuY2UtY2FzZS10cmlnZ2VyIG1haW4gLnJvdyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG5cbi5jZS1jYXNlLXRyaWdnZXIgbWFpbiBmaWd1cmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IGJhY2tncm91bmQtc2l6ZTogY292ZXI7IGhlaWdodDogMTAwJTsgbGVmdDogMDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IHdpZHRoOiAxMDAlOyB9XG5cbi5jZS1jYXNlLXRyaWdnZXIgbWFpbiAuY29udGVudC13cmFwcGVyIHsgY29sb3I6ICNGRkY7IG1heC13aWR0aDogMzIuNzVyZW07IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgfVxuXG4uY2UtY2FzZS10cmlnZ2VyIG1haW4gLmNvbnRlbnQtd3JhcHBlciBoMiB7IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuY2UtY2FzZS10cmlnZ2VyIG1haW4gLmNvbnRlbnQtd3JhcHBlciBoMiB7IG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuXG4uY2UtY2FzZS10cmlnZ2VyIG1haW4gLmNvbnRlbnQtd3JhcHBlciBwIHsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuY2UtY2FzZS10cmlnZ2VyIG1haW4gLmNvbnRlbnQtd3JhcHBlciBwIHsgbWFyZ2luLWJvdHRvbTogMnJlbTsgfSB9XG5cbi5jZS1jYXNlLXRyaWdnZXIgbWFpbiAuY2FzZS1pY29uIHsgYm90dG9tOiAxLjVyZW07IGxlZnQ6IDEuNXJlbTsgbWF4LWhlaWdodDogNHJlbTsgbWF4LXdpZHRoOiA0cmVtOyBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLmNlLWNhc2UtdHJpZ2dlciBtYWluIC5jYXNlLWljb24geyBib3R0b206IDA7IGxlZnQ6IDA7IG1heC1oZWlnaHQ6IDcuNXJlbTsgbWF4LXdpZHRoOiA3LjVyZW07IH0gfVxuXG4uY2UtY2FzZS10cmlnZ2VyIC5zd2lwZXItY29udGFpbmVyIHsgYm90dG9tOiAxLjVyZW07IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDEuNXJlbTsgd2lkdGg6IDYwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuY2UtY2FzZS10cmlnZ2VyIC5zd2lwZXItY29udGFpbmVyIHsgYm90dG9tOiAwOyByaWdodDogMDsgd2lkdGg6IDI0LjVyZW07IH0gfVxuXG4uY2UtY2FzZS10cmlnZ2VyIC5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItY3RhIHsgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG4uY2UtY2FzZS10cmlnZ2VyIC5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItY3RhOjpiZWZvcmUsIC5jZS1jYXNlLXRyaWdnZXIgLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1jdGE6OmFmdGVyIHsgZGlzcGxheTogdGFibGU7IGNvbnRlbnQ6ICcgJzsgfVxuXG4uY2UtY2FzZS10cmlnZ2VyIC5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItY3RhOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi5jZS1jYXNlLXRyaWdnZXIgLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1jdGEgKiB7IGNvbG9yOiAjRkZGOyB9XG5cbi5jZS1jYXNlLXRyaWdnZXIgLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1jdGEgLnN3aXBlci1idXR0b24tcHJldiwgLmNlLWNhc2UtdHJpZ2dlciAuc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLWN0YSAuc3dpcGVyLWJ1dHRvbi1uZXh0IHsgZGlzcGxheTogYmxvY2s7IH1cblxuLmNlLWNhc2UtdHJpZ2dlciAuc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLWN0YSAuc3dpcGVyLXBhZ2luYXRpb24geyBkaXNwbGF5OiBub25lOyBsZWZ0OiA1MCU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAyNSU7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5jZS1jYXNlLXRyaWdnZXIgLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1jdGEgLnN3aXBlci1wYWdpbmF0aW9uIHsgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uY2UtY2FzZS10cmlnZ2VyIC5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItc2xpZGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMyMjIzOyBib3JkZXI6IDAuMjVyZW0gc29saWQgI0ZGRjsgYm9yZGVyLXJhZGl1czogMC42MjVyZW07IGhlaWdodDogNy43NXJlbTsgb3ZlcmZsb3c6IGhpZGRlbjsgcGFkZGluZzogMXJlbTsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5jZS1jYXNlLXRyaWdnZXIgLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1zbGlkZSB7IGhlaWdodDogMTZyZW07IHBhZGRpbmc6IDIuNXJlbTsgfSB9XG5cbi5jZS1jYXNlLXRyaWdnZXIgLnN3aXBlci1jb250YWluZXIgZmlndXJlIHsgaGVpZ2h0OiAxMDAlOyBsZWZ0OiAwOyBvcGFjaXR5OiAwLjg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyB3aWR0aDogMTAwJTsgfVxuXG4uY2UtY2FzZS10cmlnZ2VyIC5zd2lwZXItY29udGFpbmVyIC5pbm5lci13cmFwcGVyIHsgY29sb3I6ICNGRkY7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgfVxuXG4uY2UtY2FzZS10cmlnZ2VyIC5zd2lwZXItY29udGFpbmVyIC5pbm5lci13cmFwcGVyIC5sYWJlbCB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jZS1jYXNlLXRyaWdnZXIgLnN3aXBlci1jb250YWluZXIgLmlubmVyLXdyYXBwZXIgLmxhYmVsOmFmdGVyIHsgY29udGVudDogJzonOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmNlLWNhc2UtdHJpZ2dlciAuc3dpcGVyLWNvbnRhaW5lciAuY2FzZS1pY29uIHsgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuY2UtY2FzZS10cmlnZ2VyIC5zd2lwZXItY29udGFpbmVyIC5jYXNlLWljb24geyBib3R0b206IDIuNXJlbTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogaW5oZXJpdDsgbGVmdDogMi41cmVtOyBtYXgtaGVpZ2h0OiAzLjVyZW07IG1heC13aWR0aDogMTIuNXJlbTsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogYXV0bzsgfSB9XG5cbi5jZS1jb250ZW50LXNsaWRlciAudGFicyB7IGxpc3Qtc3R5bGU6IG5vbmU7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgYmFja2dyb3VuZC1jb2xvcjogIzIzMjIyMzsgcGFkZGluZzogMy41cmVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7IH1cblxuLmNlLWNvbnRlbnQtc2xpZGVyIC50YWJzIC50YWJzLXRpdGxlIHsgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuXG4uY2UtY29udGVudC1zbGlkZXIgLnRhYnMgLnRhYnMtdGl0bGU6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNlLWNvbnRlbnQtc2xpZGVyIC50YWJzIC50YWJzLXRpdGxlIGEgeyB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyOyBjb2xvcjogI0ZGRjsgfVxuXG4uY2UtY29udGVudC1zbGlkZXIgLnRhYnMgLnRhYnMtdGl0bGUgYTpiZWZvcmUgeyB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyOyBjb250ZW50OiAnwrcgJzsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBvcGFjaXR5OiAwOyB9XG5cbi5jZS1jb250ZW50LXNsaWRlciAudGFicyAudGFicy10aXRsZS5pcy1hY3RpdmUgYSB7IHBhZGRpbmctbGVmdDogMS43NXJlbTsgfVxuXG4uY2UtY29udGVudC1zbGlkZXIgLnRhYnMgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIGE6YmVmb3JlIHsgb3BhY2l0eTogMTsgfVxuXG4uY2UtY29udGVudC1zbGlkZXIgLnRhYnMtY29udGVudC13cmFwcGVyIHsgbWFyZ2luLWxlZnQ6IC04LjM0JTsgfVxuXG4uY2UtY29udGVudC1zbGlkZXIgLnRhYnMtY29udGVudCB7IGJhY2tncm91bmQtY29sb3I6ICNGN0Y3Rjc7IH1cblxuLmNlLWNvbnRlbnQtc2xpZGVyIC50YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwgeyBkaXNwbGF5OiBub25lOyBtYXJnaW4tdG9wOiAzLjEyNXJlbTsgfVxuXG4uY2UtY29udGVudC1zbGlkZXIgLnRhYnMtY29udGVudCAudGFicy1wYW5lbCBmaWd1cmUgeyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyBoZWlnaHQ6IDI1cmVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmNlLWNvbnRlbnQtc2xpZGVyIC50YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwgLmJ1dHRvbiB7IGJvdHRvbTogMDsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMnJlbTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7IH1cblxuLmNlLWNvbnRlbnQtc2xpZGVyIC50YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwgLmNvbnRlbnQtd3JhcHBlciB7IHBhZGRpbmc6IDMuNXJlbTsgcGFkZGluZy1sZWZ0OiBjYWxjKChjYWxjKDEwMHZ3IC0gMTY4cHgpIC8gMTIpICsgMzZweCk7IH1cblxuLmNlLWNvbnRlbnQtc2xpZGVyIC50YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwgLmNvbnRlbnQtd3JhcHBlciBoMywgLmNlLWNvbnRlbnQtc2xpZGVyIC50YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwgLmNvbnRlbnQtd3JhcHBlciAuY2UtbWFya2V0LXRyaWdnZXIgLnRhYnMgLnRhYnMtdGl0bGUsIC5jZS1tYXJrZXQtdHJpZ2dlciAudGFicyAuY2UtY29udGVudC1zbGlkZXIgLnRhYnMtY29udGVudCAudGFicy1wYW5lbCAuY29udGVudC13cmFwcGVyIC50YWJzLXRpdGxlLCAuY2UtY29udGVudC1zbGlkZXIgLnRhYnMtY29udGVudCAudGFicy1wYW5lbCAuY29udGVudC13cmFwcGVyIC5jZS1tYXJrZXQtdHJpZ2dlciAubW9iaWxlIGEsIC5jZS1tYXJrZXQtdHJpZ2dlciAubW9iaWxlIC5jZS1jb250ZW50LXNsaWRlciAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIC5jb250ZW50LXdyYXBwZXIgYSB7IG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLmNlLWNvbnRlbnQtc2xpZGVyIC50YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwgLmNvbnRlbnQtd3JhcHBlciBwIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2UtY29udGVudC1zbGlkZXIgLnRhYnMtY29udGVudCAudGFicy1wYW5lbC5pcy1hY3RpdmUgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4uY2UtY29udGVudC1zbGlkZXIgLmFjY29yZGlvbiB7IGxpc3Qtc3R5bGU6IG5vbmU7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfVxuXG4uY2UtY29udGVudC1zbGlkZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIHsgYmFja2dyb3VuZC1jb2xvcjogIzIzMjIyMzsgY29sb3I6ICNGRkY7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiAxcmVtIDEuNXJlbTsgfVxuXG4uY2UtY29udGVudC1zbGlkZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHsgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjsgY29udGVudDogXCLupJVcIjsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG5cbi5jZS1jb250ZW50LXNsaWRlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCB7IGJhY2tncm91bmQtY29sb3I6ICNGN0Y3Rjc7IGRpc3BsYXk6IG5vbmU7IH1cblxuLmNlLWNvbnRlbnQtc2xpZGVyIC5hY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50IGZpZ3VyZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY2UtY29udGVudC1zbGlkZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQgLmJ1dHRvbiB7IGJvdHRvbTogMDsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMS41cmVtOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTsgfVxuXG4uY2UtY29udGVudC1zbGlkZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQgLmNvbnRlbnQtd3JhcHBlciB7IHBhZGRpbmc6IDEuNXJlbTsgfVxuXG4uY2UtY29udGVudC1zbGlkZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQgLmNvbnRlbnQtd3JhcHBlciBwIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2UtY29udGVudC1zbGlkZXIgLmFjY29yZGlvbiAuaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTsgfVxuXG4uY2UtY3RhIC5idXR0b24geyBtYXJnaW4tdG9wOiAyLjE4NzVyZW07IH1cblxuLmNlLWN0YSBmaWd1cmUgeyBtYXJnaW4tYm90dG9tOiAxcmVtOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmNlLWN0YSBmaWd1cmUgeyBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLmNlLWN0YSBmaWd1cmUgaW1nIHsgd2lkdGg6IGF1dG87IH1cblxuLmNlLWN0YSBoMywgLmNlLWN0YSAuY2UtbWFya2V0LXRyaWdnZXIgLnRhYnMgLnRhYnMtdGl0bGUsIC5jZS1tYXJrZXQtdHJpZ2dlciAudGFicyAuY2UtY3RhIC50YWJzLXRpdGxlLCAuY2UtY3RhIC5jZS1tYXJrZXQtdHJpZ2dlciAubW9iaWxlIGEsIC5jZS1tYXJrZXQtdHJpZ2dlciAubW9iaWxlIC5jZS1jdGEgYSB7IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuY2UtY3RhIGgzLCAuY2UtY3RhIC5jZS1tYXJrZXQtdHJpZ2dlciAudGFicyAudGFicy10aXRsZSwgLmNlLW1hcmtldC10cmlnZ2VyIC50YWJzIC5jZS1jdGEgLnRhYnMtdGl0bGUsIC5jZS1jdGEgLmNlLW1hcmtldC10cmlnZ2VyIC5tb2JpbGUgYSwgLmNlLW1hcmtldC10cmlnZ2VyIC5tb2JpbGUgLmNlLWN0YSBhIHsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG5cbi5jZS1jdGEgcCB7IG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuY2UtY3RhIHAgeyBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH0gfVxuXG4uY2UtY3RhIC5jdGEtY29udGVudCB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLnZjLWZvcm1zIHsgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC0xODBkZWcsIHJnYmEoMTQ1LCAyMTUsIDIyMCwgMC4xKSAwJSwgcmdiYSgzNSwgMzQsIDM1LCAwLjEpIDEwMCUpOyBwYWRkaW5nOiAxLjg3NXJlbSAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC52Yy1mb3JtcyB7IHBhZGRpbmc6IDMuMTI1cmVtIDEuODc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLnZjLWZvcm1zIHsgcGFkZGluZzogNy41cmVtOyB9IH1cblxuLnZjLWZvcm1zIC5nZm9ybV93cmFwcGVyIHsgbWFyZ2luLXRvcDogMS41NjI1cmVtOyB9XG5cbi52Yy1mb3JtcyAuZ2Zvcm1fd3JhcHBlciBsaSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udmMtZm9ybXMgLmdmb3JtX2Zvb3Rlcjo6YmVmb3JlLCAudmMtZm9ybXMgLmdmb3JtX2Zvb3Rlcjo6YWZ0ZXIgeyBkaXNwbGF5OiB0YWJsZTsgY29udGVudDogJyAnOyB9XG5cbi52Yy1mb3JtcyAuZ2Zvcm1fZm9vdGVyOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi52Yy1mb3JtcyAuZ2Zvcm1fZm9vdGVyIC5idXR0b24geyBmbG9hdDogcmlnaHQ7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnZjLWZvcm1zIGxhYmVsIHsgY29sb3I6ICMyMzIyMjM7IGRpc3BsYXk6IGJsb2NrOyBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogNTAwOyBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IHdpZHRoOiAxMDAlOyB9XG5cbi52Yy1mb3JtcyBpbnB1dCwgLnZjLWZvcm1zIHRleHRhcmVhIHsgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtOyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB3aWR0aDogMTAwJTsgfVxuXG4udmMtZm9ybXMgLnZhbGlkYXRpb25fZXJyb3IgeyBkaXNwbGF5OiBub25lOyB9XG5cbi52Yy1mb3JtcyAuZ2Zvcm1fYm9keSB1bCB7IGxpc3Qtc3R5bGU6IG5vbmU7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfVxuXG4udmMtZm9ybXMgLmdmb3JtX2FqYXhfc3Bpbm5lciB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uY2UtZ2FtZS1zZXJ2ZXItbGlzdCAuZ2FtZS1zZXJ2ZXItaXRlbTpudGgtY2hpbGQobis3KSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLmNlLWdhbWUtc2VydmVyLWxpc3QgLmxvYWQtbW9yZSB7IG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuY2UtZ2FtZS1zZXJ2ZXItbGlzdCAubG9hZC1tb3JlIHsgbWFyZ2luLXRvcDogMi41cmVtOyB9IH1cblxuLmNlLWxvY2F0aW9ucy1ncmlkIC5sb2NhdGlvbi1pdGVtIHsgbWFyZ2luLWJvdHRvbTogMzJweDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uY2UtbG9jYXRpb25zLWdyaWQgLmxvY2F0aW9uLWl0ZW0gZmlndXJlIHsgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlcjsgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgaGVpZ2h0OiAxNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuY2UtbG9jYXRpb25zLWdyaWQgLmxvY2F0aW9uLWl0ZW0gZmlndXJlIHsgaGVpZ2h0OiAyNHJlbTsgfSB9XG5cbi5jZS1sb2NhdGlvbnMtZ3JpZCAubG9jYXRpb24taXRlbSBtYWluIHsgYmFja2dyb3VuZC1jb2xvcjogIzIzMjIyMzsgY29sb3I6ICNGRkY7IGhlaWdodDogMTAwJTsgcGFkZGluZzogMnJlbTsgfVxuXG4uY2UtbG9jYXRpb25zLWdyaWQgLmxvY2F0aW9uLWl0ZW0gbWFpbiAuZGVzY3JpcHRpb24geyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jZS1sb2NhdGlvbnMtZ3JpZCAubG9jYXRpb24taXRlbSBtYWluIC5kZXNjcmlwdGlvbjpiZWZvcmUgeyBjb2xvcjogI0QyMjMyQTsgY29udGVudDogXCLupIZcIjsgZm9udC1zaXplOiAxLjVyZW07IGxlZnQ6IDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwLjEyNXJlbTsgfVxuXG4uY2UtbG9jYXRpb25zLWdyaWQgLmxvY2F0aW9uLWl0ZW0gbWFpbiAuZGVzY3JpcHRpb24gcCB7IG1hcmdpbi1ib3R0b206IDA7IHBhZGRpbmctbGVmdDogMnJlbTsgfVxuXG4uY2UtbG9jYXRpb25zLWdyaWQgLmxvY2F0aW9uLWl0ZW0gbWFpbiAuY29udGFjdC1kZXRhaWxzIHsgbGlzdC1zdHlsZTogbm9uZTsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9XG5cbi5jZS1sb2NhdGlvbnMtZ3JpZCAubG9jYXRpb24taXRlbSBtYWluIC5jb250YWN0LWRldGFpbHMgbGkgeyBtYXJnaW4tYm90dG9tOiAwLjVyZW07IHBhZGRpbmctbGVmdDogMi41cmVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmNlLWxvY2F0aW9ucy1ncmlkIC5sb2NhdGlvbi1pdGVtIG1haW4gLmNvbnRhY3QtZGV0YWlscyBsaTpiZWZvcmUgeyBjb2xvcjogI0Y3RjdGNzsgZm9udC1zaXplOiAxLjVyZW07IGxlZnQ6IDA7IG9wYWNpdHk6IDAuNTsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDAuMTI1cmVtOyB9XG5cbi5jZS1sb2NhdGlvbnMtZ3JpZCAubG9jYXRpb24taXRlbSBtYWluIC5jb250YWN0LWRldGFpbHMgbGk6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNlLWxvY2F0aW9ucy1ncmlkIC5sb2NhdGlvbi1pdGVtIG1haW4gLmNvbnRhY3QtZGV0YWlscyBsaS5waG9uZS1udW1iZXI6YmVmb3JlIHsgY29udGVudDogXCLupIRcIjsgfVxuXG4uY2UtbG9jYXRpb25zLWdyaWQgLmxvY2F0aW9uLWl0ZW0gbWFpbiAuY29udGFjdC1kZXRhaWxzIGxpLmVtYWlsOmJlZm9yZSB7IGNvbnRlbnQ6IFwi7qSHXCI7IH1cblxuLmNlLWxvY2F0aW9ucy1ncmlkIC5sb2NhdGlvbi1pdGVtIG1haW4gLmNvbnRhY3QtZGV0YWlscyBsaSBhOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmNlLWxvZ28tbGlzdCAuaW5uZXItd3JhcHBlci5ibGFjayB7IGJhY2tncm91bmQtY29sb3I6ICMyMzIyMjM7IHBhZGRpbmc6IDJyZW0gMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuY2UtbG9nby1saXN0IC5pbm5lci13cmFwcGVyLmJsYWNrIHsgcGFkZGluZzogMy41cmVtIDA7IH0gfVxuXG4uY2UtbG9nby10cmlnZ2VyIC5pbm5lci13cmFwcGVyLmJsYWNrIHsgYmFja2dyb3VuZC1jb2xvcjogIzIzMjIyMzsgcGFkZGluZzogMnJlbSAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5jZS1sb2dvLXRyaWdnZXIgLmlubmVyLXdyYXBwZXIuYmxhY2sgeyBwYWRkaW5nOiAzLjVyZW0gMDsgfSB9XG5cbi5jZS1tYXJrZXQtdHJpZ2dlciAuaW5uZXItd3JhcHBlciB7IG1hcmdpbi1ib3R0b206IDMuNXJlbTsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jZS1tYXJrZXQtdHJpZ2dlciAudGFicyB7IGxpc3Qtc3R5bGU6IG5vbmU7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgbGVmdDogMy41cmVtOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMy41cmVtOyB6LWluZGV4OiAxOyB9XG5cbi5jZS1tYXJrZXQtdHJpZ2dlciAudGFicyAudGFicy10aXRsZSB7IHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7IGNvbG9yOiAjRkZGOyBtYXJnaW4tYm90dG9tOiAycmVtOyBvcGFjaXR5OiAwLjQ7IH1cblxuLmNlLW1hcmtldC10cmlnZ2VyIC50YWJzIC50YWJzLXRpdGxlOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jZS1tYXJrZXQtdHJpZ2dlciAudGFicyAudGFicy10aXRsZS5pcy1hY3RpdmUsIC5jZS1tYXJrZXQtdHJpZ2dlciAudGFicyAudGFicy10aXRsZTpob3ZlciB7IG9wYWNpdHk6IDE7IH1cblxuLmNlLW1hcmtldC10cmlnZ2VyIC50YWJzLXBhbmVsIHsgYmFja2dyb3VuZC1jb2xvcjogIzQwNDA0MDsgZGlzcGxheTogbm9uZTsgaGVpZ2h0OiAzNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7IC5jZS1tYXJrZXQtdHJpZ2dlciAudGFicy1wYW5lbCB7IGhlaWdodDogNDVyZW07IH0gfVxuXG4uY2UtbWFya2V0LXRyaWdnZXIgLnRhYnMtcGFuZWwgZmlndXJlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgaGVpZ2h0OiAxMDAlOyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmNlLW1hcmtldC10cmlnZ2VyIC50YWJzLXBhbmVsIC5jb250ZW50LXdyYXBwZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMyMjIzOyBib3R0b206IC0zLjVyZW07IGNvbG9yOiAjRkZGOyBtYXgtd2lkdGg6IDMyLjc1cmVtOyBwYWRkaW5nOiAyLjVyZW0gNHJlbSAyLjVyZW0gMi41cmVtOyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAzLjVyZW07IHdpZHRoOiAxMDAlOyB6LWluZGV4OiAxOyB9XG5cbi5jZS1tYXJrZXQtdHJpZ2dlciAudGFicy1wYW5lbCAuY29udGVudC13cmFwcGVyIHAgeyBtYXJnaW46IDFyZW0gMCAwOyB9XG5cbi5jZS1tYXJrZXQtdHJpZ2dlciAudGFicy1wYW5lbCAuY29udGVudC13cmFwcGVyIC5idXR0b24geyBib3R0b206IDEuNXJlbTsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7IH1cblxuLmNlLW1hcmtldC10cmlnZ2VyIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jZS1tYXJrZXQtdHJpZ2dlciAubW9iaWxlIGZpZ3VyZSB7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IGJhY2tncm91bmQtc2l6ZTogY292ZXI7IHBhZGRpbmc6IDEuNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuY2UtbWFya2V0LXRyaWdnZXIgLm1vYmlsZSBmaWd1cmUgeyBwYWRkaW5nOiAyLjVyZW07IH0gfVxuXG4uY2UtbWFya2V0LXRyaWdnZXIgLm1vYmlsZSB1bCB7IGxpc3Qtc3R5bGU6IG5vbmU7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfVxuXG4uY2UtbWFya2V0LXRyaWdnZXIgLm1vYmlsZSBsaSB7IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uY2UtbWFya2V0LXRyaWdnZXIgLm1vYmlsZSBsaTpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2UtbWFya2V0LXRyaWdnZXIgLm1vYmlsZSBhIHsgY29sb3I6ICNGRkY7IH1cblxuLmNlLW1hcmtldC10cmlnZ2VyIC5tb2JpbGUgYTphZnRlciB7IGNvbnRlbnQ6IFwi7qSSXCI7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuXG4uY2UtbWVkaWEtc2xpZGVyIC5zd2lwZXItY29udGFpbmVyIHsgcGFkZGluZy1ib3R0b206IDMuNXJlbTsgfVxuXG4uY2UtbWVkaWEtc2xpZGVyIC5zd2lwZXItc2xpZGUgLmlubmVyLXdyYXBwZXIgeyBoZWlnaHQ6IDEzLjc1cmVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLmNlLW1lZGlhLXNsaWRlciAuc3dpcGVyLXNsaWRlIC5pbm5lci13cmFwcGVyIHsgaGVpZ2h0OiAzMHJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHsgLmNlLW1lZGlhLXNsaWRlciAuc3dpcGVyLXNsaWRlIC5pbm5lci13cmFwcGVyIHsgaGVpZ2h0OiA0My43NXJlbTsgfSB9XG5cbi5jZS1tZWRpYS1zbGlkZXIgZmlndXJlIHsgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyBoZWlnaHQ6IDEwMCU7IGxlZnQ6IDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyB3aWR0aDogMTAwJTsgfVxuXG4uY2UtbWVkaWEtc2xpZGVyIC5yZXNwb25zaXZlLWVtYmVkIHsgaGVpZ2h0OiAxMDAlOyBsZWZ0OiAwOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDEwMCU7IH1cblxuLmNlLW1lZGlhLXNsaWRlciAucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyB7IHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiBhdXRvOyBsZWZ0OiA1MCU7IG1pbi1oZWlnaHQ6IDEwMCU7IG1pbi13aWR0aDogMTAwJTsgb3BhY2l0eTogMDsgdG9wOiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB2aXNpYmlsaXR5OiBoaWRkZW47IHdpZHRoOiBhdXRvOyB9XG5cbi5jZS1tZWRpYS1zbGlkZXIgLnRyaWdnZXIgeyB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRDIyMzJBOyBib3JkZXItcmFkaXVzOiA1MCU7IGJvdHRvbTogMXJlbTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDMuMTI1cmVtOyBsZWZ0OiAxcmVtOyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAzLjEyNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuY2UtbWVkaWEtc2xpZGVyIC50cmlnZ2VyIHsgYm90dG9tOiAyLjVyZW07IGhlaWdodDogNHJlbTsgbGVmdDogMi41cmVtOyB3aWR0aDogNHJlbTsgfSB9XG5cbi5jZS1tZWRpYS1zbGlkZXIgLnRyaWdnZXI6YWZ0ZXIgeyBjb250ZW50OiAnUGxheSB2aWRlbyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogY2FsYygxMDAlICsgMTJweCk7IHRvcDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IGNvbG9yOiAjRkZGOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5jZS1tZWRpYS1zbGlkZXIgLnRyaWdnZXI6YWZ0ZXIgeyBsZWZ0OiBjYWxjKDEwMCUgKyAyNHB4KTsgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuXG4uY2UtbWVkaWEtc2xpZGVyIC50cmlnZ2VyIC5pY29uIHsgaGVpZ2h0OiAxLjVyZW07IGxlZnQ6IDUwJTsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IHdpZHRoOiAxLjEyNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuY2UtbWVkaWEtc2xpZGVyIC50cmlnZ2VyIC5pY29uIHsgaGVpZ2h0OiAycmVtOyB3aWR0aDogMnJlbTsgfSB9XG5cbi5jZS1tZWRpYS1zbGlkZXIgLnRyaWdnZXIgc3ZnIHsgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjsgZmlsbDogI0ZGRjsgfVxuXG4uY2UtbWVkaWEtc2xpZGVyIC50cmlnZ2VyOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogIzk1MTExNDsgfVxuXG4uY2UtbWVkaWEtc2xpZGVyIC50cmlnZ2VyOmhvdmVyIHN2ZyB7IGZpbGw6ICNGRkY7IH1cblxuLmNlLW1lZGlhLXNsaWRlciAuaXMtcGxheWluZyBmaWd1cmUgeyBvcGFjaXR5OiAwOyB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmNlLW1lZGlhLXNsaWRlciAuaXMtcGxheWluZyB2aWRlbyB7IG9wYWNpdHk6IDE7IHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLmNlLW1lZGlhLXNsaWRlciAuaXMtcGxheWluZyAucGxheSB7IG9wYWNpdHk6IDA7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uY2UtbWVkaWEtc2xpZGVyIC5pcy1wbGF5aW5nOmhvdmVyIC5wYXVzZSB7IG9wYWNpdHk6IDE7IHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLmNlLW1lZGlhLXNsaWRlciAuaW50cm8sIC5jZS1tZWRpYS1zbGlkZXIgLmZyZXF1ZW5jeS1wcmljZSBsYWJlbCwgLmZyZXF1ZW5jeS1wcmljZSAuY2UtbWVkaWEtc2xpZGVyIGxhYmVsLCAuY2UtbWVkaWEtc2xpZGVyICNtYWluLWZvb3RlciB1bC5xdWljay1saXN0IGEsICNtYWluLWZvb3RlciB1bC5xdWljay1saXN0IC5jZS1tZWRpYS1zbGlkZXIgYSB7IGRpc3BsYXk6IGJsb2NrOyBsZWZ0OiAwOyBtYXJnaW46IDAuNXJlbSAwIDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMDAlOyB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuY2UtbWVkaWEtc2xpZGVyIC5pbnRybywgLmNlLW1lZGlhLXNsaWRlciAuZnJlcXVlbmN5LXByaWNlIGxhYmVsLCAuZnJlcXVlbmN5LXByaWNlIC5jZS1tZWRpYS1zbGlkZXIgbGFiZWwsIC5jZS1tZWRpYS1zbGlkZXIgI21haW4tZm9vdGVyIHVsLnF1aWNrLWxpc3QgYSwgI21haW4tZm9vdGVyIHVsLnF1aWNrLWxpc3QgLmNlLW1lZGlhLXNsaWRlciBhIHsgbWFyZ2luOiAxLjI1cmVtIDAgMDsgfSB9XG5cbi5jZS1tZWRpYS1zbGlkZXIgLmludHJvIHAsIC5jZS1tZWRpYS1zbGlkZXIgLmZyZXF1ZW5jeS1wcmljZSBsYWJlbCBwLCAuZnJlcXVlbmN5LXByaWNlIC5jZS1tZWRpYS1zbGlkZXIgbGFiZWwgcCwgLmNlLW1lZGlhLXNsaWRlciAjbWFpbi1mb290ZXIgdWwucXVpY2stbGlzdCBhIHAsICNtYWluLWZvb3RlciB1bC5xdWljay1saXN0IC5jZS1tZWRpYS1zbGlkZXIgYSBwIHsgb3ZlcmZsb3c6IGhpZGRlbjsgcGFkZGluZy1yaWdodDogMy41cmVtOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuY2UtbWVkaWEtc2xpZGVyIC5pbnRybyBwLCAuY2UtbWVkaWEtc2xpZGVyIC5mcmVxdWVuY3ktcHJpY2UgbGFiZWwgcCwgLmZyZXF1ZW5jeS1wcmljZSAuY2UtbWVkaWEtc2xpZGVyIGxhYmVsIHAsIC5jZS1tZWRpYS1zbGlkZXIgI21haW4tZm9vdGVyIHVsLnF1aWNrLWxpc3QgYSBwLCAjbWFpbi1mb290ZXIgdWwucXVpY2stbGlzdCAuY2UtbWVkaWEtc2xpZGVyIGEgcCB7IHBhZGRpbmctcmlnaHQ6IDIwLjYyNXJlbTsgfSB9XG5cbi5jZS1tZWRpYS1zbGlkZXIgLmN0YS13cmFwcGVyIHsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsgYm90dG9tOiAxLjI1cmVtOyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAwOyB0b3A6IDEzLjc1cmVtOyB3aWR0aDogMjFyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLmNlLW1lZGlhLXNsaWRlciAuY3RhLXdyYXBwZXIgeyB0b3A6IDMwcmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkgeyAuY2UtbWVkaWEtc2xpZGVyIC5jdGEtd3JhcHBlciB7IHRvcDogNDMuNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgeyAuY2UtbWVkaWEtc2xpZGVyIC5jdGEtd3JhcHBlciAuc3dpcGVyLXBhZ2luYXRpb24geyBmb250LXNpemU6IDEuMjVyZW07IG1hcmdpbjogMCAxLjVyZW07IH0gfVxuXG4uY2Utc2VydmVyLXRyaWdnZXIgbWFpbiB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmNlLXNlcnZlci10cmlnZ2VyIG1haW4geyBtYXJnaW4tYm90dG9tOiAycmVtOyB9IH1cblxuLmNlLXNlcnZpY2UtdHJpZ2dlciAuc3dpcGVyLXdyYXBwZXIgeyBoZWlnaHQ6IGF1dG87IH1cblxuLmNlLXNlcnZpY2UtdHJpZ2dlciAuc2VydmljZS1pdGVtIHsgbWFyZ2luLXRvcDogMDsgfVxuXG4uY2UtdmFjYW5jeS1hcHBseSBwIHsgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5jZS12YWNhbmN5LWFwcGx5IHAgeyBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH0gfVxuXG4uY2UtdmFjYW5jeS1hcHBseSAuYnV0dG9uIHsgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cblxuLmNlLXZpZGVvIC5pbm5lci13cmFwcGVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jZS12aWRlbyAuaW5uZXItd3JhcHBlci5pcy1wbGF5aW5nIGZpZ3VyZSwgLmNlLXZpZGVvIC5pbm5lci13cmFwcGVyLmlzLXBsYXlpbmcgLnRyaWdnZXIgeyBvcGFjaXR5OiAwOyB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmNlLXZpZGVvIGZpZ3VyZSB7IHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7IGJhY2tncm91bmQtc2l6ZTogY292ZXI7IGhlaWdodDogMTAwJTsgbGVmdDogMDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IHdpZHRoOiAxMDAlOyB9XG5cbi5jZS12aWRlbyAudHJpZ2dlciB7IHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7IGJhY2tncm91bmQtY29sb3I6ICNEMjIzMkE7IGJvcmRlci1yYWRpdXM6IDUwJTsgYm90dG9tOiAxcmVtOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogMy4xMjVyZW07IGxlZnQ6IDFyZW07IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDMuMTI1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5jZS12aWRlbyAudHJpZ2dlciB7IGJvdHRvbTogMi41cmVtOyBoZWlnaHQ6IDRyZW07IGxlZnQ6IDIuNXJlbTsgd2lkdGg6IDRyZW07IH0gfVxuXG4uY2UtdmlkZW8gLnRyaWdnZXI6YWZ0ZXIgeyBjb250ZW50OiAnUGxheSB2aWRlbyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogY2FsYygxMDAlICsgMTJweCk7IHRvcDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IGNvbG9yOiAjRkZGOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7IC5jZS12aWRlbyAudHJpZ2dlcjphZnRlciB7IGxlZnQ6IGNhbGMoMTAwJSArIDI0cHgpOyBmb250LXNpemU6IDEuNXJlbTsgfSB9XG5cbi5jZS12aWRlbyAudHJpZ2dlciAuaWNvbiB7IGhlaWdodDogMS41cmVtOyBsZWZ0OiA1MCU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB3aWR0aDogMS4xMjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHsgLmNlLXZpZGVvIC50cmlnZ2VyIC5pY29uIHsgaGVpZ2h0OiAycmVtOyB3aWR0aDogMnJlbTsgfSB9XG5cbi5jZS12aWRlbyAudHJpZ2dlciBzdmcgeyB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyOyBmaWxsOiAjRkZGOyB9XG5cbi5jZS12aWRlbyAudHJpZ2dlcjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICM5NTExMTQ7IH1cblxuLmNlLXZpZGVvIC50cmlnZ2VyOmhvdmVyIHN2ZyB7IGZpbGw6ICNGRkY7IH1cblxuLmNlLXZpZGVvIGlmcmFtZSB7IHdpZHRoOiAxMDAlOyB9XG4iLCIvKlxuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblByb2plY3QgOiBSZWRraXdpSW5pdFRoZW1lXG5UeXBlICAgIDogV29yZHByZXNzXG5WZXJzaW9uIDogMjAxNzA3MzFcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4qL1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5AaW1wb3J0IFwic2V0dGluZ3NcIjtcbkBpbXBvcnQgXCJiYXNlL2ZvdW5kYXRpb25cIjtcblxuLy8gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgQ3VzdG9tIHNldHVwXG4vLyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGltcG9ydCBcImFuaW1hdGlvbnNcIjtcblxuLy8gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgUGx1Z2luc1xuLy8gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpbXBvcnQgXCIvaG9tZS90Y2FjY2VwdC9zcmMvaTNkX3RlbXBsYXRlL3Njc3MvcGx1Z2lucy9qcXVlcnktZGF0ZXBpY2tlci5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdGNhY2NlcHQvc3JjL2kzZF90ZW1wbGF0ZS9zY3NzL3BsdWdpbnMvbWFnbmlmaWMtcG9wdXAuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RjYWNjZXB0L3NyYy9pM2RfdGVtcGxhdGUvc2Nzcy9wbHVnaW5zL3Bvd2VybWFpbC5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdGNhY2NlcHQvc3JjL2kzZF90ZW1wbGF0ZS9zY3NzL3BsdWdpbnMvc3dpcGVyLnNjc3NcIjtcblxuXG4vLyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBCYXNpYyBvdmVycmlkZXNcbi8vICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaW1wb3J0IFwiYmFzZS90eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwiYmFzZS90YWJsZVwiO1xuQGltcG9ydCBcImJhc2UvZ3JpZFwiO1xuQGltcG9ydCBcImJhc2UvaWNvbnNcIjtcbkBpbXBvcnQgXCJiYXNlL2Zvcm1zXCI7XG5AaW1wb3J0IFwiYmFzZS9idXR0b25zXCI7XG5cbi8vICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIExheW91dFxuLy8gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpbXBvcnQgXCIvaG9tZS90Y2FjY2VwdC9zcmMvaTNkX3RlbXBsYXRlL3Njc3MvbGF5b3V0L2Jhc2Uuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RjYWNjZXB0L3NyYy9pM2RfdGVtcGxhdGUvc2Nzcy9sYXlvdXQvYmxvY2suc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RjYWNjZXB0L3NyYy9pM2RfdGVtcGxhdGUvc2Nzcy9sYXlvdXQvYnJlYWRjcnVtYi5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdGNhY2NlcHQvc3JjL2kzZF90ZW1wbGF0ZS9zY3NzL2xheW91dC9jb29raWUtbm90aWNlLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90Y2FjY2VwdC9zcmMvaTNkX3RlbXBsYXRlL3Njc3MvbGF5b3V0L2Zvb3Rlci1tZW51LnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90Y2FjY2VwdC9zcmMvaTNkX3RlbXBsYXRlL3Njc3MvbGF5b3V0L2Zvb3Rlci5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdGNhY2NlcHQvc3JjL2kzZF90ZW1wbGF0ZS9zY3NzL2xheW91dC9ncmlkLWVsZW1lbnRzLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90Y2FjY2VwdC9zcmMvaTNkX3RlbXBsYXRlL3Njc3MvbGF5b3V0L2hlYWRlci5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdGNhY2NlcHQvc3JjL2kzZF90ZW1wbGF0ZS9zY3NzL2xheW91dC9rZXl2aXN1YWwuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RjYWNjZXB0L3NyYy9pM2RfdGVtcGxhdGUvc2Nzcy9sYXlvdXQvbGFuZ3VhZ2Utc3dpdGNoLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90Y2FjY2VwdC9zcmMvaTNkX3RlbXBsYXRlL3Njc3MvbGF5b3V0L2xvZ28uc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RjYWNjZXB0L3NyYy9pM2RfdGVtcGxhdGUvc2Nzcy9sYXlvdXQvcHJpbWFyeS1tZW51LnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90Y2FjY2VwdC9zcmMvaTNkX3RlbXBsYXRlL3Njc3MvbGF5b3V0L3NlYXJjaC5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdGNhY2NlcHQvc3JjL2kzZF90ZW1wbGF0ZS9zY3NzL2xheW91dC9zZWNvbmRhcnktbWVudS5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdGNhY2NlcHQvc3JjL2kzZF90ZW1wbGF0ZS9zY3NzL2xheW91dC90b3AtbmF2LnNjc3NcIjtcblxuQGltcG9ydCBcIi9ob21lL3RjYWNjZXB0L3NyYy9pM2RfdGVtcGxhdGUvc2Nzcy90ZW1wbGF0ZXMvc2VhcmNoLXJlc3VsdHMuc2Nzc1wiO1xuXG5AaW1wb3J0IFwiL2hvbWUvdGNhY2NlcHQvc3JjL2kzZF90ZW1wbGF0ZS9zY3NzL3BhcnRzL2V2ZW50LWl0ZW0uc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RjYWNjZXB0L3NyYy9pM2RfdGVtcGxhdGUvc2Nzcy9wYXJ0cy9nYW1lLXNlcnZlci1pdGVtLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90Y2FjY2VwdC9zcmMvaTNkX3RlbXBsYXRlL3Njc3MvcGFydHMvaWNvbi1pdGVtLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90Y2FjY2VwdC9zcmMvaTNkX3RlbXBsYXRlL3Njc3MvcGFydHMvaW50cm8taGVhZGluZy5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdGNhY2NlcHQvc3JjL2kzZF90ZW1wbGF0ZS9zY3NzL3BhcnRzL25ld3MtaXRlbS5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdGNhY2NlcHQvc3JjL2kzZF90ZW1wbGF0ZS9zY3NzL3BhcnRzL3BhZ2luYXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RjYWNjZXB0L3NyYy9pM2RfdGVtcGxhdGUvc2Nzcy9wYXJ0cy9wZW9wbGUtaXRlbS5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdGNhY2NlcHQvc3JjL2kzZF90ZW1wbGF0ZS9zY3NzL3BhcnRzL3Bvc3QtaGVhZGluZy5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdGNhY2NlcHQvc3JjL2kzZF90ZW1wbGF0ZS9zY3NzL3BhcnRzL3NlcnZlci1pdGVtLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90Y2FjY2VwdC9zcmMvaTNkX3RlbXBsYXRlL3Njc3MvcGFydHMvc2VydmljZS1pdGVtLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90Y2FjY2VwdC9zcmMvaTNkX3RlbXBsYXRlL3Njc3MvcGFydHMvc2xpZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90Y2FjY2VwdC9zcmMvaTNkX3RlbXBsYXRlL3Njc3MvcGFydHMvc29jaWFsLWxpc3Quc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RjYWNjZXB0L3NyYy9pM2RfdGVtcGxhdGUvc2Nzcy9wYXJ0cy92YWNhbmN5LWl0ZW0uc2Nzc1wiO1xuXG5cbi8vICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIFZpc3VhbCBDb21wb3NlclxuLy8gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpbXBvcnQgXCIvaG9tZS90Y2FjY2VwdC9zcmMvaTNkX3RlbXBsYXRlL3Njc3MvY29udGVudC1lbGVtZW50cy9jZS10ZXh0cGljLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90Y2FjY2VwdC9zcmMvaTNkX3RlbXBsYXRlL3Njc3MvY29udGVudC1lbGVtZW50cy9jZS13b3JsZG1hcC5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdGNhY2NlcHQvc3JjL2kzZF90ZW1wbGF0ZS9zY3NzL2NvbnRlbnQtZWxlbWVudHMvdmMtY2FzZS10cmlnZ2VyLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90Y2FjY2VwdC9zcmMvaTNkX3RlbXBsYXRlL3Njc3MvY29udGVudC1lbGVtZW50cy92Yy1jb250ZW50LXNsaWRlci5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdGNhY2NlcHQvc3JjL2kzZF90ZW1wbGF0ZS9zY3NzL2NvbnRlbnQtZWxlbWVudHMvdmMtY3RhLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90Y2FjY2VwdC9zcmMvaTNkX3RlbXBsYXRlL3Njc3MvY29udGVudC1lbGVtZW50cy92Yy1mb3Jtcy5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdGNhY2NlcHQvc3JjL2kzZF90ZW1wbGF0ZS9zY3NzL2NvbnRlbnQtZWxlbWVudHMvdmMtZ2FtZS1zZXJ2ZXItbGlzdC5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdGNhY2NlcHQvc3JjL2kzZF90ZW1wbGF0ZS9zY3NzL2NvbnRlbnQtZWxlbWVudHMvdmMtbG9jYXRpb25zLWdyaWQuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RjYWNjZXB0L3NyYy9pM2RfdGVtcGxhdGUvc2Nzcy9jb250ZW50LWVsZW1lbnRzL3ZjLWxvZ28tbGlzdC5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdGNhY2NlcHQvc3JjL2kzZF90ZW1wbGF0ZS9zY3NzL2NvbnRlbnQtZWxlbWVudHMvdmMtbG9nby10cmlnZ2VyLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90Y2FjY2VwdC9zcmMvaTNkX3RlbXBsYXRlL3Njc3MvY29udGVudC1lbGVtZW50cy92Yy1tYXJrZXQtdHJpZ2dlci5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdGNhY2NlcHQvc3JjL2kzZF90ZW1wbGF0ZS9zY3NzL2NvbnRlbnQtZWxlbWVudHMvdmMtbWVkaWEtc2xpZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90Y2FjY2VwdC9zcmMvaTNkX3RlbXBsYXRlL3Njc3MvY29udGVudC1lbGVtZW50cy92Yy1zZXJ2ZXItdHJpZ2dlci5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdGNhY2NlcHQvc3JjL2kzZF90ZW1wbGF0ZS9zY3NzL2NvbnRlbnQtZWxlbWVudHMvdmMtc2VydmljZS10cmlnZ2VyLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90Y2FjY2VwdC9zcmMvaTNkX3RlbXBsYXRlL3Njc3MvY29udGVudC1lbGVtZW50cy92Yy12YWNhbmN5LWFwcGx5LnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90Y2FjY2VwdC9zcmMvaTNkX3RlbXBsYXRlL3Njc3MvY29udGVudC1lbGVtZW50cy92Yy12aWRlby5zY3NzXCI7XG5cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjQuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gRGVwZW5kZW5jaWVzXG5AaW1wb3J0ICcuLi9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyBTZXR0aW5nc1xuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyBTYXNzIHV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZVxuKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICR4eS1ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG4gIEBpZiAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4gIH1cblxuICBAaWYgJHByb3RvdHlwZSB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcbiAgfVxufVxuIiwiLy8gSGVscGVyIGZ1bmN0aW9uIGZvciB0aGUgbm9ybWFsaXplKCkgbWl4aW4uXG5AZnVuY3Rpb24gX25vcm1hbGl6ZS1pbmNsdWRlKCRzZWN0aW9uLCAkZXhjbHVkZTogbnVsbCkge1xuICAvLyBJbml0aWFsaXplIHRoZSBnbG9iYWwgdmFyaWFibGVzIG5lZWRlZCBieSB0aGlzIGZ1bmN0aW9uLlxuICBAaWYgbm90IGdsb2JhbF92YXJpYWJsZV9leGlzdHMoX25vcm1hbGl6ZS1pbmNsdWRlKSB7XG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogKCkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiAoKSAhZ2xvYmFsO1xuICB9XG4gIC8vIFNpbmNlIHdlIGFyZSBnaXZlbiAyIHBhcmFtZXRlcnMsIHNldCB0aGUgZ2xvYmFsIHZhcmlhYmxlcy5cbiAgQGlmICRleGNsdWRlICE9IG51bGwge1xuICAgICRpbmNsdWRlOiAkc2VjdGlvbjtcbiAgICAvLyBTYXNzIGRvZXNuJ3QgaGF2ZSBzdGF0aWMgdmFyaWFibGVzLCBzbyB0aGUgd29yay1hcm91bmQgaXMgdG8gc3R1ZmYgdGhlc2VcbiAgICAvLyB2YWx1ZXMgaW50byBnbG9iYWwgdmFyaWFibGVzIHNvIHdlIGNhbiBhY2Nlc3MgdGhlbSBpbiBmdXR1cmUgY2FsbHMuXG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogaWYodHlwZS1vZigkaW5jbHVkZSkgPT0gJ2xpc3QnLCAkaW5jbHVkZSwgKCRpbmNsdWRlKSkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiBpZih0eXBlLW9mKCRleGNsdWRlKSA9PSAnbGlzdCcsICRleGNsdWRlLCAoJGV4Y2x1ZGUpKSAhZ2xvYmFsO1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICRzZWN0aW9uIGlzIGluIHRoZSAkaW5jbHVkZSBsaXN0LlxuICBAaWYgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgJHNlY3Rpb24pIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgLy8gSWYgJGluY2x1ZGUgaXMgc2V0IHRvIChhbGwpLCBtYWtlIHN1cmUgJHNlY3Rpb24gaXMgbm90IGluICRleGNsdWRlLlxuICBAZWxzZSBpZiBub3QgaW5kZXgoJF9ub3JtYWxpemUtZXhjbHVkZSwgJHNlY3Rpb24pIGFuZCBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCBhbGwpIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZSgkaW5jbHVkZTogKGFsbCksICRleGNsdWRlOiAoKSkge1xuICAvLyBJbml0aWFsaXplIHRoZSBoZWxwZXIgZnVuY3Rpb24gYnkgcGFzc2luZyBpdCB0aGlzIG1peGluJ3MgcGFyYW1ldGVycy5cbiAgJGluaXQ6IF9ub3JtYWxpemUtaW5jbHVkZSgkaW5jbHVkZSwgJGV4Y2x1ZGUpO1xuXG4gIC8vIElmIHdlJ3ZlIGN1c3RvbWl6ZWQgYW55IGZvbnQgdmFyaWFibGVzLCB3ZSdsbCBuZWVkIGV4dHJhIHByb3BlcnRpZXMuXG4gIEBpZiAkYmFzZS1mb250LXNpemUgIT0gMTZweFxuICAgIG9yICRiYXNlLWxpbmUtaGVpZ2h0ICE9IDI0cHhcbiAgICBvciAkYmFzZS11bml0ICE9ICdlbSdcbiAgICBvciAkaDEtZm9udC1zaXplICE9IDIgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDItZm9udC1zaXplICE9IDEuNSAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDMtZm9udC1zaXplICE9IDEuMTcgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDQtZm9udC1zaXplICE9IDEgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDUtZm9udC1zaXplICE9IDAuODMgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDYtZm9udC1zaXplICE9IDAuNjcgKiAkYmFzZS1mb250LXNpemUge1xuICAgICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZG9jdW1lbnQpIHtcbiAgICAvKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5cbiAgICBodG1sIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLy8gQ29ycmVjdCBvbGQgYnJvd3NlciBidWcgdGhhdCBwcmV2ZW50ZWQgYWNjZXNzaWJsZSByZXNpemluZyBvZiB0ZXh0XG4gICAgICAgIC8vIHdoZW4gcm9vdCBmb250LXNpemUgaXMgc2V0IHdpdGggcHggb3IgZW0uXG4gICAgICAgIGZvbnQtc2l6ZTogKCRiYXNlLWZvbnQtc2l6ZSAvIDE2cHgpICogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNlY3Rpb25zKSB7XG4gICAgLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBib2R5IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGFydGljbGUsXG4gICAgYXNpZGUsXG4gICAgZm9vdGVyLFxuICAgIGhlYWRlcixcbiAgICBuYXYsXG4gICAgc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiAqL1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMC42N2VtIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgyLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgzLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg0LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg1IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg1LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg2IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg2LWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShncm91cGluZykge1xuICAgIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cblxuICAgICAgZGwsXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICovXG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBvbCxcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBkZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGZpZ2NhcHRpb24sXG4gICAgZmlndXJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cblxuICAgIGZpZ3VyZSB7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDFlbSAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuXG4gICAgaHIge1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgICAgIGhlaWdodDogMDsgLyogMSAqL1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIG1haW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBwLFxuICAgICAgcHJlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgcHJlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGxpbmtzKSB7XG4gICAgLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cblxuICAgIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGE6YWN0aXZlLFxuICAgIGE6aG92ZXIge1xuICAgICAgb3V0bGluZS13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHRleHQpIHtcbiAgICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGFiYnJbdGl0bGVdIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgY29kZSxcbiAgICBrYmQsXG4gICAgc2FtcCB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuXG4gICAgZGZuIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1YixcbiAgICBzdXAge1xuICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICBzdWIge1xuICAgICAgYm90dG9tOiAtMC4yNWVtO1xuICAgIH1cblxuICAgIHN1cCB7XG4gICAgICB0b3A6IC0wLjVlbTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGVtYmVkZGVkKSB7XG4gICAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGF1ZGlvLFxuICAgIHZpZGVvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuXG4gICAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgc3ZnOm5vdCg6cm9vdCkge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGZvcm1zKSB7XG4gICAgLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaW5wdXQsXG4gICAgb3B0Z3JvdXAsXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgbWFyZ2luOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBidXR0b24ge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIHNlbGVjdCB7IC8qIDEgKi9cbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgfVxuXG4gICAgYnV0dG9uLFxuICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cblxuICAgICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi9cblxuICAgICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuXG4gICAgaW5wdXQge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi9cblxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gICAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBmaWVsZHNldCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgICAgbWFyZ2luOiAwIDJweDtcbiAgICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBsZWdlbmQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMyAqL1xuICAgICAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xuXG4gICAgcHJvZ3Jlc3Mge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xuXG4gICAgdGV4dGFyZWEge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShpbnRlcmFjdGl2ZSkge1xuICAgIC8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKlxuICAgICAgICAgKiAxLiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICAgKiAyLiBTZXQgY29uc2lzdGVudCBzcGFjZSBmb3IgdGhlIGxpc3Qgc3R5bGUgaW1hZ2UuXG4gICAgICAgICAqL1xuXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTsgLyogMSAqL1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDsgLyogMiAqL1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAgICovXG5cbiAgICAgICAgbWVudSAmLFxuICAgICAgICBvbCAmLFxuICAgICAgICB1bCAmIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNjcmlwdGluZykge1xuICAgIC8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGNhbnZhcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZW1wbGF0ZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaGlkZGVuKSB7XG4gICAgLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFtoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBDdXN0b20gV2ViIEZvbnRzXG4vLyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mYXN0LmZvbnRzLm5ldC90LzEuY3NzP2FwaVR5cGU9Y3NzJnByb2plY3RpZD0wZTQ0MTA3Ny0zOWMzLTQwMGMtOGViNy02YTlhYmZjNGNkYTJcIik7XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlIExUIFcwMV80MTQ4ODg3OFwiO1xuICAgIHNyYzogdXJsKFwiI3skZmEtZm9udC1wYXRofS8xYjk1MGQyYS05MDdhLTQ4ODgtODA1Ni0wZDQ0ZThlODYzMzguZW90PyNpZWZpeFwiKTtcbiAgICBzcmM6IHVybChcIiN7JGZhLWZvbnQtcGF0aH0vMWI5NTBkMmEtOTA3YS00ODg4LTgwNTYtMGQ0NGU4ZTg2MzM4LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIjeyRmYS1mb250LXBhdGh9LzNhNDY1NDJmLWY0MjktNDgyMS05YTg4LTYyZTNiZTU0YTY0MC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiI3skZmEtZm9udC1wYXRofS81MGFjMTY5OS1mM2QyLTQ3YjYtODc4Zi02N2EzNjhhMTdjNDEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIjeyRmYS1mb250LXBhdGh9LzBiZTU1OTBmLTgzNTMtNGVmMy1hZGExLTQzYWMzODA4NTlmOC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlIExUIFcwMV80MTQ4ODg4NFwiO1xuICAgIHNyYzogdXJsKFwiI3skZmEtZm9udC1wYXRofS9lMzZlZmI3ZC0xMmUzLTQ3NzMtYTgzMC0yNmU1NjUyMzczZWEuZW90PyNpZWZpeFwiKTtcbiAgICBzcmM6IHVybChcIiN7JGZhLWZvbnQtcGF0aH0vZTM2ZWZiN2QtMTJlMy00NzczLWE4MzAtMjZlNTY1MjM3M2VhLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIjeyRmYS1mb250LXBhdGh9LzI2MWI0ZWZiLTNkNzAtNDk2NS05NzdkLTM4YWY5NDIyNzAwZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiI3skZmEtZm9udC1wYXRofS8yZTAwNTE0ZS0xNzY0LTQyNTAtYTBjNS1hY2EzZTVhOGQxMzMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIjeyRmYS1mb250LXBhdGh9L2UyZmUyZTA3LTk0MTktNDAwZi05NTNkLWRjMjNjZmE2NDdhMi50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlIExUIFcwMV81MTQ4ODg5MFwiO1xuICAgIHNyYzogdXJsKFwiI3skZmEtZm9udC1wYXRofS9iZjdlZjRjZS1kZTJhLTQyMTMtYTlkNy04MjZhM2VlMzIzY2QuZW90PyNpZWZpeFwiKTtcbiAgICBzcmM6IHVybChcIiN7JGZhLWZvbnQtcGF0aH0vYmY3ZWY0Y2UtZGUyYS00MjEzLWE5ZDctODI2YTNlZTMyM2NkLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIjeyRmYS1mb250LXBhdGh9LzNkYWM3MWViLWFmYTctNGM4MC05N2YwLTU5OTIwMjc3MjkwNS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiI3skZmEtZm9udC1wYXRofS8zNGUwZTRjMC1jMjk0LTQ5YmItOWE4ZS0xYjJjYWZkNTRlMzIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIjeyRmYS1mb250LXBhdGh9LzhhOGJmZWUzLTE5N2MtNDk0Mi05YjExLTcxNTA4Y2M5ZjQwNi50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlIExUIFcwMV81NiBJdFwiO1xuICAgIHNyYzogdXJsKFwiI3skZmEtZm9udC1wYXRofS81ZDBlNWRjYS04NjlkLTRlMTQtYWM2Yi00NWZiYWIzYzQwNDcuZW90PyNpZWZpeFwiKTtcbiAgICBzcmM6IHVybChcIiN7JGZhLWZvbnQtcGF0aH0vNWQwZTVkY2EtODY5ZC00ZTE0LWFjNmItNDVmYmFiM2M0MDQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIjeyRmYS1mb250LXBhdGh9LzIxYzQ0NTE0LWY0ZDYtNGNmZi1hNWRlLWU0Y2FjNWU2MWFmZi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiI3skZmEtZm9udC1wYXRofS9lN2M0YjIzMS03NmFkLTQ3YzctYTU0Yi01ZDg0ZGNkNzhkMGYud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIjeyRmYS1mb250LXBhdGh9L2I2ZGI0MTdmLWU3OTUtNDI2YS1hMmFmLWFkYzM3YTM0MTlhNi50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlIExUIFcwMV82NSBNZFwiO1xuICAgIHNyYzogdXJsKFwiI3skZmEtZm9udC1wYXRofS9mOTVmOWZjMi1mZmRhLTQzMWMtOWQ2YS0yYzM2NjhmNWIyMGIuZW90PyNpZWZpeFwiKTtcbiAgICBzcmM6IHVybChcIiN7JGZhLWZvbnQtcGF0aH0vZjk1ZjlmYzItZmZkYS00MzFjLTlkNmEtMmMzNjY4ZjViMjBiLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIjeyRmYS1mb250LXBhdGh9LzViMWZiZDYyLTQ1ZGMtNDQzMy1hN2RmLWEyYjI0YTE0NjQxMS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiI3skZmEtZm9udC1wYXRofS8wNTBiMTk0OC1mMjI2LTRkMjAtYTY1YS0xNWQ4ZWQwMzEyMjIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIjeyRmYS1mb250LXBhdGh9L2JlYjg4YmU2LTJhNjAtNDZmZS05MTRmLTY4OTJiM2FlNDZjZS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlIExUIFcwMV82MTQ4ODkwOFwiO1xuICAgIHNyYzogdXJsKFwiI3skZmEtZm9udC1wYXRofS80YzY4ZjM5YS0xZDA4LTRhMjYtODFiMy1jNDI0Y2JlNmQ3MTIuZW90PyNpZWZpeFwiKTtcbiAgICBzcmM6IHVybChcIiN7JGZhLWZvbnQtcGF0aH0vNGM2OGYzOWEtMWQwOC00YTI2LTgxYjMtYzQyNGNiZTZkNzEyLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIjeyRmYS1mb250LXBhdGh9LzY1N2MyZmE0LTU4NWItNDc2MS05ZTJlLTY1YWIxMzE1OTMyMy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiI3skZmEtZm9udC1wYXRofS80MDA4NjlmMC1mMGQ1LTQ5YTAtOGExMS1mNGZiNDI3OWQxMjUud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIjeyRmYS1mb250LXBhdGh9LzE0ZGYwMmIxLTAxZjQtNDQyNi1iZjdiLWFkMmYzOWRjMTM0Ni50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlIExUIFcwMV83NSBCb2xkXCI7XG4gICAgc3JjOiB1cmwoXCIjeyRmYS1mb250LXBhdGh9Lzk2OTdjZmVmLTc4MTYtNDdjYy04MWVkLWM1NmMwMjlkM2JjZi5lb3Q/I2llZml4XCIpO1xuICAgIHNyYzogdXJsKFwiI3skZmEtZm9udC1wYXRofS85Njk3Y2ZlZi03ODE2LTQ3Y2MtODFlZC1jNTZjMDI5ZDNiY2YuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIiN7JGZhLWZvbnQtcGF0aH0vMWY0Mjc0Y2QtMjY3NC00ODFlLTkwMjMtNjllMzNmZmNhMTYxLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIjeyRmYS1mb250LXBhdGh9LzVlOGQ0OTNjLWJlMDEtNDRiOS05NjJlLTUwNGE1Y2YxMGRkOC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIiN7JGZhLWZvbnQtcGF0aH0vYWUzNmI0YTAtYWEyYy00NmNjLTk4ZDgtZDhiN2QyMjI0MWRjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWUgTFQgVzAxXzcxNDg4OTIwXCI7XG4gICAgc3JjOiB1cmwoXCIjeyRmYS1mb250LXBhdGh9LzUyYjZhZTNlLTk0NDMtNGFjYy05YmY5LWY1MTU0ZWVhYjc3Yy5lb3Q/I2llZml4XCIpO1xuICAgIHNyYzogdXJsKFwiI3skZmEtZm9udC1wYXRofS81MmI2YWUzZS05NDQzLTRhY2MtOWJmOS1mNTE1NGVlYWI3N2MuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIiN7JGZhLWZvbnQtcGF0aH0vYWRlNGRiYWUtYzYwNy00Yzg0LWEzNzUtZjBjNGRlMGNjMzU3LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIjeyRmYS1mb250LXBhdGh9LzViODY0NzQxLTZmMTQtNGVkOS1hMjk3LTI3YTRkNzNlZGY1MS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIiN7JGZhLWZvbnQtcGF0aH0vMGNkY2NhZDUtYTAyMy00YTE3LThlYTktMDFhMGU2YWQ3ZmY0LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWUgTFQgVzAxXzc3IEJkIENuXCI7XG4gICAgc3JjOiB1cmwoXCIjeyRmYS1mb250LXBhdGh9LzE1MjdhZWVkLWU2OWQtNDM5OS04MmUzLTdiNTNkNDhkYTdhMi5lb3Q/I2llZml4XCIpO1xuICAgIHNyYzogdXJsKFwiI3skZmEtZm9udC1wYXRofS8xNTI3YWVlZC1lNjlkLTQzOTktODJlMy03YjUzZDQ4ZGE3YTIuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIiN7JGZhLWZvbnQtcGF0aH0vNWY0NjIwYmMtOThmNy00YjEzLTlmOTAtM2E1NGVhNmE5YzU1LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIjeyRmYS1mb250LXBhdGh9L2FjMzBlODRlLWNiMTktNDU3Ni1iNmY5LTQ5MWZjY2JkNDJmZi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIiN7JGZhLWZvbnQtcGF0aH0vYjU4M2I3ODItMDcwOS00YTEzLTg5OWYtN2U5YWIxYTdlY2NkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cblxuLy8gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgQ3VzdG9tIEljb24gRm9udFxuLy8gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gICAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vaWNvbW9vbi5lb3Q/b3JwdHJnJyk7XG4gICAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vaWNvbW9vbi5lb3Q/b3JwdHJnI2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9pY29tb29uLnR0Zj9vcnB0cmcnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ljb21vb24ud29mZj9vcnB0cmcnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vaWNvbW9vbi5zdmc/b3JwdHJnI2ljb21vb24nKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vLyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBUeXBvZ3JhcGh5XG4vLyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJWxpZ2h0IHtcblxuICAgIGZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUgTFQgVzAxXzQxNDg4ODc4JztcblxufVxuXG4lcmVndWxhciB7XG5cbiAgICBmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlIExUIFcwMV81MTQ4ODg5MCc7XG5cbn1cblxuJW1lZGl1bSB7XG5cbiAgICBmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlIExUIFcwMV82NSBNZCc7XG5cbn1cblxuJWJvbGQge1xuXG4gICAgZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZSBMVCBXMDFfNzUgQm9sZCc7XG5cbn1cblxuJWNvbmRlbnNlZCB7XG5cbiAgICBmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlIExUIFcwMV83NyBCZCBDbic7XG5cbn1cblxuJWljb25zIHtcblxuICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWljb24tc2l6ZTtcblxuICAgIH1cblxufVxuXG4vLyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBCYXNpY1xuLy8gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmJvZHkge1xuXG4gICAgQGV4dGVuZCAlcmVndWxhcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDMyKTtcblxuICAgIH1cblxufVxuXG5wIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgzMik7XG5cbiAgICB9XG5cbn1cblxuYSB7XG5cbiAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG5cbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICB9XG5cbn1cblxuLy8gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgUGFyYWdyYXBocy8gdGV4dFxuLy8gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5pbnRybyxcbi5pbnRybyBwIHtcblxuICAgIGZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUgTFQgVzAxXzQxNDg4ODc4JztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0oMjYpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDQwKTtcblxuICAgIH1cblxufVxuXG4ubGlzdC10aXRsZSxcbi5saXN0LXRpdGxlIHAge1xuXG4gICAgQGV4dGVuZCAlYm9sZDtcblxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgxNik7XG5cbiAgICB9XG5cbn1cblxuLmZyZXF1ZW5jeS1wcmljZSB7XG5cbiAgICBsYWJlbCB7XG5cbiAgICAgICAgQGV4dGVuZCAuaW50cm87XG5cbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg4KTtcblxuICAgIH1cblxuICAgIC5wcmljZSB7XG5cbiAgICAgICAgQGV4dGVuZCBoMTtcblxuICAgIH1cblxuICAgIC5mcmVxdWVuY3kge1xuXG4gICAgICAgIEBleHRlbmQgJW1lZGl1bTtcblxuICAgICAgICBjb2xvcjogJGdyZXktbWVkaXVtO1xuXG4gICAgfVxuXG59XG5cbmgxIHtcblxuICAgIEBleHRlbmQgJWJvbGQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDcyKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSg4Nik7XG5cbiAgICB9XG5cbn1cblxuaDIge1xuXG4gICAgQGV4dGVuZCAlYm9sZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0oNjApO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDc2KTtcblxuICAgIH1cblxufVxuXG5oMyB7XG5cbiAgICBAZXh0ZW5kICVib2xkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICBmb250LXNpemU6IHJlbSg0MCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oNDgpO1xuXG4gICAgfVxuXG59XG5cbmg0IHtcblxuICAgIEBleHRlbmQgJW1lZGl1bTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0oMzIpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDQwKTtcblxuICAgIH1cblxufVxuXG5oNSB7XG5cbiAgICBAZXh0ZW5kICVtZWRpdW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSg0MCk7XG5cbiAgICB9XG5cbn1cblxuaDYge1xuXG4gICAgQGV4dGVuZCAlbGlnaHQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSg0MCk7XG5cbiAgICB9XG5cbn1cblxuLmxvbmctZmllbGQge1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdpZHRoOiAxMDAlO1xuXG59XG5cbi8vICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIEZvcm0gcmVzZXRcbi8vICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG46Zm9jdXMge1xuXG4gICAgb3V0bGluZTogbm9uZTtcblxufVxuXG5pbnB1dFt0eXBlPXNlYXJjaF0ge1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxufVxuXG4vLyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBXb3JkcHJlc3MgZGVmYXVsdCBzdHlsaW5nXG4vLyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuaW1nLFxuYSBpbWcge1xuXG4gICAgJi5hbGlnbnJpZ2h0IHtcblxuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDFlbSAxZW07XG5cbiAgICB9XG5cbiAgICAmLmFsaWdubGVmdCB7XG5cbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMCAxZW0gMWVtIDA7XG5cbiAgICB9XG5cbiAgICAmLmFsaWduY2VudGVyIHtcblxuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgIH1cblxufVxuXG4vLyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBXWVNJV1lHXG4vLyAgVXNlciBpbnB1dCBzdHlsaW5nXG4vLyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnd5c2l3eWcge1xuXG4gICAgYTpub3QoLmJ1dHRvbikge1xuXG4gICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgcCB7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE2KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjQpO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIHVsLFxuICAgIG9sIHtcblxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSgzMik7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcblxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMjQpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIHVsIHtcblxuICAgICAgICBsaSB7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0oMik7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0oOCk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogcmVtKDkpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiByZW0oOCk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiByZW0oMTEpO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtKDEwKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIG9sIHtcblxuICAgICAgICBjb3VudGVyLXJlc2V0OiBpdGVtO1xuXG4gICAgICAgIGxpIHtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgQGV4dGVuZCAlYm9sZDtcblxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIoaXRlbSk7XG4gICAgICAgICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGl0ZW07XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSB7XG5cbiAgICAgICAgQGV4dGVuZCAlbGlnaHQ7XG5cbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IHJlbSgxNiAwKTtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgICAgICAgICBtYXJnaW46IHJlbSg0MCAwKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICBAZXh0ZW5kICVpY29ucztcblxuICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICBjb250ZW50OiBtYXBfZ2V0KCRpY29ucywgJ3F1b3RlJyk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDQwKTtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg4KTtcblxuICAgICAgICB9XG5cbiAgICAgICAgcCxcbiAgICAgICAgLnd5c2l3eWcgJiBwIHtcblxuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oNDgpO1xuXG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIDpsYXN0LWNoaWxkIHtcblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgfVxuXG59IiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBnZXQtY29sb3Ioc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBnZXQtY29sb3Ioc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogZ2V0LWNvbG9yKHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG5AaW1wb3J0ICcuLi8uLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvQGNvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvdXRpbCc7XG5cbiR0aGVtZTogJ2kzZF90ZW1wbGF0ZSc7XG4kZGVidWc6IGZhbHNlO1xuXG4vLyAgRm9udEF3ZXNvbWVcbiRmYS1mb250LXBhdGg6ICcvdHlwbzNjb25mL2V4dC8jeyR0aGVtZX0vUmVzb3VyY2VzL1B1YmxpYy9mb250cyc7XG5cbi8vICBEZWZhdWx0IHNldHRpbmdzXG4kZGVmYXVsdC1pY29uLXNpemU6IHJlbSgyNCk7XG4kaW1hZ2UtdXJsOiAnL3R5cG8zY29uZi9leHQvI3skdGhlbWV9L1Jlc291cmNlcy9QdWJsaWMvaW1nJztcblxuLy8gIEdsb2JhbFxuJHdoaXRlOiAjRkZGO1xuJGJsYWNrOiAjMjMyMjIzO1xuXG4kZ3JleTogI0U2RTZFNjtcbiRncmV5LWRhcms6ICM0MDQwNDA7XG4kZ3JleS1tZWRpdW06ICM2NTY0NjU7XG4kZ3JleS1tZWRpdW0tZGFyazogI2E3YTdhNztcbiRncmV5LWxpZ2h0OiAjRjdGN0Y3O1xuJHJlZDogI0QyMjMyQTtcbiRncmVlbjogIzBjYTAzZTtcbiRyZWQtZGFyazogIzk1MTExNDtcblxuJGRlZmF1bHQtaW1hZ2UtZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4kZGFyay1pbWFnZS1maWx0ZXI6IGdyYXlzY2FsZSgxMDAlKSBicmlnaHRuZXNzKDcwJSk7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJGdyZXktZGFyaztcblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXdpZHRoOiBjYWxjKDEwMHZ3IC0gMTY4cHgpO1xuXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XG4kYm9keS1mb250LXNpemU6IHJlbSgxNik7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xuJGdsb2JhbC1yYWRpdXM6IDA7XG4kZ2xvYmFsLWZsZXhib3g6IGZhbHNlO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuXG4vLyAgQnJlYWtwb2ludHNcbiRicmVha3BvaW50czogKFxuICAgICAgICBzbWFsbDogMCxcbiAgICAgICAgc21lZGl1bTogNjAwcHgsXG4gICAgICAgIG1lZGl1bTogNzY4cHgsXG4gICAgICAgIGxhcmdlOiAxMDI0cHgsXG4gICAgICAgIHhsYXJnZTogMTI4MHB4LFxuICAgICAgICB4eGxhcmdlOiAxOTIwcHgsXG4pO1xuXG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgc21lZGl1bSBtZWRpdW0gbGFyZ2UgeGxhcmdlIHh4bGFyZ2UpO1xuXG4vLyAgVGhlIEdyaWRcbiR4eS1ncmlkOiBmYWxzZTtcbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gICAgICAgIHNtYWxsOiAzMnB4LFxuKTtcblxuLy8gIENvbnRhaW5lcnNcbiRjb250YWluZXItbGFyZ2U6ICRnbG9iYWwtd2lkdGg7XG5cbi8vICBJY29tb29uIEljb25zXG4kaWNvbnM6IChcbiAgICAgICAgYXJyb3ctcmlnaHQ6ICdcXGU5MTInLFxuICAgICAgICBhcnJvdy1yaWdodC1sb25nOiAnXFxlOTBjJyxcbiAgICAgICAgY2FydDogJ1xcZTkxMScsXG4gICAgICAgIGNoZWNrOidcXGU5MTAnLFxuICAgICAgICBjaGV2cm9uLWRvd246ICdcXGU5MTQnLFxuICAgICAgICBjaGV2cm9uLWxlZnQ6J1xcZTkxMycsXG4gICAgICAgIGNoZXZyb24tbGVmdC1yaWdodDonXFxlOTBmJyxcbiAgICAgICAgY2hldnJvbi1yaWdodDonXFxlOTBlJyxcbiAgICAgICAgY2hldnJvbi11cDogJ1xcZTkxNScsXG4gICAgICAgIGNsb2NrOidcXGU5MGQnLFxuICAgICAgICBjbG9zZTonXFxlOTBiJyxcbiAgICAgICAgZG90OidcXGU5MGEnLFxuICAgICAgICBpbmZvOidcXGU5MDknLFxuICAgICAgICBsb2dpbjogJ1xcZTkwOCcsXG4gICAgICAgIG1haWw6ICdcXGU5MDcnLFxuICAgICAgICBtYXJrZXI6ICdcXGU5MDYnLFxuICAgICAgICBtZW51OiAnXFxlOTA1JyxcbiAgICAgICAgcGhvbmU6ICdcXGU5MDQnLFxuICAgICAgICBwbHVzOiAnXFxlOTAzJyxcbiAgICAgICAgcXVvdGU6ICdcXGU5MTgnLFxuICAgICAgICBzZWFyY2g6ICdcXGU5MDInLFxuICAgICAgICBzdXBwb3J0OiAnXFxlOTE5JyxcbiAgICAgICAgdGFnOiAnXFxlOTAxJyxcbiAgICAgICAgd29ybGQ6ICdcXGU5MDAnLFxuKTtcblxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vIFxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgY2xpcC1wYXRoOiBub25lO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSwgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJG5hbWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0Jykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0JywgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEgeyBcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCIkLXpmLWZsZXgtanVzdGlmeTogKFxuICAnbGVmdCc6IGZsZXgtc3RhcnQsXG4gICdyaWdodCc6IGZsZXgtZW5kLFxuICAnY2VudGVyJzogY2VudGVyLFxuICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4pO1xuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgfVxuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkb2xkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgLy8gUmVzdG9yZSB0aGUgb2xkIGJyZWFrcG9pbnQgc2l6ZVxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICQtemYtc2l6ZTogbnVsbCAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbmcgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW5nLlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxleC1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UgZm9yIHRoaXMgcm93LiBJZiBzZXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCksIHRoZSBnbG9iYWwgY29sdW1uIGNvdW50IHdpbGwgYmUgdXNlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRiYXNlIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgYmFzaWMgc3R5bGVzIGZyb20gYmVpbmcgb3V0cHV0LiBVc2VmdWwgaWYgeW91J3JlIGNhbGxpbmcgdGhpcyBtaXhpbiBvbiB0aGUgc2FtZSBlbGVtZW50IHR3aWNlLCBhcyBpdCBwcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIG91dHB1dC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLCBpbiBjYXNlIHRoZSByb3cgaXMgbmVzdGVkLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGZsZXgtZ3JpZC1yb3coXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiYXNlOiB0cnVlLFxuICAkd3JhcDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkYmFzZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyAkd3JhcDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMsICRiYXNlKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGBmbGV4YCBwcm9wZXJ0eSBmb3IgYSBmbGV4IGdyaWQgY29sdW1uLiBJdCBhY2NlcHRzIGFsbCBvZiB0aGUgc2FtZSB2YWx1ZXMgYXMgdGhlIGJhc2ljIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgYWxvbmcgd2l0aCB0d28gZXh0cmFzOlxuLy8vICAgLSBgZXhwYW5kYCAodGhlIGRlZmF1bHQpIHdpbGwgbWFrZSB0aGUgY29sdW1uIGV4cGFuZCB0byBmaWxsIHNwYWNlLlxuLy8vICAgLSBgc2hyaW5rYCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBjb250cmFjdCwgc28gaXQgb25seSB0YWtlcyB1cCB0aGUgaG9yaXpvbnRhbCBzcGFjZSBpdCBuZWVkcy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi5cbkBmdW5jdGlvbiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zOiBleHBhbmQpIHtcbiAgJGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG5cbiAgQGlmICRjb2x1bW5zID09IHNocmluayB7XG4gICAgJGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICRjb2x1bW5zICE9IGV4cGFuZCB7XG4gICAgJGZsZXg6IDAgMCBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cblxuICBAcmV0dXJuICRmbGV4O1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbHVtbiBmb3IgYSBmbGV4IGdyaWQuIEJ5IGRlZmF1bHQsIHRoZSBjb2x1bW4gd2lsbCBzdHJldGNoIHRvIHRoZSBmdWxsIHdpZHRoIG9mIGl0cyBjb250YWluZXIsIGJ1dCB0aGlzIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggc2l6aW5nIGNsYXNzZXMsIG9yIGJ5IHVzaW5nIHRoZSBgdW5zdGFja2AgY2xhc3Mgb24gdGhlIHBhcmVudCBmbGV4IHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzIHdpZHRoLiBTZWUgdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXJgIG1peGluLlxuQG1peGluIGZsZXgtZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiBleHBhbmQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgLy8gQmFzZSBwcm9wZXJ0aWVzXG4gIEBpbmNsdWRlIGZsZXgtZ3JpZC1zaXplKCRjb2x1bW5zKTtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIGZpeGVzIHJlY2VudCBDaHJvbWUgdmVyc2lvbiBub3QgbGltaXRpbmcgY2hpbGQgd2lkdGhcbiAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzQ5MzQ1ODYvd2hpdGUtc3BhY2Utbm93cmFwLWFuZC1mbGV4Ym94LWRpZC1ub3Qtd29yay1pbi1jaHJvbWVcbiAgQGlmICRjb2x1bW5zID09IGV4cGFuZCB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgYmxvY2sgZ3JpZCBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gZGlzcGxheSBvbiBlYWNoIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIC0gU2VsZWN0b3IgdG8gdXNlIHRvIHRhcmdldCBjb2x1bW5zIHdpdGhpbiB0aGUgcm93LlxuQG1peGluIGZsZXgtZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJ1xuKSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgJHBjdDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIGZsZXg6IDAgMCAkcGN0O1xuICAgIG1heC13aWR0aDogJHBjdDtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgd2lkdGggZmxleCBncmlkIGNvbHVtbi5cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGZsZXgtZ3JpZC1zaXplKCRjb2x1bW5zOiBudWxsKSB7XG4gICRjb2x1bW5zOiAkY29sdW1ucyBvciBleHBhbmQ7XG5cbiAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkY29sdW1ucyk7XG5cbiAgLy8gbWF4LXdpZHRoIGZpeGVzIElFIDEwLzExIG5vdCByZXNwZWN0aW5nIHRoZSBmbGV4LWJhc2lzIHByb3BlcnR5XG4gIEBpZiAkY29sdW1ucyAhPSBleHBhbmQgYW5kICRjb2x1bW5zICE9IHNocmluayB7XG4gICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cbn1cblxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWdyaWQge1xuICAvLyBSb3dcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdztcblxuICAgIC8vIE5lc3RpbmcgYmVoYXZpb3JcbiAgICAmIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdyhuZXN0LCAkYmFzZTogZmFsc2UpO1xuXG4gICAgICAmLmNvbGxhcHNlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCByb3dcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcblxuICAgICAgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcbiAgICB9XG5cbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVuZG8gbmVnYXRpdmUgbWFyZ2luc1xuICAgIC8vIEZyb20gY29sbGFwc2VkIGNoaWxkXG4gICAgJi5pcy1jb2xsYXBzZS1jaGlsZCxcbiAgICAmLmNvbGxhcHNlID4gLmNvbHVtbiA+IC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC5jb2x1bW4ge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW47XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLmNvbHVtbi5yb3cucm93IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAucm93IC5jb2x1bW4ucm93LnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWxheW91dCgkaSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAvLyBTaXppbmcgKGV4cGFuZClcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tZXhwYW5kIHtcbiAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQXV0by1zdGFja2luZy91bnN0YWNraW5nXG4gICAgICBAYXQtcm9vdCAod2l0aG91dDogbWVkaWEpIHtcbiAgICAgICAgLnJvdy4jeyQtemYtc2l6ZX0tdW5zdGFjayB7XG4gICAgICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oMTAwJSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LWNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS11bmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkLXpmLXNpemUpOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2l6aW5nIChzaHJpbmspXG4gIC5zaHJpbmsge1xuICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oc2hyaW5rKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBCbG9jayBncmlkIGNvbHVtbnNcbiAgLmNvbHVtbi1ibG9jayB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tbWFyZ2luO1xuICB9XG5cbiAgLmNvbHVtbnMge1xuICAgIEBleHRlbmQgLmNvbHVtbjsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBwbGFjZWhvbGRlci1pbi1leHRlbmRcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudCAhZ2xvYmFsO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gQ29sdW1uIGNvdW50IGZvciB0aGlzIHJvdy4gYG51bGxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2YgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhIGNsZWFyZml4LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjZjogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGNmIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi1zaXplKSkgLyAyICogLTE7XG5cbiAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldCBhIGdyaWQgcm93IHNpemVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbkBtaXhpbiBncmlkLXJvdy1zaXplKCRzaXplOiAkZ3JpZC1yb3ctd2lkdGgpIHtcbiAgQGlmICRzaXplID09IGV4cGFuZCB7XG4gICAgJHNpemU6IG5vbmU7XG4gIH1cblxuICBtYXgtd2lkdGg6ICRzaXplO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJGd1dHRlciBbYXV0b11cbi8vLyAgIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkZ3V0dGVycyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkZ3V0dGVycyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkZ3V0dGVyLCAkZ3V0dGVycykge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICB9XG59XG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoMCk7XG59XG5cbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZ3JpZC1jb2x1bW4tZ3V0dGVyKCkuIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVyKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbC1ndXR0ZXIoKS4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXIpO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxuLy8vICAgLSBBIGxpc3Qgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiICh3aXRob3V0IHF1b3Rlcykgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSB2YWx1ZS5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xuICAkd2lkdGg6IDAlO1xuXG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBhbmQgY29sdW1uIGNvdW50c1xuICBAaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRjb2x1bW5zKSA9PSAnJScge1xuICAgICAgJHdpZHRoOiAkY29sdW1ucztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGNvbHVtbnMgPCAxIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRncmlkLWNvbHVtbi1jb3VudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkY29sdW1ucykgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UobnRoKCRjb2x1bW5zLCAxKSAvIG50aCgkY29sdW1ucywgMykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiLic7XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gTGFzdCBjb2x1bW4gYWxpZ25tZW50XG4gIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHJvdy4gVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiBhZGRpbmcgYC5yb3dgIGFuZCBgLmNvbHVtbmAgdG8gdGhlIHNhbWUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLXJvdztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAmLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBmdW5jdGlvbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEByZXR1cm4gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AbWl4aW4gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVycyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gRGlyZWN0aW9uIGFuZCBhbW91bnQgdG8gbW92ZS4gVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnQgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC4gU2V0IHRvIGNlbnRlciB0byBjZW50ZXIgdGhlIGNvbHVtbi5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgb3IgY2VudGVyLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7ICBcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIFxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG5cbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8gV0FSTklORzogV2lsbCBiZSByZW1vdmVkIGluIHZlcnNpb24gNi40XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbzogZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LXZpZGVvIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkKCkuIGZvdW5kYXRpb24tZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG59XG5cbkBtaXhpbiBmbGV4LXZpZGVvKCRyYXRpbzogJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW8pIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgcmVzcG9uc2l2ZS1lbWJlZCgpLiBmbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmLm1pZGRsZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgICYuYm90dG9tIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIi8vICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBBbmltYXRpb25zXG4vLyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vICBSb3RhdGVcbkBrZXlmcmFtZXMgcm90YXRpbmcge1xuXG4gICAgZnJvbSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuXG59XG5cbkBrZXlmcmFtZXMgZ2xvdyB7XG5cbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICBmaWxsOiAkYmxhY2s7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbn1cbiIsIi51aS1kYXRlcGlja2VyIHtcblxuICAgIHdpZHRoOiByZW0oMjgwKTtcblxuICAgIC51aS1kYXRlcGlja2VyLWhlYWRlciB7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW0oMiAyIDAgMCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbSg0IDEyKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC51aS1kYXRlcGlja2VyLXByZXYsXG4gICAgICAgIC51aS1kYXRlcGlja2VyLW5leHQge1xuXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogcmVtKDI0KTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgIEBleHRlbmQgJWljb25zO1xuXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwX2dldCgkaWNvbnMsICdjaGV2cm9uLWxlZnQnKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnVpLWljb24ge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAudWktZGF0ZXBpY2tlci1uZXh0IHtcblxuICAgICAgICAgICAgcmlnaHQ6IHJlbSg0KTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXBfZ2V0KCRpY29ucywgJ2NoZXZyb24tcmlnaHQnKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAudWktZGF0ZXBpY2tlci10aXRsZSB7XG5cbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXItYm90dG9tOiByZW0oMSkgc29saWQgJGdyZXk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiByZW0oMSkgc29saWQgJGdyZXk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbSgwIDAgMiAyKTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiByZW0oMSkgc29saWQgJGdyZXk7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICB0aGVhZCB0aCB7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5LWxpZ2h0O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtKDEpIHNvbGlkICRncmV5O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIH1cblxuICAgICAgICB0Ym9keSB0ZCB7XG5cbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbSg0KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDQwKTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiByZW0oNDApO1xuXG4gICAgICAgICAgICBhIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRncmV5LWxpZ2h0LCAxMCUpO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIERpZmZlcmVudCBzdGF0ZXNcbiAgICAgICAgICAgICYudWktc3RhdGUtZGlzYWJsZWQge1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYudWktZGF0ZXBpY2tlci1jdXJyZW50LWRheSB7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi51aS1kYXRlcGlja2VyLXRvZGF5IHtcblxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQtZGFyaztcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG59IiwiLm1mcC13cmFwIHtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogOTk5OTtcblxuICAgICY6YmVmb3JlIHtcblxuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgIH1cblxuICAgIC5tZnAtaWZyYW1lIHtcblxuICAgICAgICBoZWlnaHQ6IDY2dmg7XG4gICAgICAgIHdpZHRoOiA2NnZ3O1xuXG4gICAgfVxuXG4gICAgLm1mcC1jb250YWluZXIge1xuXG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgd2lkdGg6IDY2dnc7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICB9XG5cbiAgICAubWZwLWNvbnRlbnQge1xuXG4gICAgICAgIG1heC13aWR0aDogcmVtKDkwMCk7XG5cbiAgICB9XG5cbn1cblxuLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xuXG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiByZW0oNTApO1xuICAgIHRvcDogcmVtKC00NSk7XG5cbn1cblxuLm1mcC13aXphcmRTZWxlY3RvciB7XG5cbiAgICAubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcblxuICAgICAgICBtaW4taGVpZ2h0OiByZW0oNjAwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cbiAgICAgICAgICAgIGhlaWdodDogcmVtKDgxOCk7XG4gICAgICAgICAgICB3aWR0aDogcmVtKDg2NCk7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xuXG4gICAgICAgIGhlaWdodDogcmVtKDI0KTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogcmVtKDE2KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0b3A6IHJlbSgxNik7XG4gICAgICAgIHdpZHRoOiByZW0oMjQpO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICBAZXh0ZW5kICVpY29ucztcblxuICAgICAgICAgICAgY29udGVudDogbWFwX2dldCgkaWNvbnMsICdjbG9zZScpO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcblxuICAgICAgICB9XG5cbiAgICB9XG59IiwiLnBvd2VybWFpbF9mb3JtIHtcblxuICBmaWVsZHNldCB7XG5cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgfVxuXG59IiwiLyoqXG4gKiBTd2lwZXIgNC4xLjBcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXG4gKiBodHRwOi8vd3d3LmlkYW5nZXJvLnVzL3N3aXBlci9cbiAqXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDE4IFZsYWRpbWlyIEtoYXJsYW1waWRpXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKlxuICogUmVsZWFzZWQgb246IEphbnVhcnkgMTMsIDIwMThcbiAqL1xuLnN3aXBlci1jb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICAvKiBGaXggb2YgV2Via2l0IGZsaWNrZXJpbmcgKi9cbiAgei1pbmRleDogMTtcbn1cbi5zd2lwZXItY29udGFpbmVyLW5vLWZsZXhib3ggLnN3aXBlci1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5zd2lwZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xufVxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5zd2lwZXItc2xpZGUge1xuICAtd2Via2l0LWZsZXgtc2hyaW5rOiAwO1xuICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtO1xufVxuLnN3aXBlci1pbnZpc2libGUtYmxhbmstc2xpZGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4vKiBBdXRvIEhlaWdodCAqL1xuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCxcbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci1zbGlkZSB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodCwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodCwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtO1xufVxuLyogM0QgRWZmZWN0cyAqL1xuLnN3aXBlci1jb250YWluZXItM2Qge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMjAwcHg7XG4gIHBlcnNwZWN0aXZlOiAxMjAwcHg7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXdyYXBwZXIsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIHJpZ2h0IHRvcCwgbGVmdCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgYm90dG9tLCBsZWZ0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG59XG4vKiBJRTEwIFdpbmRvd3MgUGhvbmUgOCBGaXhlcyAqL1xuLnN3aXBlci1jb250YWluZXItd3A4LWhvcml6b250YWwsXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtaG9yaXpvbnRhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuLnN3aXBlci1jb250YWluZXItd3A4LXZlcnRpY2FsLFxuLnN3aXBlci1jb250YWluZXItd3A4LXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXg7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXg7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAyN3B4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIG1hcmdpbi10b3A6IC0yMnB4O1xuICB6LWluZGV4OiAxMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWRpc2FibGVkLFxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zNTtcbiAgY3Vyc29yOiBhdXRvO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjMwMDdhZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICBsZWZ0OiAxMHB4O1xuICByaWdodDogYXV0bztcbn1cbi5zd2lwZXItYnV0dG9uLW5leHQsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMjclMkMyMkwyNyUyQzIyTDUlMkM0NGwtMi4xLTIuMUwyMi44JTJDMjJMMi45JTJDMi4xTDUlMkMwTDI3JTJDMjJMMjclMkMyMnonJTIwZmlsbCUzRCclMjMwMDdhZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICByaWdodDogMTBweDtcbiAgbGVmdDogYXV0bztcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzZmZmZmZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbn1cbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi13aGl0ZSxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24td2hpdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzZmZmZmZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFjayxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbn1cbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1ibGFjayxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbn1cbi5zd2lwZXItYnV0dG9uLWxvY2sge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgLW8tdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB6LWluZGV4OiAxMDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW4ge1xuICBvcGFjaXR5OiAwO1xufVxuLyogQ29tbW9uIFN0eWxlcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uLFxuLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSxcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gIGJvdHRvbTogMTBweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKiBCdWxsZXRzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAwO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2LXByZXYge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dC1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwLjI7XG59XG5idXR0b24uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tY2xpY2thYmxlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQ6ICMwMDdhZmY7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgcmlnaHQ6IDEwcHg7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApO1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiA2cHggMDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogOHB4O1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3A7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgdG9wLCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiAwIDRweDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICBsZWZ0OiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIGxlZnQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsLnN3aXBlci1jb250YWluZXItcnRsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG59XG4vKiBQcm9ncmVzcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogIzAwN2FmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgd2lkdGg6IDRweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBTY3JvbGxiYXIgKi9cbi5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1zY3JvbGxiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDElO1xuICBib3R0b206IDNweDtcbiAgei1pbmRleDogNTA7XG4gIGhlaWdodDogNXB4O1xuICB3aWR0aDogOTglO1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDNweDtcbiAgdG9wOiAxJTtcbiAgei1pbmRleDogNTA7XG4gIHdpZHRoOiA1cHg7XG4gIGhlaWdodDogOTglO1xufVxuLnN3aXBlci1zY3JvbGxiYXItZHJhZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG4uc3dpcGVyLXNjcm9sbGJhci1jdXJzb3ItZHJhZyB7XG4gIGN1cnNvcjogbW92ZTtcbn1cbi5zd2lwZXItc2Nyb2xsYmFyLWxvY2sge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnN3aXBlci16b29tLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGltZyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBzdmcsXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gY2FudmFzIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAtby1vYmplY3QtZml0OiBjb250YWluO1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuLnN3aXBlci1zbGlkZS16b29tZWQge1xuICBjdXJzb3I6IG1vdmU7XG59XG4vKiBQcmVsb2FkZXIgKi9cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjFweDtcbiAgbWFyZ2luLXRvcDogLTIxcHg7XG4gIHotaW5kZXg6IDEwO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAtd2Via2l0LWFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xuICBhbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBzdGVwcygxMiwgZW5kKSBpbmZpbml0ZTtcbn1cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXI6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxMjAlMjAxMjAnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHhtbG5zJTNBeGxpbmslM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmsnJTNFJTNDZGVmcyUzRSUzQ2xpbmUlMjBpZCUzRCdsJyUyMHgxJTNEJzYwJyUyMHgyJTNEJzYwJyUyMHkxJTNEJzcnJTIweTIlM0QnMjcnJTIwc3Ryb2tlJTNEJyUyMzZjNmM2YyclMjBzdHJva2Utd2lkdGglM0QnMTEnJTIwc3Ryb2tlLWxpbmVjYXAlM0Qncm91bmQnJTJGJTNFJTNDJTJGZGVmcyUzRSUzQ2clM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg2MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoOTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDEyMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTUwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMzcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxODAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy40NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDIxMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjU2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjQwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNjYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy43NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjg1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzMwJTIwNjAlMkM2MCknJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRlOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIwdmlld0JveCUzRCcwJTIwMCUyMDEyMCUyMDEyMCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIweG1sbnMlM0F4bGluayUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayclM0UlM0NkZWZzJTNFJTNDbGluZSUyMGlkJTNEJ2wnJTIweDElM0QnNjAnJTIweDIlM0QnNjAnJTIweTElM0QnNyclMjB5MiUzRCcyNyclMjBzdHJva2UlM0QnJTIzZmZmJyUyMHN0cm9rZS13aWR0aCUzRCcxMSclMjBzdHJva2UtbGluZWNhcCUzRCdyb3VuZCclMkYlM0UlM0MlMkZkZWZzJTNFJTNDZyUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDYwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg5MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTIwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxNTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4zNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE4MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjQ2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjEwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNTYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy42NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI3MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjc1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuODUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMzAlMjA2MCUyQzYwKSclMkYlM0UlM0MlMkZnJTNFJTNDJTJGc3ZnJTNFXCIpO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4vKiBhMTF5ICovXG4uc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLW5vdGlmaWNhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogLTEwMDA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlIC5zd2lwZXItc2xpZGUge1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xufVxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXByZXYsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCArIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgei1pbmRleDogMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IDAuNjtcbiAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNTBweCk7XG4gIGZpbHRlcjogYmx1cig1MHB4KTtcbiAgei1pbmRleDogMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZsaXAge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xufVxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jb3ZlcmZsb3cgLnN3aXBlci13cmFwcGVyIHtcbiAgLyogV2luZG93cyA4IElFIDEwIGZpeCAqL1xuICAtbXMtcGVyc3BlY3RpdmU6IDEyMDBweDtcbn1cbiIsIi8vICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBUYWJsZXMgKGNvbnRlbnQpXG4vLyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbnRhYmxlIHtcblxuICAgIHRib2R5IHtcblxuICAgICAgICBib3JkZXI6IDA7XG5cbiAgICB9XG5cbn0iLCIvLyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgR3JpZCBvdmVycmlkZXNcbi8vICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmZ1bGwtd2lkdGgge1xuXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICB3aWR0aDogMTAwJTtcblxufVxuXG4ubGFyZ2UtZmxleCB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICA+IC5jb2x1bW4ge1xuXG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuLnJvdyB7XG5cbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAxNnB4KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cbiAgICAgICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuXG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7XG5cblx0XHR3aWR0aDogMTAwJTtcblxuICAgIH1cblxufSIsIi8vICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBJY29uc1xuLy8gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5zdmcge1xuXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG59XG5cbi5pY29uIHtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6ICRkZWZhdWx0LWljb24tc2l6ZTtcbiAgICB3aWR0aDogJGRlZmF1bHQtaWNvbi1zaXplO1xuXG4gICAgc3ZnIHtcblxuICAgICAgICBmaWxsOiAkYmxhY2s7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgfVxuXG59IiwidGV4dGFyZWEge1xuICAgIHJlc2l6ZTogbm9uZTtcbn1cblxuLnBvd2VybWFpbF9mb3JtIHtcblxuICAgIG1hcmdpbjogcmVtKDAgLTgpO1xuXG59XG5cbi5wb3dlcm1haWxfZmllbGR3cmFwIHtcblxuICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNik7XG4gICAgcGFkZGluZzogcmVtKDAgOCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi0xMDAge1xuXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgfVxuXG4gICAgJi02NiB7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAzKSAqIDIpO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICYtNTAge1xuXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi0zMyB7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5wb3dlcm1haWxfbGFiZWwge1xuXG4gICAgICAgIEBleHRlbmQgLmxpc3QtdGl0bGU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oKTtcblxuICAgICAgICBsZWZ0OiByZW0oMzIpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogcmVtKDE2KTtcblxuICAgIH1cblxuICAgIGlucHV0LFxuICAgIHRleHRhcmVhLFxuICAgIHNlbGVjdCB7XG5cbiAgICAgICAgQGV4dGVuZCAlbGlnaHQ7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oKTtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtKDQpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgOHB4IDAgcmdiYSgkYmxhY2ssIDAuMSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgaGVpZ2h0OiByZW0oNjQpO1xuICAgICAgICBwYWRkaW5nOiByZW0oMjAgMjQgMCAyNCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcblxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDEycHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuXG4gICAgICAgIH1cblxuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgfVxuXG4gICAgdGV4dGFyZWEge1xuXG4gICAgICAgIGhlaWdodDogcmVtKDIwMCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgzMiAyNCAyNCk7XG5cbiAgICB9XG5cbiAgICAucmFkaW8sXG4gICAgLmNoZWNrYm94IHtcblxuICAgICAgICBsYWJlbCB7XG5cbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgzMik7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTYpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oNDApO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuXG4gICAgICAgICAgICBsYWJlbCB7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0IHtcblxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgJjpjaGVja2VkIH4gc3BhbjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXI6IHJlbSgxKSBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0oMik7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSgyNCk7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiByZW0oNCk7XG4gICAgICAgICAgICB3aWR0aDogcmVtKDI0KTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbSgyKTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbSgxOCk7XG4gICAgICAgICAgICAgICAgbGVmdDogcmVtKDIpO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogcmVtKDIpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiByZW0oMTgpO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnJhZGlvIHtcblxuICAgICAgICBzcGFuIHtcblxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICZfdHlwZV90ZXh0IHtcblxuICAgICAgICBAZXh0ZW5kIC5saXN0LXRpdGxlO1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg4KTtcblxuICAgIH1cblxuICAgICYucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX2ZpbGUge1xuXG4gICAgICAgIGxhYmVsIHtcblxuICAgICAgICAgICAgQGV4dGVuZCAlbGlnaHQ7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCk7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlcjogcmVtKDEpIHNvbGlkICRncmV5LWxpZ2h0O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtKDEwKTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA4cHggMCByZ2JhKCRibGFjaywgMC4xKTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDQwKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oNDApO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDAgMTIpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAxMnB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuZmlsZW5hbWUge1xuXG4gICAgICAgICAgICBAZXh0ZW5kICVsaWdodDtcblxuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oNDApO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSgxNik7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0IHtcblxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmLnBvd2VybWFpbF9maWVsZHdyYXBfdHlwZV9maWxlLFxuICAgICYucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3JhZGlvLFxuICAgICYucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX2NoZWNrIHtcblxuICAgICAgICAucG93ZXJtYWlsX2xhYmVsIHtcblxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSxcbiAgICAmLmlzLWNvbXBsZXRlZCxcbiAgICAmLnBvd2VybWFpbF9maWVsZHdyYXBfdHlwZV9zZWxlY3Qge1xuXG4gICAgICAgIC5wb3dlcm1haWxfbGFiZWwge1xuXG4gICAgICAgICAgICB0b3A6IHJlbSgxMik7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cbi5wb3dlcm1haWxfY29uZmlybWF0aW9uIHtcblxuICAgIC5wb3dlcm1haWxfYWxsX2xhYmVsIHtcblxuICAgICAgICBtaW4td2lkdGg6IHJlbSgyNTApO1xuXG4gICAgfVxuXG4gICAgZm9ybSB7XG5cbiAgICAgICAgLmJ1dHRvbiB7XG5cbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDMyKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLnN1Ym1pdCB7XG5cbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oMzIpO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG4ucG93ZXJtYWlsX21lc3NhZ2Uge1xuXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHBhZGRpbmc6IDMycHg7XG4gICAgd2lkdGg6IDUwJTtcblxuICAgICZfZXJyb3Ige1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHJlZCwgMC4zKTtcbiAgICAgICAgYm9yZGVyOiByZW0oMSkgc29saWQgJHJlZDtcblxuICAgIH1cblxuICAgICZfb2sge1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGdyZWVuLCAwLjMpO1xuICAgICAgICBib3JkZXI6IHJlbSgxKSBzb2xpZCAkZ3JlZW47XG5cbiAgICB9XG5cbn0iLCIvLyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgQXV0aG9yICAgICA6IEJlcm5oYXJkViAodmVya2FkZUByZWRraXdpLm5sKVxuLy8gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyAgQmFzaWMgcmVzZXQgZm9yIGEgbGF5b3V0IHVsXG5AbWl4aW4gcmVzZXQtdWwoKSB7XG5cbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG59XG5cbi8vICBEZWZhdWx0IHRyYW5zaXRpb25cbkBtaXhpbiB0cmFuc2l0aW9uKCRjb250ZXh0OiAnYWxsIDIwMG1zIGxpbmVhcicpIHtcblxuICAgIHRyYW5zaXRpb246ICN7JGNvbnRleHR9O1xuXG59XG5cbi8vICBXcmFwcGVyIGZ1bmN0aW9uIHRvIHdyaXRlIHJlbSBldmVuIGZhc3RlclxuQGZ1bmN0aW9uIHJlbSgkcHgpIHtcblxuICAgIEByZXR1cm4gcmVtLWNhbGMoJHB4KTtcblxufVxuXG4vLyAgR2VuZXJhdGUgSWNvbnMgZm9yIGJ1dHRvbnNcbkBtaXhpbiBidXR0b24taWNvbnMoJGljb25zLCAkc3BhY2U6IHJlbSg1KSwgJHBvc2l0aW9uOiBsZWZ0KSB7XG5cbiAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuXG4gICAgICAgICYuaWNvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjZTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAZWFjaCAkaWNvbiwgJGNoYXIgaW4gJGljb25zIHtcblxuICAgICAgICAgICAgICAgICYuI3skaWNvbn06YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAkY2hhcjtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH0gQGVsc2Uge1xuXG4gICAgICAgICYuaWNvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2U7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGVhY2ggJGljb24sICRjaGFyIGluICRpY29ucyB7XG5cbiAgICAgICAgICAgICAgICAmLiN7JGljb259OmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAkY2hhcjtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG4vLyBEZWZhdWx0IGl0ZW0gaXMgdGhlIHNlcnZpY2VzLCBuZXdzIG9yIGV2ZW50IGxheW91dCBhbmQgaXMgdGhlIGRlZmF1bHQgaW4gdGhlIHdlYnNpdGVcbkBtaXhpbiBkZWZhdWx0LWl0ZW0oKSB7XG5cbiAgICBtYXJnaW4tdG9wOiBtYXBfZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsICdzbWFsbCcpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICAmOm50aC1jaGlsZChuKTpudGgtY2hpbGQoLW4rMikge1xuXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cbiAgICAgICAgJjpudGgtY2hpbGQobik6bnRoLWNoaWxkKC1uKzMpIHtcblxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBhIHtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1saWdodDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIGZpZ3VyZSB7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbSgzMjApO1xuXG4gICAgICAgICAgICBmaWdjYXB0aW9uIHtcblxuICAgICAgICAgICAgICAgIEBleHRlbmQgaDQ7XG5cbiAgICAgICAgICAgICAgICBib3R0b206IHJlbSgyNCk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiByZW0oMzIpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogcmVtKDg4KTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idXR0b24uaWNvbi1vbmx5IHtcblxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IHJlbSgxNik7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBtYWluIHtcblxuICAgICAgICAgICAgQGV4dGVuZCAlbGlnaHQ7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgzMik7XG5cbiAgICAgICAgICAgIHVsIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc2V0LXVsKCk7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oOCk7XG5cbiAgICAgICAgICAgICAgICBsaSB7XG5cbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDgpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSg0MCk7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBleHRlbmQgJWljb25zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cbkBtaXhpbiB0cmlnZ2VyLWJ1dHRvbigpIHtcblxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3R0b206IHJlbSgxNik7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGhlaWdodDogcmVtKDUwKTtcbiAgICBsZWZ0OiByZW0oMTYpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogcmVtKDUwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICAgICAgYm90dG9tOiByZW0oNDApO1xuICAgICAgICBoZWlnaHQ6IHJlbSg2NCk7XG4gICAgICAgIGxlZnQ6IHJlbSg0MCk7XG4gICAgICAgIHdpZHRoOiByZW0oNjQpO1xuXG4gICAgfVxuXG4gICAgJjphZnRlciB7XG5cbiAgICAgICAgY29udGVudDogJ1BsYXkgdmlkZW8nO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IGNhbGMoMTAwJSArIDEycHgpO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTAwJSArIDI0cHgpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5pY29uIHtcblxuICAgICAgICBoZWlnaHQ6IHJlbSgyNCk7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIHdpZHRoOiByZW0oMTgpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICAgICAgICAgIGhlaWdodDogcmVtKDMyKTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0oMzIpO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIHN2ZyB7XG5cbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcblxuICAgICAgICBmaWxsOiAkd2hpdGU7XG5cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLWRhcms7XG5cbiAgICAgICAgc3ZnIHtcblxuICAgICAgICAgICAgZmlsbDogJHdoaXRlO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxufSIsIi5idG4sXG4uYnV0dG9uIHtcblxuICAgIEBleHRlbmQgJWNvbmRlbnNlZDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiByZW0oOCk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICBwYWRkaW5nOiByZW0oMTIgMTYpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgxMiAyNCk7XG5cbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQtZGFyaztcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgfVxuXG4gICAgJi53aXRoLWljb24ge1xuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgQGV4dGVuZCAlaWNvbnM7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogcmVtKDIpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1pY29ucygkaWNvbnMsIHJlbSg4KSk7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1pY29ucygkaWNvbnMsIHJlbSg4KSwgcmlnaHQpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taWNvbnMoJGljb25zLCByZW0oMTYpKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1pY29ucygkaWNvbnMsIHJlbSgxNiksIHJpZ2h0KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaWNvbi1vbmx5IHtcblxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oNDgpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IHJlbSg0OCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbSg2NCk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbSg2NCk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuLmJ0bi1ncm91cCB7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG59XG5cbi5wdWxsLXJpZ2h0IHtcblxuICAgIGZsb2F0OiByaWdodDtcblxufVxuIiwiLy8gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIExheW91dDogQmFzZVxuLy8gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4jd3JhcHBlciB7XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG59XG5cbiNvdXRlci13cmFwIHtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgI2lubmVyLXdyYXAge1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICB9XG5cbn1cblxuI21haW4td3JhcCB7XG5cbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblxuICAgICAgICBmbG9hdDogbm9uZTtcblxuICAgIH1cblxufVxuXG4uaXRlbS1zbGlkZSB7XG5cbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCdsZWZ0IDAuM3MgZWFzZScpO1xuXG4gICAgbGVmdDogMDtcblxuICAgIC5uYXYtb3BlbiAmIHtcblxuICAgICAgICBsZWZ0OiAtNzAlO1xuXG4gICAgfVxuXG59XG5cbiNzLW1haW4ge1xuXG4gICAgcGFkZGluZy10b3A6IHJlbSg5MSk7IC8vIGhlaWdodCBvZiBoZWFkZXJcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblxuICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDExNSk7IC8vIGhlaWdodCBvZiBoZWFkZXJcblxuICAgIH1cblxufVxuIiwiLmNlIHtcblxuICAgIHBhZGRpbmc6IHJlbSgzMiAwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICAgICAgcGFkZGluZzogcmVtKDU2IDApO1xuXG4gICAgfVxuXG59XG5cbi5yZW1vdmUtLXBhZGRpbmctdG9wIHtcblxuICAgIHBhZGRpbmc6IHJlbSgwIDAgMzIgMCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgICAgIHBhZGRpbmc6IHJlbSgwIDAgNTYgMCk7XG5cbiAgICB9XG59XG5cbi5yZW1vdmUtLXBhZGRpbmctYm90dG9tIHtcblxuICAgIHBhZGRpbmc6IHJlbSgzMiAwIDAgMCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgICAgIHBhZGRpbmc6IHJlbSg1NiAwIDAgMCk7XG5cbiAgICB9XG59XG5cbi5yZW1vdmUtLXBhZGRpbmctYWxsIHtcblxuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICB9XG5cbn0iLCIuYnJlYWRjcnVtYiB7XG5cbiAgICBAaW5jbHVkZSByZXNldC11bCgpO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICBwYWRkaW5nOiByZW0oMTIgMCAxMiAxNik7XG4gICAgYm9yZGVyOiByZW0oMSkgc29saWQgJGdyZXktbGlnaHQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgICAgIHBhZGRpbmc6IHJlbSgyNCAwIDI0IDE2KTtcblxuICAgIH1cblxuICAgIGxpIHtcblxuICAgICAgICBAZXh0ZW5kICVsaWdodDtcblxuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMTYpO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBhIHtcblxuICAgICAgICBAZXh0ZW5kICVyZWd1bGFyO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCk7XG5cbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oMTYpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDI0KTtcblxuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgIEBleHRlbmQgJWljb25zO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuXG4gICAgICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcF9nZXQoJGljb25zLCAnY2hldnJvbi1yaWdodCcpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IHJlbSgtOCk7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDJweCwgLTUwJSk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cbiIsIi5jb29raWUtbm90aWNlIHtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbSg4KTtcbiAgICBib3R0b206IHJlbSgzMik7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIG1heC13aWR0aDogcmVtKDUwMCk7XG4gICAgcGFkZGluZzogcmVtKDI0KTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IHJlbSgzMik7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IDEwMDAwMDAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICBwYWRkaW5nOiByZW0oMzIpO1xuXG4gICAgfVxuXG4gICAgLmNuLWNvbnRlbnQge1xuXG4gICAgICAgIGg1IHtcblxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg4KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNik7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuY24tYnV0dG9uLXdyYXBwZXIge1xuXG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgxNik7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDI0KTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLmNuLWJ1dHRvbjpsYXN0LWNoaWxkIHtcblxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSgxNik7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmNvb2tpZS1ub3RpY2Utb3BlbiAmIHtcblxuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gICAgfVxuXG59IiwiLy8gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIFBhcnQvTGF5b3V0OiBGb290ZXIgTWVudVxuLy8gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZm9vdGVyLW1lbnUge1xuXG4gICAgdWwge1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LXVsKCk7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQwKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIH1cblxuICAgIGxpIHtcblxuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgzNCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMCk7XG4gICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyNSk7XG4gICAgICAgICAgICB3aWR0aDogNDAlO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIGEge1xuXG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cbiIsIi8vICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBMYXlvdXQ6IEZvb3RlclxuLy8gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4jbWFpbi1mb290ZXIge1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcGFkZGluZzogcmVtKDMyIDAgMTYpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICBwYWRkaW5nOiByZW0oNTYgMCk7XG5cbiAgICB9XG5cbiAgICBoMyB7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE2KTtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICB1bDpub3QoLmNvbXBsaWFuY3ktbGlzdCkge1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LXVsKCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjQpO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIHVsIHtcblxuICAgICAgICBAZXh0ZW5kICVsaWdodDtcblxuICAgICAgICAmLmNvbnRhY3QtbGlzdCB7XG5cbiAgICAgICAgICAgIGxpIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg4KTtcblxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5tYWlsOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAlaWNvbnM7XG5cbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwX2dldCgkaWNvbnMsICdtYWlsJyk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5ubDpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skaW1hZ2UtdXJsfS9mbGFnLW5ldGhlcmxhbmRzLnN2ZycpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnVzYTpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skaW1hZ2UtdXJsfS9mbGFnLXVzLnN2ZycpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oNDApO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0oMjQpO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbSgyNCk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAmLnNvY2lhbC1saXN0IHtcblxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oNDApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICYucXVpY2stbGlzdCB7XG5cbiAgICAgICAgICAgIGEge1xuXG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuaW50cm87XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kICVpY29ucztcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXBfZ2V0KCRpY29ucywgJ2NoZXZyb24tcmlnaHQnKTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDgpO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogcmVtKDIpO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChyZW0oOCkpO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5jb21wbGlhbmN5LWxpc3Qge1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgLmljb24taXRlbSB7XG5cbiAgICAgICAgICAgIC5pbm5lci13cmFwcGVyIHtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtKDgwKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oKTtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtKDgwKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgICAgICAgICYub3ZlcmxheSB7XG5cbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoNSxcbiAgICAgICAgICAgIGg2IHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAub3ZlcmxheSB7XG5cbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxufSIsIi5ncmlkLWVsZW1lbnRzIHtcblxuICAgIC5jb2x1bW4taW1hZ2Uge1xuXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgwIDMyIDYwIDApO1xuXG4gICAgfVxuXG4gICAgLmNvbHVtbi10ZXh0LFxuICAgIC5jb2x1bW4taW1hZ2Uge1xuXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXg6IDE7XG5cbiAgICB9XG5cbiAgICAuY2UtdGV4dCB7XG5cbiAgICAgICAgcGFkZGluZzogcmVtKDAgMzIgNjAgMCk7XG5cbiAgICAgICAgLmJ1dHRvbiB7XG5cbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgQGV4dGVuZCAlaWNvbnM7XG5cbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXBfZ2V0KCRpY29ucywgJ2Fycm93LXJpZ2h0Jyk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDgpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0b3A6IHJlbSgyKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDE2KTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxufSIsIi8vICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBMYXlvdXQ6IEhlYWRlclxuLy8gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uaGVhZGVyLXdyYXBwZXIge1xuXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuXG4gICAgaGVpZ2h0OiByZW0oOTQpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcblxuICAgICAgICBoZWlnaHQ6IHJlbSgxMDgpO1xuXG4gICAgfVxuXG59XG5cbiNoZWFkZXIge1xuXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiByZW0oMTYgMCk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDIwO1xuXG4gICAgLmhlYWRlci1maXhlZCAmIHtcblxuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgICAgICAgcGFkZGluZzogcmVtKDggMCk7XG5cbiAgICB9XG5cbn1cblxuLy8gIE5hdmlnYXRpb24gYnV0dG9uXG4ubWVudS10cmlnZ2VyIHtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiByZW0oNTApO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogcmVtKDE1KTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IHJlbSg1MCk7XG4gICAgei1pbmRleDogMTA7XG5cbiAgICAubmF2LW9wZW4gJiB7XG5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4IDAgMCAzcHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcblxuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgfVxuXG4gICAgc3BhbiB7XG5cbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IHJlbSgzKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0ZXh0LWluZGVudDogcmVtKC05OTk5OSk7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IHJlbSgyMCk7XG5cbiAgICAgICAgLm5hdi1vcGVuICYge1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oKTtcblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSgzKTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICB0b3A6IHJlbSgtNik7XG5cbiAgICAgICAgICAgIC5uYXYtb3BlbiAmIHtcblxuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgIGJvdHRvbTogcmVtKC02KTtcblxuICAgICAgICAgICAgLm5hdi1vcGVuICYge1xuXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuLnN1cHBvcnQge1xuXG4gICAgJjpiZWZvcmUge1xuXG4gICAgICAgIEBleHRlbmQgJWljb25zO1xuXG4gICAgICAgIGNvbnRlbnQ6IG1hcF9nZXQoJGljb25zLCAnc3VwcG9ydCcpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMTYpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkocmVtKDUpKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyMyk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkocmVtKDMpKTtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuLmNhcnQge1xuXG4gICAgJjpiZWZvcmUge1xuXG4gICAgICAgIEBleHRlbmQgJWljb25zO1xuXG4gICAgICAgIGNvbnRlbnQ6IG1hcF9nZXQoJGljb25zLCAnY2FydCcpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgyOCk7XG5cbiAgICB9XG5cbn1cblxuLnNlYXJjaC1idXR0b24ge1xuXG4gICAgJjpiZWZvcmUge1xuXG4gICAgICAgIEBleHRlbmQgJWljb25zO1xuXG4gICAgICAgIGNvbnRlbnQ6IG1hcF9nZXQoJGljb25zLCAnc2VhcmNoJyk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgzMik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDE2KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKDI4KTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAubWVudS1vcGVuICYge1xuXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgb3BhY2l0eTogLjI7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnR4X3NvbHIge1xuXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICB9XG5cbn1cblxuLm1lbnUtYnV0dG9uIHtcblxuICAgICY6YmVmb3JlIHtcblxuICAgICAgICBAZXh0ZW5kICVpY29ucztcblxuICAgICAgICBjb250ZW50OiBtYXBfZ2V0KCRpY29ucywgJ21lbnUnKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMzIpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDMyKTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIH1cblxuICAgIC5tZW51LW9wZW4gJjpiZWZvcmUge1xuXG4gICAgICAgIGNvbnRlbnQ6IG1hcF9nZXQoJGljb25zLCAnY2xvc2UnKTtcblxuICAgIH1cblxuICAgIC5zZWFyY2gtb3BlbiAmIHtcblxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgIG9wYWNpdHk6IC4yO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG4ubG9naW4ge1xuXG4gICAgQGV4dGVuZCAlbGlnaHQ7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICY6YmVmb3JlIHtcblxuICAgICAgICBAZXh0ZW5kICVpY29ucztcblxuICAgICAgICBjb250ZW50OiBtYXBfZ2V0KCRpY29ucywgJ2xvZ2luJyk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oOCk7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICB9XG5cbn1cbiIsIi5rZXl2aXN1YWwge1xuXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG5cdFx0bWluLWhlaWdodDogcmVtKDY2NCk7XG5cblx0fVxuXG5cdGZpZ3VyZSB7XG5cblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0aGVpZ2h0OiByZW0oMjQwKTtcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cblx0XHR9XG5cblx0fVxuXG5cdC5pbm5lci13cmFwcGVyIHtcblxuXHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0bWFyZ2luLXRvcDogcmVtKDMyKTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMjtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRtYXJnaW46IHJlbSg4MCAwKTtcblxuXHRcdH1cblxuXHRcdGgxIHtcblxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdH1cblxuXHRcdC5pbnRybyB7XG5cblx0XHRcdG1hcmdpbjogcmVtKDggMCAwKTtcblx0XHRcdG1heC13aWR0aDogcmVtKDM5Mik7XG5cdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuXHRcdFx0XHRtYXJnaW46IHJlbSgzMiAwIDApO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHQuYnV0dG9uIHtcblxuXHRcdFx0bWFyZ2luLXRvcDogcmVtKDI0KTtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuXHRcdFx0XHRtYXJnaW4tdG9wOiByZW0oNTYpO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG59XG5cbi5wYWdlLWljb24td3JhcHBlciB7XG5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdGltZyB7XG5cblx0XHRsZWZ0OiAwO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IHJlbSg3NSk7XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAvIDEyKTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmLndpdGhvdXQta2V5dmlzdWFsIHtcblxuXHRcdGltZyB7XG5cblx0XHRcdHRvcDogMDtcblxuXHRcdH1cblxuXHR9XG5cbn0iLCIubGFuZ3VhZ2Utc3dpdGNoIHtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRncmV5O1xuXHRib3JkZXItcmFkaXVzOiByZW0oNSk7XG5cdGNvbG9yOiAkYmxhY2s7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cblx0XHRtYXJnaW4tdG9wOiByZW0oMTIpO1xuXG5cdH1cblxuXHQubGFuZ3VhZ2Utc3dpdGNoLW9wZW4gJiB7XG5cblx0XHRib3JkZXItY29sb3I6ICRibGFjaztcblxuXHR9XG5cblx0LnNlbGVjdGVkIHtcblxuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDIwKTtcblx0XHRwYWRkaW5nOiByZW0oMTQgMTYpO1xuXG5cdFx0JjpiZWZvcmUge1xuXG5cdFx0XHRAZXh0ZW5kICVpY29ucztcblxuXHRcdFx0Y29udGVudDogbWFwX2dldCgkaWNvbnMsICd3b3JsZCcpO1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRcdFx0cGFkZGluZy1yaWdodDogcmVtKDgpO1xuXG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cblx0XHRcdEBleHRlbmQgJWljb25zO1xuXHRcdFx0QGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuXG5cdFx0XHRjb250ZW50OiBtYXBfZ2V0KCRpY29ucywgJ2NoZXZyb24tZG93bicpO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHJlbSg4KTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHRvcDogLjEyNXJlbTtcblxuXHRcdH1cblxuXHRcdEBhdC1yb290IC5sYW5ndWFnZS1zd2l0Y2gtb3BlbiAmIHtcblxuXHRcdFx0JiB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblxuXHRcdFx0fVxuXG5cdFx0XHQmOmFmdGVyIHtcblxuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG5cdC5zdWJtZW51IHtcblxuXHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oKTtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0XHRib3JkZXI6IDFweCBzb2xpZCBibGFjaztcblx0XHRib3JkZXItcmFkaXVzOiAwIDAgcmVtKDUpIHJlbSg1KTtcblx0XHRib3JkZXItdG9wOiAwO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGxlZnQ6IHJlbSgtMSk7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDA7XG5cdFx0bWFyZ2luLXRvcDogcmVtKC0zKTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHBhZGRpbmc6IHJlbSg1KSAwO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDEwMCU7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpO1xuXG5cdFx0QGF0LXJvb3QgLmxhbmd1YWdlLXN3aXRjaC1vcGVuICYge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHR6LWluZGV4OiA2MDtcblxuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiAkZ3JleS1tZWRpdW07XG5cdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0YSB7XG5cblx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRsaW5lLWhlaWdodDogMWVtO1xuXHRcdFx0cGFkZGluZzogcmVtKDgpIHJlbSg4KSByZW0oOCkgcmVtKDQ1KTtcblxuXHRcdH1cblxuXHR9XG5cbn1cblxuIiwiLy8gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIExheW91dDogV2Vic2l0ZSBMb2dvXG4vLyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5sb2dvIHtcblxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIG1hcmdpbjogcmVtKDggMCk7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgIGltZyB7XG5cbiAgICAgICAgaGVpZ2h0OiByZW0oNDYpO1xuICAgICAgICB3aWR0aDogcmVtKDgwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuXG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSg1OSk7XG4gICAgICAgICAgICB3aWR0aDogcmVtKDEwNCk7XG5cbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiLy8gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIFBhcnQvTGF5b3V0OiBQcmltYXJ5IE1lbnVcbi8vICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuYm9keS5tZW51LW9wZW4sXG5ib2R5LnN1Ym1lbnUtb3BlbiB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgfVxuXG59XG5cbi5wcmltYXJ5LW1lbnUge1xuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oNTYpO1xuXG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkgYW5kIChtYXgtd2lkdGg6IDgyZW0pIHtcblxuICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDE2KTtcblxuICAgIH1cblxuICAgIC8vIGR1dGNoIG1lbnUgdG8gd2lkZSB0byBmaXQgb24gb25lIGxpbmVcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MmVtKSBhbmQgKG1heC13aWR0aDogODUuNGVtKSB7XG5cbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSg0MCk7XG5cbiAgICB9XG5cbiAgICB1bCB7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtdWwoKTtcblxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgICAgICA+IGxpIHtcblxuICAgICAgICAgICAgbWFyZ2luOiByZW0oLTE2IDApO1xuXG4gICAgICAgICAgICAuaGVhZGVyLWZpeGVkICYge1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luOiByZW0oLTggMCk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAubWVudS1pdGVtIHtcblxuICAgICAgICBAZXh0ZW5kICVtZWRpdW07XG5cbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDMyKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcblxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oNDAgMTIgMzYpO1xuXG4gICAgICAgICAgICAuaGVhZGVyLWZpeGVkICYge1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtKDMyIDEyIDI4KTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDEzODApIHtcblxuICAgICAgICAgICAgcGFkZGluZzogcmVtKDQwIDIwIDM2KTtcblxuICAgICAgICAgICAgLmhlYWRlci1maXhlZCAmIHtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgzMiAyMCAyOCk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oKTtcblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oOCk7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB3aWR0aDogMDtcblxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuYWN0aXZlIHtcblxuICAgICAgICAubWVudS1pdGVtIHtcblxuICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnN1Ym1lbnUge1xuXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oKTtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1saWdodDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcGFkZGluZzogcmVtKDU2IDApO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IHJlbSgxMDgpO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgei1pbmRleDogNTA7XG5cbiAgICAgICAgLmhlYWRlci1maXhlZCAmIHtcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiByZW0oOTIpO1xuXG4gICAgICAgIH1cblxuICAgICAgICAmLXRvZ2dsZSBzcGFuOmFmdGVyIHtcblxuICAgICAgICAgICAgQGV4dGVuZCAlaWNvbnM7XG5cbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcF9nZXQoJGljb25zLCAnY2hldnJvbi1kb3duJyk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSgyNCk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDgpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiByZW0oNCk7XG4gICAgICAgICAgICB3aWR0aDogcmVtKDI0KTtcblxuICAgICAgICB9XG5cbiAgICAgICAgJi1tZW51IHtcblxuICAgICAgICAgICAgQGV4dGVuZCAlbGlnaHQ7XG5cbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRncmV5O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMTk0KTtcblxuICAgICAgICAgICAgYSB7XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyNCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE2KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oMTYpO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xuXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kICVpY29ucztcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwX2dldCgkaWNvbnMsICdhcnJvdy1yaWdodCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSg4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hY3RpdmUgYSB7XG5cbiAgICAgICAgICAgICAgICBAZXh0ZW5kICVtZWRpdW07XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgJi10ZWFzZXIge1xuXG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbSg3MjkpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMTA1KTtcblxuICAgICAgICAgICAgaDMge1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE2KTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcblxuICAgICAgICAgICAgICAgIEBleHRlbmQgJWxpZ2h0O1xuXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgzMik7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQwKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5zdWJtZW51LW9wZW4ge1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5LWxpZ2h0O1xuXG4gICAgICAgIC5tZW51LWl0ZW06YWZ0ZXIge1xuXG4gICAgICAgICAgICB3aWR0aDogMDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLnN1Ym1lbnUge1xuXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICAgICAgICAgICAgJi10b2dnbGUgc3BhbjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXBfZ2V0KCRpY29ucywgJ2NoZXZyb24tdXAnKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxufSIsIi5zZWFyY2gtZm9ybSB7XG5cbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1saWdodDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyZXk7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmc6IHJlbSgyNCAxNiAyNCAyNCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgICAgIHBhZGRpbmc6IHJlbSg1NiAyMDYpO1xuXG4gICAgfVxuXG4gICAgLnNlYXJjaC1vcGVuICYge1xuXG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgICB9XG5cbiAgICBmb3JtIHtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgIH1cblxuICAgIGlucHV0IHtcblxuICAgICAgICBAZXh0ZW5kICVsaWdodDtcblxuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItbGVmdDogcmVtKDEpIHNvbGlkICRncmV5O1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjQpO1xuICAgICAgICBwYWRkaW5nOiByZW0oMCAwIDAgMTIpO1xuICAgICAgICB3aWR0aDogNzAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDAgMCAwIDE2KTtcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XG5cbiAgICAgICAgfVxuXG5cbiAgICB9XG5cbiAgICAvLyAgU2VhcmNoIG9uIHNlYXJjaC1yZXN1bHRzIHBhZ2VcbiAgICAmLWlubGluZSB7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDI0KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgZm9ybSB7XG5cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPXRleHRdIHtcblxuICAgICAgICAgICAgQGV4dGVuZCAlbGlnaHQ7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlcjogcmVtKDEpIHNvbGlkICRncmV5LWxpZ2h0O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtKDcpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oNTYpO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDAgMjQpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcblxuICAgICAgICBAZXh0ZW5kICVsaWdodDtcblxuICAgICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuXG4gICAgfVxuXG4gICAgOjotbW96LXBsYWNlaG9sZGVyIHtcblxuICAgICAgICBAZXh0ZW5kICVsaWdodDtcblxuICAgICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgfVxuXG4gICAgOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG5cbiAgICAgICAgQGV4dGVuZCAlbGlnaHQ7XG5cbiAgICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcblxuICAgIH1cblxufVxuIiwiLy8gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIFBhcnQvTGF5b3V0OiBTZWNvbmRhcnkgTWVudVxuLy8gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ubW9iaWxlLW1lbnUge1xuXG4gICAgQGV4dGVuZCAlbGlnaHQ7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktbGlnaHQ7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmV5O1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtICN7cmVtKDEwMyl9KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmc6IHJlbSgyNCk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogcmVtKDk0KTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIHotaW5kZXg6IDUwO1xuXG4gICAgLmhlYWRlci1maXhlZCAmIHtcblxuICAgICAgICB0b3A6IHJlbSg3OCk7XG5cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICB9XG5cbiAgICAubWVudS1vcGVuICYge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxufVxuXG4uc2Vjb25kYXJ5LW1lbnUge1xuXG4gICAgbWFyZ2luLXRvcDogcmVtKDEyKTtcblxuICAgIHVsIHtcblxuICAgICAgICBAaW5jbHVkZSByZXNldC11bCgpO1xuXG4gICAgfVxuXG4gICAgYSB7XG5cbiAgICAgICAgQGV4dGVuZCAlbGlnaHQ7XG5cbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTYpO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMTYpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgIEBleHRlbmQgJWljb25zO1xuXG4gICAgICAgICAgICBjb250ZW50OiBtYXBfZ2V0KCRpY29ucywgJ2NoZXZyb24tcmlnaHQnKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oOCk7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIGN1cnJlbnQgcGFnZVxuICAgIC5hY3RpdmUge1xuXG4gICAgICAgID4gYSB7XG5cbiAgICAgICAgICAgIEBleHRlbmQgJW1lZGl1bTtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuc3VibWVudSB7XG5cbiAgICAgICAgJi10ZWFzZXIge1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIH1cblxuICAgICAgICAmLW1lbnUge1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIH1cblxuICAgICAgICAuZXhwYW5kZWQge1xuXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAvLyBvcGVuIHN1YmxldmVsIGJ5IEpTXG4gICAgLnN1Ym1lbnUtb3BlbiB7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktbGlnaHQ7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtICN7cmVtKDEwMyl9KTtcbiAgICAgICAgcGFkZGluZzogcmVtKDI0KTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiByZW0oMTAzKTtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuXG4gICAgICAgID4gYSB7XG5cbiAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDI0cHgpOyAvLyBhbGlnbiBzdWJtZW51IHdpdGggbm9ybWFsIG1lbnUuXG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgIEBleHRlbmQgJWljb25zO1xuXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwX2dldCgkaWNvbnMsICdjaGV2cm9uLXJpZ2h0Jyk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSg4KTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWJtZW51LW1lbnUge1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtICN7cmVtKDEwMyl9IC0gI3tyZW0oMTA4KX0pO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cbiIsIi8vICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBQYXJ0L0xheW91dDogVG9wIG5hdmlnYXRpb25cbi8vICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnRvcC1uYXYge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcblxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgIH1cblxuICAgIHVsIHtcblxuICAgICAgICBAaW5jbHVkZSByZXNldC11bCgpO1xuXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgfVxuXG4gICAgYSB7XG5cbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuXG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMzIpO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMTIpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcblxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMjQgMTggMTYgMTgpO1xuXG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG5cbiAgICAgICAgfVxuXG4gICAgICAgICYubG9naW4ge1xuXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuLm1vYmlsZS10b3AtbmF2IHtcblxuICAgIHVsIHtcblxuICAgICAgICBAaW5jbHVkZSByZXNldC11bCgpO1xuXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIH1cblxuICAgIGEge1xuXG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgIH1cblxuICAgIC5zdWJtZW51LW9wZW4gJiB7XG5cbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgIH1cblxufSIsIi5jZS1zZWFyY2gtcmVzdWx0cyB7XG5cblx0aDIge1xuXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtKDI0KTtcblxuICAgIH1cblxuXHQuc2VhcmNoLWl0ZW0ge1xuXG5cdFx0bWFyZ2luOiByZW0oMjQgMCAzMik7XG5cbiAgICAgICAgYSB7XG5cblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmV5LWxpZ2h0O1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRwYWRkaW5nOiByZW0oMzIpO1xuXG5cdFx0fVxuXG5cdFx0Lmxpc3QtdGl0bGUge1xuXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oOCk7XG5cblx0XHR9XG5cblx0XHRwIHtcblxuXHRcdFx0QGV4dGVuZCAlbGlnaHQ7XG5cblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cblx0XHR9XG5cblx0XHQuYnV0dG9uIHtcblxuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0cmlnaHQ6IHJlbSgzMik7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cbiIsIi5ldmVudC1pdGVtIHtcblxuICAgIEBpbmNsdWRlIGRlZmF1bHQtaXRlbSgpO1xuXG4gICAgLnBvc3Qtc3RhcnQtZGF0ZTpiZWZvcmUge1xuXG4gICAgICAgIGNvbnRlbnQ6IG1hcF9nZXQoJGljb25zLCAnY2xvY2snKTtcblxuICAgIH1cblxuICAgIC5wb3N0LWxvY2F0aW9uOmJlZm9yZSB7XG5cbiAgICAgICAgY29udGVudDogbWFwX2dldCgkaWNvbnMsICdtYXJrZXInKTtcblxuICAgIH1cblxufSIsIi5nYW1lLXNlcnZlci1pdGVtIHtcblxuICAgIEBpbmNsdWRlIGRlZmF1bHQtaXRlbSgpO1xuXG4gICAgYSB7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXG4gICAgfVxuXG4gICAgbWFpbiB7XG5cbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIH1cblxufSIsIi5pY29uLWl0ZW0ge1xuXG4gICAgY29sb3I6ICRibGFjaztcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMTYpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNDApO1xuXG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG5cbiAgICAgICAgZmlndXJlIHtcblxuICAgICAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICAgICAgJi5vdmVybGF5IHtcblxuICAgICAgICAgICAgICAgIGZpbHRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuaW5uZXItd3JhcHBlciB7XG5cbiAgICAgICAgaGVpZ2h0OiByZW0oMTYwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgIH1cblxuICAgIGZpZ3VyZSB7XG5cbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuXG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICYub3ZlcmxheSB7XG5cbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuXG4gICAgICAgICAgICBoZWlnaHQ6IDgwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5ibGFjayAmIHtcblxuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgfVxuXG4gICAgaDUsXG4gICAgaDYge1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgzMik7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIH1cblxuICAgIGg1IHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgIEBleHRlbmQgJWljb25zO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuXG4gICAgICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcF9nZXQoJGljb25zLCAnY2hldnJvbi1yaWdodCcpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSg4KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICAgICAgICAgIHRvcDogcmVtKDgpO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG59IiwiLmludHJvLWhlYWRpbmcge1xuXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDE2KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQwKTtcblxuICAgIH1cblxuICAgIC5yb3cge1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIH1cblxuICAgIGgyIHtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTYpO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5idXR0b24ge1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiByZW0oMTYpO1xuICAgICAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIFdoZW4gdGhlIGNvbnRlbnQgZWxlbWVudCBoYXMgYSBibGFjayBiYWNrZ3JvdW5kIHRoZSBjb2xvciBvZiB0aGUgaW50cm8taGVhZGluZyB3aWxsIGJlIHdoaXRlXG4gICAgLmJsYWNrICYge1xuXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICB9XG5cbn0iLCIubmV3cy1pdGVtIHtcblxuICAgIEBpbmNsdWRlIGRlZmF1bHQtaXRlbSgpO1xuXG4gICAgLnBvc3QtZGF0ZTpiZWZvcmUge1xuXG4gICAgICAgIGNvbnRlbnQ6IG1hcF9nZXQoJGljb25zLCAnY2xvY2snKTtcblxuICAgIH1cblxuICAgIC5wb3N0LXRhZzpiZWZvcmUge1xuXG4gICAgICAgIGNvbnRlbnQ6IG1hcF9nZXQoJGljb25zLCAndGFnJyk7XG5cbiAgICB9XG5cbn0iLCIucGFnaW5hdGlvbiB7XG5cbiAgICBtYXJnaW4tdG9wOiByZW0oLTEwKTtcblxuICAgIGEge1xuXG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcblxuICAgIH1cblxuICAgIC5pY29uIHtcblxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCk7XG5cbiAgICAgICAgaGVpZ2h0OiByZW0oMTYpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogcmVtKDMpO1xuICAgICAgICB3aWR0aDogcmVtKDgpO1xuXG4gICAgICAgIHN2ZyB7XG5cbiAgICAgICAgICAgIGZpbGw6ICRibGFjaztcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuYmx1ciB7XG5cbiAgICAgICAgb3BhY2l0eTogMC4xO1xuXG4gICAgICAgIGEge1xuXG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnBhZ2UtcHJldiB7XG5cbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgLmljb24ge1xuXG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuXG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguYmx1cik6aG92ZXIge1xuXG4gICAgICAgICAgICAuaWNvbiB7XG5cbiAgICAgICAgICAgICAgICByaWdodDogcmVtKDUpO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnBhZ2UtbmV4dCB7XG5cbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgICAgIC5pY29uIHtcblxuICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLmJsdXIpOmhvdmVyIHtcblxuICAgICAgICAgICAgLmljb24ge1xuXG4gICAgICAgICAgICAgICAgbGVmdDogcmVtKDUpO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4iLCIucGVvcGxlLWl0ZW0ge1xuXG4gICAgbWFyZ2luLXRvcDogbWFwX2dldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCAnc21hbGwnKTtcblxuICAgIGZpZ3VyZSB7XG5cbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgfVxuXG4gICAgLmlubmVyLXdyYXBwZXIge1xuXG4gICAgICAgIGJvdHRvbTogcmVtKDI0KTtcbiAgICAgICAgbGVmdDogcmVtKDI0KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICAgICAgICAgIGJvdHRvbTogcmVtKDMyKTtcbiAgICAgICAgICAgIGxlZnQ6IHJlbSgzMik7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYW1lLFxuICAgICAgICAuam9iIHtcblxuICAgICAgICAgICAgQGV4dGVuZCAlbWVkaXVtO1xuXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmljb24ge1xuXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oKTtcblxuICAgICAgICBib3R0b206IHJlbSgyNCk7XG4gICAgICAgIGhlaWdodDogcmVtKDQwKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogcmVtKDI0KTtcbiAgICAgICAgd2lkdGg6IHJlbSg0MCk7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICAgICAgYm90dG9tOiByZW0oMzIpO1xuICAgICAgICAgICAgcmlnaHQ6IHJlbSgzMik7XG5cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMjUpO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxufSIsIi5jZS1wb3N0LWhlYWRpbmcge1xuXG5cdHBhZGRpbmctYm90dG9tOiAwO1xuXG5cdGgxIHtcblxuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgxNik7XG5cblx0fVxuXG5cdC5oZWFkaW5nLXBvc3Qge1xuXG5cdFx0bWFyZ2luLXJpZ2h0OiByZW0oMzIpO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSg0KTtcblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblxuXHRcdH1cblxuXHRcdHN2ZyB7XG5cblx0XHRcdGZpbGw6ICRyZWQ7XG5cdFx0XHRoZWlnaHQ6IHJlbSgyNCk7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHJlbSgxNik7XG5cdFx0XHR3aWR0aDogcmVtKDI0KTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWShyZW0oNCkpO1xuXG5cdFx0fVxuXG5cdH1cblxufSIsIi5zZXJ2ZXItaXRlbSB7XG5cbiAgICBtYXJnaW4tYm90dG9tOiByZW0oNDApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNTYpO1xuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICB9XG5cbiAgICAuaW5uZXItd3JhcHBlciB7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiByZW0oMjQgMzIpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICB9XG5cbiAgICBoNCB7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDU2KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDQwKTtcblxuICAgIH1cblxuICAgIC5pbnRybyB7XG5cbiAgICAgICAgcCB7XG5cbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgaHIge1xuXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGdyZXktZGFyaztcbiAgICAgICAgbWFyZ2luOiByZW0oMzIgMCk7XG5cbiAgICB9XG5cbiAgICAuYnV0dG9uLndpdGgtaWNvbi5pY29uLW9ubHkge1xuXG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogcmVtKDMyKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG5cbiAgICB9XG5cbiAgICAudG9vbHRpcC13cmFwcGVyIHtcblxuICAgICAgICBsZWZ0OiByZW0oMjQpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiByZW0oMjQpO1xuICAgICAgICB0b3A6IHJlbSgyNCk7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgLmluZm8tdHJpZ2dlciB7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiByZW0oMTYpO1xuICAgICAgICAgICAgdG9wOiByZW0oMTIpO1xuXG4gICAgICAgICAgICBzdmcge1xuXG4gICAgICAgICAgICAgICAgZmlsbDogJHdoaXRlO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5jbG9zZS10cmlnZ2VyIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuXG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSgxNik7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiByZW0oMjApO1xuICAgICAgICAgICAgdG9wOiByZW0oMjApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTc1cHgpO1xuICAgICAgICAgICAgd2lkdGg6IHJlbSgxNik7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC50b29sdGlwLWluZm8ge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCk7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbSgxMCk7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogcmVtKDQ1MCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDMyIDQ4IDMyIDMyKTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogcmVtKDUyMCk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0oMzEwKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuXG4gICAgICAgICAgICAuaW5mby10cmlnZ2VyIHtcblxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRvb2x0aXAtaW5mbyB7XG5cbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNsb3NlLXRyaWdnZXIge1xuXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxufSIsIi5zZXJ2aWNlLWl0ZW0ge1xuXG4gICAgQGluY2x1ZGUgZGVmYXVsdC1pdGVtKCk7XG5cbiAgICBhIHtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG5cbiAgICAgICAgZmlndXJlIHtcblxuICAgICAgICAgICAgbWluLWhlaWdodDogcmVtKDEwKTtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBtYWluIHtcblxuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgfVxuXG4gICAgLmxlYWQtcGFyYWdyYXBoIHtcblxuICAgICAgICBAZXh0ZW5kICVtZWRpdW07XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDgpO1xuXG4gICAgfVxuXG59IiwiLnN3aXBlci13cmFwcGVyIHtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbn1cblxuLnN3aXBlci1zbGlkZSB7XG5cbiAgICBoZWlnaHQ6IGF1dG87XG5cbn1cblxuLnN3aXBlci1jdGEge1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogcmVtKDI0KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDEwO1xuXG59XG5cbi5zd2lwZXItYnV0dG9uLW5leHQsXG4uc3dpcGVyLWJ1dHRvbi1wcmV2IHtcblxuICAgIEBleHRlbmQgJWxpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHRvcDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcblxuICAgIC5ibGFjayAmIHtcblxuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIH1cblxufVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2IHtcblxuICAgICY6YmVmb3JlIHtcblxuICAgICAgICBAZXh0ZW5kICVpY29ucztcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuXG4gICAgICAgIGNvbnRlbnQ6IG1hcF9nZXQoJGljb25zLCAnY2hldnJvbi1sZWZ0Jyk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMTYpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogcmVtKDIpO1xuXG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgocmVtKC00KSk7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cbi5zd2lwZXItYnV0dG9uLW5leHQge1xuXG4gICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgJjphZnRlciB7XG5cbiAgICAgICAgQGV4dGVuZCAlaWNvbnM7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oKTtcblxuICAgICAgICBjb250ZW50OiBtYXBfZ2V0KCRpY29ucywgJ2NoZXZyb24tcmlnaHQnKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDE2KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IHJlbSgyKTtcblxuICAgIH1cblxuICAgICY6aG92ZXIge1xuXG4gICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgocmVtKDQpKTtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuLnN3aXBlci1wYWdpbmF0aW9uIHtcblxuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgLmJsYWNrICYge1xuXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICB9XG5cbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcblxuICAgICAgICBAZXh0ZW5kICVtZWRpdW07XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oKTtcblxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpbml0aWFsO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogcmVtKDAgNik7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgICYuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG5cbiAgICAgICAgICAgIEBleHRlbmQgJWxpZ2h0O1xuXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjM7XG5cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjM7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cbi5zd2lwZXItYnV0dG9uLWxvY2ssXG4uc3dpcGVyLXBhZ2luYXRpb24tbG9jayB7XG5cbiAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcblxufVxuIiwiLnNvY2lhbC1saXN0IHtcblxuXHRAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXHRAaW5jbHVkZSByZXNldC11bCgpO1xuXG5cdGxpIHtcblxuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdG1hcmdpbi1yaWdodDogcmVtKDE2KTtcblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblxuXHRcdH1cblxuXHRcdGEge1xuXG5cdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKCk7XG5cblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHRcdFx0Jjpob3ZlciB7XG5cblx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHQuaWNvbiB7XG5cblx0XHRcdGhlaWdodDogcmVtKDMyKTtcblx0XHRcdHdpZHRoOiByZW0oMzIpO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG5cdFx0XHRcdGhlaWdodDogcmVtKDQwKTtcblx0XHRcdFx0d2lkdGg6IHJlbSg0MCk7XG5cblx0XHRcdH1cblxuXHRcdFx0aW1nIHtcblxuXHRcdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cblxufSIsIi52YWNhbmN5LWl0ZW0ge1xuXG5cdEBpbmNsdWRlIGRlZmF1bHQtaXRlbSgpO1xuXG5cdC5wb3N0LWRhdGU6YmVmb3JlIHtcblxuXHRcdGNvbnRlbnQ6IG1hcF9nZXQoJGljb25zLCAnY2xvY2snKTtcblxuXHR9XG5cblx0LnBvc3QtbG9jYXRpb246YmVmb3JlIHtcblxuXHRcdGNvbnRlbnQ6IG1hcF9nZXQoJGljb25zLCAnbWFya2VyJyk7XG5cblx0fVxuXG59IiwiLmNlLXRleHRwaWMge1xuXG4gICAgLmdhbGxlcnktdmlldyB7XG5cbiAgICAgICAgZmxleDogMCAwIDk2JTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgIH1cblxuICAgIG1hcmdpbjogcmVtKDMyIDApO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmNlLWFib3ZlLFxuICAgICYuY2UtYmVsb3cge1xuXG4gICAgICAgIC5jb2x1bW4taW1hZ2Uge1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIH1cblxuICAgICAgICAmLmNlLXJpZ2h0IC5jb2x1bW4taW1hZ2Uge1xuXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIH1cblxuICAgICAgICAmLmNlLWxlZnQgLmNvbHVtbi1pbWFnZSB7XG5cbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmLmNlLWNlbnRlciB7XG5cbiAgICAgICAgLmNvbHVtbi1pbWFnZSB7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgLmltYWdlIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICYuY2UtbGVmdCB7XG5cbiAgICAgICAgLmNlLWltYWdlLFxuICAgICAgICAuYmxvY2sge1xuXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbHVtbi1pbWFnZSB7XG5cbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLmJsb2NrIHtcblxuICAgICAgICAgICAgbWFyZ2luOiAgcmVtKDAgMzIgMzIgMCk7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5jZS1yaWdodCB7XG5cbiAgICAgICAgLmNlLWltYWdlLFxuICAgICAgICAuYmxvY2sge1xuXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9jayB7XG5cbiAgICAgICAgICAgIG1hcmdpbjogIHJlbSgwIDAgMzIgMzIpO1xuXG4gICAgICAgIH1cblxuICAgICAgICAuY29sdW1uLWltYWdlIHtcblxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmLmNlLWFib3ZlIC5pbWFnZSxcbiAgICAmLmNlLWJlbG93IC5pbWFnZSB7XG5cbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICB9XG5cbiAgICAmLmNlLWludGV4dCAuYmxvY2sge1xuXG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICAgICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5jZS1ub3dyYXAge1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgfVxuXG4gICAgICAgICYuY2UtcmlnaHQge1xuXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG5cbiAgICAgICAgICAgIC5ibG9jayB7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDMyKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAmLmNlLWxlZnQge1xuXG4gICAgICAgICAgICAuYmxvY2sge1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMzIpO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9jayB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuY2UtaW1hZ2Uge1xuXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLmNvbHVtbi1pbWFnZSB7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmNvbHVtbi1pbWFnZSB7XG5cbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICB9XG5cbn0iLCIuY2Utd29ybGRtYXAge1xuXG5cdGhlaWdodDogcmVtKDc0Mik7XG5cdG1hcmdpbi1ib3R0b206IHJlbSg0MCk7XG5cdHdpZHRoOiAxMDAlO1xuXG59XG5cbi5pbmZvLXdpbmRvdyB7XG5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdCZfX2JvZHkge1xuXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0bWFyZ2luLXJpZ2h0OiByZW0oMjQpO1xuXHRcdHBhZGRpbmc6IHJlbSg0MCk7XG5cdFx0d2lkdGg6IHJlbSgyOTYpO1xuXG5cdFx0aDEge1xuXG5cdFx0XHRAZXh0ZW5kICVtZWRpdW07XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMzIpO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogcmVtKDQwKTtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0cCB7XG5cblx0XHRcdEBleHRlbmQgJXJlZ3VsYXI7XG5cblx0XHRcdGNvbG9yOiAkZ3JleS1tZWRpdW0tZGFyaztcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuXHRcdFx0XHRmb250LXNpemU6IHJlbSgyMCk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMzIpO1xuXG5cdFx0XHR9XG5cblx0XHRcdGEge1xuXG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0XHRjb2xvcjogJGdyZXktbGlnaHQ7XG5cblx0XHRcdH1cblxuXHRcdH1cblxuXHR9XG5cblx0Jl9fbGluayB7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRib3R0b206IHJlbSgxNik7XG5cdFx0aGVpZ2h0OiByZW0oNDgpO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0d2lkdGg6IHJlbSg0OCk7XG5cblx0XHQmOmJlZm9yZSB7XG5cblx0XHRcdEBleHRlbmQgJWljb25zO1xuXG5cdFx0XHRjb250ZW50OiBtYXBfZ2V0KCRpY29ucywgJ2Fycm93LXJpZ2h0Jyk7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRmb250LXNpemU6IHJlbSgxOCk7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDQ4KTtcblxuXHRcdH1cblxuXHR9XG5cblx0Jl9fY2xvc2Uge1xuXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdFx0JjphZnRlciB7XG5cblx0XHRcdEBleHRlbmQgJWljb25zO1xuXG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0Y29udGVudDogbWFwX2dldCgkaWNvbnMsICdwbHVzJyk7XG5cdFx0XHRmb250LXNpemU6IHJlbSgxNik7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRyaWdodDogcmVtKDM3KTtcblx0XHRcdHRvcDogcmVtKDEzKTtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblxuXHRcdH1cblxuXHR9XG5cbn1cblxuLmdtLXN0eWxlIHtcblxuXHQuZ20tc3R5bGUtaXcge1xuXG5cdFx0d2lkdGg6IGF1dG8gIWltcG9ydGFudDtcblxuXHRcdC8vICBSZXNldHMgZmF1bHR5IHdpZHRoXG5cdFx0PiBkaXYge1xuXG5cdFx0XHRtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcblxuXHRcdH1cblxuXHR9XG5cblx0LmdtLXVpLWhvdmVyLWVmZmVjdCB7XG5cblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cblx0fVxufVxuXG4uY2Utd29yZG1hcC1saXN0IHtcblxuXHRtYXJnaW4tYm90dG9tOiByZW0oNjQpO1xuXG5cdHVsIHtcblxuXHRcdEBpbmNsdWRlIHJlc2V0LXVsKCk7XG5cblx0fVxuXG5cdGxpIHtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oOCk7XG5cdFx0bWFyZ2luLXJpZ2h0OiByZW0oMTZweCk7XG5cblx0XHRhIHtcblxuXHRcdFx0QGV4dGVuZCAlbWVkaXVtO1xuXG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRmb250LXNpemU6IHJlbSgxOCk7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDI0KTtcblx0XHRcdHBhZGRpbmc6IHJlbSgxNiAxMik7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRcdHNwYW4ge1xuXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRoZWlnaHQ6IHJlbSgzMik7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0cmlnaHQ6IHJlbSgtMTYpO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdHRvcDogcmVtKDEyKTtcblx0XHRcdFx0d2lkdGg6IHJlbSgzMik7XG5cblx0XHRcdFx0JjphZnRlciB7XG5cblx0XHRcdFx0XHRAZXh0ZW5kICVpY29ucztcblxuXHRcdFx0XHRcdGNvbnRlbnQ6IG1hcF9nZXQoJGljb25zLCAnYXJyb3ctcmlnaHQnKTtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbSgxNCk7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IHJlbSgzMik7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG5cdC5idXR0b24ge1xuXG5cdFx0bWFyZ2luLXRvcDogcmVtKDE2KTtcblxuXHRcdCY6Zm9jdXMge1xuXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQuY29sbGFwc2Uge1xuXG5cdFx0QGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuXG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRvcGFjaXR5OiAwO1xuXG5cdH1cblxufVxuXG4ud29yZG1hcC1saXN0LW9wZW4gLmNlLXdvcmRtYXAtbGlzdCB7XG5cblx0LmNvbGxhcHNlIHtcblxuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG9wYWNpdHk6IDE7XG5cblx0fVxuXG5cdC5idXR0b246YWZ0ZXIge1xuXG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcblxuXHR9XG5cbn0iLCIuY2UtY2FzZS10cmlnZ2VyIHtcblxuICAgIG1haW4ge1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiByZW0oMjQgMCAyMDQpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICAgICAgaGVpZ2h0OiByZW0oNzUwKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg4MCAwKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLnJvdyB7XG5cbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBmaWd1cmUge1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnQtd3JhcHBlciB7XG5cbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbSg1MjQpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgICAgaDIge1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDgpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTYpO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE2KTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMyKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuY2FzZS1pY29uIHtcblxuICAgICAgICAgICAgYm90dG9tOiByZW0oMjQpO1xuICAgICAgICAgICAgbGVmdDogcmVtKDI0KTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbSg2NCk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbSg2NCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0oMTIwKTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbSgxMjApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnN3aXBlci1jb250YWluZXIge1xuXG4gICAgICAgIGJvdHRvbTogcmVtKDI0KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogcmVtKDI0KTtcbiAgICAgICAgd2lkdGg6IDYwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiByZW0oMzkyKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLnN3aXBlci1jdGEge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgICAgICAgICBtYXJnaW46IHJlbSgwIDAgMTYpO1xuXG4gICAgICAgICAgICAqIHtcblxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnN3aXBlci1idXR0b24tcHJldixcbiAgICAgICAgICAgIC5zd2lwZXItYnV0dG9uLW5leHQge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnN3aXBlci1wYWdpbmF0aW9uIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDI1JTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLnN3aXBlci1zbGlkZSB7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIGJvcmRlcjogcmVtKDQpIHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbSgxMCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSgxMjQpO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgxNik7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbSgyNTYpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg0MCk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgZmlndXJlIHtcblxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIH1cblxuICAgICAgICAuaW5uZXItd3JhcHBlciB7XG5cbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICAubGFiZWwge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnOic7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuY2FzZS1pY29uIHtcblxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICAgICAgICAgIGJvdHRvbTogcmVtKDQwKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgbGVmdDogcmVtKDQwKTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0oNTYpO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogcmVtKDIwMCk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG59IiwiLmNlLWNvbnRlbnQtc2xpZGVyIHtcblxuXHQudGFicyB7XG5cblx0XHRAaW5jbHVkZSByZXNldC11bCgpO1xuXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXHRcdHBhZGRpbmc6IHJlbSg1Nik7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDE7XG5cblx0XHQudGFicy10aXRsZSB7XG5cblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSgxMik7XG5cblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdFx0fVxuXG5cdFx0XHRhIHtcblxuXHRcdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKCk7XG5cblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblxuXHRcdFx0XHQmOmJlZm9yZSB7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKCk7XG5cblx0XHRcdFx0XHRjb250ZW50OiAnwrcgJztcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0b3BhY2l0eTogMDtcblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cblx0XHRcdFx0XHRAZXh0ZW5kICVib2xkO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG5cdFx0XHQmLmlzLWFjdGl2ZSB7XG5cblx0XHRcdFx0YSB7XG5cblx0XHRcdFx0XHRAZXh0ZW5kICVib2xkO1xuXG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0oMjgpO1xuXG5cdFx0XHRcdFx0JjpiZWZvcmUge1xuXG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cblxuXHQudGFicy1jb250ZW50LXdyYXBwZXIge1xuXG5cdFx0bWFyZ2luLWxlZnQ6IC04LjM0JTtcblxuXHR9XG5cblx0LnRhYnMtY29udGVudCB7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1saWdodDtcblxuXHRcdC50YWJzLXBhbmVsIHtcblxuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdG1hcmdpbi10b3A6IHJlbSg1MCk7XG5cblx0XHRcdGZpZ3VyZSB7XG5cblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRcdFx0aGVpZ2h0OiByZW0oNDAwKTtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHR9XG5cblx0XHRcdC5idXR0b24ge1xuXG5cdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRyaWdodDogcmVtKDMyKTtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG5cblx0XHRcdH1cblxuXHRcdFx0LmNvbnRlbnQtd3JhcHBlciB7XG5cblx0XHRcdFx0cGFkZGluZzogcmVtKDU2KTtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiBjYWxjKCgjeyRnbG9iYWwtd2lkdGh9IC8gMTIpICsgMzZweCk7IC8vIEZpeCBmb3IgSUUxMVxuXG5cdFx0XHRcdGgzIHtcblxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSgxNik7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdHAge1xuXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdFx0XHR9XG5cblx0XHRcdH1cblxuXHRcdFx0Ji5pcy1hY3RpdmUge1xuXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG5cdC5hY2NvcmRpb24ge1xuXG5cdFx0QGluY2x1ZGUgcmVzZXQtdWwoKTtcblxuXHRcdC5hY2NvcmRpb24tdGl0bGUge1xuXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwYWRkaW5nOiByZW0oMTYgMjQpO1xuXG5cdFx0XHQmOmFmdGVyIHtcblxuXHRcdFx0XHRAZXh0ZW5kICVpY29ucztcblx0XHRcdFx0QGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuXG5cdFx0XHRcdGNvbnRlbnQ6IG1hcF9nZXQoJGljb25zLCAnY2hldnJvbi11cCcpO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiByZW0oOCk7XG5cblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdC5hY2NvcmRpb24tY29udGVudCB7XG5cblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmV5LWxpZ2h0O1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdFx0ZmlndXJlIHtcblxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdH1cblxuXHRcdFx0LmJ1dHRvbiB7XG5cblx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHJpZ2h0OiByZW0oMjQpO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcblxuXHRcdFx0fVxuXG5cdFx0XHQuY29udGVudC13cmFwcGVyIHtcblxuXHRcdFx0XHRwYWRkaW5nOiByZW0oMjQpO1xuXG5cdFx0XHRcdHAge1xuXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdFx0XHR9XG5cblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdC5pcy1hY3RpdmUge1xuXG5cdFx0XHQuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcblxuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cblxufSIsIi5jZS1jdGEge1xuXG4gICAgLmJ1dHRvbiB7XG5cbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDM1KTtcblxuICAgIH1cblxuICAgIGZpZ3VyZSB7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE2KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcblxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgaDMge1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg4KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTYpO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIHAge1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyNCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQwKTtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuY3RhLWNvbnRlbnQge1xuXG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG5cbiAgICB9XG5cbn0iLCIudmMtZm9ybXMge1xuXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC0xODBkZWcsIHJnYmEoIzkxRDdEQywgMC4xKSAwJSwgcmdiYSgkYmxhY2ssIDAuMSkgMTAwJSk7XG4gICAgcGFkZGluZzogcmVtKDMwIDApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICBwYWRkaW5nOiByZW0oNTAgMzApO1xuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXG4gICAgICAgIHBhZGRpbmc6IHJlbSgxMjApO1xuXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIge1xuXG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgyNSk7XG5cbiAgICAgICAgbGkge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmdmb3JtX2Zvb3RlciB7XG5cbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAgICAgICAuYnV0dG9uIHtcblxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBsYWJlbCB7XG5cbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg1KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICB9XG5cbiAgICBpbnB1dCxcbiAgICB0ZXh0YXJlYSB7XG5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtKDMpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDI1KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICB9XG5cbiAgICAudmFsaWRhdGlvbl9lcnJvciB7XG5cbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgIH1cblxuICAgIC5nZm9ybV9ib2R5IHtcblxuICAgICAgICB1bCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc2V0LXVsKCk7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmdmb3JtX2FqYXhfc3Bpbm5lciB7XG5cbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgfVxuXG59XG4iLCIuY2UtZ2FtZS1zZXJ2ZXItbGlzdCB7XG5cbiAgICAuZ2FtZS1zZXJ2ZXItaXRlbTpudGgtY2hpbGQobis3KSB7XG5cbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgIH1cblxuICAgIC5sb2FkLW1vcmUge1xuXG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgyNCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDQwKTtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbn0iLCIuY2UtbG9jYXRpb25zLWdyaWQge1xuXG4gICAgLmxvY2F0aW9uLWl0ZW0ge1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IG1hcF9nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgJ3NtYWxsJyk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgZmlndXJlIHtcblxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSgyNDApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0oMzg0KTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBtYWluIHtcblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgzMik7XG5cbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAlaWNvbnM7XG5cbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcF9nZXQoJGljb25zLCAnbWFya2VyJyk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHJlbSgyKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHAge1xuXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDMyKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29udGFjdC1kZXRhaWxzIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc2V0LXVsKCk7XG5cbiAgICAgICAgICAgICAgICBsaSB7XG5cbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDgpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSg0MCk7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBleHRlbmQgJWljb25zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXktbGlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiByZW0oMik7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYucGhvbmUtbnVtYmVyOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcF9nZXQoJGljb25zLCAncGhvbmUnKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5lbWFpbDpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXBfZ2V0KCRpY29ucywgJ21haWwnKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgYSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbn0iLCIuY2UtbG9nby1saXN0IHtcblxuICAgIC5pbm5lci13cmFwcGVyIHtcblxuICAgICAgICAmLmJsYWNrIHtcblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDMyIDApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtKDU2IDApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG59IiwiLmNlLWxvZ28tdHJpZ2dlciB7XG5cbiAgICAuaW5uZXItd3JhcHBlciB7XG5cbiAgICAgICAgJi5ibGFjayB7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgzMiAwKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg1NiAwKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxufSIsIi5jZS1tYXJrZXQtdHJpZ2dlciB7XG5cbiAgICAuaW5uZXItd3JhcHBlciB7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDU2KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgfVxuXG4gICAgLnRhYnMge1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LXVsKCk7XG5cbiAgICAgICAgbGVmdDogcmVtKDU2KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IHJlbSg1Nik7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgLnRhYnMtdGl0bGUge1xuXG4gICAgICAgICAgICBAZXh0ZW5kIGgzO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMyKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcblxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5pcy1hY3RpdmUsXG4gICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAudGFicy1wYW5lbCB7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktZGFyaztcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiByZW0oNTYwKTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cblx0XHRcdGhlaWdodDogcmVtKDcyMCk7XG5cblx0XHR9XG5cbiAgICAgICAgZmlndXJlIHtcblxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50LXdyYXBwZXIge1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBib3R0b206IHJlbSgtNTYpO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtKDUyNCk7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oNDAgNjQgNDAgNDApO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IHJlbSg1Nik7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgICAgIHAge1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luOiByZW0oMTYgMCAwKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9uIHtcblxuICAgICAgICAgICAgICAgIGJvdHRvbTogcmVtKDI0KTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1hY3RpdmUge1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAvLyBNb2JpbGUgYWx0ZXJuYXRpdmUgZm9yIHRoZSB0YWJzXG4gICAgLm1vYmlsZSB7XG5cbiAgICAgICAgZmlndXJlIHtcblxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMjQpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtKDQwKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc2V0LXVsKCk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcblxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDgpO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBhIHtcblxuICAgICAgICAgICAgQGV4dGVuZCBoMztcblxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICBAZXh0ZW5kICVpY29ucztcblxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcF9nZXQoJGljb25zLCAnYXJyb3ctcmlnaHQnKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSg4KTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxufSIsIi5jZS1tZWRpYS1zbGlkZXIge1xuXG5cdC5zd2lwZXItY29udGFpbmVyIHtcblxuXHRcdHBhZGRpbmctYm90dG9tOiByZW0oNTYpO1xuXG5cdH1cblxuXHQuc3dpcGVyLXNsaWRlIHtcblxuXHRcdC5pbm5lci13cmFwcGVyIHtcblxuXHRcdFx0aGVpZ2h0OiByZW0oMjIwKTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuXHRcdFx0XHRoZWlnaHQ6IHJlbSg0ODApO1xuXG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cblx0XHRcdFx0aGVpZ2h0OiByZW0oNzAwKTtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cblxuXHRmaWd1cmUge1xuXG5cdFx0QGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHR3aWR0aDogMTAwJTtcblxuXHR9XG5cblx0LnJlc3BvbnNpdmUtZW1iZWQge1xuXG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0dmlkZW8ge1xuXG5cdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uO1xuXG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRtaW4taGVpZ2h0OiAxMDAlO1xuXHRcdFx0bWluLXdpZHRoOiAxMDAlO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHR3aWR0aDogYXV0bztcblxuXHRcdH1cblxuXHR9XG5cblx0LnRyaWdnZXIge1xuXG5cdFx0QGluY2x1ZGUgdHJpZ2dlci1idXR0b24oKTtcblxuXHR9XG5cblx0LmlzLXBsYXlpbmcge1xuXG5cdFx0ZmlndXJlIHtcblxuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblxuXHRcdH1cblxuXHRcdHZpZGVvIHtcblxuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cblx0XHR9XG5cblx0XHQucGxheSB7XG5cblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblxuXHRcdFx0LnBhdXNlIHtcblxuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG5cdC5pbnRybyB7XG5cblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRsZWZ0OiAwO1xuXHRcdG1hcmdpbjogcmVtKDggMCAwKTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuXHRcdFx0bWFyZ2luOiByZW0oMjAgMCAwKTtcblxuXHRcdH1cblxuXHRcdHAge1xuXG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0cGFkZGluZy1yaWdodDogcmVtKDU2KTtcblx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiByZW0oMzMwKTtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cblxuXHQuY3RhLXdyYXBwZXIge1xuXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdGJvdHRvbTogcmVtKDIwKTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dG9wOiByZW0oMjIwKTtcblx0XHR3aWR0aDogcmVtKDMzNik7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG5cdFx0XHR0b3A6IHJlbSg0ODApO1xuXG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcblxuXHRcdFx0dG9wOiByZW0oNzAwKTtcblxuXHRcdH1cblxuXHRcdC5zd2lwZXItcGFnaW5hdGlvbiB7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMjApO1xuXHRcdFx0XHRtYXJnaW46IHJlbSgwIDI0KTtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cblxufSIsIi5jZS1zZXJ2ZXItdHJpZ2dlciB7XG5cbiAgICBtYWluIHtcblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMyKTtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbn0iLCIuY2Utc2VydmljZS10cmlnZ2VyIHtcblxuICAgIC5zd2lwZXItd3JhcHBlciB7XG5cbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgfVxuXG4gICAgLnNlcnZpY2UtaXRlbSB7XG5cbiAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgIH1cblxufSIsIi5jZS12YWNhbmN5LWFwcGx5IHtcblxuXHRwIHtcblxuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgyNCk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oNDApO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQuYnV0dG9uIHtcblxuXHRcdG1hcmdpbi10b3A6IHJlbSgxMCk7XG5cblx0fVxuXG59IiwiLmNlLXZpZGVvIHtcblxuICAgIC5pbm5lci13cmFwcGVyIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJi5pcy1wbGF5aW5nIHtcblxuICAgICAgICAgICAgZmlndXJlLFxuICAgICAgICAgICAgLnRyaWdnZXIge1xuXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBmaWd1cmUge1xuXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oKTtcblxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgIH1cblxuICAgIC50cmlnZ2VyIHtcblxuICAgICAgICBAaW5jbHVkZSB0cmlnZ2VyLWJ1dHRvbigpO1xuXG4gICAgfVxuXG4gICAgaWZyYW1lIHtcblxuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgIH1cblxufSJdfQ== */
