@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.2.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

td,
th {
  padding: 0;
}

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

html {
  font-size: 18px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

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

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

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

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

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

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

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: transparent;
  padding: 0;
  border: 0;
  border-radius: 0;
  line-height: 1;
}
[data-whatinput=mouse] button {
  outline: 0;
}

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

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

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

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

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

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

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

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "europa", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-style: normal;
  color: #3a4351;
  text-rendering: optimizeLegibility;
  margin-top: 0;
  margin-bottom: 0.5rem;
  line-height: 1.2;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small {
  color: #71829D;
  line-height: 0;
}

h1 {
  font-size: 2rem;
}

h2 {
  font-size: 1.5555555556rem;
}

h3 {
  font-size: 1.0555555556rem;
}

h4 {
  font-size: 1rem;
}

h5 {
  font-size: 0.9444444444rem;
}

h6 {
  font-size: 0.8888888889rem;
}

@media screen and (min-width: 43.75em) {
  h1 {
    font-size: 2.3333333333rem;
  }
  h2 {
    font-size: 2rem;
  }
  h3 {
    font-size: 1.6666666667rem;
  }
  h4 {
    font-size: 1.3888888889rem;
  }
  h5 {
    font-size: 1.1111111111rem;
  }
  h6 {
    font-size: 0.8888888889rem;
  }
}
a {
  color: #009fe3;
  text-decoration: none;
  line-height: inherit;
  cursor: pointer;
}
a:hover, a:focus {
  color: #0089c3;
}
a img {
  border: 0;
}

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

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

li {
  font-size: inherit;
}

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

ol {
  margin-left: 1.25rem;
}

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

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

blockquote {
  margin: 0 0 1rem;
  padding: 0.5rem 1.1111111111rem 0 1.0555555556rem;
  border-left: none;
}
blockquote, blockquote p {
  line-height: 1.5;
  color: #71829D;
}

cite {
  display: block;
  font-size: 0.7222222222rem;
  color: #3a4351;
}
cite:before {
  content: "— ";
}

abbr {
  color: #3a4351;
  cursor: help;
  border-bottom: 1px dotted #3a4351;
}

code {
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: 400;
  color: #3a4351;
  background-color: #f5f5f5;
  border: 1px solid #ADBACC;
  padding: 0.1111111111rem 0.2777777778rem 0.0555555556rem;
}

kbd {
  padding: 0.1111111111rem 0.2222222222rem 0;
  margin: 0;
  background-color: #f5f5f5;
  color: #3a4351;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
}

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: 400;
  line-height: 1.4;
  color: #71829D;
}

.lead {
  font-size: 22.5px;
  line-height: 1.6;
}

.stat {
  font-size: 2.5rem;
  line-height: 1;
}
p + .stat {
  margin-top: -1rem;
}

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

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

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

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

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

@media screen and (min-width: 43.75em) {
  .medium-text-left {
    text-align: left;
  }
  .medium-text-right {
    text-align: right;
  }
  .medium-text-center {
    text-align: center;
  }
  .medium-text-justify {
    text-align: justify;
  }
}
@media screen and (min-width: 64em) {
  .large-text-left {
    text-align: left;
  }
  .large-text-right {
    text-align: right;
  }
  .large-text-center {
    text-align: center;
  }
  .large-text-justify {
    text-align: justify;
  }
}
.show-for-print {
  display: none !important;
}

@media print {
  * {
    background: transparent !important;
    color: black !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  .show-for-print {
    display: block !important;
  }
  .hide-for-print {
    display: none !important;
  }
  table.show-for-print {
    display: table !important;
  }
  thead.show-for-print {
    display: table-header-group !important;
  }
  tbody.show-for-print {
    display: table-row-group !important;
  }
  tr.show-for-print {
    display: table-row !important;
  }
  td.show-for-print {
    display: table-cell !important;
  }
  th.show-for-print {
    display: table-cell !important;
  }
  a,
a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  .ir a:after,
a[href^="javascript:"]:after,
a[href^="#"]:after {
    content: "";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  pre,
blockquote {
    border: 1px solid #71829D;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
h2,
h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
h3 {
    page-break-after: avoid;
  }
}
[type=text], [type=password], [type=date], [type=datetime], [type=datetime-local], [type=month], [type=week], [type=email], [type=number], [type=search], [type=tel], [type=time], [type=url], [type=color],
textarea {
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  height: 2.2777777778rem;
  padding: 0.4444444444rem;
  border: none;
  margin: 0 0 0.8888888889rem;
  font-family: inherit;
  font-size: 1rem;
  color: #3a4351;
  background-color: #fefefe;
  -webkit-box-shadow: 0 1px 1px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 1px 1px rgba(0, 0, 0, 0.1);
  border-radius: 2px;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -o-transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -webkit-appearance: none;
  -moz-appearance: none;
}
[type=text]:focus, [type=password]:focus, [type=date]:focus, [type=datetime]:focus, [type=datetime-local]:focus, [type=month]:focus, [type=week]:focus, [type=email]:focus, [type=number]:focus, [type=search]:focus, [type=tel]:focus, [type=time]:focus, [type=url]:focus, [type=color]:focus,
textarea:focus {
  border: none;
  background-color: #fefefe;
  outline: none;
  -webkit-box-shadow: inset 0 0 1px 1px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 0 1px 1px rgba(0, 0, 0, 0.1);
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -o-transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}

textarea {
  max-width: 100%;
}
textarea[rows] {
  height: auto;
}

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

input::-moz-placeholder, textarea::-moz-placeholder {
  color: #ADBACC;
}

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

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

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

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

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

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

[type=checkbox] + label,
[type=radio] + label {
  display: inline-block;
  margin-left: 0.4444444444rem;
  margin-right: 0.8888888889rem;
  margin-bottom: 0;
  vertical-align: baseline;
}
[type=checkbox] + label[for],
[type=radio] + label[for] {
  cursor: pointer;
}

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

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

label {
  display: block;
  margin: 0;
  font-size: 0.8888888889rem;
  font-weight: 400;
  line-height: 1.4;
  color: #3a4351;
}
label.middle {
  margin: 0 0 0.8888888889rem;
  padding: 0.4444444444rem 0;
}

.help-text {
  margin-top: -0.4444444444rem;
  font-size: 0.7222222222rem;
  font-style: italic;
  color: #3a4351;
}

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 0.8888888889rem;
}
.input-group > :first-child {
  border-radius: 0 0 0 0;
}
.input-group > :last-child > * {
  border-radius: 0 0 0 0;
}

.input-group-button, .input-group-field, .input-group-label {
  margin: 0;
  white-space: nowrap;
  display: table-cell;
  vertical-align: middle;
}

.input-group-label {
  text-align: center;
  padding: 0 1rem;
  background: #f5f5f5;
  color: #3a4351;
  border: 1px solid #ADBACC;
  white-space: nowrap;
  width: 1%;
  height: 100%;
}
.input-group-label:first-child {
  border-right: 0;
}
.input-group-label:last-child {
  border-left: 0;
}

.input-group-field {
  border-radius: 0;
  height: 2.3333333333rem;
}

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  height: 100%;
  width: 1%;
}
.input-group-button a,
.input-group-button input,
.input-group-button button {
  margin: 0;
}

.input-group .input-group-button {
  display: table-cell;
}

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

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

.fieldset {
  border: 1px solid #ADBACC;
  padding: 1.1111111111rem;
  margin: 1rem 0;
}
.fieldset legend {
  background: #fefefe;
  padding: 0 0.1666666667rem;
  margin: 0;
  margin-left: -0.1666666667rem;
}

select {
  height: 2.2777777778rem;
  padding: 0.4444444444rem;
  border: none;
  margin: 0 0 0.8888888889rem;
  font-size: 1rem;
  font-family: inherit;
  line-height: normal;
  color: #3a4351;
  background-color: #fefefe;
  border-radius: 2px;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28113, 130, 157%29'></polygon></svg>");
  background-size: 9px 6px;
  background-position: right -0.8888888889rem center;
  background-origin: content-box;
  background-repeat: no-repeat;
  padding-right: 1.3333333333rem;
}
@media screen and (min-width: 0\0 ) {
  select {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==");
  }
}
select:disabled {
  background-color: #f5f5f5;
  cursor: not-allowed;
}
select::-ms-expand {
  display: none;
}
select[multiple] {
  height: auto;
  background-image: none;
}

.is-invalid-input:not(:focus) {
  background-color: rgba(236, 88, 64, 0.1);
  border-color: #ec5840;
}

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

.form-error {
  display: none;
  margin-top: -0.4444444444rem;
  margin-bottom: 0.8888888889rem;
  font-size: 0.6666666667rem;
  font-weight: 700;
  color: #ec5840;
}
.form-error.is-visible {
  display: block;
}

.sticky-container {
  position: relative;
}

.sticky {
  position: absolute;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.sticky.is-stuck {
  position: fixed;
  z-index: 5;
}
.sticky.is-stuck.is-at-top {
  top: 0;
}
.sticky.is-stuck.is-at-bottom {
  bottom: 0;
}

.sticky.is-anchored {
  position: absolute;
  left: auto;
  right: auto;
}
.sticky.is-anchored.is-at-bottom {
  bottom: 0;
}

a {
  -webkit-transition: opacity 250ms ease-out, color 250ms ease-out;
  -o-transition: opacity 250ms ease-out, color 250ms ease-out;
  transition: opacity 250ms ease-out, color 250ms ease-out;
}

@media screen and (min-width: 43.75em) {
  body {
    font-size: 1.1666666667rem;
  }
}

blockquote {
  font-size: 1.3333333333rem;
}
@media screen and (min-width: 43.75em) {
  blockquote {
    font-size: 1.6666666667rem;
  }
}
blockquote p {
  line-height: 1.2;
}

h1, h2, h3, h4, h5, h6 {
  width: 100%;
}
h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
  line-height: 1.2;
  font-weight: 400;
}

hr {
  width: 100%;
}

.text-small {
  font-size: 0.7777777778rem;
}

/* Webfont: LatoLatin-Bold */
@font-face {
  font-family: "Lato";
  src: url("../fonts/LatoLatin-Bold.eot"); /* IE9 Compat Modes */
  src: url("../fonts/LatoLatin-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/LatoLatin-Bold.woff2") format("woff2"), url("../fonts/LatoLatin-Bold.woff") format("woff"), url("../fonts/LatoLatin-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  text-rendering: optimizeLegibility;
}
/* Webfont: LatoLatin-Light */
@font-face {
  font-family: "Lato";
  src: url("../fonts/LatoLatin-Light.eot"); /* IE9 Compat Modes */
  src: url("../fonts/LatoLatin-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/LatoLatin-Light.woff2") format("woff2"), url("../fonts/LatoLatin-Light.woff") format("woff"), url("../fonts/LatoLatin-Light.ttf") format("truetype");
  font-style: normal;
  font-weight: 300;
  text-rendering: optimizeLegibility;
}
/* Webfont: LatoLatin-Regular */
@font-face {
  font-family: "Lato";
  src: url("../fonts/LatoLatin-Regular.eot"); /* IE9 Compat Modes */
  src: url("../fonts/LatoLatin-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/LatoLatin-Regular.woff2") format("woff2"), url("../fonts/LatoLatin-Regular.woff") format("woff"), url("../fonts/LatoLatin-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  text-rendering: optimizeLegibility;
}
.icon {
  display: inline-block;
  vertical-align: middle;
  overflow: visible;
  fill: currentColor;
}
.icon svg {
  max-width: 100%;
  height: auto;
}

.icon--absolute {
  position: absolute;
  top: 50%;
  margin-top: -0.1111111111rem;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.site-header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
}
.site-header__row {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-top: 0.7222222222rem;
  padding-bottom: 0.7222222222rem;
}
@media screen and (min-width: 64em) {
  .site-header__row {
    padding-top: 1.2777777778rem;
    padding-bottom: 1.2777777778rem;
  }
  .is-stuck .site-header__row {
    padding-top: 0.7222222222rem;
    padding-bottom: 0.7222222222rem;
  }
}
.site-header .sticky {
  width: 100%;
  -webkit-transition: top 0.25s ease-out, background-color 0.25s ease-out;
  -o-transition: top 0.25s ease-out, background-color 0.25s ease-out;
  transition: top 0.25s ease-out, background-color 0.25s ease-out;
}
.site-header .is-stuck {
  background-color: #015d84;
}

.site-branding,
.main-navigation {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
}
@media screen and (min-width: 43.75em) {
  .site-branding,
.main-navigation {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}

.site-branding {
  -ms-flex-negative: 1;
  flex-shrink: 1;
}

.site-title {
  width: 6.8333333333rem;
  margin: 0;
}
@media screen and (min-width: 43.75em) {
  .site-title {
    width: auto;
  }
}

.main-navigation {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  white-space: nowrap;
  text-align: right;
}

.site-footer {
  position: relative;
  overflow: hidden;
}
.site-footer__row {
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  z-index: 1;
}
.site-footer__info {
  position: relative;
  z-index: 1;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-top: 0.8333333333rem;
  padding-bottom: 0.8333333333rem;
  background-color: #015d84;
}
@media screen and (min-width: 43.75em) {
  .site-footer__info {
    padding-top: 1.6666666667rem;
    padding-bottom: 1.6666666667rem;
  }
}
.site-footer__info-copyright {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0px;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  min-width: initial;
}
@media screen and (min-width: 43.75em) {
  .site-footer__info-copyright {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
.site-footer__info-link {
  color: #fefefe;
  font-size: 0.7777777778rem;
}
.site-footer__info-link:hover {
  color: #fefefe;
  opacity: 0.7;
}
@media screen and (min-width: 43.75em) {
  .site-footer__info-link {
    font-size: 1.1666666667rem;
  }
}
.site-footer__info-social {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0px;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  min-width: initial;
  text-align: right;
}
@media screen and (min-width: 43.75em) {
  .site-footer__info-social {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .site-footer__info-social {
    text-align: center;
  }
}
.site-footer__info-social-link {
  display: inline-block;
  width: 1.6666666667rem;
  height: 1.6666666667rem;
  margin: 0 0.1111111111rem;
  border-radius: 100%;
  color: #009fe3;
}
@media screen and (min-width: 43.75em) {
  .site-footer__info-social-link {
    width: 2.2777777778rem;
    height: 2.2777777778rem;
  }
}
.site-footer__info-social-link:hover {
  color: #fefefe;
}
.site-footer__info-social-icon {
  width: 100%;
  height: 100%;
}
.site-footer__info-nav {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0px;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  min-width: initial;
  display: none;
  text-align: right;
  white-space: normal;
}
@media screen and (min-width: 43.75em) {
  .site-footer__info-nav {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 64em) {
  .site-footer__info-nav {
    display: block;
  }
  .site-footer__info-nav .menu-item {
    margin: 0.5555555556rem 0;
    float: right;
  }
}

.footer-banner + .site-footer__info {
  background-color: rgba(1, 93, 132, 0.8);
}

.button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  -o-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 55.5rem;
  padding: 0.85em 1em;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  border: 1px solid #009fe3;
  color: #009fe3;
  padding: 0.8888888889rem 2.1111111111rem 0.9444444444rem 2.1111111111rem;
  border-width: 2px;
  font-size: 1.1111111111rem;
  font-weight: bold;
}
[data-whatinput=mouse] .button {
  outline: 0;
}
.button, .button:hover, .button:focus {
  background-color: transparent;
}
.button:hover, .button:focus {
  border-color: #005072;
  color: #005072;
}
@media screen and (min-width: 43.75em) {
  .button {
    font-size: 1.3333333333rem;
  }
}
.button:hover {
  background-color: #009fe3;
  color: white;
  border-color: #009fe3;
}

.button--scroll {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  -o-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 55.5rem;
  padding: 0.85em 1em;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  border: 1px solid #fefefe;
  color: #fefefe;
  padding: 0.6666666667rem 1.3333333333rem 0.7222222222rem 1.3333333333rem;
  border-width: 2px;
  font-size: 0.8888888889rem;
  font-weight: bold;
  padding: 0.6666666667rem 2rem 0.7222222222rem 1.3333333333rem;
  position: relative;
  margin: 0 1.1111111111rem 1.1111111111rem 1.1111111111rem;
}
[data-whatinput=mouse] .button--scroll {
  outline: 0;
}
.button--scroll, .button--scroll:hover, .button--scroll:focus {
  background-color: transparent;
}
.button--scroll:hover, .button--scroll:focus {
  border-color: #7f7f7f;
  color: #7f7f7f;
}
@media screen and (min-width: 43.75em) {
  .button--scroll {
    font-size: 1rem;
  }
}
.button--scroll:hover {
  background-color: #fefefe;
  color: #015d84;
  border-color: #fefefe;
}
.button--scroll:before, .button--scroll:after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -0.1111111111rem;
  right: 1.1111111111rem;
  width: 0.6666666667rem;
  height: 0.2222222222rem;
  background-color: #fefefe;
  -webkit-transition: all 0.25s ease-out;
  -o-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
  width: 0.5555555556rem;
  height: 0.2222222222rem;
}
.button--scroll:before {
  -webkit-transform: rotate(45deg) translateY(-0.2222222222rem);
  -ms-transform: rotate(45deg) translateY(-0.2222222222rem);
  transform: rotate(45deg) translateY(-0.2222222222rem);
  -webkit-transform: rotate(45deg) translateY(0);
  -ms-transform: rotate(45deg) translateY(0);
  transform: rotate(45deg) translateY(0);
  top: 1.1666666667rem;
}
.button--scroll:after {
  -webkit-transform: rotate(-45deg) translateY(0.2222222222rem);
  -ms-transform: rotate(-45deg) translateY(0.2222222222rem);
  transform: rotate(-45deg) translateY(0.2222222222rem);
  -webkit-transform: rotate(-45deg) translateY(0);
  -ms-transform: rotate(-45deg) translateY(0);
  transform: rotate(-45deg) translateY(0);
  top: 1.1666666667rem;
  right: 0.8333333333rem;
}
.button--scroll:hover::before, .button--scroll:hover::after {
  background-color: #015d84;
}

.gform_wrapper form {
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}
.gform_wrapper .gform_previous_button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  -o-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 55.5rem;
  padding: 0.85em 1em;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  border: 1px solid #71829D;
  color: #71829D;
  padding: 0.6666666667rem 1.3333333333rem 0.7222222222rem 1.3333333333rem;
  border-width: 2px;
  font-size: 0.8888888889rem;
  font-weight: bold;
}
[data-whatinput=mouse] .gform_wrapper .gform_previous_button {
  outline: 0;
}
.gform_wrapper .gform_previous_button, .gform_wrapper .gform_previous_button:hover, .gform_wrapper .gform_previous_button:focus {
  background-color: transparent;
}
.gform_wrapper .gform_previous_button:hover, .gform_wrapper .gform_previous_button:focus {
  border-color: #374150;
  color: #374150;
}
@media screen and (min-width: 43.75em) {
  .gform_wrapper .gform_previous_button {
    font-size: 1rem;
  }
}
.gform_wrapper .gform_previous_button:hover {
  background-color: #71829D;
  color: white;
  border-color: #71829D;
}
.gform_wrapper .gform_next_button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  -o-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 55.5rem;
  padding: 0.85em 1em;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  border: 1px solid #009fe3;
  color: #009fe3;
  padding: 0.6666666667rem 1.3333333333rem 0.7222222222rem 1.3333333333rem;
  border-width: 2px;
  font-size: 0.8888888889rem;
  font-weight: bold;
  float: right;
}
[data-whatinput=mouse] .gform_wrapper .gform_next_button {
  outline: 0;
}
.gform_wrapper .gform_next_button, .gform_wrapper .gform_next_button:hover, .gform_wrapper .gform_next_button:focus {
  background-color: transparent;
}
.gform_wrapper .gform_next_button:hover, .gform_wrapper .gform_next_button:focus {
  border-color: #005072;
  color: #005072;
}
@media screen and (min-width: 43.75em) {
  .gform_wrapper .gform_next_button {
    font-size: 1rem;
  }
}
.gform_wrapper .gform_next_button:hover {
  background-color: #009fe3;
  color: white;
  border-color: #009fe3;
}

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

.gform_confirmation_message {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  max-width: 100%;
}
@media screen and (min-width: 43.75em) {
  .gform_confirmation_message {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}

.gfield_description {
  margin-top: -0.8333333333rem;
  margin-bottom: 1.3888888889rem;
  font-size: 0.7777777778rem;
}

.gfield_html {
  margin-bottom: 1.3888888889rem;
}

.validation_error {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  max-width: 100%;
  margin-top: 0.2777777778rem;
  margin-bottom: 1.3888888889rem;
  color: #ec5840;
}
@media screen and (min-width: 43.75em) {
  .validation_error {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}

.validation_message {
  margin-top: -0.4444444444rem;
  margin-bottom: 1.3333333333rem;
  color: #ec5840;
  font-size: 0.8888888889rem;
}

.gform_heading {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  max-width: 100%;
}
@media screen and (min-width: 43.75em) {
  .gform_heading {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .gform_heading {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 66.6666666667%;
    flex: 0 0 66.6666666667%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 66.6666666667%;
  }
}
@media screen and (min-width: 43.75em) and (min-width: 43.75em) {
  .gform_heading {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}

.gform_title {
  font-size: 1.6666666667rem;
}
@media screen and (min-width: 43.75em) {
  .gform_title {
    font-size: 2.3333333333rem;
  }
}

.gform_body {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  max-width: 100%;
}
@media screen and (min-width: 43.75em) {
  .gform_body {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .gform_body {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 66.6666666667%;
    flex: 0 0 66.6666666667%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 66.6666666667%;
  }
}
@media screen and (min-width: 43.75em) and (min-width: 43.75em) {
  .gform_body {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}

.gform_footer {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  max-width: 100%;
}
@media screen and (min-width: 43.75em) {
  .gform_footer {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .gform_footer {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 66.6666666667%;
    flex: 0 0 66.6666666667%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 66.6666666667%;
  }
}
@media screen and (min-width: 43.75em) and (min-width: 43.75em) {
  .gform_footer {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}

.gform_fields {
  list-style-type: none;
  margin: 0;
}

.ginput_container {
  margin-bottom: 1.3888888889rem;
}
.ginput_container textarea {
  height: 8.8888888889rem;
}
.gfield_error .ginput_container {
  margin-bottom: 0.8333333333rem;
}
.ginput_container ul {
  list-style: none;
}

.gfield_label {
  margin-bottom: 0.6666666667rem;
  color: #015d84;
  font-weight: 700;
}

.gform_button {
  width: 100%;
  margin-top: 0.2777777778rem;
}

.gform_validation_container {
  display: none;
}

input[type=text],
input[type=number],
input[type=email],
select,
textarea {
  border-bottom: 1px solid #ADBACC;
  margin-bottom: 0;
  padding: 0.7222222222rem 1.1111111111rem;
  height: 2.7777777778rem;
  -webkit-box-shadow: 0 1px 1px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 1px 1px rgba(0, 0, 0, 0.1);
}
input[type=text]:focus,
input[type=number]:focus,
input[type=email]:focus,
select:focus,
textarea:focus {
  border-bottom: 2px solid #009fe3;
  -webkit-box-shadow: inset 0 0 1px 1px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 0 1px 1px rgba(0, 0, 0, 0.1);
}
.gfield_error input[type=text],
.gfield_error input[type=number],
.gfield_error input[type=email],
.gfield_error select,
.gfield_error textarea {
  border-bottom-color: #ec5840;
}

.gfield_checkbox {
  list-style-type: none;
  margin-left: 0;
  margin-bottom: 1.5555555556rem;
}
.gfield_checkbox li {
  min-height: 1.8888888889rem;
  margin-top: 0.6666666667rem;
  margin-bottom: 0.5555555556rem;
}
.gfield_checkbox input[type=checkbox] {
  display: none;
}
.gfield_checkbox input[type=checkbox] + label {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  margin-left: 0;
  padding-left: 2.6666666667rem;
  font-weight: 700;
}
.gfield_checkbox input[type=checkbox] + label:before {
  content: "";
  position: absolute;
  display: inline-block;
  left: 0;
  top: 50%;
  margin-top: -1rem;
  margin-right: 1rem;
  padding-left: 0.1666666667rem;
  padding-top: -0.5555555556rem;
  width: 1.8888888889rem;
  height: 1.8888888889rem;
  border-bottom: 1px solid #ADBACC;
  border-radius: 2px;
  background: white;
  -webkit-box-shadow: 0 1px 1px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 1px 1px rgba(0, 0, 0, 0.1);
}
.gfield_checkbox input[type=checkbox]:checked + label:before {
  content: url("../images/icon_check.svg");
  -webkit-box-shadow: inset 0 1px 1px 1px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 1px 1px rgba(0, 0, 0, 0.1);
}

.gform_ajax_spinner {
  position: fixed !important;
  z-index: 999999;
  left: 50%;
  top: 50%;
  margin-left: -2.7777777778rem;
  margin-top: -2.7777777778rem;
  display: block !important;
  -webkit-box-shadow: 0 0 9999px 9999px rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 9999px 9999px rgba(0, 0, 0, 0.5);
  background: rgba(0, 0, 0, 0.5);
}

body .gform_wrapper img.ui-datepicker-trigger {
  width: 17px !important;
  height: 16px !important;
  display: -moz-inline-stack;
  display: inline-block;
}

.gform_wrapper input.datepicker.datepicker_with_icon {
  margin-right: 4px !important;
  display: -moz-inline-stack;
  display: inline-block;
}

.gform_wrapper input.datepicker_with_icon.small,
.gform_wrapper input.datepicker_with_icon.medium,
.gform_wrapper input.datepicker_with_icon.large {
  width: calc(100% - 24px);
}

.gform_wrapper .gfield_error input.datepicker_with_icon.small,
.gform_wrapper .gfield_error input.datepicker_with_icon.medium,
.gform_wrapper .gfield_error input.datepicker_with_icon.large {
  width: calc(100% - 32px);
}

.site {
  max-width: 100%;
}

.page .entry-content {
  background-color: #f5f5f5;
}
.entry-content__body {
  max-width: 53.3333333333rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  padding-top: 2.7777777778rem;
  padding-bottom: 2.7777777778rem;
}
@media screen and (min-width: 43.75em) {
  .entry-content__body {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.entry-content__body:empty {
  display: none;
}

.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

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

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

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

.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}
.wp-caption img[class*=wp-image-] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

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

.gallery {
  margin-bottom: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
}
.gallery-columns-2 .gallery-item {
  max-width: 50%;
}
.gallery-columns-3 .gallery-item {
  max-width: 33.33%;
}
.gallery-columns-4 .gallery-item {
  max-width: 25%;
}
.gallery-columns-5 .gallery-item {
  max-width: 20%;
}
.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}
.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}
.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}
.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}

.gallery-caption {
  display: block;
}

@media screen and (max-width: 43.6875em) {
  .main-navigation .primary-menu-wrap {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding-top: 3.4444444444rem;
    padding-bottom: 0.6666666667rem;
    background: #015d84;
    text-align: center;
    z-index: -1;
  }
}
@media screen and (min-width: 43.75em) {
  .main-navigation .primary-menu-wrap {
    display: block !important;
  }
}
.main-navigation .menu {
  list-style: none;
  margin: 0;
  padding-left: 0;
}
.main-navigation .menu a {
  display: block;
}
.main-navigation .menu .menu-item:hover > .children,
.main-navigation .menu .menu-item:focus > .children {
  left: auto;
}
.main-navigation .menu-item {
  position: relative;
  line-height: 1;
}
@media screen and (min-width: 43.75em) {
  .main-navigation .menu-item {
    display: inline-block;
  }
  .main-navigation .menu-item:hover .sub-menu {
    display: block;
  }
}
.main-navigation .menu-item:hover > a, .main-navigation .menu-item:focus > a {
  color: #ADBACC;
}
.main-navigation a,
.main-navigation .langswitch-dropdown {
  position: relative;
  display: block;
  padding: 1rem 1.1111111111rem;
  color: white;
  font-size: 1.1666666667rem;
  text-decoration: none;
  text-transform: lowercase;
}
@media screen and (min-width: 43.75em) {
  .main-navigation a,
.main-navigation .langswitch-dropdown {
    padding: 0 1.1111111111rem;
  }
}
.main-navigation .langswitch-dropdown {
  display: inline-block;
  opacity: 0.6;
}
@media screen and (min-width: 43.75em) {
  .main-navigation .langswitch-dropdown {
    display: block;
  }
}
.main-navigation .langswitch-dropdown .icon {
  display: none;
}
@media screen and (min-width: 43.75em) {
  .main-navigation .langswitch-dropdown .icon {
    display: inline-block;
    width: 0.8888888889rem;
    margin-left: 0.3333333333rem;
  }
}
.main-navigation .sub-menu {
  list-style-type: none;
  display: inline-block;
  margin-left: 0;
}
@media screen and (min-width: 43.75em) {
  .main-navigation .sub-menu {
    display: none;
    position: absolute;
    width: 100%;
    left: 0;
    margin-left: 0;
    padding-top: 0.4444444444rem;
    padding-bottom: 0.8333333333rem;
    text-align: left;
  }
  .is-stuck .main-navigation .sub-menu {
    background-color: #015d84;
  }
  .main-navigation .sub-menu .menu-item {
    display: block;
  }
  .main-navigation .sub-menu a {
    padding-top: 0.2222222222rem;
    padding-bottom: 0.2222222222rem;
  }
}
.main-navigation .current_page_item > a,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_ancestor > a,
.main-navigation .current-menu-ancestor > a {
  opacity: 0.7;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled .menu {
  display: block;
}

.menu-toggle {
  margin-right: -0.6666666667rem;
  padding: 0.6111111111rem 0.6666666667rem 0.4444444444rem 0.6666666667rem;
  text-transform: uppercase;
  font-weight: bold;
  color: white;
  font-size: 0.7777777778rem;
}

@media screen and (min-width: 43.75em) {
  .menu-toggle {
    display: none;
  }
  .main-navigation .menu {
    display: block;
    position: relative;
  }
}
.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  overflow: hidden;
  background: #009fe3;
}
.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}
.comment-navigation .nav-links .post-type,
.posts-navigation .nav-links .post-type,
.post-navigation .nav-links .post-type {
  display: none;
}
@media screen and (min-width: 43.75em) {
  .comment-navigation .nav-links .post-type,
.posts-navigation .nav-links .post-type,
.post-navigation .nav-links .post-type {
    display: inline;
    text-transform: lowercase;
  }
}
.comment-navigation .nav-previous,
.comment-navigation .nav-next,
.posts-navigation .nav-previous,
.posts-navigation .nav-next,
.post-navigation .nav-previous,
.post-navigation .nav-next {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0px;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  min-width: initial;
}
@media screen and (min-width: 43.75em) {
  .comment-navigation .nav-previous,
.comment-navigation .nav-next,
.posts-navigation .nav-previous,
.posts-navigation .nav-next,
.post-navigation .nav-previous,
.post-navigation .nav-next {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .comment-navigation .nav-previous,
.comment-navigation .nav-next,
.posts-navigation .nav-previous,
.posts-navigation .nav-next,
.post-navigation .nav-previous,
.post-navigation .nav-next {
    margin-left: 8.3333333333%;
    margin-right: 8.3333333333%;
  }
}
@media screen and (min-width: 43.75em) {
  .comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
    margin-left: 8.3333333333%;
  }
}
.comment-navigation .nav-previous a,
.posts-navigation .nav-previous a,
.post-navigation .nav-previous a {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  -o-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 55.5rem;
  padding: 0.85em 1em;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  border: 1px solid white;
  color: white;
  padding: 0.6666666667rem 1.3333333333rem 0.7222222222rem 1.3333333333rem;
  border-width: 2px;
  font-size: 0.8888888889rem;
  font-weight: bold;
  padding: 0.6666666667rem 1.3333333333rem 0.7222222222rem 2rem;
  position: relative;
  margin: 1.1111111111rem 0;
}
[data-whatinput=mouse] .comment-navigation .nav-previous a,
[data-whatinput=mouse] .posts-navigation .nav-previous a,
[data-whatinput=mouse] .post-navigation .nav-previous a {
  outline: 0;
}
.comment-navigation .nav-previous a, .comment-navigation .nav-previous a:hover, .comment-navigation .nav-previous a:focus,
.posts-navigation .nav-previous a,
.posts-navigation .nav-previous a:hover,
.posts-navigation .nav-previous a:focus,
.post-navigation .nav-previous a,
.post-navigation .nav-previous a:hover,
.post-navigation .nav-previous a:focus {
  background-color: transparent;
}
.comment-navigation .nav-previous a:hover, .comment-navigation .nav-previous a:focus,
.posts-navigation .nav-previous a:hover,
.posts-navigation .nav-previous a:focus,
.post-navigation .nav-previous a:hover,
.post-navigation .nav-previous a:focus {
  border-color: gray;
  color: gray;
}
@media screen and (min-width: 43.75em) {
  .comment-navigation .nav-previous a,
.posts-navigation .nav-previous a,
.post-navigation .nav-previous a {
    font-size: 1rem;
  }
}
.comment-navigation .nav-previous a:hover,
.posts-navigation .nav-previous a:hover,
.post-navigation .nav-previous a:hover {
  background-color: white;
  color: #009fe3;
  border-color: white;
}
.comment-navigation .nav-previous a:before, .comment-navigation .nav-previous a:after,
.posts-navigation .nav-previous a:before,
.posts-navigation .nav-previous a:after,
.post-navigation .nav-previous a:before,
.post-navigation .nav-previous a:after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -0.1111111111rem;
  right: 1.1111111111rem;
  width: 0.6666666667rem;
  height: 0.2222222222rem;
  background-color: white;
  -webkit-transition: all 0.25s ease-out;
  -o-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
  right: auto;
  left: 1.1111111111rem;
}
.comment-navigation .nav-previous a:before,
.posts-navigation .nav-previous a:before,
.post-navigation .nav-previous a:before {
  -webkit-transform: rotate(45deg) translateY(-0.2222222222rem);
  -ms-transform: rotate(45deg) translateY(-0.2222222222rem);
  transform: rotate(45deg) translateY(-0.2222222222rem);
  -webkit-transform: rotate(-45deg) translateY(-0.2222222222rem);
  -ms-transform: rotate(-45deg) translateY(-0.2222222222rem);
  transform: rotate(-45deg) translateY(-0.2222222222rem);
}
.comment-navigation .nav-previous a:after,
.posts-navigation .nav-previous a:after,
.post-navigation .nav-previous a:after {
  -webkit-transform: rotate(-45deg) translateY(0.2222222222rem);
  -ms-transform: rotate(-45deg) translateY(0.2222222222rem);
  transform: rotate(-45deg) translateY(0.2222222222rem);
  -webkit-transform: rotate(45deg) translateY(0.2222222222rem);
  -ms-transform: rotate(45deg) translateY(0.2222222222rem);
  transform: rotate(45deg) translateY(0.2222222222rem);
}
.comment-navigation .nav-previous a:hover::before, .comment-navigation .nav-previous a:hover::after,
.posts-navigation .nav-previous a:hover::before,
.posts-navigation .nav-previous a:hover::after,
.post-navigation .nav-previous a:hover::before,
.post-navigation .nav-previous a:hover::after {
  background-color: #009fe3;
  left: 0.8888888889rem;
}
@media screen and (min-width: 43.75em) {
  .comment-navigation .nav-previous a,
.posts-navigation .nav-previous a,
.post-navigation .nav-previous a {
    margin: 2.2222222222rem 0;
  }
}
.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  text-align: right;
}
.comment-navigation .nav-next a,
.posts-navigation .nav-next a,
.post-navigation .nav-next a {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  -o-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 55.5rem;
  padding: 0.85em 1em;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  border: 1px solid white;
  color: white;
  padding: 0.6666666667rem 1.3333333333rem 0.7222222222rem 1.3333333333rem;
  border-width: 2px;
  font-size: 0.8888888889rem;
  font-weight: bold;
  padding: 0.6666666667rem 2rem 0.7222222222rem 1.3333333333rem;
  position: relative;
  margin: 1.1111111111rem 0;
}
[data-whatinput=mouse] .comment-navigation .nav-next a,
[data-whatinput=mouse] .posts-navigation .nav-next a,
[data-whatinput=mouse] .post-navigation .nav-next a {
  outline: 0;
}
.comment-navigation .nav-next a, .comment-navigation .nav-next a:hover, .comment-navigation .nav-next a:focus,
.posts-navigation .nav-next a,
.posts-navigation .nav-next a:hover,
.posts-navigation .nav-next a:focus,
.post-navigation .nav-next a,
.post-navigation .nav-next a:hover,
.post-navigation .nav-next a:focus {
  background-color: transparent;
}
.comment-navigation .nav-next a:hover, .comment-navigation .nav-next a:focus,
.posts-navigation .nav-next a:hover,
.posts-navigation .nav-next a:focus,
.post-navigation .nav-next a:hover,
.post-navigation .nav-next a:focus {
  border-color: gray;
  color: gray;
}
@media screen and (min-width: 43.75em) {
  .comment-navigation .nav-next a,
.posts-navigation .nav-next a,
.post-navigation .nav-next a {
    font-size: 1rem;
  }
}
.comment-navigation .nav-next a:hover,
.posts-navigation .nav-next a:hover,
.post-navigation .nav-next a:hover {
  background-color: white;
  color: #009fe3;
  border-color: white;
}
.comment-navigation .nav-next a:before, .comment-navigation .nav-next a:after,
.posts-navigation .nav-next a:before,
.posts-navigation .nav-next a:after,
.post-navigation .nav-next a:before,
.post-navigation .nav-next a:after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -0.1111111111rem;
  right: 1.1111111111rem;
  width: 0.6666666667rem;
  height: 0.2222222222rem;
  background-color: white;
  -webkit-transition: all 0.25s ease-out;
  -o-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
}
.comment-navigation .nav-next a:before,
.posts-navigation .nav-next a:before,
.post-navigation .nav-next a:before {
  -webkit-transform: rotate(45deg) translateY(-0.2222222222rem);
  -ms-transform: rotate(45deg) translateY(-0.2222222222rem);
  transform: rotate(45deg) translateY(-0.2222222222rem);
}
.comment-navigation .nav-next a:after,
.posts-navigation .nav-next a:after,
.post-navigation .nav-next a:after {
  -webkit-transform: rotate(-45deg) translateY(0.2222222222rem);
  -ms-transform: rotate(-45deg) translateY(0.2222222222rem);
  transform: rotate(-45deg) translateY(0.2222222222rem);
}
.comment-navigation .nav-next a:hover::before, .comment-navigation .nav-next a:hover::after,
.posts-navigation .nav-next a:hover::before,
.posts-navigation .nav-next a:hover::after,
.post-navigation .nav-next a:hover::before,
.post-navigation .nav-next a:hover::after {
  background-color: #009fe3;
  right: 0.8888888889rem;
}
@media screen and (min-width: 43.75em) {
  .comment-navigation .nav-next a,
.posts-navigation .nav-next a,
.post-navigation .nav-next a {
    margin: 2.2222222222rem 0;
  }
}

.banner {
  position: relative;
  overflow: hidden;
  background: #01384f;
  color: #fefefe;
  text-align: center;
}
.banner--tiny {
  padding-top: 4.4444444444rem;
}
@media screen and (min-width: 43.75em) {
  .banner--tiny {
    padding-top: 6.1111111111rem;
  }
}
.banner--tiny.has-not-banner-scroll-down {
  padding-bottom: 2.2222222222rem;
}
@media screen and (min-width: 43.75em) {
  .banner--tiny.has-not-banner-scroll-down {
    padding-top: 6.1111111111rem;
  }
}
.banner--small {
  padding-top: 7.5555555556rem;
}
@media screen and (min-width: 43.75em) {
  .banner--small {
    padding-top: 8.8888888889rem;
  }
}
.banner--small.has-not-banner-scroll-down {
  padding-bottom: 3.8888888889rem;
}
@media screen and (min-width: 43.75em) {
  .banner--small.has-not-banner-scroll-down {
    padding-top: 10rem;
  }
}
.banner--large {
  padding-top: 7.5555555556rem;
}
@media screen and (min-width: 43.75em) {
  .banner--large {
    padding-top: 11.1111111111rem;
  }
}
@media screen and (min-width: 64em) {
  .banner--large {
    padding-top: 13.8888888889rem;
  }
}
.banner--community {
  padding-top: 3.3333333333rem;
}
@media screen and (min-width: 43.75em) {
  .banner--community {
    padding-top: 5rem;
  }
}
.banner--community .banner__title {
  font-size: 2.2222222222rem;
}
@media screen and (min-width: 43.75em) {
  .banner--community .banner__title {
    font-size: 2.6666666667rem;
  }
}
.banner__row {
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0px;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  min-width: initial;
  -ms-flex-line-pack: start;
  align-content: flex-start;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 43.75em) {
  .banner__row {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 64em) {
  .banner--small .banner__row {
    min-height: 13.8888888889rem;
  }
  .banner--large .banner__row {
    min-height: 22.7777777778rem;
  }
}
.banner__title, .banner__content {
  width: 100%;
}
.banner__title {
  margin-bottom: 2rem;
  font-size: 1.6666666667rem;
  color: white;
  line-height: 1;
}
@media screen and (min-width: 43.75em) {
  .banner__title {
    font-size: 2.6666666667rem;
  }
}
@media screen and (min-width: 64em) {
  .banner__title {
    font-size: 3.3333333333rem;
  }
}
.banner--tiny .banner__title {
  margin-bottom: 1rem;
}
@media screen and (min-width: 43.75em) {
  .banner--tiny .banner__title {
    font-size: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .banner--tiny .banner__title {
    font-size: 2.6666666667rem;
  }
}
.banner__content {
  margin: 0 auto;
  padding: 0 0.8333333333rem;
}
.banner--tiny .banner__content {
  padding: 0;
}
@media screen and (min-width: 64em) {
  .banner__content {
    padding: 0;
  }
}
.banner__content p {
  margin-bottom: 2rem;
}
.banner--tiny .banner__content p {
  margin-bottom: 1em;
}
.banner__bg-img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  z-index: 0;
  height: auto;
  width: auto;
  min-width: 100%;
  min-height: 100%;
  max-width: none;
}
.banner .button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  -o-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 55.5rem;
  padding: 0.85em 1em;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  border: 1px solid #fff;
  color: #fff;
  padding: 0.8888888889rem 2.1111111111rem 0.9444444444rem 2.1111111111rem;
  border-width: 2px;
  font-size: 1.1111111111rem;
  font-weight: bold;
  font-size: 1.3333333333rem;
  padding: 0.4444444444rem 1.3333333333rem 0.5555555556rem 1.3333333333rem;
}
[data-whatinput=mouse] .banner .button {
  outline: 0;
}
.banner .button, .banner .button:hover, .banner .button:focus {
  background-color: transparent;
}
.banner .button:hover, .banner .button:focus {
  border-color: gray;
  color: gray;
}
@media screen and (min-width: 43.75em) {
  .banner .button {
    font-size: 1.3333333333rem;
  }
}
.banner .button:hover {
  background-color: #fff;
  color: #015d84;
  border-color: #fff;
}
@media screen and (min-width: 43.75em) {
  .banner .button {
    font-size: 1.6666666667rem;
    padding: 0.5555555556rem 1.6666666667rem 0.6666666667rem 1.6666666667rem;
  }
}
.banner-scroll-down {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  padding: 0 1.1111111111rem;
  color: #fefefe;
  font-weight: bold;
  font-size: 1.5555555556rem;
  text-align: center;
}
@media screen and (min-width: 64em) {
  .banner-scroll-down {
    font-size: 1.6666666667rem;
  }
}
.banner--tiny .banner-scroll-down {
  font-size: 1.3333333333rem;
}
@media screen and (min-width: 64em) {
  .banner--tiny .banner-scroll-down {
    font-size: 1.4444444444rem;
  }
}
.banner-scroll-down__title {
  display: block;
  color: #fefefe;
}
.banner-scroll-down .icon {
  position: relative;
  top: 0;
  display: block;
  margin: 0.8888888889rem auto 1.9444444444rem auto;
  fill: #fefefe;
  -webkit-transition: all 0.25s ease-out;
  -o-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
}
.banner--tiny .banner-scroll-down .icon {
  width: 1.3333333333rem;
  margin: 0.2222222222rem auto 1.5555555556rem auto;
  vertical-align: top;
}
@media screen and (min-width: 64em) {
  .banner--tiny .banner-scroll-down .icon {
    margin-top: 0.3333333333rem;
  }
}
.banner-scroll-down:hover .icon {
  fill: #009fe3;
  top: 0.3333333333rem;
}

.collaboration-step {
  padding-top: 2.7777777778rem;
  padding-bottom: 2.7777777778rem;
  color: #399dcc;
  background-color: currentColor;
}
@media screen and (min-width: 43.75em) {
  .collaboration-step {
    padding-top: 4.4444444444rem;
    padding-bottom: 5rem;
  }
}
.collaboration-step:nth-child(2) {
  color: #45BED8;
}
.collaboration-step:nth-child(3) {
  color: #44b1ad;
}
.collaboration-step:nth-child(4) {
  color: #d49972;
}
.collaboration-step:nth-child(5) {
  color: #c1828e;
}
.collaboration-step__row {
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}
.collaboration-step__icon {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  max-width: 100%;
  margin-bottom: 0.5555555556rem;
  text-align: center;
}
@media screen and (min-width: 43.75em) {
  .collaboration-step__icon {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .collaboration-step__icon {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 25%;
    margin-bottom: 0;
    text-align: right;
  }
}
@media screen and (min-width: 43.75em) and (min-width: 43.75em) {
  .collaboration-step__icon {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
.collaboration-step__icon-img {
  max-width: 6.6666666667rem;
}
@media screen and (min-width: 43.75em) {
  .collaboration-step__icon-img {
    max-width: 10rem;
  }
}
.collaboration-step__body {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  color: #fefefe;
}
@media screen and (min-width: 43.75em) {
  .collaboration-step__body {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }
}
.collaboration-step__title {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  max-width: 100%;
  font-size: 1.6666666667rem;
  margin-bottom: 0.5555555556rem;
  color: #fefefe;
  text-align: center;
}
@media screen and (min-width: 43.75em) {
  .collaboration-step__title {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .collaboration-step__title {
    font-size: 2.3333333333rem;
  }
}
@media screen and (min-width: 43.75em) {
  .collaboration-step__title {
    text-align: left;
  }
}
.collaboration-step__content {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  max-width: 100%;
  margin-top: 0.5555555556rem;
}
@media screen and (min-width: 43.75em) {
  .collaboration-step__content {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .collaboration-step__content {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 55%;
    flex: 0 0 55%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 55%;
  }
}
@media screen and (min-width: 43.75em) and (min-width: 43.75em) {
  .collaboration-step__content {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .collaboration-step__content--full {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 100%;
  }
}
@media screen and (min-width: 43.75em) and (min-width: 43.75em) {
  .collaboration-step__content--full {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 64em) {
  .collaboration-step__content--full {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 75%;
  }
}
@media screen and (min-width: 64em) and (min-width: 43.75em) {
  .collaboration-step__content--full {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
.collaboration-step__duration {
  font-weight: 700;
}
.collaboration-step__details {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  max-width: 100%;
}
@media screen and (min-width: 43.75em) {
  .collaboration-step__details {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .collaboration-step__details {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 45%;
    flex: 0 0 45%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 45%;
  }
}
@media screen and (min-width: 43.75em) and (min-width: 43.75em) {
  .collaboration-step__details {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
.collaboration-step__details-list {
  margin: 0;
  padding-top: 1.1111111111rem;
  padding-bottom: 0.5555555556rem;
  padding-left: 2.2222222222rem;
  border-top: 2px solid currentColor;
  font-size: 1rem;
  line-height: 1.3333333333rem;
}
@media screen and (min-width: 43.75em) {
  .collaboration-step__details-list {
    padding-top: 0.5555555556rem;
    border-top: none;
    border-left: 2px solid currentColor;
  }
}
.collaboration-step__details-list-item:not(:last-child) {
  padding-bottom: 0.5rem;
}

.columns {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
@media screen and (min-width: 43.75em) {
  .columns {
    padding-top: 3.3333333333rem;
    padding-bottom: 3.3333333333rem;
  }
}
.columns__row {
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.columns__title {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  max-width: 100%;
  font-size: 2.2222222222rem;
  margin-top: 1.6666666667rem;
  margin-bottom: 1.1111111111rem;
  text-align: center;
}
@media screen and (min-width: 43.75em) {
  .columns__title {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .columns__title {
    font-size: 2.6666666667rem;
  }
}

.column {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  max-width: 100%;
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  position: relative;
  -ms-flex-line-pack: justify;
  align-content: space-between;
  padding-top: 1.6666666667rem;
  padding-bottom: 1.6666666667rem;
  text-align: center;
}
@media screen and (min-width: 43.75em) {
  .column {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .column {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    padding-left: 1.6666666667rem;
    padding-right: 1.6666666667rem;
    max-width: 50%;
  }
}
@media screen and (min-width: 64em) {
  .column {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.3333333333%;
    flex: 0 0 33.3333333333%;
    padding-left: 1.6666666667rem;
    padding-right: 1.6666666667rem;
    max-width: 33.3333333333%;
  }
}
.column__body {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
}
.column__icon-img {
  max-width: 6.6666666667rem;
}
.column__icon {
  margin-bottom: 1.6666666667rem;
}
.column__title {
  margin-bottom: 1rem;
}
.column__content {
  color: #3a4351;
}
.column__button-wrap {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
}
.column__button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  -o-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 55.5rem;
  padding: 0.85em 1em;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  border: 1px solid #009fe3;
  color: #009fe3;
  padding: 0.8888888889rem 2.1111111111rem 0.9444444444rem 2.1111111111rem;
  border-width: 2px;
  font-size: 1.1111111111rem;
  font-weight: bold;
  padding: 0.8888888889rem 3.3333333333rem 0.9444444444rem 2.1111111111rem;
  position: relative;
  margin-top: 1.3888888889rem;
  margin-bottom: 0;
}
[data-whatinput=mouse] .column__button {
  outline: 0;
}
.column__button, .column__button:hover, .column__button:focus {
  background-color: transparent;
}
.column__button:hover, .column__button:focus {
  border-color: #005072;
  color: #005072;
}
@media screen and (min-width: 43.75em) {
  .column__button {
    font-size: 1.3333333333rem;
  }
}
.column__button:hover {
  background-color: #009fe3;
  color: #fefefe;
  border-color: #009fe3;
}
.column__button:before, .column__button:after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -0.1388888889rem;
  right: 2rem;
  width: 0.7777777778rem;
  height: 0.2777777778rem;
  background-color: #009fe3;
  -webkit-transition: all 0.25s ease-out;
  -o-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
}
.column__button:before {
  -webkit-transform: rotate(45deg) translateY(-0.2777777778rem);
  -ms-transform: rotate(45deg) translateY(-0.2777777778rem);
  transform: rotate(45deg) translateY(-0.2777777778rem);
}
.column__button:after {
  -webkit-transform: rotate(-45deg) translateY(0.2777777778rem);
  -ms-transform: rotate(-45deg) translateY(0.2777777778rem);
  transform: rotate(-45deg) translateY(0.2777777778rem);
}
.column__button:hover::before, .column__button:hover::after {
  background-color: #fefefe;
  right: 1.7222222222rem;
}
@media screen and (min-width: 43.75em) {
  .column__button {
    margin-top: 2.2222222222rem;
  }
}

.contact-details {
  padding-top: 2.7777777778rem;
  padding-bottom: 1.6666666667rem;
}
@media screen and (min-width: 43.75em) {
  .contact-details {
    padding-top: 5rem;
    padding-bottom: 2.7777777778rem;
  }
}
.contact-details__row {
  max-width: 63.3333333333rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}
.contact-details__person {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  margin-bottom: 2.2222222222rem;
}
@media screen and (min-width: 43.75em) {
  .contact-details__person {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 58.3333333333%;
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
}
.contact-details__person-avatar {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  margin-top: 1.6666666667rem;
}
@media screen and (min-width: 43.75em) {
  .contact-details__person-avatar {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
.contact-details__person-icon {
  margin-top: -0.1111111111rem;
  margin-right: 0.2777777778rem;
  fill: #015d84;
}
.contact-details__person-name {
  margin-bottom: 0.0555555556rem;
  font-weight: 700;
  font-size: 1.3333333333rem;
}
.contact-details__person-info {
  display: block;
  margin-bottom: 0.2222222222rem;
}
.contact-details__content {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  margin-top: 1.6666666667rem;
}
@media screen and (min-width: 43.75em) {
  .contact-details__content {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .contact-details__content {
    margin-top: 3.3333333333rem;
  }
}
.contact-details__title {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  max-width: 100%;
  margin-bottom: 0;
}
@media screen and (min-width: 43.75em) {
  .contact-details__title {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
.contact-details__address {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -ms-flex-line-pack: start;
  align-content: flex-start;
}
@media screen and (min-width: 43.75em) {
  .contact-details__address {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 41.6666666667%;
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
}

.contact-invoicing {
  padding-top: 2.7777777778rem;
  padding-bottom: 2.7777777778rem;
}
@media screen and (min-width: 43.75em) {
  .contact-invoicing {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.contact-invoicing__row {
  max-width: 63.3333333333rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}
.contact-invoicing__title {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  max-width: 100%;
  margin-bottom: 2.2222222222rem;
  text-align: center;
}
@media screen and (min-width: 43.75em) {
  .contact-invoicing__title {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
.contact-invoicing__subtitle {
  display: block;
}
.contact-invoicing__items {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  max-width: 100%;
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  margin-bottom: 0.5555555556rem;
}
@media screen and (min-width: 43.75em) {
  .contact-invoicing__items {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
.contact-invoicing__item {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  margin-bottom: 1.1111111111rem;
  border-left: 2px solid #ADBACC;
}
@media screen and (min-width: 43.75em) {
  .contact-invoicing__item {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .contact-invoicing__item {
    margin-bottom: 1.6666666667rem;
    padding-top: 0.2777777778rem;
    padding-bottom: 0.2777777778rem;
  }
}
@media screen and (min-width: 64em) {
  .contact-invoicing__item--small {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 20%;
  }
}
@media screen and (min-width: 64em) and (min-width: 43.75em) {
  .contact-invoicing__item--small {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 64em) {
  .contact-invoicing__item--medium {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 30%;
    flex: 0 0 30%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 30%;
  }
}
@media screen and (min-width: 64em) and (min-width: 43.75em) {
  .contact-invoicing__item--medium {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 64em) {
  .contact-invoicing__item--large {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 40%;
    flex: 0 0 40%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 40%;
  }
}
@media screen and (min-width: 64em) and (min-width: 43.75em) {
  .contact-invoicing__item--large {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
.contact-invoicing__item-title {
  margin-bottom: 0;
  font-weight: 700;
}
.contact-invoicing__item-value {
  margin-bottom: 0;
}
.contact-invoicing__company-info {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  max-width: 100%;
  margin-bottom: 0;
  font-size: 1rem;
}
@media screen and (min-width: 43.75em) {
  .contact-invoicing__company-info {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}

.contact-map {
  position: relative;
}
.contact-map__canvas {
  clear: both;
  height: 22.2222222222rem;
  margin-top: 0.7222222222rem;
  width: 100%;
  /* fixes potential theme css conflict */
}
.contact-map__canvas .gmnoprint img {
  max-width: none;
}
.contact-map__canvas img {
  max-width: inherit !important;
}

.contact-minimap__canvas {
  position: absolute !important;
  bottom: 0;
  right: 0;
  width: 20%;
  height: 40%;
  border-top: 2px solid white;
  border-left: 2px solid white;
}

.js-map [src^="https://0.gravatar.com"],
.js-map [src^="https://1.gravatar.com"],
.js-map [src^="https://2.gravatar.com"],
.js-map [src^="https://3.gravatar.com"],
.js-map [src^="https://4.gravatar.com"] {
  border-radius: 100%;
}

#mainMapMarkerLayer img,
#miniMapMarkerLayer img {
  border-radius: 100%;
  border: 2px solid white !important;
  background: #ADBACC;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}

.featured-clients__header {
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-direction: column;
  flex-direction: column;
}
.featured-clients__title {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0px;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  min-width: initial;
  margin-bottom: 1.3333333333rem;
  text-align: center;
  font-weight: 400;
}
@media screen and (min-width: 43.75em) {
  .featured-clients__title {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 64em) {
  .featured-clients__title {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 83.3333333333%;
    flex: 0 0 83.3333333333%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 83.3333333333%;
    -ms-flex-item-align: center;
    align-self: center;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    width: 100%;
    margin-bottom: 2.6666666667rem;
  }
}
@media screen and (min-width: 64em) and (min-width: 43.75em) {
  .featured-clients__title {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
.featured-clients__list {
  margin: 0;
  padding-bottom: 2.6666666667rem;
  list-style-type: none;
  text-align: center;
  border-bottom: 1px solid #ADBACC;
  max-width: 63.3333333333rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
}
.featured-clients__list > .featured-client {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 33.3333333333%;
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}
@media screen and (min-width: 43.75em) {
  .featured-clients__list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .featured-clients__list > .featured-client {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
}
@media screen and (min-width: 64em) {
  .featured-clients__list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .featured-clients__list > .featured-client {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
  }
}
@media screen and (min-width: 75em) {
  .featured-clients__list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .featured-clients__list > .featured-client {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 16.6666666667%;
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
}

.featured-client {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0px;
  padding-left: 0.4166666667rem;
  padding-right: 0.4166666667rem;
  min-width: initial;
  margin: 0.5555555556rem 0;
}
.featured-client__img {
  width: 100%;
  max-width: 13.3333333333rem;
}

.featured-projects {
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-bottom: 1.1111111111rem;
  padding-top: 1.3333333333rem;
}
@media screen and (min-width: 43.75em) {
  .featured-projects {
    padding-top: 1.7777777778rem;
  }
}
@media screen and (min-width: 64em) {
  .featured-projects {
    padding-top: 3.5555555556rem;
  }
}
.featured-projects__header {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0px;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  min-width: initial;
}
@media screen and (min-width: 43.75em) {
  .featured-projects__header {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
.featured-projects__title {
  text-align: center;
  font-weight: 400;
}
.featured-projects__subtitle {
  display: block;
}

.featured-project {
  width: 100%;
}
.featured-project__link {
  color: #015d84;
}
.featured-project .more-button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  -o-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 55.5rem;
  padding: 0.85em 1em;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  border: 1px solid #009fe3;
  color: #009fe3;
  padding: 0.6666666667rem 1.3333333333rem 0.7222222222rem 1.3333333333rem;
  border-width: 2px;
  font-size: 0.8888888889rem;
  font-weight: bold;
  padding: 0.6666666667rem 2rem 0.7222222222rem 1.3333333333rem;
  position: relative;
  margin-top: 0.5555555556rem;
}
[data-whatinput=mouse] .featured-project .more-button {
  outline: 0;
}
.featured-project .more-button, .featured-project .more-button:hover, .featured-project .more-button:focus {
  background-color: transparent;
}
.featured-project .more-button:hover, .featured-project .more-button:focus {
  border-color: #005072;
  color: #005072;
}
@media screen and (min-width: 43.75em) {
  .featured-project .more-button {
    font-size: 1rem;
  }
}
.featured-project .more-button:hover {
  background-color: #009fe3;
  color: white;
  border-color: #009fe3;
}
.featured-project .more-button:before, .featured-project .more-button:after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -0.1111111111rem;
  right: 1.1111111111rem;
  width: 0.6666666667rem;
  height: 0.2222222222rem;
  background-color: #009fe3;
  -webkit-transition: all 0.25s ease-out;
  -o-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
}
.featured-project .more-button:before {
  -webkit-transform: rotate(45deg) translateY(-0.2222222222rem);
  -ms-transform: rotate(45deg) translateY(-0.2222222222rem);
  transform: rotate(45deg) translateY(-0.2222222222rem);
}
.featured-project .more-button:after {
  -webkit-transform: rotate(-45deg) translateY(0.2222222222rem);
  -ms-transform: rotate(-45deg) translateY(0.2222222222rem);
  transform: rotate(-45deg) translateY(0.2222222222rem);
}
.featured-project .more-button:hover::before, .featured-project .more-button:hover::after {
  background-color: white;
  right: 0.8888888889rem;
}
@media screen and (max-width: 43.6875em) {
  .featured-project {
    text-align: center;
  }
  .featured-project .text-image__content {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
  .featured-project .text-image__image {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    margin-bottom: 1rem;
  }
}

.footer-banner__row {
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  position: relative;
  z-index: 1;
}
.footer-banner__button-wrap {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0px;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  min-width: initial;
  text-align: center;
}
@media screen and (min-width: 43.75em) {
  .footer-banner__button-wrap {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
.footer-banner__button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  -o-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 55.5rem;
  padding: 0.85em 1em;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  border: 1px solid #fefefe;
  color: #fefefe;
  padding: 0.8888888889rem 2.1111111111rem 0.9444444444rem 2.1111111111rem;
  border-width: 2px;
  font-size: 1.1111111111rem;
  font-weight: bold;
  position: relative;
  margin-top: 5.5555555556rem;
  margin-bottom: 2.7777777778rem;
  padding-right: 4.7222222222rem;
  font-size: 1.2222222222rem;
}
[data-whatinput=mouse] .footer-banner__button {
  outline: 0;
}
.footer-banner__button, .footer-banner__button:hover, .footer-banner__button:focus {
  background-color: transparent;
}
.footer-banner__button:hover, .footer-banner__button:focus {
  border-color: #7f7f7f;
  color: #7f7f7f;
}
@media screen and (min-width: 43.75em) {
  .footer-banner__button {
    font-size: 1.3333333333rem;
  }
}
.footer-banner__button:hover {
  background-color: #fefefe;
  color: #015d84;
  border-color: #fefefe;
}
@media screen and (min-width: 43.75em) {
  .footer-banner__button {
    margin-top: 11.1111111111rem;
    margin-bottom: 6.6666666667rem;
    padding-top: 1.2777777778rem;
    padding-right: 5.2777777778rem;
    padding-bottom: 1.2222222222rem;
    font-size: 1.6666666667rem;
  }
}
.footer-banner__button-icon {
  right: 1.3888888889rem;
}
.footer-banner__bg-img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  z-index: 0;
  height: auto;
  width: auto;
  min-width: 100%;
  min-height: 100%;
  max-width: none;
}

.interesting-numbers {
  padding-bottom: 5rem;
  background: #f5f5f5;
}
.interesting-numbers__header, .interesting-numbers__content {
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.interesting-numbers__title {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0px;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  min-width: initial;
  padding-top: 5rem;
  border-top: 1px solid #ADBACC;
  text-align: center;
}
@media screen and (min-width: 43.75em) {
  .interesting-numbers__title {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 64em) {
  .interesting-numbers__title {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 83.3333333333%;
    flex: 0 0 83.3333333333%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 83.3333333333%;
  }
}
@media screen and (min-width: 64em) and (min-width: 43.75em) {
  .interesting-numbers__title {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
.interesting-numbers__content {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0px;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  min-width: initial;
  margin-top: 3.3333333333rem;
}
@media screen and (min-width: 43.75em) {
  .interesting-numbers__content {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .interesting-numbers__content {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 83.3333333333%;
    flex: 0 0 83.3333333333%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 83.3333333333%;
  }
}
@media screen and (min-width: 43.75em) and (min-width: 43.75em) {
  .interesting-numbers__content {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 64em) {
  .interesting-numbers__content {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 66.6666666667%;
    flex: 0 0 66.6666666667%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 66.6666666667%;
  }
}
@media screen and (min-width: 64em) and (min-width: 43.75em) {
  .interesting-numbers__content {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 75em) {
  .interesting-numbers__content {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 50%;
  }
}
@media screen and (min-width: 75em) and (min-width: 43.75em) {
  .interesting-numbers__content {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
.interesting-numbers__list {
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.interesting-numbers__list > .interesting-numbers__list-item {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
}
@media screen and (min-width: 43.75em) {
  .interesting-numbers__list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .interesting-numbers__list > .interesting-numbers__list-item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}
.interesting-numbers__list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #fefefe;
}
.interesting-numbers__term {
  margin-bottom: 0;
  padding: 1.1111111111rem 1.1111111111rem 0.5555555556rem 1.1111111111rem;
}
@media screen and (min-width: 43.75em) {
  .interesting-numbers__term {
    margin-bottom: 10px;
    padding: 1.1111111111rem;
  }
}
.interesting-numbers__value {
  position: relative;
  margin-bottom: 10px;
  padding: 0.8888888889rem 1.6666666667rem;
  color: #fefefe;
  background: #009fe3;
  font-size: 1.3333333333rem;
}
@media screen and (min-width: 43.75em) {
  .interesting-numbers__value {
    padding: 0.8888888889rem 2.2222222222rem;
  }
}
.interesting-numbers__value:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 10px solid #fefefe;
  background: transparent;
}

.maintenance {
  overflow-x: hidden;
}
.maintenance-plans {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  margin: 0 auto;
  list-style-type: none;
}
.maintenance-plan {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  position: relative;
  z-index: 1;
  padding-top: 3.3333333333rem;
  padding-bottom: 3.3333333333rem;
  color: white;
  text-align: center;
}
@media screen and (min-width: 43.75em) and (max-width: 63.9375em) {
  .maintenance-plan {
    text-align: left;
  }
}
.maintenance-plan:nth-of-type(1) {
  background-color: #44b1ad;
}
.maintenance-plan:nth-of-type(1):before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 100%;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  border-right: 9999px solid #44b1ad;
  z-index: -1;
}
.maintenance-plan:nth-of-type(1) .amount {
  color: rgba(68, 177, 173, 0.9);
}
.maintenance-plan:nth-of-type(2) {
  background-color: #45BED8;
}
.maintenance-plan:nth-of-type(2) .amount {
  color: rgba(69, 190, 216, 0.9);
}
.maintenance-plan:nth-of-type(3) {
  background-color: #399dcc;
}
.maintenance-plan:nth-of-type(3):after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  border-right: 9999px solid #399dcc;
  z-index: -1;
}
.maintenance-plan:nth-of-type(3) .amount {
  color: rgba(57, 157, 204, 0.9);
}
@media screen and (min-width: 64em) {
  .maintenance-plan {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.33333%;
    flex: 0 0 33.33333%;
  }
}
.maintenance-plan > * {
  max-width: 22.2222222222rem;
  margin-left: auto;
  margin-right: auto;
}
.maintenance-plan__title {
  color: white;
  font-size: 1.7777777778rem;
  margin-bottom: 0;
}
.maintenance-plan__body {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media screen and (min-width: 43.75em) {
  .maintenance-plan__body {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) and (max-width: 63.9375em) {
  .maintenance-plan__body {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 66.66666%;
    flex: 0 0 66.66666%;
  }
}
.maintenance-plan__price {
  max-width: 80%;
  margin: 0 auto 1.1111111111rem auto;
  font-size: 0.7777777778rem;
  text-align: center;
}
.maintenance-plan__price--medium {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 33.3333333333%;
  flex: 0 0 33.3333333333%;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  max-width: 33.3333333333%;
}
@media screen and (min-width: 43.75em) {
  .maintenance-plan__price--medium {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (max-width: 43.6875em), screen and (min-width: 64em) {
  .maintenance-plan__price--medium {
    display: none !important;
  }
}
@media screen and (min-width: 43.75em) and (max-width: 63.9375em) {
  .maintenance-plan__price--large {
    display: none !important;
  }
}
.maintenance-plan__price .amount {
  display: block;
  position: relative;
  margin: 0.5555555556rem auto 1.1111111111rem auto;
  font-size: 4rem;
  line-height: 1;
  font-weight: 700;
  background: white;
  border-radius: 100%;
  width: 8.3333333333rem;
  height: 8.3333333333rem;
  line-height: 8.2222222222rem;
  text-shadow: 1px 2px 2px white, 0 0 0 #000, 1px 2px 2px white;
}
.maintenance-plan__price .currency {
  position: absolute;
  top: 45%;
  right: 0%;
  margin-left: 0.2222222222rem;
  margin-right: -1.3333333333rem;
  font-size: 2.2222222222rem;
  display: inline-block;
  background: white;
  border-radius: 100%;
  width: 2.6666666667rem;
  height: 2.6666666667rem;
  line-height: 2.6666666667rem;
}
.maintenance-plan__price .description {
  display: block;
  max-width: 18.8888888889rem;
}
.maintenance-plan .tax {
  font-size: 0.7222222222rem;
}
.maintenance-plan__description {
  margin: 0.5rem 0 1.1666666667rem 0;
  font-weight: 400;
  font-size: 1.1666666667rem;
  color: white;
}
.maintenance-plan__features {
  list-style-type: none;
  margin-left: 0;
  margin-bottom: 2rem;
  font-size: 1rem;
}
.maintenance-plan__feature a {
  color: white;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.4);
  cursor: help;
}
.maintenance-plan__button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  -o-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 55.5rem;
  padding: 0.85em 1em;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  border: 1px solid #fefefe;
  color: #fefefe;
  padding: 0.6666666667rem 1.3333333333rem 0.7222222222rem 1.3333333333rem;
  border-width: 2px;
  font-size: 0.8888888889rem;
  font-weight: bold;
  padding: 0.6666666667rem 2rem 0.7222222222rem 1.3333333333rem;
  position: relative;
  -ms-flex-item-align: end;
  align-self: flex-end;
  margin: auto auto 0 auto;
}
[data-whatinput=mouse] .maintenance-plan__button {
  outline: 0;
}
.maintenance-plan__button, .maintenance-plan__button:hover, .maintenance-plan__button:focus {
  background-color: transparent;
}
.maintenance-plan__button:hover, .maintenance-plan__button:focus {
  border-color: #7f7f7f;
  color: #7f7f7f;
}
@media screen and (min-width: 43.75em) {
  .maintenance-plan__button {
    font-size: 1rem;
  }
}
.maintenance-plan__button:hover {
  background-color: #fefefe;
  color: #015d84;
  border-color: #fefefe;
}
.maintenance-plan__button:before, .maintenance-plan__button:after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -0.1111111111rem;
  right: 1.1111111111rem;
  width: 0.6666666667rem;
  height: 0.2222222222rem;
  background-color: #fefefe;
  -webkit-transition: all 0.25s ease-out;
  -o-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
}
.maintenance-plan__button:before {
  -webkit-transform: rotate(45deg) translateY(-0.2222222222rem);
  -ms-transform: rotate(45deg) translateY(-0.2222222222rem);
  transform: rotate(45deg) translateY(-0.2222222222rem);
}
.maintenance-plan__button:after {
  -webkit-transform: rotate(-45deg) translateY(0.2222222222rem);
  -ms-transform: rotate(-45deg) translateY(0.2222222222rem);
  transform: rotate(-45deg) translateY(0.2222222222rem);
}
.maintenance-plan__button:hover::before, .maintenance-plan__button:hover::after {
  background-color: #015d84;
  right: 0.8888888889rem;
}
@media screen and (min-width: 43.75em) and (max-width: 63.9375em) {
  .maintenance-plan__button {
    margin-left: 0;
  }
}
.maintenance-faq {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  padding: 5rem 0;
}
.maintenance-faq__nav {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 33.3333333333%;
  flex: 0 0 33.3333333333%;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  max-width: 33.3333333333%;
}
@media screen and (min-width: 43.75em) {
  .maintenance-faq__nav {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
.maintenance-faq__nav .sticky-container {
  position: relative;
}
.maintenance-faq__nav .sticky {
  position: absolute;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.maintenance-faq__nav .sticky.is-stuck {
  position: fixed;
  z-index: 5;
}
.maintenance-faq__nav .sticky.is-stuck.is-at-top {
  top: 0;
}
.maintenance-faq__nav .sticky.is-stuck.is-at-bottom {
  bottom: 0;
}
.maintenance-faq__nav .sticky.is-anchored {
  position: absolute;
  left: auto;
  right: auto;
}
.maintenance-faq__nav .sticky.is-anchored.is-at-bottom {
  bottom: 0;
}
@media screen and (max-width: 43.6875em) {
  .maintenance-faq__nav {
    display: none !important;
  }
}
.maintenance-faq__nav .sticky,
.maintenance-faq__nav .sticky.is-anchored {
  right: 0;
}
.maintenance-faq__menu {
  width: 100%;
  margin-left: 0;
  list-style-type: none;
  border-right: 2px solid #ADBACC;
  text-align: right;
}
.maintenance-faq__menu-link {
  display: block;
  padding: 0.2222222222rem 0.6666666667rem;
  color: #71829D;
  font-size: 1rem;
}
.maintenance-faq__content {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0px;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  min-width: initial;
  max-width: 38.8888888889rem;
}
@media screen and (min-width: 43.75em) {
  .maintenance-faq__content {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .maintenance-faq__content {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 66.66666%;
    flex: 0 0 66.66666%;
  }
}
.maintenance-faq__item {
  margin-bottom: 1.6666666667rem;
  padding-bottom: 1.6666666667rem;
  border-bottom: 1px solid #ADBACC;
}
.maintenance-faq__title {
  margin-bottom: 1rem;
  font-size: 1.7777777778rem;
  color: #3a4351;
}

.support-ticket {
  padding: 2.2222222222rem 0;
  background: #c1828e;
  color: white;
  text-align: center;
}
@media screen and (min-width: 43.75em) {
  .support-ticket {
    text-align: left;
  }
}
.support-ticket__row {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}
.support-ticket__body {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0px;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  min-width: initial;
  -ms-flex-item-align: center;
  align-self: center;
  padding-left: 1.6666666667rem;
}
@media screen and (min-width: 43.75em) {
  .support-ticket__body {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .support-ticket__body {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 66.66666%;
    flex: 0 0 66.66666%;
  }
}
.support-ticket__price {
  font-size: 0.7777777778rem;
  text-align: center;
}
.support-ticket__price--desktop {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 33.3333333333%;
  flex: 0 0 33.3333333333%;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  max-width: 33.3333333333%;
}
@media screen and (max-width: 43.6875em) {
  .support-ticket__price--desktop {
    display: none !important;
  }
}
@media screen and (min-width: 43.75em) {
  .support-ticket__price--desktop {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .support-ticket__price--mobile {
    display: none !important;
  }
}
.support-ticket__price .amount {
  position: relative;
  display: block;
  width: 8.3333333333rem;
  height: 8.3333333333rem;
  margin: 0.5555555556rem auto 1.1111111111rem auto;
  background: white;
  border-radius: 100%;
  color: rgba(193, 130, 142, 0.9);
  font-size: 3.5555555556rem;
  line-height: 1;
  font-weight: 700;
  line-height: 8.2222222222rem;
  text-shadow: 1px 2px 2px white, 0 0 0 #000, 1px 2px 2px white;
}
@media screen and (min-width: 43.75em) {
  .support-ticket__price .amount {
    margin-right: 2.6666666667rem;
  }
}
.support-ticket__price .currency {
  position: absolute;
  top: 45%;
  right: 0%;
  display: inline-block;
  width: 2.6666666667rem;
  height: 2.6666666667rem;
  margin-left: 0.2222222222rem;
  margin-right: -1.4444444444rem;
  background: white;
  border-radius: 100%;
  font-size: 2.2222222222rem;
  line-height: 2.6666666667rem;
}
.support-ticket__price .description {
  display: block;
  width: 8.3333333333rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 43.75em) {
  .support-ticket__price .description {
    margin-right: 2.6666666667rem;
  }
}
.support-ticket__title {
  color: white;
  font-size: 1.7777777778rem;
}
.support-ticket__description {
  margin: 0.5rem auto 1.1666666667rem auto;
  font-weight: 400;
  font-size: 1.1666666667rem;
  color: white;
}
.support-ticket__button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  -o-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 55.5rem;
  padding: 0.85em 1em;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  border: 1px solid #fefefe;
  color: #fefefe;
  padding: 0.6666666667rem 1.3333333333rem 0.7222222222rem 1.3333333333rem;
  border-width: 2px;
  font-size: 0.8888888889rem;
  font-weight: bold;
  padding: 0.6666666667rem 2rem 0.7222222222rem 1.3333333333rem;
  position: relative;
}
[data-whatinput=mouse] .support-ticket__button {
  outline: 0;
}
.support-ticket__button, .support-ticket__button:hover, .support-ticket__button:focus {
  background-color: transparent;
}
.support-ticket__button:hover, .support-ticket__button:focus {
  border-color: #7f7f7f;
  color: #7f7f7f;
}
@media screen and (min-width: 43.75em) {
  .support-ticket__button {
    font-size: 1rem;
  }
}
.support-ticket__button:hover {
  background-color: #fefefe;
  color: #015d84;
  border-color: #fefefe;
}
.support-ticket__button:before, .support-ticket__button:after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -0.1111111111rem;
  right: 1.1111111111rem;
  width: 0.6666666667rem;
  height: 0.2222222222rem;
  background-color: #fefefe;
  -webkit-transition: all 0.25s ease-out;
  -o-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
}
.support-ticket__button:before {
  -webkit-transform: rotate(45deg) translateY(-0.2222222222rem);
  -ms-transform: rotate(45deg) translateY(-0.2222222222rem);
  transform: rotate(45deg) translateY(-0.2222222222rem);
}
.support-ticket__button:after {
  -webkit-transform: rotate(-45deg) translateY(0.2222222222rem);
  -ms-transform: rotate(-45deg) translateY(0.2222222222rem);
  transform: rotate(-45deg) translateY(0.2222222222rem);
}
.support-ticket__button:hover::before, .support-ticket__button:hover::after {
  background-color: #015d84;
  right: 0.8888888889rem;
}
.support-ticket__features {
  list-style-type: none;
  margin-left: 0;
  margin-bottom: 1.3333333333rem;
  font-size: 1rem;
}
.support-ticket__feature a {
  color: white;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.4);
  cursor: help;
}
.support-ticket__feature .or {
  font-size: 0.7777777778rem;
}

.project-phases {
  background-color: #f5f5f5;
  padding-top: 3.3333333333rem;
}
.project-phases__header {
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.project-phases__title {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0px;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  min-width: initial;
  margin-top: 1.6666666667rem;
  margin-bottom: 1.1111111111rem;
  text-align: center;
}
@media screen and (min-width: 43.75em) {
  .project-phases__title {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 64em) {
  .project-phases__title {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 83.3333333333%;
    flex: 0 0 83.3333333333%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 83.3333333333%;
  }
}
@media screen and (min-width: 64em) and (min-width: 43.75em) {
  .project-phases__title {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
.project-phases__items {
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}
.project-phases__list {
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0px;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  min-width: initial;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 3.8888888889rem;
  list-style-type: none;
}
@media screen and (min-width: 43.75em) {
  .project-phases__list {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
.project-phases__list > .project-phase {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
}
@media screen and (max-width: 43.6875em) {
  .project-phases__list {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 91.6666666667%;
    flex: 0 0 91.6666666667%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 91.6666666667%;
  }
}
@media screen and (max-width: 43.6875em) and (min-width: 43.75em) {
  .project-phases__list {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .project-phases__list {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 83.3333333333%;
    flex: 0 0 83.3333333333%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 83.3333333333%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 43.75em) and (min-width: 43.75em) {
  .project-phases__list {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .project-phases__list > .project-phase {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media screen and (min-width: 64em) {
  .project-phases__list {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 66.6666666667%;
    flex: 0 0 66.6666666667%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 66.6666666667%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 64em) and (min-width: 43.75em) {
  .project-phases__list {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 64em) {
  .project-phases__list > .project-phase {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.3333333333%;
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
}

.project-phase {
  position: relative;
  padding-left: 2.5555555556rem;
  padding-top: 0.7777777778rem;
  padding-bottom: 0.7777777778rem;
}
.project-phase .icon {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  fill: #009fe3;
}

.reference {
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}
.reference__column {
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0px;
  min-width: initial;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  padding-top: 3.3333333333rem;
  padding-bottom: 3.3333333333rem;
  border-top: 1px solid #ADBACC;
}
@media screen and (min-width: 43.75em) {
  .reference__column {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media screen and (min-width: 64em) {
  .reference__column {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 83.3333333333%;
    flex: 0 0 83.3333333333%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 83.3333333333%;
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
@media screen and (min-width: 64em) and (min-width: 43.75em) {
  .reference__column {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
.reference__content {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  padding-left: 1.1111111111rem;
  padding-right: 1.1111111111rem;
  max-width: 100%;
  position: relative;
  padding-top: 0;
  border: none;
}
@media screen and (min-width: 43.75em) {
  .reference__content {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 83.3333333333%;
    flex: 0 0 83.3333333333%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 83.3333333333%;
  }
}
@media screen and (min-width: 75em) {
  .reference__content {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 66.6666666667%;
    flex: 0 0 66.6666666667%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 66.6666666667%;
  }
}
@media screen and (min-width: 43.75em) {
  .reference__content:before {
    content: url("../images/icon_quotes.svg");
    position: absolute;
    left: -2rem;
    bottom: 3rem;
    width: 5.3333333333rem;
    opacity: 0.05;
  }
}
@media screen and (min-width: 64em) {
  .reference__content:before {
    left: -6rem;
    opacity: 0.07;
  }
}
.reference__content:after {
  content: url("../images/icon_quotes.svg");
  position: absolute;
  right: 2rem;
  top: -2rem;
  width: 5.3333333333rem;
  opacity: 0.05;
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
@media screen and (min-width: 43.75em) {
  .reference__content:after {
    right: -2rem;
  }
}
@media screen and (min-width: 64em) {
  .reference__content:after {
    right: -6rem;
    opacity: 0.07;
  }
}
.reference__author {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 2.2222222222rem;
}
.reference__avatar {
  width: 2.7777777778rem;
  margin-right: 0.7777777778rem;
}
@media screen and (min-width: 43.75em) {
  .reference__avatar {
    width: 3.8888888889rem;
    margin-right: 1.1111111111rem;
  }
}
.reference__author-name {
  font-size: 1.1111111111rem;
  font-weight: 700;
  font-style: normal;
  color: #3a4351;
  line-height: 1.1;
}
.reference__author-name:before {
  content: "";
}
@media screen and (min-width: 43.75em) {
  .reference__author-name {
    font-size: 1.5555555556rem;
  }
}
.reference__author-name__part:first-of-type {
  display: block;
}

.references {
  padding-top: 2.6666666667rem;
}
@media screen and (min-width: 43.75em) {
  .references {
    padding-top: 3.5555555556rem;
  }
}
@media screen and (min-width: 64em) {
  .references {
    padding-top: 5.3333333333rem;
  }
}
.references__header {
  text-align: center;
}

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

.service {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative;
  padding-top: 2.2222222222rem;
  padding-bottom: 2.2222222222rem;
  color: #399dcc;
  background-color: currentColor;
  text-align: center;
}
@media screen and (min-width: 43.75em) {
  .service {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    padding-top: 3.0555555556rem;
    padding-bottom: 3.0555555556rem;
  }
  .service::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -9999px;
    right: 0;
    border: 0 solid currentColor;
    -webkit-box-shadow: 9999px 0 0 currentColor;
    box-shadow: 9999px 0 0 currentColor;
    z-index: -1;
  }
}
@media screen and (min-width: 90em) {
  .service {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
  }
}
.service:first-child .service__title {
  font-size: 1.6666666667rem;
}
@media screen and (min-width: 43.75em) {
  .service:first-child .service__title {
    font-size: 2.3333333333rem;
  }
}
.service:first-child .service__button--inside {
  display: inline-block;
}
.service:first-child .service__button--outside {
  display: none;
}
@media screen and (min-width: 43.75em) {
  .service:first-child {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    padding-top: 4.4444444444rem;
    padding-bottom: 4.4444444444rem;
    text-align: left;
  }
  .service:first-child::before {
    border-left-width: 9999px;
  }
  .service:first-child .service__icon {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.3333333333%;
    flex: 0 0 33.3333333333%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 33.3333333333%;
    text-align: right;
  }
}
@media screen and (min-width: 43.75em) and (min-width: 43.75em) {
  .service:first-child .service__icon {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .service:first-child .service__icon-img {
    max-width: 10rem;
  }
}
@media screen and (min-width: 43.75em) {
  .service:first-child .service__body {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 66.6666666667%;
    flex: 0 0 66.6666666667%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 66.6666666667%;
    max-width: 44.4444444444rem;
  }
}
@media screen and (min-width: 43.75em) and (min-width: 43.75em) {
  .service:first-child .service__body {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .service:first-child .service__button {
    margin-left: 0;
  }
}
.service:nth-child(2n)::before {
  border-left-width: 9999px;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.service:nth-child(2) {
  color: #45BED8;
}
.service:nth-child(3) {
  color: #44b1ad;
}
.service:nth-child(4) {
  color: #d49972;
}
.service:nth-child(5) {
  color: #c1828e;
}
.service__body {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0px;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  min-width: initial;
  color: #fefefe;
}
@media screen and (min-width: 43.75em) {
  .service__body {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
.service:not(:first-child) .service__body {
  max-width: 25rem;
  margin: 0 auto;
}
.service__icon-img {
  max-width: 5rem;
  height: auto;
}
@media screen and (min-width: 43.75em) {
  .service__icon-img {
    max-width: 6.6666666667rem;
  }
}
.service__icon {
  margin-bottom: 1.6666666667rem;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
.service__title {
  margin-bottom: 1rem;
  line-height: 2.6666666667rem;
  color: white;
}
.service__content {
  line-height: 1.6666666667rem;
  margin-bottom: 1.3888888889rem;
}
.service__button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  -o-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 55.5rem;
  padding: 0.85em 1em;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  border: 1px solid #fefefe;
  color: #fefefe;
  padding: 0.8888888889rem 2.1111111111rem 0.9444444444rem 2.1111111111rem;
  border-width: 2px;
  font-size: 1.1111111111rem;
  font-weight: bold;
  padding: 0.8888888889rem 3.3333333333rem 0.9444444444rem 2.1111111111rem;
  position: relative;
  -ms-flex-item-align: end;
  align-self: flex-end;
  margin: auto auto 0 auto;
}
[data-whatinput=mouse] .service__button {
  outline: 0;
}
.service__button, .service__button:hover, .service__button:focus {
  background-color: transparent;
}
.service__button:hover, .service__button:focus {
  border-color: #7f7f7f;
  color: #7f7f7f;
}
@media screen and (min-width: 43.75em) {
  .service__button {
    font-size: 1.3333333333rem;
  }
}
.service__button:hover {
  background-color: #fefefe;
  color: #015d84;
  border-color: #fefefe;
}
.service__button:before, .service__button:after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -0.1388888889rem;
  right: 2rem;
  width: 0.7777777778rem;
  height: 0.2777777778rem;
  background-color: #fefefe;
  -webkit-transition: all 0.25s ease-out;
  -o-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
}
.service__button:before {
  -webkit-transform: rotate(45deg) translateY(-0.2777777778rem);
  -ms-transform: rotate(45deg) translateY(-0.2777777778rem);
  transform: rotate(45deg) translateY(-0.2777777778rem);
}
.service__button:after {
  -webkit-transform: rotate(-45deg) translateY(0.2777777778rem);
  -ms-transform: rotate(-45deg) translateY(0.2777777778rem);
  transform: rotate(-45deg) translateY(0.2777777778rem);
}
.service__button:hover::before, .service__button:hover::after {
  background-color: #015d84;
  right: 1.7222222222rem;
}
.service__button--inside {
  display: none;
}

.team {
  padding-top: 2.5rem;
  padding-bottom: 1.6666666667rem;
}
@media screen and (min-width: 43.75em) {
  .team {
    padding-top: 4.1666666667rem;
    padding-bottom: 2.5rem;
  }
}
.team__row {
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.team__row > .colleague {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
}
@media screen and (min-width: 26.6666666667em) {
  .team__row {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .team__row > .colleague {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.3333333333%;
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
}
@media screen and (min-width: 43.75em) {
  .team__row {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .team__row > .colleague {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
}
@media screen and (min-width: 64em) {
  .team__row {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .team__row > .colleague {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
  }
}
.team__title {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  max-width: 100%;
  font-size: 1.6666666667rem;
  margin: 0.8333333333rem 0;
  text-align: center;
}
@media screen and (min-width: 43.75em) {
  .team__title {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .team__title {
    font-size: 2.3333333333rem;
  }
}

.member {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0px;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  min-width: initial;
  padding-top: 1.6666666667rem;
  padding-bottom: 1.6666666667rem;
  text-align: center;
}
@media screen and (min-width: 43.75em) {
  .member {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .member {
    padding-left: 1.6666666667rem;
    padding-right: 1.6666666667rem;
  }
}
.member .avatar {
  max-width: 14.2222222222rem;
  border-radius: 100%;
  border: 2px solid white;
  -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
}
.member__title {
  margin-top: 0.9444444444rem;
  margin-bottom: 0.3888888889rem;
  font-weight: 700;
  font-size: 1.1666666667rem;
}
.member__excerpt {
  margin-bottom: 0.5555555556rem;
  color: #3a4351;
  font-size: 0.8888888889rem;
}
.member__social-link {
  display: inline-block;
}
.member__social-icon {
  color: #015d84;
  -webkit-transition: 200ms color ease-out;
  -o-transition: 200ms color ease-out;
  transition: 200ms color ease-out;
}
.member__social-icon:hover {
  color: #009fe3;
}

.join-us__link {
  display: block;
}
.join-us__link .avatar {
  background: white;
  -webkit-transition: 250ms all ease-out;
  -o-transition: 250ms all ease-out;
  transition: 250ms all ease-out;
}
.join-us__link:hover .avatar, .join-us__link:focus .avatar {
  background: #009fe3;
  -webkit-transform: rotate(-6deg) scale(1.02, 1.02);
  -ms-transform: rotate(-6deg) scale(1.02, 1.02);
  transform: rotate(-6deg) scale(1.02, 1.02);
}

.tech-standouts {
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.tech-standouts__header, .tech-standouts__content {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  max-width: 100%;
}
@media screen and (min-width: 43.75em) {
  .tech-standouts__header, .tech-standouts__content {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 64em) {
  .tech-standouts__header, .tech-standouts__content {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 83.3333333333%;
    flex: 0 0 83.3333333333%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 83.3333333333%;
  }
}
@media screen and (min-width: 64em) and (min-width: 43.75em) {
  .tech-standouts__header, .tech-standouts__content {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
.tech-standouts__header {
  padding-top: 4.4444444444rem;
  border-top: 1px solid #ADBACC;
  text-align: center;
}
.tech-standouts__img {
  margin-bottom: 2.7777777778rem;
}
.tech-standouts__title {
  margin-bottom: 2.7777777778rem;
}
.tech-standouts__list {
  list-style-type: none;
  margin-left: 0;
  margin-bottom: 3.8888888889rem;
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.tech-standouts__list > .tech-standouts__item {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
}
@media screen and (min-width: 43.75em) {
  .tech-standouts__list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .tech-standouts__list > .tech-standouts__item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}
.tech-standouts__item {
  position: relative;
  margin-bottom: 1.1111111111rem;
  padding-left: 1.7777777778rem;
  padding-right: 1.7777777778rem;
}
.tech-standouts__item:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4444444444rem;
  width: 1rem;
  height: 1rem;
  border: 3px solid #009fe3;
  border-radius: 100%;
}

.text-image {
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media screen and (max-width: 63.9375em) {
  .text-image {
    border-bottom: 1px solid #ADBACC;
    padding-top: 3.3333333333rem;
    padding-bottom: 3.3333333333rem;
  }
}
.text-image__image, .text-image__content {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  padding-left: 0.8333333333rem;
  padding-right: 0.8333333333rem;
  max-width: 100%;
}
@media screen and (min-width: 43.75em) {
  .text-image__image, .text-image__content {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .text-image__image, .text-image__content {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 50%;
  }
}
@media screen and (min-width: 43.75em) and (min-width: 43.75em) {
  .text-image__image, .text-image__content {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 64em) {
  .text-image__image, .text-image__content {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 41.6666666667%;
    flex: 0 0 41.6666666667%;
    padding-left: 0.8333333333rem;
    padding-right: 0.8333333333rem;
    max-width: 41.6666666667%;
    border-bottom: 1px solid #ADBACC;
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
@media screen and (min-width: 64em) and (min-width: 43.75em) {
  .text-image__image, .text-image__content {
    padding-left: 1.1111111111rem;
    padding-right: 1.1111111111rem;
  }
}
@media screen and (min-width: 43.75em) {
  .text-image__image {
    text-align: center;
  }
}
.text-image__title {
  margin-bottom: 1.1111111111rem;
}
@media screen and (min-width: 43.75em) {
  .text-image.auto:nth-of-type(odd) .text-image__image, .text-image.featured-project:nth-of-type(odd) .text-image__image, .text-image.image-left .text-image__image {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}
@media screen and (min-width: 43.75em) {
  .text-image.auto:nth-of-type(odd) .text-image__content, .text-image.featured-project:nth-of-type(odd) .text-image__content, .text-image.image-left .text-image__content {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }
}
@media screen and (min-width: 43.75em) {
  .text-image.auto:nth-of-type(even) .text-image__image, .text-image.featured-project:nth-of-type(even) .text-image__image, .text-image.image-right .text-image__image {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }
}
@media screen and (min-width: 43.75em) {
  .text-image.auto:nth-of-type(even) .text-image__content, .text-image.featured-project:nth-of-type(even) .text-image__content, .text-image.image-right .text-image__content {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}

/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}
.screen-reader-text:focus {
  background-color: #fefefe;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #3a4351;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
  outline: 0;
}

/*
----------------------------------------------------------------

Gravity Forms Date Picker Styles
http: //www.gravityforms.com
updated: January 31, 2014 3:32 PM

Customized styles for the jQuery UI Datepicker 1.9.2
copyright 2012 jQuery Foundation and other contributors
Released under the MIT license.
http://jquery.org/license
some styles courtesty of http://www.hongkiat.com/

Gravity Forms is a Rocketgenius project
copyright 2008 - 2014 Rocketgenius Inc.
http: //www.rocketgenius.com

NOTE: DO NOT EDIT THIS FILE! MAKE ANY MODIFICATIONS IN YOUR
THEME STYLESHEET. THIS FILE IS REPLACED DURING AUTO-UPDATES
AND ANY CHANGES MADE HERE WILL BE OVERWRITTEN.

If you need to make extensive customizations,
copy the contents of this file to your theme
style sheet for editing. Then, go to the form
settings page & set the 'output CSS' option
to no.

----------------------------------------------------------------
*/
.ui-datepicker {
  width: 220px;
  height: auto;
  margin: 5px auto 0;
  font: 9pt Arial, sans-serif;
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
}

.ui-datepicker a {
  text-decoration: none;
}

.ui-datepicker table {
  width: 100%;
  border-collapse: collapse;
}

.ui-datepicker-header {
  background-color: #666; /* set the header background color */
  color: #e0e0e0;
  font-weight: bold;
  -webkit-box-shadow: inset 0px 1px 1px 0px rgba(250, 250, 250, 0.2);
  -moz-box-shadow: inset 0px 1px 1px 0px rgba(250, 250, 250, 0.2);
  box-shadow: inset 0px 1px 1px 0px rgba(250, 250, 250, 0.2);
  text-shadow: 1px -1px 0px #000;
  -webkit-filter: dropshadow(color=#000, offx=1, offy=-1);
  filter: dropshadow(color=#000, offx=1, offy=-1);
  line-height: 30px;
  min-height: 30px !important;
  border-width: 1px 0 0 0;
  border-style: solid;
  border-color: #666;
}

.ui-datepicker-title {
  text-align: center;
}

.ui-datepicker-title select {
  margin-top: 2.5%;
}

.ui-datepicker-prev,
.ui-datepicker-next {
  display: inline-block;
  width: 30px;
  height: 30px;
  text-align: center;
  cursor: pointer;
  content: ">";
  background-repeat: no-repeat;
  line-height: 600%;
  overflow: hidden;
}

.ui-datepicker-prev {
  float: left;
  background-position: center -30px;
}

.ui-datepicker-next {
  float: right;
  background-position: center 0px;
}

.ui-datepicker thead {
  background: #f7f7f7;
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y3ZjdmNyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmMWYxZjEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
  background: -moz-linear-gradient(top, #f7f7f7 0%, #f1f1f1 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f7f7f7), color-stop(100%, #f1f1f1));
  background: -webkit-linear-gradient(top, #f7f7f7 0%, #f1f1f1 100%);
  background: -o-linear-gradient(top, #f7f7f7 0%, #f1f1f1 100%);
  background: -ms-linear-gradient(top, #f7f7f7 0%, #f1f1f1 100%);
  background: -webkit-gradient(linear, left top, left bottom, from(#f7f7f7), to(#f1f1f1));
  background: linear-gradient(to bottom, #f7f7f7 0%, #f1f1f1 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#f7f7f7", endColorstr="#f1f1f1",GradientType=0 );
  border-bottom: 1px solid #bbb;
}

.ui-datepicker th {
  text-transform: uppercase;
  text-align: center;
  font-size: 6pt;
  padding: 5px 0;
  color: #666666;
  text-shadow: 1px 0px 0px #fff;
  -webkit-filter: dropshadow(color=#fff, offx=1, offy=0);
  filter: dropshadow(color=#fff, offx=1, offy=0);
}

.ui-datepicker tbody td {
  padding: 0;
  border-top: 1px solid #bbb;
  border-right: 1px solid #bbb;
}

.ui-datepicker tbody td:last-child {
  border-right: 0px;
}

.ui-datepicker tbody tr {
  border-bottom: 1px solid #bbb;
}

.ui-datepicker tbody tr:last-child {
  border-bottom: 0px;
}

.ui-datepicker td span,
.ui-datepicker td a {
  display: inline-block;
  font-weight: bold;
  text-align: center;
  width: 30px;
  height: 30px;
  line-height: 30px;
  color: #666666;
  text-shadow: 1px 1px 0px #fff;
  -webkit-filter: dropshadow(color=#fff, offx=1, offy=1);
  filter: dropshadow(color=#fff, offx=1, offy=1);
}

.ui-datepicker-calendar .ui-state-default {
  background: #ededed;
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2VkZWRlZCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNkZWRlZGUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
  background: -moz-linear-gradient(top, #ededed 0%, #dedede 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ededed), color-stop(100%, #dedede));
  background: -webkit-linear-gradient(top, #ededed 0%, #dedede 100%);
  background: -o-linear-gradient(top, #ededed 0%, #dedede 100%);
  background: -ms-linear-gradient(top, #ededed 0%, #dedede 100%);
  background: -webkit-gradient(linear, left top, left bottom, from(#ededed), to(#dedede));
  background: linear-gradient(to bottom, #ededed 0%, #dedede 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#ededed", endColorstr="#dedede",GradientType=0 );
  -webkit-box-shadow: inset 1px 1px 0px 0px rgba(250, 250, 250, 0.5);
  -moz-box-shadow: inset 1px 1px 0px 0px rgba(250, 250, 250, 0.5);
  box-shadow: inset 1px 1px 0px 0px rgba(250, 250, 250, 0.5);
}

.ui-datepicker-calendar .ui-state-hover {
  background: #f7f7f7;
}

.ui-datepicker-calendar .ui-state-active {
  background: #FFF2AA; /* set the active date background color */
  border: 1px solid #c19163; /* set the active date border color */
  color: #666; /* set the active date font color */
  -webkit-box-shadow: inset 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: inset 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
  text-shadow: 0px 1px 0px #FFF;
  -webkit-filter: dropshadow(color=#FFF, offx=0, offy=1);
  filter: dropshadow(color=#FFF, offx=0, offy=1);
  position: relative;
  margin: -1px;
}

.ui-datepicker-unselectable .ui-state-default {
  background: #f4f4f4;
  color: #b4b3b3;
}

.ui-datepicker-calendar td:first-child .ui-state-active {
  width: 29px;
  margin-left: 0;
}

.ui-datepicker-calendar td:last-child .ui-state-active {
  width: 29px;
  margin-right: 0;
}

.ui-datepicker-calendar tr:last-child .ui-state-active {
  height: 29px;
  margin-bottom: 0;
}

td.ui-datepicker-unselectable.ui-state-disabled {
  background-color: #d7d7d7;
}

table.ui-datepicker-calendar {
  margin: 0 0 0 0 !important;
}

body div#ui-datepicker-div[style] {
  z-index: 9999 !important;
}

/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer { /* Theme Footer (when set to scrolling) */
  display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
  display: block;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsInR5cG9ncmFwaHkvX3R5cG9ncmFwaHkuc2NzcyIsInR5cG9ncmFwaHkvX2ZvbnQuc2NzcyIsInR5cG9ncmFwaHkvX2ljb25zLnNjc3MiLCJlbGVtZW50cy9faGVhZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCJlbGVtZW50cy9fZm9vdGVyLnNjc3MiLCJmb3Jtcy9fYnV0dG9ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIm1peGlucy9fbWl4aW5zLW1hc3Rlci5zY3NzIiwiZm9ybXMvX2Zvcm1zLnNjc3MiLCJtaXhpbnMvX21peGlucy10eXBvLnNjc3MiLCJsYXlvdXQvX2xheW91dC5zY3NzIiwibWVkaWEvX21lZGlhLnNjc3MiLCJtZWRpYS9fYWxpZ25tZW50cy5zY3NzIiwibWVkaWEvX2NhcHRpb25zLnNjc3MiLCJtZWRpYS9fZ2FsbGVyaWVzLnNjc3MiLCJuYXZpZ2F0aW9uL19tZW51cy5zY3NzIiwiY29tcG9uZW50cy9fYmFubmVyLnNjc3MiLCJjb21wb25lbnRzL19jb2xsYWJvcmF0aW9uLXN0ZXBzLnNjc3MiLCJjb21wb25lbnRzL19jb2x1bW5zLnNjc3MiLCJjb21wb25lbnRzL19jb250YWN0LWRldGFpbHMuc2NzcyIsImNvbXBvbmVudHMvX2NvbnRhY3QtaW52b2ljaW5nLnNjc3MiLCJjb21wb25lbnRzL19jb250YWN0LW1hcC5zY3NzIiwiY29tcG9uZW50cy9fZmVhdHVyZWQtY2xpZW50cy5zY3NzIiwiY29tcG9uZW50cy9fZmVhdHVyZWQtcHJvamVjdHMuc2NzcyIsImNvbXBvbmVudHMvX2Zvb3Rlci1iYW5uZXIuc2NzcyIsImNvbXBvbmVudHMvX2ludGVyZXN0aW5nLW51bWJlcnMuc2NzcyIsImNvbXBvbmVudHMvX21haW50ZW5hbmNlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsImNvbXBvbmVudHMvX3Byb2plY3QtcGhhc2VzLnNjc3MiLCJjb21wb25lbnRzL19yZWZlcmVuY2Uuc2NzcyIsImNvbXBvbmVudHMvX3JlZmVyZW5jZXMuc2NzcyIsImNvbXBvbmVudHMvX3NlcnZpY2VzLnNjc3MiLCJjb21wb25lbnRzL190ZWFtLnNjc3MiLCJjb21wb25lbnRzL190ZWNoLXN0YW5kb3V0cy5zY3NzIiwiY29tcG9uZW50cy9fdGV4dC1pbWFnZS5zY3NzIiwibW9kdWxlcy9fYWNjZXNzaWJpbGl0eS5zY3NzIiwibW9kdWxlcy9fZGF0ZXBpY2tlci5zY3NzIiwibW9kdWxlcy9faW5maW5pdGUtc2Nyb2xsLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQWhCOzs7OztFQUFBO0FDb05FLDJFQUFBO0FBRUE7Ozs7RUFBQTtBQU1BO0VBQ0UsdUJBQUEsRUFBQSxNQUFBO0VBQ0EsMEJBQUEsRUFBQSxNQUFBO0VBQ0EsOEJBQUEsRUFBQSxNQUFBO0FGOU1KOztBRWlORTs7RUFBQTtBQUlBO0VBQ0UsU0FBQTtBRi9NSjs7QUVrTkU7K0VBQUE7QUFHQTs7Ozs7RUFBQTtB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O0FGNFFKOztBRXhRRTs7O0VBR0UsMkJBQUE7RUFBQSxtQkFBQTtBRjJRSjs7QUV2UUU7RUFDRSxVQUFBO0VBQ0EsU0FBQTtFQUNBLDZFQzFFZTtFRDJFZixnQkN2RW1CO0VEd0VuQixvQkM1RmdCO0VENkZoQixjQ2xGSTtFRG1GSixtQkNsRkk7RURxRkYsbUNBQUE7RUFDQSxrQ0FBQTtBRndRTjs7QUVwUUU7RUFFRSxlQUFBO0VBQ0EsWUFBQTtFQUNBLCtCQUFBO0VBR0EscUJBQUE7RUFDQSxzQkFBQTtBRm9RSjs7QUVoUUU7RUFDRSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkMvRlk7QUhrV2hCOztBRS9QRTtFQUNFLFdBQUE7RUFDQSxnQkNyR1k7QUh1V2hCOztBRTFQSTs7Ozs7Ozs7O0VBR0UsMEJBQUE7QUZtUU47O0FFOVBFO0VBRUUsd0JBQUE7RUFDQSxxQkFBQTtFQUNBLHVCQUFBO0VBQ0EsVUFBQTtFQUNBLFNBQUE7RUFDQSxnQkM1SFk7RUQ2SFosY0FBQTtBRmdRSjtBSTVSRTtFQUNFLFVBQUE7QUo4Uko7O0FFL1BFO0VBQ0UseUJBQUE7QUZrUUo7O0FFL1BFO0VBQ0Usd0JBQUE7QUZrUUo7O0FLeE9FOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFNBQUE7RUFDQSxVQUFBO0FMMk9KOztBS3ZPRTtFQUNFLGtCQUFBO0VBQ0EsZ0JGakhtQjtFRWtIbkIsbUJGakhzQjtFRWtIdEIsa0NGakh1QjtBSDJWM0I7O0FLdE9FOztFQUVFLGtCQUFBO0VBQ0Esb0JBQUE7QUx5T0o7O0FLck9FOztFQUVFLGdCRjFNaUI7RUUyTWpCLG9CQUFBO0FMd09KOztBS3BPRTtFQUNFLGNGeEljO0VFeUlkLG9CQUFBO0FMdU9KOztBS25PRTs7Ozs7O0VBTUUsNkVGaE9lO0VFaU9mLGdCRjVOaUI7RUU2TmpCLGtCRjdLZ0I7RUU4S2hCLGNGeE9JO0VFeU9KLGtDRnhKb0I7RUV5SnBCLGFBQUE7RUFDQSxxQkYzSm1CO0VFNEpuQixnQkY3SmdCO0FIbVlwQjtBS3BPSTs7Ozs7O0VBQ0UsY0ZoUE07RUVpUE4sY0FBQTtBTDJPTjs7QUtuT1E7RUFDRSxlQUFBO0FMc09WOztBS3ZPUTtFQUNFLDBCQUFBO0FMME9WOztBSzNPUTtFQUNFLDBCQUFBO0FMOE9WOztBSy9PUTtFQUNFLGVBQUE7QUxrUFY7O0FLblBRO0VBQ0UsMEJBQUE7QUxzUFY7O0FLdlBRO0VBQ0UsMEJBQUE7QUwwUFY7O0FNNVpJO0VEaUtJO0lBQ0UsMEJBQUE7RUwrUFI7RUtoUU07SUFDRSxlQUFBO0VMa1FSO0VLblFNO0lBQ0UsMEJBQUE7RUxxUVI7RUt0UU07SUFDRSwwQkFBQTtFTHdRUjtFS3pRTTtJQUNFLDBCQUFBO0VMMlFSO0VLNVFNO0lBQ0UsMEJBQUE7RUw4UVI7QUFDRjtBS3hRRTtFQUNFLGNFaFJnQjtFRmlSaEIscUJGbktxQjtFRW9LckIsb0JBQUE7RUFDQSxlQUFBO0FMMFFKO0FLeFFJO0VBRUUsY0YxS2U7QUhtYnJCO0FLblFJO0VBQ0UsU0FBQTtBTHFRTjs7QUtoUUU7RUFDRSxnQkZqU1c7RUVrU1gsU0FBQTtFQUNBLGVBQUE7RUFDQSxhQUFBO0VBQ0EsZ0NGdkxRO0VFd0xSLGNBQUE7RUFDQSw0QkZ4TFE7RUV5TFIsV0FBQTtBTG1RSjs7QUsvUEU7OztFQUdFLGdCRi9NbUI7RUVnTm5CLG1CRi9Nc0I7RUVnTnRCLDRCRjlMa0I7QUhnY3RCOztBSzlQRTtFQUNFLGtCQUFBO0FMaVFKOztBSzdQRTtFQUNFLHFCRnpNYztFRTBNZCxvQkZ4TWU7QUh3Y25COztBSzVQRTtFQUNFLG9CRjdNZTtBSDRjbkI7O0FLMVBJO0VBQ0Usb0JGbE5vQjtFRW1OcEIsZ0JBQUE7QUw2UE47O0FLeFBFO0VBQ0UsbUJGeE5xQjtBSG1kekI7QUt6UEk7RUFDRSxxQkZ6TndCO0VFME54QixnQkY1VGU7QUh1akJyQjs7QUt0UEU7RUFDRSxnQkFBQTtFQUNBLGlERi9OaUI7RUVnT2pCLGlCRi9OZ0I7QUh3ZHBCO0FLdlBJO0VBQ0UsZ0JGN1BpQjtFRThQakIsY0ZuVk07QUg0a0JaOztBS3BQRTtFQUNFLGNBQUE7RUFDQSwwQkZ6T2E7RUUwT2IsY0YxVkk7QUhpbEJSO0FLclBJO0VBQ0UsYUFBQTtBTHVQTjs7QUtsUEU7RUFDRSxjRm5XSTtFRW9XSixZQUFBO0VBQ0EsaUNGOU9hO0FIbWVqQjs7QUtqUEU7RUFDRSw0REYvU29CO0VFZ1RwQixnQkZsV21CO0VFbVduQixjRjVXSTtFRTZXSix5QkZoWFM7RUVpWFQseUJGblJVO0VFb1JWLHdERm5SVztBSHVnQmY7O0FLaFBFO0VBQ0UsMENGL1BnQjtFRWdRaEIsU0FBQTtFQUNBLHlCRnpYUztFRTBYVCxjRnZYSTtFRXdYSiw0REY3VG9CO0FIZ2pCeEI7O0FReG5CRTtFQUNFLGtCTDZJbUI7RUs1SW5CLHFCTDZJc0I7RUs1SXRCLGdCTG1CbUI7RUtsQm5CLGdCTHVJbUI7RUt0SW5CLGNMT1E7QUhvbkJaOztBUXZuQkU7RUFDRSxpQkwrSGE7RUs5SGIsZ0JMK0hjO0FIMmZsQjs7QVF0bkJFO0VBQ0UsaUJMZ0lhO0VLL0hiLGNBQUE7QVJ5bkJKO0FRdm5CSTtFQUNFLGlCQUFBO0FSeW5CTjs7QVFwbkJFO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0FSdW5CSjs7QVNuckJVO0VBQ0UsZ0JBUlU7QVQ4ckJ0Qjs7QVN2ckJVO0VBQ0UsaUJBUlU7QVRrc0J0Qjs7QVMzckJVO0VBQ0Usa0JBUlU7QVRzc0J0Qjs7QVMvckJVO0VBQ0UsbUJBUlU7QVQwc0J0Qjs7QU05akJJO0VHMUlNO0lBQ0UsZ0JBSFU7RVQrc0JwQjtFUzdzQlE7SUFDRSxpQkFIVTtFVGt0QnBCO0VTaHRCUTtJQUNFLGtCQUhVO0VUcXRCcEI7RVNudEJRO0lBQ0UsbUJBSFU7RVR3dEJwQjtBQUNGO0FNN2tCSTtFRzFJTTtJQUNFLGdCQUhVO0VUNnRCcEI7RVMzdEJRO0lBQ0UsaUJBSFU7RVRndUJwQjtFUzl0QlE7SUFDRSxrQkFIVTtFVG11QnBCO0VTanVCUTtJQUNFLG1CQUhVO0VUc3VCcEI7QUFDRjtBVWx1QkU7RUFBa0Isd0JBQUE7QVZxdUJwQjs7QVVudUJFO0VBQ0U7SUFFSSxrQ0FBQTtJQUdGLHVCQUFBO0lBQ0EsbUNBQUE7SUFBQSwyQkFBQTtJQUNBLDRCQUFBO0VWbXVCSjtFVWh1QkU7SUFBa0IseUJBQUE7RVZtdUJwQjtFVWx1QkU7SUFBa0Isd0JBQUE7RVZxdUJwQjtFVW51QkU7SUFBdUIseUJBQUE7RVZzdUJ6QjtFVXJ1QkU7SUFBdUIsc0NBQUE7RVZ3dUJ6QjtFVXZ1QkU7SUFBdUIsbUNBQUE7RVYwdUJ6QjtFVXp1QkU7SUFBb0IsNkJBQUE7RVY0dUJ0QjtFVTN1QkU7SUFBb0IsOEJBQUE7RVY4dUJ0QjtFVTd1QkU7SUFBb0IsOEJBQUE7RVZndkJ0QjtFVTd1QkU7O0lBQ1ksMEJBQUE7RVZndkJkO0VVL3VCRTtJQUFnQiw0QkFBQTtFVmt2QmxCO0VVL3VCRTs7O0lBRXFCLFdBQUE7RVZrdkJ2QjtFVS91QkU7SUFBb0IsNkJBQUE7RVZrdkJ0QjtFVS91QkU7O0lBRUUseUJBQUE7SUFDQSx3QkFBQTtFVml2Qko7RVU3dUJFO0lBQVEsMkJBQUE7RVZndkJWO0VVOXVCRTs7SUFDTSx3QkFBQTtFVml2QlI7RVUvdUJFO0lBQU0sMEJBQUE7RVZrdkJSO0VVaHZCRTtJQUFRLGFBQUE7RVZtdkJWO0VVanZCRTs7O0lBR0UsVUFBQTtJQUNBLFNBQUE7RVZtdkJKO0VVL3VCRTs7SUFDSyx1QkFBQTtFVmt2QlA7QUFDRjtBV3B0QkU7O0VBbENBLGNBQUE7RUFDQSw4QkFBQTtFQUFBLHNCQUFBO0VBQ0EsV0FBQTtFQUNBLHVCQUxTO0VBTVQsd0JBQUE7RUFDQSxZUjhSYTtFUTdSYiwyQkFBQTtFQUVBLG9CUnNSa0I7RVFyUmxCLGVSc1JnQjtFUXJSaEIsY1JyQk07RVFzQk4seUJSckJNO0VRc0JOLG9EUnlSYTtFUXpSYiw0Q1J5UmE7RVF4UmIsa0JSNlJhO0VRMVJYLDJFUndSZTtFUXhSZixtRVJ3UmU7RVF4UmYsOERSd1JlO0VReFJmLDJEUndSZTtFUXhSZixvRlJ3UmU7RVFuUWYsd0JBQUE7RUFDQSxxQkFBQTtBWG11Qko7QVdydkJFOztFQUNFLFlSK1FpQjtFUTlRakIseUJSaENJO0VRaUNKLGFBQUE7RUFDQSx3RFI4UWlCO0VROVFqQixnRFI4UWlCO0VRM1FmLDJFUjZRYTtFUTdRYixtRVI2UWE7RVE3UWIsOERSNlFhO0VRN1FiLDJEUjZRYTtFUTdRYixvRlI2UWE7QUh5ZW5COztBV3Z1QkU7RUFDRSxlQUFBO0FYMHVCSjtBV3h1Qkk7RUFDRSxZQUFBO0FYMHVCTjs7QVdudUJJO0VBQ0UsY1JuRVE7QUgweUJkOztBV3h1Qkk7RUFDRSxjUm5FUTtBSDB5QmQ7O0FXeHVCSTtFQUNFLGNSbkVRO0FIMHlCZDs7QVd4dUJJO0VBQ0UsY1JuRVE7QUgweUJkOztBV3h1Qkk7O0VBQ0UsY1JuRVE7QUgweUJkO0FXbnVCSTs7O0VBRUUseUJSMUVPO0VRMkVQLG1CUjBPa0I7QUg0ZnhCOztBV2p1QkU7O0VBRUUsc0JSbUhZO0VRbEhaLHdCQUFBO0VBQ0EscUJBQUE7QVhvdUJKOztBVy90QkU7RUFDRSw4QkFBQTtFQUFBLHNCQUFBO0FYa3VCSjs7QVk1MkJFOzs7RUFHRSwyQkFBQTtBWisyQko7O0FZMzJCRTs7RUFFRSxxQkFBQTtFQUNBLDRCQUFBO0VBQ0EsNkJUZ1VXO0VTL1RYLGdCQUFBO0VBQ0Esd0JBQUE7QVo4MkJKO0FZNTJCSTs7RUFDRSxlQUFBO0FaKzJCTjs7QVkxMkJFOztFQUVFLDZCQUFBO0FaNjJCSjs7QVl6MkJFO0VBQ0UsV0FBQTtBWjQyQko7O0FhejJCRTtFQWZBLGNBQUE7RUFDQSxTQUFBO0VBQ0EsMEJWa1VxQjtFVWpVckIsZ0JWeUNxQjtFVXhDckIsZ0JWa1V1QjtFVWpVdkIsY1Y4Qk07QUg4MUJSO0FhLzJCSTtFQVJGLDJCQUFBO0VBQ0EsMEJBQUE7QWIwM0JGOztBY3o0QkU7RUFHRSw0QkFGYTtFQUdiLDBCWDZUaUI7RVc1VGpCLGtCWDZUa0I7RVc1VGxCLGNYaUNJO0FIeTJCUjs7QWUzNEJFO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSw4Qlp1VFc7QUh1bEJmO0FleDRCSTtFQUNFLHNCQUFBO0FmMDRCTjtBZXQ0Qk07RUFDRSxzQkFBQTtBZnc0QlI7O0FlbjRCRTtFQUNFLFNBQUE7RUFDQSxtQkFBQTtFQUdFLG1CQUFBO0VBQ0Esc0JBQUE7QWZvNEJO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K0dBQUE7RUFDQSxrRUFBQTtFQUNBLDZEQUFBO0VBQ0EsOERBQUE7RUFDQSx1RkFBQTtFQUFBLGdFQUFBO0VBQ0EsbUhBQUE7RUFDQSxrRUFBQTtFQUNBLCtEQUFBO0VBQ0EsMERBQUE7QTFEc21LRDs7QTBEbm1LQTtFQUNDLG1CQUFBO0ExRHNtS0Q7O0EwRG5tS0E7RUFDQyxtQkFBQSxFQUFBLHlDQUFBO0VBQ0EseUJBQUEsRUFBQSxxQ0FBQTtFQUNBLFdBQUEsRUFBQSxtQ0FBQTtFQUNBLDZEQUFBO0VBQ0EsMERBQUE7RUFDQSxxREFBQTtFQUNBLDZCQUFBO0VBQ0Esc0RBQUE7RUFBQSw4Q0FBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtBMURzbUtEOztBMERubUtBO0VBQ0MsbUJBQUE7RUFDQSxjQUFBO0ExRHNtS0Q7O0EwRG5tS0E7RUFDQyxXQUFBO0VBQ0EsY0FBQTtBMURzbUtEOztBMERubUtBO0VBQ0MsV0FBQTtFQUNBLGVBQUE7QTFEc21LRDs7QTBEbm1LQTtFQUNDLFlBQUE7RUFDQSxnQkFBQTtBMURzbUtEOztBMERubUtBO0VBQ0MseUJBQUE7QTFEc21LRDs7QTBEbm1LQTtFQUNDLDBCQUFBO0ExRHNtS0Q7O0EwRG5tS0E7RUFDQyx3QkFBQTtBMURzbUtEOztBMkR6ektBLDJFQUFBO0FBQ0E7NENBQzRDLHlDQUFBO0VBQzNDLGFBQUE7QTNENHpLRDs7QTJEenpLQSx3SEFBQTtBQUNBO0VBQ0MsY0FBQTtBM0Q0ektEIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjIuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gIG1hcmdpbjogMDsgLyogMyAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPWJ1dHRvbl0sXG5pbnB1dFt0eXBlPXJlc2V0XSxcbmlucHV0W3R5cGU9c3VibWl0XSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xufVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cbmlucHV0W3R5cGU9Y2hlY2tib3hdLFxuaW5wdXRbdHlwZT1yYWRpb10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAqL1xuaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqIFtOT1RFXSBXZSBkb24ndCBlbmFibGUgdGhpcyBydWxlc2V0IGluIEZvdW5kYXRpb24sIGJlY2F1c2Ugd2Ugd2FudCB0aGUgPGZpZWxkc2V0PiBlbGVtZW50IHRvIGhhdmUgcGxhaW4gc3R5bGluZy5cbiAqL1xuLyogZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59ICovXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00My43NWVtJmxhcmdlPTY0ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtXCI7XG59XG5cbmh0bWwge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmJvZHkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcImV1cm9wYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzM7XG4gIGNvbG9yOiAjM2E0MzUxO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbnNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4jbWFwX2NhbnZhcyBpbWcsXG4jbWFwX2NhbnZhcyBlbWJlZCxcbiNtYXBfY2FudmFzIG9iamVjdCxcbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSBidXR0b24ge1xuICBvdXRsaW5lOiAwO1xufVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbnAge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcImV1cm9wYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogIzNhNDM1MTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuaDEgc21hbGwsXG5oMiBzbWFsbCxcbmgzIHNtYWxsLFxuaDQgc21hbGwsXG5oNSBzbWFsbCxcbmg2IHNtYWxsIHtcbiAgY29sb3I6ICM3MTgyOUQ7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cblxuaDIge1xuICBmb250LXNpemU6IDEuNTU1NTU1NTU1NnJlbTtcbn1cblxuaDMge1xuICBmb250LXNpemU6IDEuMDU1NTU1NTU1NnJlbTtcbn1cblxuaDQge1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbmg1IHtcbiAgZm9udC1zaXplOiAwLjk0NDQ0NDQ0NDRyZW07XG59XG5cbmg2IHtcbiAgZm9udC1zaXplOiAwLjg4ODg4ODg4ODlyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMi4zMzMzMzMzMzMzcmVtO1xuICB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS42NjY2NjY2NjY3cmVtO1xuICB9XG4gIGg0IHtcbiAgICBmb250LXNpemU6IDEuMzg4ODg4ODg4OXJlbTtcbiAgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjExMTExMTExMTFyZW07XG4gIH1cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMC44ODg4ODg4ODg5cmVtO1xuICB9XG59XG5hIHtcbiAgY29sb3I6ICMwMDlmZTM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbmE6aG92ZXIsIGE6Zm9jdXMge1xuICBjb2xvcjogIzAwODljMztcbn1cbmEgaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG5ociB7XG4gIG1heC13aWR0aDogNzZyZW07XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0FEQkFDQztcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIG1hcmdpbjogMS4xMTExMTExMTExcmVtIGF1dG87XG4gIGNsZWFyOiBib3RoO1xufVxuXG51bCxcbm9sLFxuZGwge1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xufVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxudWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xufVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xufVxuXG51bCB1bCwgdWwgb2wsIG9sIHVsLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5kbCBkdCB7XG4gIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbSAxLjExMTExMTExMTFyZW0gMCAxLjA1NTU1NTU1NTZyZW07XG4gIGJvcmRlci1sZWZ0OiBub25lO1xufVxuYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM3MTgyOUQ7XG59XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjcyMjIyMjIyMjJyZW07XG4gIGNvbG9yOiAjM2E0MzUxO1xufVxuY2l0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIuKAlCBcIjtcbn1cblxuYWJiciB7XG4gIGNvbG9yOiAjM2E0MzUxO1xuICBjdXJzb3I6IGhlbHA7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzNhNDM1MTtcbn1cblxuY29kZSB7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzNhNDM1MTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0FEQkFDQztcbiAgcGFkZGluZzogMC4xMTExMTExMTExcmVtIDAuMjc3Nzc3Nzc3OHJlbSAwLjA1NTU1NTU1NTZyZW07XG59XG5cbmtiZCB7XG4gIHBhZGRpbmc6IDAuMTExMTExMTExMXJlbSAwLjIyMjIyMjIyMjJyZW0gMDtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBjb2xvcjogIzNhNDM1MTtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG59XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM3MTgyOUQ7XG59XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAyMi41cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxucCArIC5zdGF0IHtcbiAgbWFyZ2luLXRvcDogLTFyZW07XG59XG5cbi5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgfVxufVxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50O1xuICB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSxcbmE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gIH1cbiAgLmlyIGE6YWZ0ZXIsXG5hW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXG5hW2hyZWZePVwiI1wiXTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICB9XG4gIHByZSxcbmJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM3MTgyOUQ7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gIH1cbiAgdHIsXG5pbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtO1xuICB9XG4gIHAsXG5oMixcbmgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMztcbiAgfVxuICBoMixcbmgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgfVxufVxuW3R5cGU9dGV4dF0sIFt0eXBlPXBhc3N3b3JkXSwgW3R5cGU9ZGF0ZV0sIFt0eXBlPWRhdGV0aW1lXSwgW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLCBbdHlwZT1tb250aF0sIFt0eXBlPXdlZWtdLCBbdHlwZT1lbWFpbF0sIFt0eXBlPW51bWJlcl0sIFt0eXBlPXNlYXJjaF0sIFt0eXBlPXRlbF0sIFt0eXBlPXRpbWVdLCBbdHlwZT11cmxdLCBbdHlwZT1jb2xvcl0sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjI3Nzc3Nzc3NzhyZW07XG4gIHBhZGRpbmc6IDAuNDQ0NDQ0NDQ0NHJlbTtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDAgMCAwLjg4ODg4ODg4ODlyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjM2E0MzUxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiAwIDFweCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5bdHlwZT10ZXh0XTpmb2N1cywgW3R5cGU9cGFzc3dvcmRdOmZvY3VzLCBbdHlwZT1kYXRlXTpmb2N1cywgW3R5cGU9ZGF0ZXRpbWVdOmZvY3VzLCBbdHlwZT1kYXRldGltZS1sb2NhbF06Zm9jdXMsIFt0eXBlPW1vbnRoXTpmb2N1cywgW3R5cGU9d2Vla106Zm9jdXMsIFt0eXBlPWVtYWlsXTpmb2N1cywgW3R5cGU9bnVtYmVyXTpmb2N1cywgW3R5cGU9c2VhcmNoXTpmb2N1cywgW3R5cGU9dGVsXTpmb2N1cywgW3R5cGU9dGltZV06Zm9jdXMsIFt0eXBlPXVybF06Zm9jdXMsIFt0eXBlPWNvbG9yXTpmb2N1cyxcbnRleHRhcmVhOmZvY3VzIHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xufVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbnRleHRhcmVhW3Jvd3NdIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI0FEQkFDQztcbn1cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cblt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1idXR0b25dIHtcbiAgYm9yZGVyLXJhZGl1czogNTUuNXJlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9c2VhcmNoXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cblt0eXBlPWZpbGVdLFxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dIHtcbiAgbWFyZ2luOiAwIDAgMC44ODg4ODg4ODg5cmVtO1xufVxuXG5bdHlwZT1jaGVja2JveF0gKyBsYWJlbCxcblt0eXBlPXJhZGlvXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC40NDQ0NDQ0NDQ0cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuODg4ODg4ODg4OXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuW3R5cGU9Y2hlY2tib3hdICsgbGFiZWxbZm9yXSxcblt0eXBlPXJhZGlvXSArIGxhYmVsW2Zvcl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmxhYmVsID4gW3R5cGU9Y2hlY2tib3hdLFxubGFiZWwgPiBbdHlwZT1yYWRpb10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNDQ0NDQ0NDQ0NHJlbTtcbn1cblxuW3R5cGU9ZmlsZV0ge1xuICB3aWR0aDogMTAwJTtcbn1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODg4ODg4ODg4OXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICMzYTQzNTE7XG59XG5sYWJlbC5taWRkbGUge1xuICBtYXJnaW46IDAgMCAwLjg4ODg4ODg4ODlyZW07XG4gIHBhZGRpbmc6IDAuNDQ0NDQ0NDQ0NHJlbSAwO1xufVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNDQ0NDQ0NDQ0NHJlbTtcbiAgZm9udC1zaXplOiAwLjcyMjIyMjIyMjJyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMzYTQzNTE7XG59XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC44ODg4ODg4ODg5cmVtO1xufVxuLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cbi5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkID4gKiB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG5cbi5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgY29sb3I6ICMzYTQzNTE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNBREJBQ0M7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgaGVpZ2h0OiAyLjMzMzMzMzMzMzNyZW07XG59XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMSU7XG59XG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24ge1xuICBtYXJnaW46IDA7XG59XG5cbi5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbn1cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxubGVnZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogMC40NDQ0NDQ0NDQ0cmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNBREJBQ0M7XG4gIHBhZGRpbmc6IDEuMTExMTExMTExMXJlbTtcbiAgbWFyZ2luOiAxcmVtIDA7XG59XG4uZmllbGRzZXQgbGVnZW5kIHtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgcGFkZGluZzogMCAwLjE2NjY2NjY2NjdyZW07XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWxlZnQ6IC0wLjE2NjY2NjY2NjdyZW07XG59XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi4yNzc3Nzc3Nzc4cmVtO1xuICBwYWRkaW5nOiAwLjQ0NDQ0NDQ0NDRyZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwIDAgMC44ODg4ODg4ODg5cmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzNhNDM1MTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgxMTMsIDEzMCwgMTU3JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0wLjg4ODg4ODg4ODlyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMzMzMzMzMzMzM3JlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDAgKSB7XG4gIHNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTtcbiAgfVxufVxuc2VsZWN0OmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbnNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5zZWxlY3RbbXVsdGlwbGVdIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM2LCA4OCwgNjQsIDAuMSk7XG4gIGJvcmRlci1jb2xvcjogI2VjNTg0MDtcbn1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2VjNTg0MDtcbn1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC40NDQ0NDQ0NDQ0cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjg4ODg4ODg4ODlyZW07XG4gIGZvbnQtc2l6ZTogMC42NjY2NjY2NjY3cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2VjNTg0MDtcbn1cbi5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnN0aWNreS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7XG59XG4uc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcCB7XG4gIHRvcDogMDtcbn1cbi5zdGlja3kuaXMtc3R1Y2suaXMtYXQtYm90dG9tIHtcbiAgYm90dG9tOiAwO1xufVxuXG4uc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogYXV0bztcbn1cbi5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgYm90dG9tOiAwO1xufVxuXG5hIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAyNTBtcyBlYXNlLW91dCwgY29sb3IgMjUwbXMgZWFzZS1vdXQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgYm9keSB7XG4gICAgZm9udC1zaXplOiAxLjE2NjY2NjY2NjdyZW07XG4gIH1cbn1cblxuYmxvY2txdW90ZSB7XG4gIGZvbnQtc2l6ZTogMS4zMzMzMzMzMzMzcmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICBibG9ja3F1b3RlIHtcbiAgICBmb250LXNpemU6IDEuNjY2NjY2NjY2N3JlbTtcbiAgfVxufVxuYmxvY2txdW90ZSBwIHtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuaDEgc21hbGwsIGgyIHNtYWxsLCBoMyBzbWFsbCwgaDQgc21hbGwsIGg1IHNtYWxsLCBoNiBzbWFsbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbmhyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50ZXh0LXNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjc3Nzc3Nzc3NzhyZW07XG59XG5cbi8qIFdlYmZvbnQ6IExhdG9MYXRpbi1Cb2xkICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0xhdG9MYXRpbi1Cb2xkLmVvdFwiKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0xhdG9MYXRpbi1Cb2xkLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL0xhdG9MYXRpbi1Cb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9MYXRvTGF0aW4tQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0xhdG9MYXRpbi1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuLyogV2ViZm9udDogTGF0b0xhdGluLUxpZ2h0ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0xhdG9MYXRpbi1MaWdodC5lb3RcIik7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cbiAgc3JjOiB1cmwoXCIuLi9mb250cy9MYXRvTGF0aW4tTGlnaHQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvTGF0b0xhdGluLUxpZ2h0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9MYXRvTGF0aW4tTGlnaHQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9MYXRvTGF0aW4tTGlnaHQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG4vKiBXZWJmb250OiBMYXRvTGF0aW4tUmVndWxhciAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9MYXRvTGF0aW4tUmVndWxhci5lb3RcIik7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cbiAgc3JjOiB1cmwoXCIuLi9mb250cy9MYXRvTGF0aW4tUmVndWxhci5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9MYXRvTGF0aW4tUmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvTGF0b0xhdGluLVJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9MYXRvTGF0aW4tUmVndWxhci50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbn1cbi5pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuLmljb24gc3ZnIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5pY29uLS1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0wLjExMTExMTExMTFyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLnNpdGUtaGVhZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnNpdGUtaGVhZGVyX19yb3cge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZy10b3A6IDAuNzIyMjIyMjIyMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNzIyMjIyMjIyMnJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNpdGUtaGVhZGVyX19yb3cge1xuICAgIHBhZGRpbmctdG9wOiAxLjI3Nzc3Nzc3NzhyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuMjc3Nzc3Nzc3OHJlbTtcbiAgfVxuICAuaXMtc3R1Y2sgLnNpdGUtaGVhZGVyX19yb3cge1xuICAgIHBhZGRpbmctdG9wOiAwLjcyMjIyMjIyMjJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNzIyMjIyMjIyMnJlbTtcbiAgfVxufVxuLnNpdGUtaGVhZGVyIC5zdGlja3kge1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogdG9wIDAuMjVzIGVhc2Utb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0O1xufVxuLnNpdGUtaGVhZGVyIC5pcy1zdHVjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTVkODQ7XG59XG5cbi5zaXRlLWJyYW5kaW5nLFxuLm1haW4tbmF2aWdhdGlvbiB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuc2l0ZS1icmFuZGluZyxcbi5tYWluLW5hdmlnYXRpb24ge1xuICAgIHBhZGRpbmctbGVmdDogMS4xMTExMTExMTExcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMTExMTExMTExMXJlbTtcbiAgfVxufVxuXG4uc2l0ZS1icmFuZGluZyB7XG4gIGZsZXgtc2hyaW5rOiAxO1xufVxuXG4uc2l0ZS10aXRsZSB7XG4gIHdpZHRoOiA2LjgzMzMzMzMzMzNyZW07XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnNpdGUtdGl0bGUge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5tYWluLW5hdmlnYXRpb24ge1xuICBmbGV4LXNocmluazogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5zaXRlLWZvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5zaXRlLWZvb3Rlcl9fcm93IHtcbiAgbWF4LXdpZHRoOiA3NnJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuLnNpdGUtZm9vdGVyX19pbmZvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmctdG9wOiAwLjgzMzMzMzMzMzNyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjgzMzMzMzMzMzNyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTVkODQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5zaXRlLWZvb3Rlcl9faW5mbyB7XG4gICAgcGFkZGluZy10b3A6IDEuNjY2NjY2NjY2N3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS42NjY2NjY2NjY3cmVtO1xuICB9XG59XG4uc2l0ZS1mb290ZXJfX2luZm8tY29weXJpZ2h0IHtcbiAgZmxleDogMSAxIDBweDtcbiAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuc2l0ZS1mb290ZXJfX2luZm8tY29weXJpZ2h0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbi5zaXRlLWZvb3Rlcl9faW5mby1saW5rIHtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogMC43Nzc3Nzc3Nzc4cmVtO1xufVxuLnNpdGUtZm9vdGVyX19pbmZvLWxpbms6aG92ZXIge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgb3BhY2l0eTogMC43O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuc2l0ZS1mb290ZXJfX2luZm8tbGluayB7XG4gICAgZm9udC1zaXplOiAxLjE2NjY2NjY2NjdyZW07XG4gIH1cbn1cbi5zaXRlLWZvb3Rlcl9faW5mby1zb2NpYWwge1xuICBmbGV4OiAxIDEgMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICBtaW4td2lkdGg6IGluaXRpYWw7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuc2l0ZS1mb290ZXJfX2luZm8tc29jaWFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnNpdGUtZm9vdGVyX19pbmZvLXNvY2lhbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4uc2l0ZS1mb290ZXJfX2luZm8tc29jaWFsLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjY2NjY2NjY2NjdyZW07XG4gIGhlaWdodDogMS42NjY2NjY2NjY3cmVtO1xuICBtYXJnaW46IDAgMC4xMTExMTExMTExcmVtO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBjb2xvcjogIzAwOWZlMztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnNpdGUtZm9vdGVyX19pbmZvLXNvY2lhbC1saW5rIHtcbiAgICB3aWR0aDogMi4yNzc3Nzc3Nzc4cmVtO1xuICAgIGhlaWdodDogMi4yNzc3Nzc3Nzc4cmVtO1xuICB9XG59XG4uc2l0ZS1mb290ZXJfX2luZm8tc29jaWFsLWxpbms6aG92ZXIge1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi5zaXRlLWZvb3Rlcl9faW5mby1zb2NpYWwtaWNvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uc2l0ZS1mb290ZXJfX2luZm8tbmF2IHtcbiAgZmxleDogMSAxIDBweDtcbiAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuICBkaXNwbGF5OiBub25lO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnNpdGUtZm9vdGVyX19pbmZvLW5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjExMTExMTExMTFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4xMTExMTExMTExcmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaXRlLWZvb3Rlcl9faW5mby1uYXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5zaXRlLWZvb3Rlcl9faW5mby1uYXYgLm1lbnUtaXRlbSB7XG4gICAgbWFyZ2luOiAwLjU1NTU1NTU1NTZyZW0gMDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cblxuLmZvb3Rlci1iYW5uZXIgKyAuc2l0ZS1mb290ZXJfX2luZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEsIDkzLCAxMzIsIDAuOCk7XG59XG5cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDU1LjVyZW07XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDlmZTM7XG4gIGNvbG9yOiAjMDA5ZmUzO1xuICBwYWRkaW5nOiAwLjg4ODg4ODg4ODlyZW0gMi4xMTExMTExMTExcmVtIDAuOTQ0NDQ0NDQ0NHJlbSAyLjExMTExMTExMTFyZW07XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDEuMTExMTExMTExMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5idXR0b24ge1xuICBvdXRsaW5lOiAwO1xufVxuLmJ1dHRvbiwgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzAwNTA3MjtcbiAgY29sb3I6ICMwMDUwNzI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMS4zMzMzMzMzMzMzcmVtO1xuICB9XG59XG4uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOWZlMztcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXItY29sb3I6ICMwMDlmZTM7XG59XG5cbi5idXR0b24tLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNTUuNXJlbTtcbiAgcGFkZGluZzogMC44NWVtIDFlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZlZmVmZTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHBhZGRpbmc6IDAuNjY2NjY2NjY2N3JlbSAxLjMzMzMzMzMzMzNyZW0gMC43MjIyMjIyMjIycmVtIDEuMzMzMzMzMzMzM3JlbTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC44ODg4ODg4ODg5cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMC42NjY2NjY2NjY3cmVtIDJyZW0gMC43MjIyMjIyMjIycmVtIDEuMzMzMzMzMzMzM3JlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMS4xMTExMTExMTExcmVtIDEuMTExMTExMTExMXJlbSAxLjExMTExMTExMTFyZW07XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5idXR0b24tLXNjcm9sbCB7XG4gIG91dGxpbmU6IDA7XG59XG4uYnV0dG9uLS1zY3JvbGwsIC5idXR0b24tLXNjcm9sbDpob3ZlciwgLmJ1dHRvbi0tc2Nyb2xsOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnV0dG9uLS1zY3JvbGw6aG92ZXIsIC5idXR0b24tLXNjcm9sbDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzdmN2Y3ZjtcbiAgY29sb3I6ICM3ZjdmN2Y7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5idXR0b24tLXNjcm9sbCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG59XG4uYnV0dG9uLS1zY3JvbGw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBjb2xvcjogIzAxNWQ4NDtcbiAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlO1xufVxuLmJ1dHRvbi0tc2Nyb2xsOmJlZm9yZSwgLmJ1dHRvbi0tc2Nyb2xsOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTAuMTExMTExMTExMXJlbTtcbiAgcmlnaHQ6IDEuMTExMTExMTExMXJlbTtcbiAgd2lkdGg6IDAuNjY2NjY2NjY2N3JlbTtcbiAgaGVpZ2h0OiAwLjIyMjIyMjIyMjJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgd2lkdGg6IDAuNTU1NTU1NTU1NnJlbTtcbiAgaGVpZ2h0OiAwLjIyMjIyMjIyMjJyZW07XG59XG4uYnV0dG9uLS1zY3JvbGw6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVkoLTAuMjIyMjIyMjIyMnJlbSk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGVZKDApO1xuICB0b3A6IDEuMTY2NjY2NjY2N3JlbTtcbn1cbi5idXR0b24tLXNjcm9sbDphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlWSgwLjIyMjIyMjIyMjJyZW0pO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZVkoMCk7XG4gIHRvcDogMS4xNjY2NjY2NjY3cmVtO1xuICByaWdodDogMC44MzMzMzMzMzMzcmVtO1xufVxuLmJ1dHRvbi0tc2Nyb2xsOmhvdmVyOjpiZWZvcmUsIC5idXR0b24tLXNjcm9sbDpob3Zlcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE1ZDg0O1xufVxuXG4uZ2Zvcm1fd3JhcHBlciBmb3JtIHtcbiAgbWF4LXdpZHRoOiA1MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9wcmV2aW91c19idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDU1LjVyZW07XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3MTgyOUQ7XG4gIGNvbG9yOiAjNzE4MjlEO1xuICBwYWRkaW5nOiAwLjY2NjY2NjY2NjdyZW0gMS4zMzMzMzMzMzMzcmVtIDAuNzIyMjIyMjIyMnJlbSAxLjMzMzMzMzMzMzNyZW07XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuODg4ODg4ODg4OXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9wcmV2aW91c19idXR0b24ge1xuICBvdXRsaW5lOiAwO1xufVxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbjpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbjpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzM3NDE1MDtcbiAgY29sb3I6ICMzNzQxNTA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9wcmV2aW91c19idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3MTgyOUQ7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLWNvbG9yOiAjNzE4MjlEO1xufVxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX25leHRfYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1NS41cmVtO1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDA5ZmUzO1xuICBjb2xvcjogIzAwOWZlMztcbiAgcGFkZGluZzogMC42NjY2NjY2NjY3cmVtIDEuMzMzMzMzMzMzM3JlbSAwLjcyMjIyMjIyMjJyZW0gMS4zMzMzMzMzMzMzcmVtO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjg4ODg4ODg4ODlyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmbG9hdDogcmlnaHQ7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9uZXh0X2J1dHRvbiB7XG4gIG91dGxpbmU6IDA7XG59XG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fbmV4dF9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9uZXh0X2J1dHRvbjpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX25leHRfYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fbmV4dF9idXR0b246aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9uZXh0X2J1dHRvbjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzAwNTA3MjtcbiAgY29sb3I6ICMwMDUwNzI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9uZXh0X2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG59XG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fbmV4dF9idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5ZmUzO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlci1jb2xvcjogIzAwOWZlMztcbn1cblxuLmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyIHtcbiAgbWF4LXdpZHRoOiA1MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZ2Zvcm1fY29uZmlybWF0aW9uX21lc3NhZ2Uge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZ2Zvcm1fY29uZmlybWF0aW9uX21lc3NhZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogMS4xMTExMTExMTExcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMTExMTExMTExMXJlbTtcbiAgfVxufVxuXG4uZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLXRvcDogLTAuODMzMzMzMzMzM3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4zODg4ODg4ODg5cmVtO1xuICBmb250LXNpemU6IDAuNzc3Nzc3Nzc3OHJlbTtcbn1cblxuLmdmaWVsZF9odG1sIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4zODg4ODg4ODg5cmVtO1xufVxuXG4udmFsaWRhdGlvbl9lcnJvciB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDAuMjc3Nzc3Nzc3OHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4zODg4ODg4ODg5cmVtO1xuICBjb2xvcjogI2VjNTg0MDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnZhbGlkYXRpb25fZXJyb3Ige1xuICAgIHBhZGRpbmctbGVmdDogMS4xMTExMTExMTExcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMTExMTExMTExMXJlbTtcbiAgfVxufVxuXG4udmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgbWFyZ2luLXRvcDogLTAuNDQ0NDQ0NDQ0NHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4zMzMzMzMzMzMzcmVtO1xuICBjb2xvcjogI2VjNTg0MDtcbiAgZm9udC1zaXplOiAwLjg4ODg4ODg4ODlyZW07XG59XG5cbi5nZm9ybV9oZWFkaW5nIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMC44MzMzMzMzMzMzcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjgzMzMzMzMzMzNyZW07XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmdmb3JtX2hlYWRpbmcge1xuICAgIHBhZGRpbmctbGVmdDogMS4xMTExMTExMTExcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMTExMTExMTExMXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZ2Zvcm1faGVhZGluZyB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY2NjY2NjclO1xuICAgIHBhZGRpbmctbGVmdDogMC44MzMzMzMzMzMzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZ2Zvcm1faGVhZGluZyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjExMTExMTExMTFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4xMTExMTExMTExcmVtO1xuICB9XG59XG5cbi5nZm9ybV90aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS42NjY2NjY2NjY3cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZ2Zvcm1fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMi4zMzMzMzMzMzMzcmVtO1xuICB9XG59XG5cbi5nZm9ybV9ib2R5IHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMC44MzMzMzMzMzMzcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjgzMzMzMzMzMzNyZW07XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmdmb3JtX2JvZHkge1xuICAgIHBhZGRpbmctbGVmdDogMS4xMTExMTExMTExcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMTExMTExMTExMXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZ2Zvcm1fYm9keSB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY2NjY2NjclO1xuICAgIHBhZGRpbmctbGVmdDogMC44MzMzMzMzMzMzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZ2Zvcm1fYm9keSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjExMTExMTExMTFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4xMTExMTExMTExcmVtO1xuICB9XG59XG5cbi5nZm9ybV9mb290ZXIge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZ2Zvcm1fZm9vdGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmdmb3JtX2Zvb3RlciB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY2NjY2NjclO1xuICAgIHBhZGRpbmctbGVmdDogMC44MzMzMzMzMzMzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZ2Zvcm1fZm9vdGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cblxuLmdmb3JtX2ZpZWxkcyB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uZ2lucHV0X2NvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDEuMzg4ODg4ODg4OXJlbTtcbn1cbi5naW5wdXRfY29udGFpbmVyIHRleHRhcmVhIHtcbiAgaGVpZ2h0OiA4Ljg4ODg4ODg4ODlyZW07XG59XG4uZ2ZpZWxkX2Vycm9yIC5naW5wdXRfY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMC44MzMzMzMzMzMzcmVtO1xufVxuLmdpbnB1dF9jb250YWluZXIgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uZ2ZpZWxkX2xhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42NjY2NjY2NjY3cmVtO1xuICBjb2xvcjogIzAxNWQ4NDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmdmb3JtX2J1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwLjI3Nzc3Nzc3NzhyZW07XG59XG5cbi5nZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9dGV4dF0sXG5pbnB1dFt0eXBlPW51bWJlcl0sXG5pbnB1dFt0eXBlPWVtYWlsXSxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNBREJBQ0M7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDAuNzIyMjIyMjIyMnJlbSAxLjExMTExMTExMTFyZW07XG4gIGhlaWdodDogMi43Nzc3Nzc3Nzc4cmVtO1xuICBib3gtc2hhZG93OiAwIDFweCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbmlucHV0W3R5cGU9dGV4dF06Zm9jdXMsXG5pbnB1dFt0eXBlPW51bWJlcl06Zm9jdXMsXG5pbnB1dFt0eXBlPWVtYWlsXTpmb2N1cyxcbnNlbGVjdDpmb2N1cyxcbnRleHRhcmVhOmZvY3VzIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMDlmZTM7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5nZmllbGRfZXJyb3IgaW5wdXRbdHlwZT10ZXh0XSxcbi5nZmllbGRfZXJyb3IgaW5wdXRbdHlwZT1udW1iZXJdLFxuLmdmaWVsZF9lcnJvciBpbnB1dFt0eXBlPWVtYWlsXSxcbi5nZmllbGRfZXJyb3Igc2VsZWN0LFxuLmdmaWVsZF9lcnJvciB0ZXh0YXJlYSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNlYzU4NDA7XG59XG5cbi5nZmllbGRfY2hlY2tib3gge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjU1NTU1NTU1NTZyZW07XG59XG4uZ2ZpZWxkX2NoZWNrYm94IGxpIHtcbiAgbWluLWhlaWdodDogMS44ODg4ODg4ODg5cmVtO1xuICBtYXJnaW4tdG9wOiAwLjY2NjY2NjY2NjdyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNTU1NTU1NTU1NnJlbTtcbn1cbi5nZmllbGRfY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmdmaWVsZF9jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDIuNjY2NjY2NjY2N3JlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5nZmllbGRfY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0gKyBsYWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGVmdDogMDtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0xcmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMC4xNjY2NjY2NjY3cmVtO1xuICBwYWRkaW5nLXRvcDogLTAuNTU1NTU1NTU1NnJlbTtcbiAgd2lkdGg6IDEuODg4ODg4ODg4OXJlbTtcbiAgaGVpZ2h0OiAxLjg4ODg4ODg4ODlyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQURCQUNDO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3gtc2hhZG93OiAwIDFweCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5nZmllbGRfY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IHVybChcIi4uL2ltYWdlcy9pY29uX2NoZWNrLnN2Z1wiKTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi5nZm9ybV9hamF4X3NwaW5uZXIge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgei1pbmRleDogOTk5OTk5O1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIuNzc3Nzc3Nzc3OHJlbTtcbiAgbWFyZ2luLXRvcDogLTIuNzc3Nzc3Nzc3OHJlbTtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwIDk5OTlweCA5OTk5cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgaW1nLnVpLWRhdGVwaWNrZXItdHJpZ2dlciB7XG4gIHdpZHRoOiAxN3B4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTZweCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZ2Zvcm1fd3JhcHBlciBpbnB1dC5kYXRlcGlja2VyLmRhdGVwaWNrZXJfd2l0aF9pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiA0cHggIWltcG9ydGFudDtcbiAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmdmb3JtX3dyYXBwZXIgaW5wdXQuZGF0ZXBpY2tlcl93aXRoX2ljb24uc21hbGwsXG4uZ2Zvcm1fd3JhcHBlciBpbnB1dC5kYXRlcGlja2VyX3dpdGhfaWNvbi5tZWRpdW0sXG4uZ2Zvcm1fd3JhcHBlciBpbnB1dC5kYXRlcGlja2VyX3dpdGhfaWNvbi5sYXJnZSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyNHB4KTtcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciBpbnB1dC5kYXRlcGlja2VyX3dpdGhfaWNvbi5zbWFsbCxcbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfZXJyb3IgaW5wdXQuZGF0ZXBpY2tlcl93aXRoX2ljb24ubWVkaXVtLFxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciBpbnB1dC5kYXRlcGlja2VyX3dpdGhfaWNvbi5sYXJnZSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzMnB4KTtcbn1cblxuLnNpdGUge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5wYWdlIC5lbnRyeS1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbn1cbi5lbnRyeS1jb250ZW50X19ib2R5IHtcbiAgbWF4LXdpZHRoOiA1My4zMzMzMzMzMzMzcmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICBwYWRkaW5nLXRvcDogMi43Nzc3Nzc3Nzc4cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMi43Nzc3Nzc3Nzc4cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZW50cnktY29udGVudF9fYm9keSB7XG4gICAgcGFkZGluZy10b3A6IDVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDVyZW07XG4gIH1cbn1cbi5lbnRyeS1jb250ZW50X19ib2R5OmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBhZ2UtY29udGVudCAud3Atc21pbGV5LFxuLmVudHJ5LWNvbnRlbnQgLndwLXNtaWxleSxcbi5jb21tZW50LWNvbnRlbnQgLndwLXNtaWxleSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyogTWFrZSBzdXJlIGVtYmVkcyBhbmQgaWZyYW1lcyBmaXQgdGhlaXIgY29udGFpbmVycy4gKi9cbmVtYmVkLFxuaWZyYW1lLFxub2JqZWN0IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uYWxpZ25sZWZ0IHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVlbTtcbn1cblxuLmFsaWducmlnaHQge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDEuNWVtO1xufVxuXG4uYWxpZ25jZW50ZXIge1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi53cC1jYXB0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbi53cC1jYXB0aW9uIGltZ1tjbGFzcyo9d3AtaW1hZ2UtXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLndwLWNhcHRpb24gLndwLWNhcHRpb24tdGV4dCB7XG4gIG1hcmdpbjogMC44MDc1ZW0gMDtcbn1cblxuLndwLWNhcHRpb24tdGV4dCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmdhbGxlcnkge1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbn1cblxuLmdhbGxlcnktaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3aWR0aDogMTAwJTtcbn1cbi5nYWxsZXJ5LWNvbHVtbnMtMiAuZ2FsbGVyeS1pdGVtIHtcbiAgbWF4LXdpZHRoOiA1MCU7XG59XG4uZ2FsbGVyeS1jb2x1bW5zLTMgLmdhbGxlcnktaXRlbSB7XG4gIG1heC13aWR0aDogMzMuMzMlO1xufVxuLmdhbGxlcnktY29sdW1ucy00IC5nYWxsZXJ5LWl0ZW0ge1xuICBtYXgtd2lkdGg6IDI1JTtcbn1cbi5nYWxsZXJ5LWNvbHVtbnMtNSAuZ2FsbGVyeS1pdGVtIHtcbiAgbWF4LXdpZHRoOiAyMCU7XG59XG4uZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbSB7XG4gIG1heC13aWR0aDogMTYuNjYlO1xufVxuLmdhbGxlcnktY29sdW1ucy03IC5nYWxsZXJ5LWl0ZW0ge1xuICBtYXgtd2lkdGg6IDE0LjI4JTtcbn1cbi5nYWxsZXJ5LWNvbHVtbnMtOCAuZ2FsbGVyeS1pdGVtIHtcbiAgbWF4LXdpZHRoOiAxMi41JTtcbn1cbi5nYWxsZXJ5LWNvbHVtbnMtOSAuZ2FsbGVyeS1pdGVtIHtcbiAgbWF4LXdpZHRoOiAxMS4xMSU7XG59XG5cbi5nYWxsZXJ5LWNhcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMuNjg3NWVtKSB7XG4gIC5tYWluLW5hdmlnYXRpb24gLnByaW1hcnktbWVudS13cmFwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMy40NDQ0NDQ0NDQ0cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjY2NjY2NjY2NjdyZW07XG4gICAgYmFja2dyb3VuZDogIzAxNWQ4NDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgei1pbmRleDogLTE7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLm1haW4tbmF2aWdhdGlvbiAucHJpbWFyeS1tZW51LXdyYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5tYWluLW5hdmlnYXRpb24gLm1lbnUge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi5tYWluLW5hdmlnYXRpb24gLm1lbnUgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm1haW4tbmF2aWdhdGlvbiAubWVudSAubWVudS1pdGVtOmhvdmVyID4gLmNoaWxkcmVuLFxuLm1haW4tbmF2aWdhdGlvbiAubWVudSAubWVudS1pdGVtOmZvY3VzID4gLmNoaWxkcmVuIHtcbiAgbGVmdDogYXV0bztcbn1cbi5tYWluLW5hdmlnYXRpb24gLm1lbnUtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5tYWluLW5hdmlnYXRpb24gLm1lbnUtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC5tYWluLW5hdmlnYXRpb24gLm1lbnUtaXRlbTpob3ZlciAuc3ViLW1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4ubWFpbi1uYXZpZ2F0aW9uIC5tZW51LWl0ZW06aG92ZXIgPiBhLCAubWFpbi1uYXZpZ2F0aW9uIC5tZW51LWl0ZW06Zm9jdXMgPiBhIHtcbiAgY29sb3I6ICNBREJBQ0M7XG59XG4ubWFpbi1uYXZpZ2F0aW9uIGEsXG4ubWFpbi1uYXZpZ2F0aW9uIC5sYW5nc3dpdGNoLWRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMXJlbSAxLjExMTExMTExMTFyZW07XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAxLjE2NjY2NjY2NjdyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLm1haW4tbmF2aWdhdGlvbiBhLFxuLm1haW4tbmF2aWdhdGlvbiAubGFuZ3N3aXRjaC1kcm9wZG93biB7XG4gICAgcGFkZGluZzogMCAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbi5tYWluLW5hdmlnYXRpb24gLmxhbmdzd2l0Y2gtZHJvcGRvd24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG9wYWNpdHk6IDAuNjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLm1haW4tbmF2aWdhdGlvbiAubGFuZ3N3aXRjaC1kcm9wZG93biB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5tYWluLW5hdmlnYXRpb24gLmxhbmdzd2l0Y2gtZHJvcGRvd24gLmljb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAubWFpbi1uYXZpZ2F0aW9uIC5sYW5nc3dpdGNoLWRyb3Bkb3duIC5pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDAuODg4ODg4ODg4OXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC4zMzMzMzMzMzMzcmVtO1xuICB9XG59XG4ubWFpbi1uYXZpZ2F0aW9uIC5zdWItbWVudSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLm1haW4tbmF2aWdhdGlvbiAuc3ViLW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDAuNDQ0NDQ0NDQ0NHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC44MzMzMzMzMzMzcmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLmlzLXN0dWNrIC5tYWluLW5hdmlnYXRpb24gLnN1Yi1tZW51IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE1ZDg0O1xuICB9XG4gIC5tYWluLW5hdmlnYXRpb24gLnN1Yi1tZW51IC5tZW51LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5tYWluLW5hdmlnYXRpb24gLnN1Yi1tZW51IGEge1xuICAgIHBhZGRpbmctdG9wOiAwLjIyMjIyMjIyMjJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjIyMjIyMjIyMnJlbTtcbiAgfVxufVxuLm1haW4tbmF2aWdhdGlvbiAuY3VycmVudF9wYWdlX2l0ZW0gPiBhLFxuLm1haW4tbmF2aWdhdGlvbiAuY3VycmVudC1tZW51LWl0ZW0gPiBhLFxuLm1haW4tbmF2aWdhdGlvbiAuY3VycmVudF9wYWdlX2FuY2VzdG9yID4gYSxcbi5tYWluLW5hdmlnYXRpb24gLmN1cnJlbnQtbWVudS1hbmNlc3RvciA+IGEge1xuICBvcGFjaXR5OiAwLjc7XG59XG5cbi8qIFNtYWxsIG1lbnUuICovXG4ubWVudS10b2dnbGUsXG4ubWFpbi1uYXZpZ2F0aW9uLnRvZ2dsZWQgLm1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm1lbnUtdG9nZ2xlIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42NjY2NjY2NjY3cmVtO1xuICBwYWRkaW5nOiAwLjYxMTExMTExMTFyZW0gMC42NjY2NjY2NjY3cmVtIDAuNDQ0NDQ0NDQ0NHJlbSAwLjY2NjY2NjY2NjdyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtc2l6ZTogMC43Nzc3Nzc3Nzc4cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5tZW51LXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubWFpbi1uYXZpZ2F0aW9uIC5tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cbi5zaXRlLW1haW4gLmNvbW1lbnQtbmF2aWdhdGlvbixcbi5zaXRlLW1haW4gLnBvc3RzLW5hdmlnYXRpb24sXG4uc2l0ZS1tYWluIC5wb3N0LW5hdmlnYXRpb24ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMDA5ZmUzO1xufVxuLmNvbW1lbnQtbmF2aWdhdGlvbiAubmF2LWxpbmtzLFxuLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1saW5rcyxcbi5wb3N0LW5hdmlnYXRpb24gLm5hdi1saW5rcyB7XG4gIG1heC13aWR0aDogNzZyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG4uY29tbWVudC1uYXZpZ2F0aW9uIC5uYXYtbGlua3MgLnBvc3QtdHlwZSxcbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtbGlua3MgLnBvc3QtdHlwZSxcbi5wb3N0LW5hdmlnYXRpb24gLm5hdi1saW5rcyAucG9zdC10eXBlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmNvbW1lbnQtbmF2aWdhdGlvbiAubmF2LWxpbmtzIC5wb3N0LXR5cGUsXG4ucG9zdHMtbmF2aWdhdGlvbiAubmF2LWxpbmtzIC5wb3N0LXR5cGUsXG4ucG9zdC1uYXZpZ2F0aW9uIC5uYXYtbGlua3MgLnBvc3QtdHlwZSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIH1cbn1cbi5jb21tZW50LW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyxcbi5jb21tZW50LW5hdmlnYXRpb24gLm5hdi1uZXh0LFxuLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyxcbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtbmV4dCxcbi5wb3N0LW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyxcbi5wb3N0LW5hdmlnYXRpb24gLm5hdi1uZXh0IHtcbiAgZmxleDogMSAxIDBweDtcbiAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuY29tbWVudC1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMsXG4uY29tbWVudC1uYXZpZ2F0aW9uIC5uYXYtbmV4dCxcbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMsXG4ucG9zdHMtbmF2aWdhdGlvbiAubmF2LW5leHQsXG4ucG9zdC1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMsXG4ucG9zdC1uYXZpZ2F0aW9uIC5uYXYtbmV4dCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjExMTExMTExMTFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4xMTExMTExMTExcmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5jb21tZW50LW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyxcbi5jb21tZW50LW5hdmlnYXRpb24gLm5hdi1uZXh0LFxuLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyxcbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtbmV4dCxcbi5wb3N0LW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyxcbi5wb3N0LW5hdmlnYXRpb24gLm5hdi1uZXh0IHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmNvbW1lbnQtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzLFxuLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyxcbi5wb3N0LW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbi5jb21tZW50LW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyBhLFxuLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyBhLFxuLnBvc3QtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDU1LjVyZW07XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDAuNjY2NjY2NjY2N3JlbSAxLjMzMzMzMzMzMzNyZW0gMC43MjIyMjIyMjIycmVtIDEuMzMzMzMzMzMzM3JlbTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC44ODg4ODg4ODg5cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMC42NjY2NjY2NjY3cmVtIDEuMzMzMzMzMzMzM3JlbSAwLjcyMjIyMjIyMjJyZW0gMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDEuMTExMTExMTExMXJlbSAwO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAuY29tbWVudC1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYSxcbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyBhLFxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAucG9zdC1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYSB7XG4gIG91dGxpbmU6IDA7XG59XG4uY29tbWVudC1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYSwgLmNvbW1lbnQtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIGE6aG92ZXIsIC5jb21tZW50LW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyBhOmZvY3VzLFxuLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyBhLFxuLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyBhOmhvdmVyLFxuLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyBhOmZvY3VzLFxuLnBvc3QtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIGEsXG4ucG9zdC1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYTpob3Zlcixcbi5wb3N0LW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uY29tbWVudC1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYTpob3ZlciwgLmNvbW1lbnQtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIGE6Zm9jdXMsXG4ucG9zdHMtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIGE6aG92ZXIsXG4ucG9zdHMtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIGE6Zm9jdXMsXG4ucG9zdC1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYTpob3Zlcixcbi5wb3N0LW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyBhOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiBncmF5O1xuICBjb2xvcjogZ3JheTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmNvbW1lbnQtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIGEsXG4ucG9zdHMtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIGEsXG4ucG9zdC1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG59XG4uY29tbWVudC1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYTpob3Zlcixcbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYTpob3Zlcixcbi5wb3N0LW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjMDA5ZmUzO1xuICBib3JkZXItY29sb3I6IHdoaXRlO1xufVxuLmNvbW1lbnQtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIGE6YmVmb3JlLCAuY29tbWVudC1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYTphZnRlcixcbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYTpiZWZvcmUsXG4ucG9zdHMtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIGE6YWZ0ZXIsXG4ucG9zdC1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYTpiZWZvcmUsXG4ucG9zdC1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0wLjExMTExMTExMTFyZW07XG4gIHJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIHdpZHRoOiAwLjY2NjY2NjY2NjdyZW07XG4gIGhlaWdodDogMC4yMjIyMjIyMjIycmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMS4xMTExMTExMTExcmVtO1xufVxuLmNvbW1lbnQtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIGE6YmVmb3JlLFxuLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyBhOmJlZm9yZSxcbi5wb3N0LW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyBhOmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGVZKC0wLjIyMjIyMjIyMjJyZW0pO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZVkoLTAuMjIyMjIyMjIyMnJlbSk7XG59XG4uY29tbWVudC1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYTphZnRlcixcbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYTphZnRlcixcbi5wb3N0LW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyBhOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGVZKDAuMjIyMjIyMjIyMnJlbSk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGVZKDAuMjIyMjIyMjIyMnJlbSk7XG59XG4uY29tbWVudC1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYTpob3Zlcjo6YmVmb3JlLCAuY29tbWVudC1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYTpob3Zlcjo6YWZ0ZXIsXG4ucG9zdHMtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIGE6aG92ZXI6OmJlZm9yZSxcbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYTpob3Zlcjo6YWZ0ZXIsXG4ucG9zdC1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYTpob3Zlcjo6YmVmb3JlLFxuLnBvc3QtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIGE6aG92ZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOWZlMztcbiAgbGVmdDogMC44ODg4ODg4ODg5cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuY29tbWVudC1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYSxcbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYSxcbi5wb3N0LW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyBhIHtcbiAgICBtYXJnaW46IDIuMjIyMjIyMjIyMnJlbSAwO1xuICB9XG59XG4uY29tbWVudC1uYXZpZ2F0aW9uIC5uYXYtbmV4dCxcbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtbmV4dCxcbi5wb3N0LW5hdmlnYXRpb24gLm5hdi1uZXh0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4uY29tbWVudC1uYXZpZ2F0aW9uIC5uYXYtbmV4dCBhLFxuLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1uZXh0IGEsXG4ucG9zdC1uYXZpZ2F0aW9uIC5uYXYtbmV4dCBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1NS41cmVtO1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAwLjY2NjY2NjY2NjdyZW0gMS4zMzMzMzMzMzMzcmVtIDAuNzIyMjIyMjIyMnJlbSAxLjMzMzMzMzMzMzNyZW07XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuODg4ODg4ODg4OXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDAuNjY2NjY2NjY2N3JlbSAycmVtIDAuNzIyMjIyMjIyMnJlbSAxLjMzMzMzMzMzMzNyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAxLjExMTExMTExMTFyZW0gMDtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLmNvbW1lbnQtbmF2aWdhdGlvbiAubmF2LW5leHQgYSxcbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1uZXh0IGEsXG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5wb3N0LW5hdmlnYXRpb24gLm5hdi1uZXh0IGEge1xuICBvdXRsaW5lOiAwO1xufVxuLmNvbW1lbnQtbmF2aWdhdGlvbiAubmF2LW5leHQgYSwgLmNvbW1lbnQtbmF2aWdhdGlvbiAubmF2LW5leHQgYTpob3ZlciwgLmNvbW1lbnQtbmF2aWdhdGlvbiAubmF2LW5leHQgYTpmb2N1cyxcbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtbmV4dCBhLFxuLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1uZXh0IGE6aG92ZXIsXG4ucG9zdHMtbmF2aWdhdGlvbiAubmF2LW5leHQgYTpmb2N1cyxcbi5wb3N0LW5hdmlnYXRpb24gLm5hdi1uZXh0IGEsXG4ucG9zdC1uYXZpZ2F0aW9uIC5uYXYtbmV4dCBhOmhvdmVyLFxuLnBvc3QtbmF2aWdhdGlvbiAubmF2LW5leHQgYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmNvbW1lbnQtbmF2aWdhdGlvbiAubmF2LW5leHQgYTpob3ZlciwgLmNvbW1lbnQtbmF2aWdhdGlvbiAubmF2LW5leHQgYTpmb2N1cyxcbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtbmV4dCBhOmhvdmVyLFxuLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1uZXh0IGE6Zm9jdXMsXG4ucG9zdC1uYXZpZ2F0aW9uIC5uYXYtbmV4dCBhOmhvdmVyLFxuLnBvc3QtbmF2aWdhdGlvbiAubmF2LW5leHQgYTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogZ3JheTtcbiAgY29sb3I6IGdyYXk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5jb21tZW50LW5hdmlnYXRpb24gLm5hdi1uZXh0IGEsXG4ucG9zdHMtbmF2aWdhdGlvbiAubmF2LW5leHQgYSxcbi5wb3N0LW5hdmlnYXRpb24gLm5hdi1uZXh0IGEge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuLmNvbW1lbnQtbmF2aWdhdGlvbiAubmF2LW5leHQgYTpob3Zlcixcbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtbmV4dCBhOmhvdmVyLFxuLnBvc3QtbmF2aWdhdGlvbiAubmF2LW5leHQgYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzAwOWZlMztcbiAgYm9yZGVyLWNvbG9yOiB3aGl0ZTtcbn1cbi5jb21tZW50LW5hdmlnYXRpb24gLm5hdi1uZXh0IGE6YmVmb3JlLCAuY29tbWVudC1uYXZpZ2F0aW9uIC5uYXYtbmV4dCBhOmFmdGVyLFxuLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1uZXh0IGE6YmVmb3JlLFxuLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1uZXh0IGE6YWZ0ZXIsXG4ucG9zdC1uYXZpZ2F0aW9uIC5uYXYtbmV4dCBhOmJlZm9yZSxcbi5wb3N0LW5hdmlnYXRpb24gLm5hdi1uZXh0IGE6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMC4xMTExMTExMTExcmVtO1xuICByaWdodDogMS4xMTExMTExMTExcmVtO1xuICB3aWR0aDogMC42NjY2NjY2NjY3cmVtO1xuICBoZWlnaHQ6IDAuMjIyMjIyMjIyMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbn1cbi5jb21tZW50LW5hdmlnYXRpb24gLm5hdi1uZXh0IGE6YmVmb3JlLFxuLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1uZXh0IGE6YmVmb3JlLFxuLnBvc3QtbmF2aWdhdGlvbiAubmF2LW5leHQgYTpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlWSgtMC4yMjIyMjIyMjIycmVtKTtcbn1cbi5jb21tZW50LW5hdmlnYXRpb24gLm5hdi1uZXh0IGE6YWZ0ZXIsXG4ucG9zdHMtbmF2aWdhdGlvbiAubmF2LW5leHQgYTphZnRlcixcbi5wb3N0LW5hdmlnYXRpb24gLm5hdi1uZXh0IGE6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZVkoMC4yMjIyMjIyMjIycmVtKTtcbn1cbi5jb21tZW50LW5hdmlnYXRpb24gLm5hdi1uZXh0IGE6aG92ZXI6OmJlZm9yZSwgLmNvbW1lbnQtbmF2aWdhdGlvbiAubmF2LW5leHQgYTpob3Zlcjo6YWZ0ZXIsXG4ucG9zdHMtbmF2aWdhdGlvbiAubmF2LW5leHQgYTpob3Zlcjo6YmVmb3JlLFxuLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1uZXh0IGE6aG92ZXI6OmFmdGVyLFxuLnBvc3QtbmF2aWdhdGlvbiAubmF2LW5leHQgYTpob3Zlcjo6YmVmb3JlLFxuLnBvc3QtbmF2aWdhdGlvbiAubmF2LW5leHQgYTpob3Zlcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5ZmUzO1xuICByaWdodDogMC44ODg4ODg4ODg5cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuY29tbWVudC1uYXZpZ2F0aW9uIC5uYXYtbmV4dCBhLFxuLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1uZXh0IGEsXG4ucG9zdC1uYXZpZ2F0aW9uIC5uYXYtbmV4dCBhIHtcbiAgICBtYXJnaW46IDIuMjIyMjIyMjIyMnJlbSAwO1xuICB9XG59XG5cbi5iYW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICMwMTM4NGY7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYmFubmVyLS10aW55IHtcbiAgcGFkZGluZy10b3A6IDQuNDQ0NDQ0NDQ0NHJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmJhbm5lci0tdGlueSB7XG4gICAgcGFkZGluZy10b3A6IDYuMTExMTExMTExMXJlbTtcbiAgfVxufVxuLmJhbm5lci0tdGlueS5oYXMtbm90LWJhbm5lci1zY3JvbGwtZG93biB7XG4gIHBhZGRpbmctYm90dG9tOiAyLjIyMjIyMjIyMjJyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5iYW5uZXItLXRpbnkuaGFzLW5vdC1iYW5uZXItc2Nyb2xsLWRvd24ge1xuICAgIHBhZGRpbmctdG9wOiA2LjExMTExMTExMTFyZW07XG4gIH1cbn1cbi5iYW5uZXItLXNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDcuNTU1NTU1NTU1NnJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmJhbm5lci0tc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiA4Ljg4ODg4ODg4ODlyZW07XG4gIH1cbn1cbi5iYW5uZXItLXNtYWxsLmhhcy1ub3QtYmFubmVyLXNjcm9sbC1kb3duIHtcbiAgcGFkZGluZy1ib3R0b206IDMuODg4ODg4ODg4OXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmJhbm5lci0tc21hbGwuaGFzLW5vdC1iYW5uZXItc2Nyb2xsLWRvd24ge1xuICAgIHBhZGRpbmctdG9wOiAxMHJlbTtcbiAgfVxufVxuLmJhbm5lci0tbGFyZ2Uge1xuICBwYWRkaW5nLXRvcDogNy41NTU1NTU1NTU2cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuYmFubmVyLS1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDExLjExMTExMTExMTFyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmJhbm5lci0tbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAxMy44ODg4ODg4ODg5cmVtO1xuICB9XG59XG4uYmFubmVyLS1jb21tdW5pdHkge1xuICBwYWRkaW5nLXRvcDogMy4zMzMzMzMzMzMzcmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuYmFubmVyLS1jb21tdW5pdHkge1xuICAgIHBhZGRpbmctdG9wOiA1cmVtO1xuICB9XG59XG4uYmFubmVyLS1jb21tdW5pdHkgLmJhbm5lcl9fdGl0bGUge1xuICBmb250LXNpemU6IDIuMjIyMjIyMjIyMnJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmJhbm5lci0tY29tbXVuaXR5IC5iYW5uZXJfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDIuNjY2NjY2NjY2N3JlbTtcbiAgfVxufVxuLmJhbm5lcl9fcm93IHtcbiAgbWF4LXdpZHRoOiA1MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgZmxleDogMSAxIDBweDtcbiAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5iYW5uZXJfX3JvdyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjExMTExMTExMTFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4xMTExMTExMTExcmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5iYW5uZXItLXNtYWxsIC5iYW5uZXJfX3JvdyB7XG4gICAgbWluLWhlaWdodDogMTMuODg4ODg4ODg4OXJlbTtcbiAgfVxuICAuYmFubmVyLS1sYXJnZSAuYmFubmVyX19yb3cge1xuICAgIG1pbi1oZWlnaHQ6IDIyLjc3Nzc3Nzc3NzhyZW07XG4gIH1cbn1cbi5iYW5uZXJfX3RpdGxlLCAuYmFubmVyX19jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYmFubmVyX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIGZvbnQtc2l6ZTogMS42NjY2NjY2NjY3cmVtO1xuICBjb2xvcjogd2hpdGU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuYmFubmVyX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyLjY2NjY2NjY2NjdyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmJhbm5lcl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMy4zMzMzMzMzMzMzcmVtO1xuICB9XG59XG4uYmFubmVyLS10aW55IC5iYW5uZXJfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmJhbm5lci0tdGlueSAuYmFubmVyX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5iYW5uZXItLXRpbnkgLmJhbm5lcl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMi42NjY2NjY2NjY3cmVtO1xuICB9XG59XG4uYmFubmVyX19jb250ZW50IHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDAgMC44MzMzMzMzMzMzcmVtO1xufVxuLmJhbm5lci0tdGlueSAuYmFubmVyX19jb250ZW50IHtcbiAgcGFkZGluZzogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmJhbm5lcl9fY29udGVudCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuLmJhbm5lcl9fY29udGVudCBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cbi5iYW5uZXItLXRpbnkgLmJhbm5lcl9fY29udGVudCBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuLmJhbm5lcl9fYmctaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG4uYmFubmVyIC5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDU1LjVyZW07XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAwLjg4ODg4ODg4ODlyZW0gMi4xMTExMTExMTExcmVtIDAuOTQ0NDQ0NDQ0NHJlbSAyLjExMTExMTExMTFyZW07XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDEuMTExMTExMTExMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMS4zMzMzMzMzMzMzcmVtO1xuICBwYWRkaW5nOiAwLjQ0NDQ0NDQ0NDRyZW0gMS4zMzMzMzMzMzMzcmVtIDAuNTU1NTU1NTU1NnJlbSAxLjMzMzMzMzMzMzNyZW07XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5iYW5uZXIgLmJ1dHRvbiB7XG4gIG91dGxpbmU6IDA7XG59XG4uYmFubmVyIC5idXR0b24sIC5iYW5uZXIgLmJ1dHRvbjpob3ZlciwgLmJhbm5lciAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYmFubmVyIC5idXR0b246aG92ZXIsIC5iYW5uZXIgLmJ1dHRvbjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogZ3JheTtcbiAgY29sb3I6IGdyYXk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5iYW5uZXIgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjMzMzMzMzMzMzNyZW07XG4gIH1cbn1cbi5iYW5uZXIgLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjMDE1ZDg0O1xuICBib3JkZXItY29sb3I6ICNmZmY7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5iYW5uZXIgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjY2NjY2NjY2NjdyZW07XG4gICAgcGFkZGluZzogMC41NTU1NTU1NTU2cmVtIDEuNjY2NjY2NjY2N3JlbSAwLjY2NjY2NjY2NjdyZW0gMS42NjY2NjY2NjY3cmVtO1xuICB9XG59XG4uYmFubmVyLXNjcm9sbC1kb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMCAxLjExMTExMTExMTFyZW07XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxLjU1NTU1NTU1NTZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmJhbm5lci1zY3JvbGwtZG93biB7XG4gICAgZm9udC1zaXplOiAxLjY2NjY2NjY2NjdyZW07XG4gIH1cbn1cbi5iYW5uZXItLXRpbnkgLmJhbm5lci1zY3JvbGwtZG93biB7XG4gIGZvbnQtc2l6ZTogMS4zMzMzMzMzMzMzcmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuYmFubmVyLS10aW55IC5iYW5uZXItc2Nyb2xsLWRvd24ge1xuICAgIGZvbnQtc2l6ZTogMS40NDQ0NDQ0NDQ0cmVtO1xuICB9XG59XG4uYmFubmVyLXNjcm9sbC1kb3duX190aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi5iYW5uZXItc2Nyb2xsLWRvd24gLmljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMC44ODg4ODg4ODg5cmVtIGF1dG8gMS45NDQ0NDQ0NDQ0cmVtIGF1dG87XG4gIGZpbGw6ICNmZWZlZmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbn1cbi5iYW5uZXItLXRpbnkgLmJhbm5lci1zY3JvbGwtZG93biAuaWNvbiB7XG4gIHdpZHRoOiAxLjMzMzMzMzMzMzNyZW07XG4gIG1hcmdpbjogMC4yMjIyMjIyMjIycmVtIGF1dG8gMS41NTU1NTU1NTU2cmVtIGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5iYW5uZXItLXRpbnkgLmJhbm5lci1zY3JvbGwtZG93biAuaWNvbiB7XG4gICAgbWFyZ2luLXRvcDogMC4zMzMzMzMzMzMzcmVtO1xuICB9XG59XG4uYmFubmVyLXNjcm9sbC1kb3duOmhvdmVyIC5pY29uIHtcbiAgZmlsbDogIzAwOWZlMztcbiAgdG9wOiAwLjMzMzMzMzMzMzNyZW07XG59XG5cbi5jb2xsYWJvcmF0aW9uLXN0ZXAge1xuICBwYWRkaW5nLXRvcDogMi43Nzc3Nzc3Nzc4cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMi43Nzc3Nzc3Nzc4cmVtO1xuICBjb2xvcjogIzM5OWRjYztcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuY29sbGFib3JhdGlvbi1zdGVwIHtcbiAgICBwYWRkaW5nLXRvcDogNC40NDQ0NDQ0NDQ0cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA1cmVtO1xuICB9XG59XG4uY29sbGFib3JhdGlvbi1zdGVwOm50aC1jaGlsZCgyKSB7XG4gIGNvbG9yOiAjNDVCRUQ4O1xufVxuLmNvbGxhYm9yYXRpb24tc3RlcDpudGgtY2hpbGQoMykge1xuICBjb2xvcjogIzQ0YjFhZDtcbn1cbi5jb2xsYWJvcmF0aW9uLXN0ZXA6bnRoLWNoaWxkKDQpIHtcbiAgY29sb3I6ICNkNDk5NzI7XG59XG4uY29sbGFib3JhdGlvbi1zdGVwOm50aC1jaGlsZCg1KSB7XG4gIGNvbG9yOiAjYzE4MjhlO1xufVxuLmNvbGxhYm9yYXRpb24tc3RlcF9fcm93IHtcbiAgbWF4LXdpZHRoOiA3NnJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cbi5jb2xsYWJvcmF0aW9uLXN0ZXBfX2ljb24ge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjU1NTU1NTU1NTZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmNvbGxhYm9yYXRpb24tc3RlcF9faWNvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjExMTExMTExMTFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4xMTExMTExMTExcmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5jb2xsYWJvcmF0aW9uLXN0ZXBfX2ljb24ge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICAgIG1heC13aWR0aDogMjUlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5jb2xsYWJvcmF0aW9uLXN0ZXBfX2ljb24ge1xuICAgIHBhZGRpbmctbGVmdDogMS4xMTExMTExMTExcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMTExMTExMTExMXJlbTtcbiAgfVxufVxuLmNvbGxhYm9yYXRpb24tc3RlcF9faWNvbi1pbWcge1xuICBtYXgtd2lkdGg6IDYuNjY2NjY2NjY2N3JlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmNvbGxhYm9yYXRpb24tc3RlcF9faWNvbi1pbWcge1xuICAgIG1heC13aWR0aDogMTByZW07XG4gIH1cbn1cbi5jb2xsYWJvcmF0aW9uLXN0ZXBfX2JvZHkge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDc2cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmNvbGxhYm9yYXRpb24tc3RlcF9fYm9keSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgfVxufVxuLmNvbGxhYm9yYXRpb24tc3RlcF9fdGl0bGUge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDEuNjY2NjY2NjY2N3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41NTU1NTU1NTU2cmVtO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuY29sbGFib3JhdGlvbi1zdGVwX190aXRsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjExMTExMTExMTFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4xMTExMTExMTExcmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5jb2xsYWJvcmF0aW9uLXN0ZXBfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDIuMzMzMzMzMzMzM3JlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuY29sbGFib3JhdGlvbi1zdGVwX190aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuLmNvbGxhYm9yYXRpb24tc3RlcF9fY29udGVudCB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDAuNTU1NTU1NTU1NnJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmNvbGxhYm9yYXRpb24tc3RlcF9fY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjExMTExMTExMTFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4xMTExMTExMTExcmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5jb2xsYWJvcmF0aW9uLXN0ZXBfX2NvbnRlbnQge1xuICAgIGZsZXg6IDAgMCA1NSU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICAgIG1heC13aWR0aDogNTUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuY29sbGFib3JhdGlvbi1zdGVwX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmNvbGxhYm9yYXRpb24tc3RlcF9fY29udGVudC0tZnVsbCB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkgYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmNvbGxhYm9yYXRpb24tc3RlcF9fY29udGVudC0tZnVsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjExMTExMTExMTFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4xMTExMTExMTExcmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jb2xsYWJvcmF0aW9uLXN0ZXBfX2NvbnRlbnQtLWZ1bGwge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICAgIG1heC13aWR0aDogNzUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuY29sbGFib3JhdGlvbi1zdGVwX19jb250ZW50LS1mdWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbi5jb2xsYWJvcmF0aW9uLXN0ZXBfX2R1cmF0aW9uIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5jb2xsYWJvcmF0aW9uLXN0ZXBfX2RldGFpbHMge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuY29sbGFib3JhdGlvbi1zdGVwX19kZXRhaWxzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmNvbGxhYm9yYXRpb24tc3RlcF9fZGV0YWlscyB7XG4gICAgZmxleDogMCAwIDQ1JTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjgzMzMzMzMzMzNyZW07XG4gICAgbWF4LXdpZHRoOiA0NSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5jb2xsYWJvcmF0aW9uLXN0ZXBfX2RldGFpbHMge1xuICAgIHBhZGRpbmctbGVmdDogMS4xMTExMTExMTExcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMTExMTExMTExMXJlbTtcbiAgfVxufVxuLmNvbGxhYm9yYXRpb24tc3RlcF9fZGV0YWlscy1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLXRvcDogMS4xMTExMTExMTExcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC41NTU1NTU1NTU2cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDIuMjIyMjIyMjIyMnJlbTtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzMzMzMzMzMzcmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuY29sbGFib3JhdGlvbi1zdGVwX19kZXRhaWxzLWxpc3Qge1xuICAgIHBhZGRpbmctdG9wOiAwLjU1NTU1NTU1NTZyZW07XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgfVxufVxuLmNvbGxhYm9yYXRpb24tc3RlcF9fZGV0YWlscy1saXN0LWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG59XG5cbi5jb2x1bW5zIHtcbiAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDIuNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmNvbHVtbnMge1xuICAgIHBhZGRpbmctdG9wOiAzLjMzMzMzMzMzMzNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDMuMzMzMzMzMzMzM3JlbTtcbiAgfVxufVxuLmNvbHVtbnNfX3JvdyB7XG4gIG1heC13aWR0aDogNzZyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmNvbHVtbnNfX3RpdGxlIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMC44MzMzMzMzMzMzcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjgzMzMzMzMzMzNyZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAyLjIyMjIyMjIyMjJyZW07XG4gIG1hcmdpbi10b3A6IDEuNjY2NjY2NjY2N3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4xMTExMTExMTExcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5jb2x1bW5zX190aXRsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjExMTExMTExMTFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4xMTExMTExMTExcmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5jb2x1bW5zX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyLjY2NjY2NjY2NjdyZW07XG4gIH1cbn1cblxuLmNvbHVtbiB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNzZyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZy10b3A6IDEuNjY2NjY2NjY2N3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuNjY2NjY2NjY2N3JlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuY29sdW1uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmNvbHVtbiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNjY2NjY2NjY2N3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjY2NjY2NjY2NjdyZW07XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNvbHVtbiB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICAgIHBhZGRpbmctbGVmdDogMS42NjY2NjY2NjY3cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNjY2NjY2NjY2N3JlbTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG59XG4uY29sdW1uX19ib2R5IHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbi5jb2x1bW5fX2ljb24taW1nIHtcbiAgbWF4LXdpZHRoOiA2LjY2NjY2NjY2NjdyZW07XG59XG4uY29sdW1uX19pY29uIHtcbiAgbWFyZ2luLWJvdHRvbTogMS42NjY2NjY2NjY3cmVtO1xufVxuLmNvbHVtbl9fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuLmNvbHVtbl9fY29udGVudCB7XG4gIGNvbG9yOiAjM2E0MzUxO1xufVxuLmNvbHVtbl9fYnV0dG9uLXdyYXAge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLmNvbHVtbl9fYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1NS41cmVtO1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDA5ZmUzO1xuICBjb2xvcjogIzAwOWZlMztcbiAgcGFkZGluZzogMC44ODg4ODg4ODg5cmVtIDIuMTExMTExMTExMXJlbSAwLjk0NDQ0NDQ0NDRyZW0gMi4xMTExMTExMTExcmVtO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAxLjExMTExMTExMTFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAwLjg4ODg4ODg4ODlyZW0gMy4zMzMzMzMzMzMzcmVtIDAuOTQ0NDQ0NDQ0NHJlbSAyLjExMTExMTExMTFyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMS4zODg4ODg4ODg5cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAuY29sdW1uX19idXR0b24ge1xuICBvdXRsaW5lOiAwO1xufVxuLmNvbHVtbl9fYnV0dG9uLCAuY29sdW1uX19idXR0b246aG92ZXIsIC5jb2x1bW5fX2J1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmNvbHVtbl9fYnV0dG9uOmhvdmVyLCAuY29sdW1uX19idXR0b246Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICMwMDUwNzI7XG4gIGNvbG9yOiAjMDA1MDcyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuY29sdW1uX19idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMS4zMzMzMzMzMzMzcmVtO1xuICB9XG59XG4uY29sdW1uX19idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5ZmUzO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgYm9yZGVyLWNvbG9yOiAjMDA5ZmUzO1xufVxuLmNvbHVtbl9fYnV0dG9uOmJlZm9yZSwgLmNvbHVtbl9fYnV0dG9uOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTAuMTM4ODg4ODg4OXJlbTtcbiAgcmlnaHQ6IDJyZW07XG4gIHdpZHRoOiAwLjc3Nzc3Nzc3NzhyZW07XG4gIGhlaWdodDogMC4yNzc3Nzc3Nzc4cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5ZmUzO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG59XG4uY29sdW1uX19idXR0b246YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVkoLTAuMjc3Nzc3Nzc3OHJlbSk7XG59XG4uY29sdW1uX19idXR0b246YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZVkoMC4yNzc3Nzc3Nzc4cmVtKTtcbn1cbi5jb2x1bW5fX2J1dHRvbjpob3Zlcjo6YmVmb3JlLCAuY29sdW1uX19idXR0b246aG92ZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgcmlnaHQ6IDEuNzIyMjIyMjIyMnJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmNvbHVtbl9fYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAyLjIyMjIyMjIyMjJyZW07XG4gIH1cbn1cblxuLmNvbnRhY3QtZGV0YWlscyB7XG4gIHBhZGRpbmctdG9wOiAyLjc3Nzc3Nzc3NzhyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjY2NjY2NjY2NjdyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5jb250YWN0LWRldGFpbHMge1xuICAgIHBhZGRpbmctdG9wOiA1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAyLjc3Nzc3Nzc3NzhyZW07XG4gIH1cbn1cbi5jb250YWN0LWRldGFpbHNfX3JvdyB7XG4gIG1heC13aWR0aDogNjMuMzMzMzMzMzMzM3JlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cbi5jb250YWN0LWRldGFpbHNfX3BlcnNvbiB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNzZyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IDIuMjIyMjIyMjIyMnJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmNvbnRhY3QtZGV0YWlsc19fcGVyc29uIHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuLmNvbnRhY3QtZGV0YWlsc19fcGVyc29uLWF2YXRhciB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICBtYXJnaW4tdG9wOiAxLjY2NjY2NjY2NjdyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5jb250YWN0LWRldGFpbHNfX3BlcnNvbi1hdmF0YXIge1xuICAgIHBhZGRpbmctbGVmdDogMS4xMTExMTExMTExcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMTExMTExMTExMXJlbTtcbiAgfVxufVxuLmNvbnRhY3QtZGV0YWlsc19fcGVyc29uLWljb24ge1xuICBtYXJnaW4tdG9wOiAtMC4xMTExMTExMTExcmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMjc3Nzc3Nzc3OHJlbTtcbiAgZmlsbDogIzAxNWQ4NDtcbn1cbi5jb250YWN0LWRldGFpbHNfX3BlcnNvbi1uYW1lIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4wNTU1NTU1NTU2cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMzMzMzMzMzMzM3JlbTtcbn1cbi5jb250YWN0LWRldGFpbHNfX3BlcnNvbi1pbmZvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDAuMjIyMjIyMjIyMnJlbTtcbn1cbi5jb250YWN0LWRldGFpbHNfX2NvbnRlbnQge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgbWFyZ2luLXRvcDogMS42NjY2NjY2NjY3cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuY29udGFjdC1kZXRhaWxzX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmNvbnRhY3QtZGV0YWlsc19fY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMy4zMzMzMzMzMzMzcmVtO1xuICB9XG59XG4uY29udGFjdC1kZXRhaWxzX190aXRsZSB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5jb250YWN0LWRldGFpbHNfX3RpdGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbi5jb250YWN0LWRldGFpbHNfX2FkZHJlc3Mge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDc2cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuY29udGFjdC1kZXRhaWxzX19hZGRyZXNzIHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxufVxuXG4uY29udGFjdC1pbnZvaWNpbmcge1xuICBwYWRkaW5nLXRvcDogMi43Nzc3Nzc3Nzc4cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMi43Nzc3Nzc3Nzc4cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuY29udGFjdC1pbnZvaWNpbmcge1xuICAgIHBhZGRpbmctdG9wOiA1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA1cmVtO1xuICB9XG59XG4uY29udGFjdC1pbnZvaWNpbmdfX3JvdyB7XG4gIG1heC13aWR0aDogNjMuMzMzMzMzMzMzM3JlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cbi5jb250YWN0LWludm9pY2luZ19fdGl0bGUge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAyLjIyMjIyMjIyMjJyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmNvbnRhY3QtaW52b2ljaW5nX190aXRsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjExMTExMTExMTFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4xMTExMTExMTExcmVtO1xuICB9XG59XG4uY29udGFjdC1pbnZvaWNpbmdfX3N1YnRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uY29udGFjdC1pbnZvaWNpbmdfX2l0ZW1zIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMC44MzMzMzMzMzMzcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjgzMzMzMzMzMzNyZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA3NnJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogMC41NTU1NTU1NTU2cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuY29udGFjdC1pbnZvaWNpbmdfX2l0ZW1zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbi5jb250YWN0LWludm9pY2luZ19faXRlbSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjExMTExMTExMTFyZW07XG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQgI0FEQkFDQztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmNvbnRhY3QtaW52b2ljaW5nX19pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmNvbnRhY3QtaW52b2ljaW5nX19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjY2NjY2NjY2NjdyZW07XG4gICAgcGFkZGluZy10b3A6IDAuMjc3Nzc3Nzc3OHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNzc3Nzc3Nzc4cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jb250YWN0LWludm9pY2luZ19faXRlbS0tc21hbGwge1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICAgIG1heC13aWR0aDogMjAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuY29udGFjdC1pbnZvaWNpbmdfX2l0ZW0tLXNtYWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNvbnRhY3QtaW52b2ljaW5nX19pdGVtLS1tZWRpdW0ge1xuICAgIGZsZXg6IDAgMCAzMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICAgIG1heC13aWR0aDogMzAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuY29udGFjdC1pbnZvaWNpbmdfX2l0ZW0tLW1lZGl1bSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjExMTExMTExMTFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4xMTExMTExMTExcmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jb250YWN0LWludm9pY2luZ19faXRlbS0tbGFyZ2Uge1xuICAgIGZsZXg6IDAgMCA0MCU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICAgIG1heC13aWR0aDogNDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuY29udGFjdC1pbnZvaWNpbmdfX2l0ZW0tLWxhcmdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbi5jb250YWN0LWludm9pY2luZ19faXRlbS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4uY29udGFjdC1pbnZvaWNpbmdfX2l0ZW0tdmFsdWUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmNvbnRhY3QtaW52b2ljaW5nX19jb21wYW55LWluZm8ge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDFyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5jb250YWN0LWludm9pY2luZ19fY29tcGFueS1pbmZvIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cblxuLmNvbnRhY3QtbWFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmNvbnRhY3QtbWFwX19jYW52YXMge1xuICBjbGVhcjogYm90aDtcbiAgaGVpZ2h0OiAyMi4yMjIyMjIyMjIycmVtO1xuICBtYXJnaW4tdG9wOiAwLjcyMjIyMjIyMjJyZW07XG4gIHdpZHRoOiAxMDAlO1xuICAvKiBmaXhlcyBwb3RlbnRpYWwgdGhlbWUgY3NzIGNvbmZsaWN0ICovXG59XG4uY29udGFjdC1tYXBfX2NhbnZhcyAuZ21ub3ByaW50IGltZyB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cbi5jb250YWN0LW1hcF9fY2FudmFzIGltZyB7XG4gIG1heC13aWR0aDogaW5oZXJpdCAhaW1wb3J0YW50O1xufVxuXG4uY29udGFjdC1taW5pbWFwX19jYW52YXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDIwJTtcbiAgaGVpZ2h0OiA0MCU7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCB3aGl0ZTtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCB3aGl0ZTtcbn1cblxuLmpzLW1hcCBbc3JjXj1cImh0dHBzOi8vMC5ncmF2YXRhci5jb21cIl0sXG4uanMtbWFwIFtzcmNePVwiaHR0cHM6Ly8xLmdyYXZhdGFyLmNvbVwiXSxcbi5qcy1tYXAgW3NyY149XCJodHRwczovLzIuZ3JhdmF0YXIuY29tXCJdLFxuLmpzLW1hcCBbc3JjXj1cImh0dHBzOi8vMy5ncmF2YXRhci5jb21cIl0sXG4uanMtbWFwIFtzcmNePVwiaHR0cHM6Ly80LmdyYXZhdGFyLmNvbVwiXSB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG5cbiNtYWluTWFwTWFya2VyTGF5ZXIgaW1nLFxuI21pbmlNYXBNYXJrZXJMYXllciBpbWcge1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiAjQURCQUNDO1xuICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuXG4uZmVhdHVyZWQtY2xpZW50c19faGVhZGVyIHtcbiAgbWF4LXdpZHRoOiA3NnJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmZlYXR1cmVkLWNsaWVudHNfX3RpdGxlIHtcbiAgZmxleDogMSAxIDBweDtcbiAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuICBtYXJnaW4tYm90dG9tOiAxLjMzMzMzMzMzMzNyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmZlYXR1cmVkLWNsaWVudHNfX3RpdGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmZlYXR1cmVkLWNsaWVudHNfX3RpdGxlIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMi42NjY2NjY2NjY3cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZmVhdHVyZWQtY2xpZW50c19fdGl0bGUge1xuICAgIHBhZGRpbmctbGVmdDogMS4xMTExMTExMTExcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMTExMTExMTExMXJlbTtcbiAgfVxufVxuLmZlYXR1cmVkLWNsaWVudHNfX2xpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctYm90dG9tOiAyLjY2NjY2NjY2NjdyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0FEQkFDQztcbiAgbWF4LXdpZHRoOiA2My4zMzMzMzMzMzMzcmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBzdHJldGNoO1xufVxuLmZlYXR1cmVkLWNsaWVudHNfX2xpc3QgPiAuZmVhdHVyZWQtY2xpZW50IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZmVhdHVyZWQtY2xpZW50c19fbGlzdCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5mZWF0dXJlZC1jbGllbnRzX19saXN0ID4gLmZlYXR1cmVkLWNsaWVudCB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZmVhdHVyZWQtY2xpZW50c19fbGlzdCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5mZWF0dXJlZC1jbGllbnRzX19saXN0ID4gLmZlYXR1cmVkLWNsaWVudCB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZmVhdHVyZWQtY2xpZW50c19fbGlzdCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5mZWF0dXJlZC1jbGllbnRzX19saXN0ID4gLmZlYXR1cmVkLWNsaWVudCB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbn1cblxuLmZlYXR1cmVkLWNsaWVudCB7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIHBhZGRpbmctbGVmdDogMC40MTY2NjY2NjY3cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjQxNjY2NjY2NjdyZW07XG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbiAgbWFyZ2luOiAwLjU1NTU1NTU1NTZyZW0gMDtcbn1cbi5mZWF0dXJlZC1jbGllbnRfX2ltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEzLjMzMzMzMzMzMzNyZW07XG59XG5cbi5mZWF0dXJlZC1wcm9qZWN0cyB7XG4gIG1heC13aWR0aDogNzZyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLWJvdHRvbTogMS4xMTExMTExMTExcmVtO1xuICBwYWRkaW5nLXRvcDogMS4zMzMzMzMzMzMzcmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZmVhdHVyZWQtcHJvamVjdHMge1xuICAgIHBhZGRpbmctdG9wOiAxLjc3Nzc3Nzc3NzhyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmZlYXR1cmVkLXByb2plY3RzIHtcbiAgICBwYWRkaW5nLXRvcDogMy41NTU1NTU1NTU2cmVtO1xuICB9XG59XG4uZmVhdHVyZWQtcHJvamVjdHNfX2hlYWRlciB7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIHBhZGRpbmctbGVmdDogMC44MzMzMzMzMzMzcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjgzMzMzMzMzMzNyZW07XG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmZlYXR1cmVkLXByb2plY3RzX19oZWFkZXIge1xuICAgIHBhZGRpbmctbGVmdDogMS4xMTExMTExMTExcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMTExMTExMTExMXJlbTtcbiAgfVxufVxuLmZlYXR1cmVkLXByb2plY3RzX190aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi5mZWF0dXJlZC1wcm9qZWN0c19fc3VidGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmZlYXR1cmVkLXByb2plY3Qge1xuICB3aWR0aDogMTAwJTtcbn1cbi5mZWF0dXJlZC1wcm9qZWN0X19saW5rIHtcbiAgY29sb3I6ICMwMTVkODQ7XG59XG4uZmVhdHVyZWQtcHJvamVjdCAubW9yZS1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDU1LjVyZW07XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDlmZTM7XG4gIGNvbG9yOiAjMDA5ZmUzO1xuICBwYWRkaW5nOiAwLjY2NjY2NjY2NjdyZW0gMS4zMzMzMzMzMzMzcmVtIDAuNzIyMjIyMjIyMnJlbSAxLjMzMzMzMzMzMzNyZW07XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuODg4ODg4ODg4OXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDAuNjY2NjY2NjY2N3JlbSAycmVtIDAuNzIyMjIyMjIyMnJlbSAxLjMzMzMzMzMzMzNyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMC41NTU1NTU1NTU2cmVtO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAuZmVhdHVyZWQtcHJvamVjdCAubW9yZS1idXR0b24ge1xuICBvdXRsaW5lOiAwO1xufVxuLmZlYXR1cmVkLXByb2plY3QgLm1vcmUtYnV0dG9uLCAuZmVhdHVyZWQtcHJvamVjdCAubW9yZS1idXR0b246aG92ZXIsIC5mZWF0dXJlZC1wcm9qZWN0IC5tb3JlLWJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmZlYXR1cmVkLXByb2plY3QgLm1vcmUtYnV0dG9uOmhvdmVyLCAuZmVhdHVyZWQtcHJvamVjdCAubW9yZS1idXR0b246Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICMwMDUwNzI7XG4gIGNvbG9yOiAjMDA1MDcyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZmVhdHVyZWQtcHJvamVjdCAubW9yZS1idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuLmZlYXR1cmVkLXByb2plY3QgLm1vcmUtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOWZlMztcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXItY29sb3I6ICMwMDlmZTM7XG59XG4uZmVhdHVyZWQtcHJvamVjdCAubW9yZS1idXR0b246YmVmb3JlLCAuZmVhdHVyZWQtcHJvamVjdCAubW9yZS1idXR0b246YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMC4xMTExMTExMTExcmVtO1xuICByaWdodDogMS4xMTExMTExMTExcmVtO1xuICB3aWR0aDogMC42NjY2NjY2NjY3cmVtO1xuICBoZWlnaHQ6IDAuMjIyMjIyMjIyMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOWZlMztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xufVxuLmZlYXR1cmVkLXByb2plY3QgLm1vcmUtYnV0dG9uOmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGVZKC0wLjIyMjIyMjIyMjJyZW0pO1xufVxuLmZlYXR1cmVkLXByb2plY3QgLm1vcmUtYnV0dG9uOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGVZKDAuMjIyMjIyMjIyMnJlbSk7XG59XG4uZmVhdHVyZWQtcHJvamVjdCAubW9yZS1idXR0b246aG92ZXI6OmJlZm9yZSwgLmZlYXR1cmVkLXByb2plY3QgLm1vcmUtYnV0dG9uOmhvdmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICByaWdodDogMC44ODg4ODg4ODg5cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMuNjg3NWVtKSB7XG4gIC5mZWF0dXJlZC1wcm9qZWN0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmZlYXR1cmVkLXByb2plY3QgLnRleHQtaW1hZ2VfX2NvbnRlbnQge1xuICAgIG9yZGVyOiAyO1xuICB9XG4gIC5mZWF0dXJlZC1wcm9qZWN0IC50ZXh0LWltYWdlX19pbWFnZSB7XG4gICAgb3JkZXI6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxufVxuXG4uZm9vdGVyLWJhbm5lcl9fcm93IHtcbiAgbWF4LXdpZHRoOiA3NnJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuLmZvb3Rlci1iYW5uZXJfX2J1dHRvbi13cmFwIHtcbiAgZmxleDogMSAxIDBweDtcbiAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5mb290ZXItYmFubmVyX19idXR0b24td3JhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjExMTExMTExMTFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4xMTExMTExMTExcmVtO1xuICB9XG59XG4uZm9vdGVyLWJhbm5lcl9fYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1NS41cmVtO1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmVmZWZlO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgcGFkZGluZzogMC44ODg4ODg4ODg5cmVtIDIuMTExMTExMTExMXJlbSAwLjk0NDQ0NDQ0NDRyZW0gMi4xMTExMTExMTExcmVtO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAxLjExMTExMTExMTFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDUuNTU1NTU1NTU1NnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi43Nzc3Nzc3Nzc4cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiA0LjcyMjIyMjIyMjJyZW07XG4gIGZvbnQtc2l6ZTogMS4yMjIyMjIyMjIycmVtO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAuZm9vdGVyLWJhbm5lcl9fYnV0dG9uIHtcbiAgb3V0bGluZTogMDtcbn1cbi5mb290ZXItYmFubmVyX19idXR0b24sIC5mb290ZXItYmFubmVyX19idXR0b246aG92ZXIsIC5mb290ZXItYmFubmVyX19idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5mb290ZXItYmFubmVyX19idXR0b246aG92ZXIsIC5mb290ZXItYmFubmVyX19idXR0b246Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM3ZjdmN2Y7XG4gIGNvbG9yOiAjN2Y3ZjdmO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZm9vdGVyLWJhbm5lcl9fYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMzMzMzMzMzMzM3JlbTtcbiAgfVxufVxuLmZvb3Rlci1iYW5uZXJfX2J1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMDE1ZDg0O1xuICBib3JkZXItY29sb3I6ICNmZWZlZmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5mb290ZXItYmFubmVyX19idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDExLjExMTExMTExMTFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogNi42NjY2NjY2NjY3cmVtO1xuICAgIHBhZGRpbmctdG9wOiAxLjI3Nzc3Nzc3NzhyZW07XG4gICAgcGFkZGluZy1yaWdodDogNS4yNzc3Nzc3Nzc4cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjIyMjIyMjIyMjJyZW07XG4gICAgZm9udC1zaXplOiAxLjY2NjY2NjY2NjdyZW07XG4gIH1cbn1cbi5mb290ZXItYmFubmVyX19idXR0b24taWNvbiB7XG4gIHJpZ2h0OiAxLjM4ODg4ODg4ODlyZW07XG59XG4uZm9vdGVyLWJhbm5lcl9fYmctaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi5pbnRlcmVzdGluZy1udW1iZXJzIHtcbiAgcGFkZGluZy1ib3R0b206IDVyZW07XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG59XG4uaW50ZXJlc3RpbmctbnVtYmVyc19faGVhZGVyLCAuaW50ZXJlc3RpbmctbnVtYmVyc19fY29udGVudCB7XG4gIG1heC13aWR0aDogNzZyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmludGVyZXN0aW5nLW51bWJlcnNfX3RpdGxlIHtcbiAgZmxleDogMSAxIDBweDtcbiAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuICBwYWRkaW5nLXRvcDogNXJlbTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNBREJBQ0M7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmludGVyZXN0aW5nLW51bWJlcnNfX3RpdGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmludGVyZXN0aW5nLW51bWJlcnNfX3RpdGxlIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5pbnRlcmVzdGluZy1udW1iZXJzX190aXRsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjExMTExMTExMTFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4xMTExMTExMTExcmVtO1xuICB9XG59XG4uaW50ZXJlc3RpbmctbnVtYmVyc19fY29udGVudCB7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIHBhZGRpbmctbGVmdDogMC44MzMzMzMzMzMzcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjgzMzMzMzMzMzNyZW07XG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbiAgbWFyZ2luLXRvcDogMy4zMzMzMzMzMzMzcmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuaW50ZXJlc3RpbmctbnVtYmVyc19fY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjExMTExMTExMTFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4xMTExMTExMTExcmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5pbnRlcmVzdGluZy1udW1iZXJzX19jb250ZW50IHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5pbnRlcmVzdGluZy1udW1iZXJzX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmludGVyZXN0aW5nLW51bWJlcnNfX2NvbnRlbnQge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NjY2NjY3JTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjgzMzMzMzMzMzNyZW07XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmludGVyZXN0aW5nLW51bWJlcnNfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMS4xMTExMTExMTExcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMTExMTExMTExMXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuaW50ZXJlc3RpbmctbnVtYmVyc19fY29udGVudCB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjgzMzMzMzMzMzNyZW07XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5pbnRlcmVzdGluZy1udW1iZXJzX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbi5pbnRlcmVzdGluZy1udW1iZXJzX19saXN0IHtcbiAgbWF4LXdpZHRoOiA3NnJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLmludGVyZXN0aW5nLW51bWJlcnNfX2xpc3QgPiAuaW50ZXJlc3RpbmctbnVtYmVyc19fbGlzdC1pdGVtIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmludGVyZXN0aW5nLW51bWJlcnNfX2xpc3Qge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAuaW50ZXJlc3RpbmctbnVtYmVyc19fbGlzdCA+IC5pbnRlcmVzdGluZy1udW1iZXJzX19saXN0LWl0ZW0ge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbn1cbi5pbnRlcmVzdGluZy1udW1iZXJzX19saXN0LWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xufVxuLmludGVyZXN0aW5nLW51bWJlcnNfX3Rlcm0ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAxLjExMTExMTExMTFyZW0gMS4xMTExMTExMTExcmVtIDAuNTU1NTU1NTU1NnJlbSAxLjExMTExMTExMTFyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5pbnRlcmVzdGluZy1udW1iZXJzX190ZXJtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmc6IDEuMTExMTExMTExMXJlbTtcbiAgfVxufVxuLmludGVyZXN0aW5nLW51bWJlcnNfX3ZhbHVlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBwYWRkaW5nOiAwLjg4ODg4ODg4ODlyZW0gMS42NjY2NjY2NjY3cmVtO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgYmFja2dyb3VuZDogIzAwOWZlMztcbiAgZm9udC1zaXplOiAxLjMzMzMzMzMzMzNyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5pbnRlcmVzdGluZy1udW1iZXJzX192YWx1ZSB7XG4gICAgcGFkZGluZzogMC44ODg4ODg4ODg5cmVtIDIuMjIyMjIyMjIyMnJlbTtcbiAgfVxufVxuLmludGVyZXN0aW5nLW51bWJlcnNfX3ZhbHVlOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlcjogMTBweCBzb2xpZCAjZmVmZWZlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLm1haW50ZW5hbmNlIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuLm1haW50ZW5hbmNlLXBsYW5zIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuLm1haW50ZW5hbmNlLXBsYW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nLXRvcDogMy4zMzMzMzMzMzMzcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMy4zMzMzMzMzMzMzcmVtO1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLm1haW50ZW5hbmNlLXBsYW4ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbi5tYWludGVuYW5jZS1wbGFuOm50aC1vZi10eXBlKDEpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ0YjFhZDtcbn1cbi5tYWludGVuYW5jZS1wbGFuOm50aC1vZi10eXBlKDEpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJvcmRlci1yaWdodDogOTk5OXB4IHNvbGlkICM0NGIxYWQ7XG4gIHotaW5kZXg6IC0xO1xufVxuLm1haW50ZW5hbmNlLXBsYW46bnRoLW9mLXR5cGUoMSkgLmFtb3VudCB7XG4gIGNvbG9yOiByZ2JhKDY4LCAxNzcsIDE3MywgMC45KTtcbn1cbi5tYWludGVuYW5jZS1wbGFuOm50aC1vZi10eXBlKDIpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ1QkVEODtcbn1cbi5tYWludGVuYW5jZS1wbGFuOm50aC1vZi10eXBlKDIpIC5hbW91bnQge1xuICBjb2xvcjogcmdiYSg2OSwgMTkwLCAyMTYsIDAuOSk7XG59XG4ubWFpbnRlbmFuY2UtcGxhbjpudGgtb2YtdHlwZSgzKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzOTlkY2M7XG59XG4ubWFpbnRlbmFuY2UtcGxhbjpudGgtb2YtdHlwZSgzKTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm9yZGVyLXJpZ2h0OiA5OTk5cHggc29saWQgIzM5OWRjYztcbiAgei1pbmRleDogLTE7XG59XG4ubWFpbnRlbmFuY2UtcGxhbjpudGgtb2YtdHlwZSgzKSAuYW1vdW50IHtcbiAgY29sb3I6IHJnYmEoNTcsIDE1NywgMjA0LCAwLjkpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWFpbnRlbmFuY2UtcGxhbiB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgfVxufVxuLm1haW50ZW5hbmNlLXBsYW4gPiAqIHtcbiAgbWF4LXdpZHRoOiAyMi4yMjIyMjIyMjIycmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLm1haW50ZW5hbmNlLXBsYW5fX3RpdGxlIHtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDEuNzc3Nzc3Nzc3OHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5tYWludGVuYW5jZS1wbGFuX19ib2R5IHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMC44MzMzMzMzMzMzcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjgzMzMzMzMzMzNyZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLm1haW50ZW5hbmNlLXBsYW5fX2JvZHkge1xuICAgIHBhZGRpbmctbGVmdDogMS4xMTExMTExMTExcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMTExMTExMTExMXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAubWFpbnRlbmFuY2UtcGxhbl9fYm9keSB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY2JTtcbiAgfVxufVxuLm1haW50ZW5hbmNlLXBsYW5fX3ByaWNlIHtcbiAgbWF4LXdpZHRoOiA4MCU7XG4gIG1hcmdpbjogMCBhdXRvIDEuMTExMTExMTExMXJlbSBhdXRvO1xuICBmb250LXNpemU6IDAuNzc3Nzc3Nzc3OHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm1haW50ZW5hbmNlLXBsYW5fX3ByaWNlLS1tZWRpdW0ge1xuICBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7XG4gIHBhZGRpbmctbGVmdDogMC44MzMzMzMzMzMzcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjgzMzMzMzMzMzNyZW07XG4gIG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5tYWludGVuYW5jZS1wbGFuX19wcmljZS0tbWVkaXVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQzLjY4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWFpbnRlbmFuY2UtcGxhbl9fcHJpY2UtLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5tYWludGVuYW5jZS1wbGFuX19wcmljZS0tbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLm1haW50ZW5hbmNlLXBsYW5fX3ByaWNlIC5hbW91bnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAuNTU1NTU1NTU1NnJlbSBhdXRvIDEuMTExMTExMTExMXJlbSBhdXRvO1xuICBmb250LXNpemU6IDRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNzAwO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgd2lkdGg6IDguMzMzMzMzMzMzM3JlbTtcbiAgaGVpZ2h0OiA4LjMzMzMzMzMzMzNyZW07XG4gIGxpbmUtaGVpZ2h0OiA4LjIyMjIyMjIyMjJyZW07XG4gIHRleHQtc2hhZG93OiAxcHggMnB4IDJweCB3aGl0ZSwgMCAwIDAgIzAwMCwgMXB4IDJweCAycHggd2hpdGU7XG59XG4ubWFpbnRlbmFuY2UtcGxhbl9fcHJpY2UgLmN1cnJlbmN5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDQ1JTtcbiAgcmlnaHQ6IDAlO1xuICBtYXJnaW4tbGVmdDogMC4yMjIyMjIyMjIycmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0xLjMzMzMzMzMzMzNyZW07XG4gIGZvbnQtc2l6ZTogMi4yMjIyMjIyMjIycmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICB3aWR0aDogMi42NjY2NjY2NjY3cmVtO1xuICBoZWlnaHQ6IDIuNjY2NjY2NjY2N3JlbTtcbiAgbGluZS1oZWlnaHQ6IDIuNjY2NjY2NjY2N3JlbTtcbn1cbi5tYWludGVuYW5jZS1wbGFuX19wcmljZSAuZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxOC44ODg4ODg4ODg5cmVtO1xufVxuLm1haW50ZW5hbmNlLXBsYW4gLnRheCB7XG4gIGZvbnQtc2l6ZTogMC43MjIyMjIyMjIycmVtO1xufVxuLm1haW50ZW5hbmNlLXBsYW5fX2Rlc2NyaXB0aW9uIHtcbiAgbWFyZ2luOiAwLjVyZW0gMCAxLjE2NjY2NjY2NjdyZW0gMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxLjE2NjY2NjY2NjdyZW07XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5tYWludGVuYW5jZS1wbGFuX19mZWF0dXJlcyB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi5tYWludGVuYW5jZS1wbGFuX19mZWF0dXJlIGEge1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICBjdXJzb3I6IGhlbHA7XG59XG4ubWFpbnRlbmFuY2UtcGxhbl9fYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1NS41cmVtO1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmVmZWZlO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgcGFkZGluZzogMC42NjY2NjY2NjY3cmVtIDEuMzMzMzMzMzMzM3JlbSAwLjcyMjIyMjIyMjJyZW0gMS4zMzMzMzMzMzMzcmVtO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjg4ODg4ODg4ODlyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAwLjY2NjY2NjY2NjdyZW0gMnJlbSAwLjcyMjIyMjIyMjJyZW0gMS4zMzMzMzMzMzMzcmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICBtYXJnaW46IGF1dG8gYXV0byAwIGF1dG87XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5tYWludGVuYW5jZS1wbGFuX19idXR0b24ge1xuICBvdXRsaW5lOiAwO1xufVxuLm1haW50ZW5hbmNlLXBsYW5fX2J1dHRvbiwgLm1haW50ZW5hbmNlLXBsYW5fX2J1dHRvbjpob3ZlciwgLm1haW50ZW5hbmNlLXBsYW5fX2J1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLm1haW50ZW5hbmNlLXBsYW5fX2J1dHRvbjpob3ZlciwgLm1haW50ZW5hbmNlLXBsYW5fX2J1dHRvbjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzdmN2Y3ZjtcbiAgY29sb3I6ICM3ZjdmN2Y7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5tYWludGVuYW5jZS1wbGFuX19idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuLm1haW50ZW5hbmNlLXBsYW5fX2J1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMDE1ZDg0O1xuICBib3JkZXItY29sb3I6ICNmZWZlZmU7XG59XG4ubWFpbnRlbmFuY2UtcGxhbl9fYnV0dG9uOmJlZm9yZSwgLm1haW50ZW5hbmNlLXBsYW5fX2J1dHRvbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0wLjExMTExMTExMTFyZW07XG4gIHJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIHdpZHRoOiAwLjY2NjY2NjY2NjdyZW07XG4gIGhlaWdodDogMC4yMjIyMjIyMjIycmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG59XG4ubWFpbnRlbmFuY2UtcGxhbl9fYnV0dG9uOmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGVZKC0wLjIyMjIyMjIyMjJyZW0pO1xufVxuLm1haW50ZW5hbmNlLXBsYW5fX2J1dHRvbjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlWSgwLjIyMjIyMjIyMjJyZW0pO1xufVxuLm1haW50ZW5hbmNlLXBsYW5fX2J1dHRvbjpob3Zlcjo6YmVmb3JlLCAubWFpbnRlbmFuY2UtcGxhbl9fYnV0dG9uOmhvdmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTVkODQ7XG4gIHJpZ2h0OiAwLjg4ODg4ODg4ODlyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5tYWludGVuYW5jZS1wbGFuX19idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG4ubWFpbnRlbmFuY2UtZmFxIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBwYWRkaW5nOiA1cmVtIDA7XG59XG4ubWFpbnRlbmFuY2UtZmFxX19uYXYge1xuICBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7XG4gIHBhZGRpbmctbGVmdDogMC44MzMzMzMzMzMzcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjgzMzMzMzMzMzNyZW07XG4gIG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5tYWludGVuYW5jZS1mYXFfX25hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjExMTExMTExMTFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4xMTExMTExMTExcmVtO1xuICB9XG59XG4ubWFpbnRlbmFuY2UtZmFxX19uYXYgLnN0aWNreS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubWFpbnRlbmFuY2UtZmFxX19uYXYgLnN0aWNreSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cbi5tYWludGVuYW5jZS1mYXFfX25hdiAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA1O1xufVxuLm1haW50ZW5hbmNlLWZhcV9fbmF2IC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtdG9wIHtcbiAgdG9wOiAwO1xufVxuLm1haW50ZW5hbmNlLWZhcV9fbmF2IC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtYm90dG9tIHtcbiAgYm90dG9tOiAwO1xufVxuLm1haW50ZW5hbmNlLWZhcV9fbmF2IC5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xufVxuLm1haW50ZW5hbmNlLWZhcV9fbmF2IC5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgYm90dG9tOiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMuNjg3NWVtKSB7XG4gIC5tYWludGVuYW5jZS1mYXFfX25hdiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4ubWFpbnRlbmFuY2UtZmFxX19uYXYgLnN0aWNreSxcbi5tYWludGVuYW5jZS1mYXFfX25hdiAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgcmlnaHQ6IDA7XG59XG4ubWFpbnRlbmFuY2UtZmFxX19tZW51IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNBREJBQ0M7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLm1haW50ZW5hbmNlLWZhcV9fbWVudS1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuMjIyMjIyMjIyMnJlbSAwLjY2NjY2NjY2NjdyZW07XG4gIGNvbG9yOiAjNzE4MjlEO1xuICBmb250LXNpemU6IDFyZW07XG59XG4ubWFpbnRlbmFuY2UtZmFxX19jb250ZW50IHtcbiAgZmxleDogMSAxIDBweDtcbiAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuICBtYXgtd2lkdGg6IDM4Ljg4ODg4ODg4ODlyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5tYWludGVuYW5jZS1mYXFfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMS4xMTExMTExMTExcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMTExMTExMTExMXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAubWFpbnRlbmFuY2UtZmFxX19jb250ZW50IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjYlO1xuICB9XG59XG4ubWFpbnRlbmFuY2UtZmFxX19pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMS42NjY2NjY2NjY3cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS42NjY2NjY2NjY3cmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0FEQkFDQztcbn1cbi5tYWludGVuYW5jZS1mYXFfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAxLjc3Nzc3Nzc3NzhyZW07XG4gIGNvbG9yOiAjM2E0MzUxO1xufVxuXG4uc3VwcG9ydC10aWNrZXQge1xuICBwYWRkaW5nOiAyLjIyMjIyMjIyMjJyZW0gMDtcbiAgYmFja2dyb3VuZDogI2MxODI4ZTtcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5zdXBwb3J0LXRpY2tldCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuLnN1cHBvcnQtdGlja2V0X19yb3cge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG4uc3VwcG9ydC10aWNrZXRfX2JvZHkge1xuICBmbGV4OiAxIDEgMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICBtaW4td2lkdGg6IGluaXRpYWw7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAxLjY2NjY2NjY2NjdyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5zdXBwb3J0LXRpY2tldF9fYm9keSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjExMTExMTExMTFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4xMTExMTExMTExcmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5zdXBwb3J0LXRpY2tldF9fYm9keSB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY2JTtcbiAgfVxufVxuLnN1cHBvcnQtdGlja2V0X19wcmljZSB7XG4gIGZvbnQtc2l6ZTogMC43Nzc3Nzc3Nzc4cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uc3VwcG9ydC10aWNrZXRfX3ByaWNlLS1kZXNrdG9wIHtcbiAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICBwYWRkaW5nLWxlZnQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMuNjg3NWVtKSB7XG4gIC5zdXBwb3J0LXRpY2tldF9fcHJpY2UtLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuc3VwcG9ydC10aWNrZXRfX3ByaWNlLS1kZXNrdG9wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnN1cHBvcnQtdGlja2V0X19wcmljZS0tbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5zdXBwb3J0LXRpY2tldF9fcHJpY2UgLmFtb3VudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA4LjMzMzMzMzMzMzNyZW07XG4gIGhlaWdodDogOC4zMzMzMzMzMzMzcmVtO1xuICBtYXJnaW46IDAuNTU1NTU1NTU1NnJlbSBhdXRvIDEuMTExMTExMTExMXJlbSBhdXRvO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgY29sb3I6IHJnYmEoMTkzLCAxMzAsIDE0MiwgMC45KTtcbiAgZm9udC1zaXplOiAzLjU1NTU1NTU1NTZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogOC4yMjIyMjIyMjIycmVtO1xuICB0ZXh0LXNoYWRvdzogMXB4IDJweCAycHggd2hpdGUsIDAgMCAwICMwMDAsIDFweCAycHggMnB4IHdoaXRlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuc3VwcG9ydC10aWNrZXRfX3ByaWNlIC5hbW91bnQge1xuICAgIG1hcmdpbi1yaWdodDogMi42NjY2NjY2NjY3cmVtO1xuICB9XG59XG4uc3VwcG9ydC10aWNrZXRfX3ByaWNlIC5jdXJyZW5jeSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0NSU7XG4gIHJpZ2h0OiAwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMi42NjY2NjY2NjY3cmVtO1xuICBoZWlnaHQ6IDIuNjY2NjY2NjY2N3JlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuMjIyMjIyMjIyMnJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMS40NDQ0NDQ0NDQ0cmVtO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgZm9udC1zaXplOiAyLjIyMjIyMjIyMjJyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjY2NjY2NjY2NjdyZW07XG59XG4uc3VwcG9ydC10aWNrZXRfX3ByaWNlIC5kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogOC4zMzMzMzMzMzMzcmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuc3VwcG9ydC10aWNrZXRfX3ByaWNlIC5kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjY2NjY2NjY2NjdyZW07XG4gIH1cbn1cbi5zdXBwb3J0LXRpY2tldF9fdGl0bGUge1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtc2l6ZTogMS43Nzc3Nzc3Nzc4cmVtO1xufVxuLnN1cHBvcnQtdGlja2V0X19kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbjogMC41cmVtIGF1dG8gMS4xNjY2NjY2NjY3cmVtIGF1dG87XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMS4xNjY2NjY2NjY3cmVtO1xuICBjb2xvcjogd2hpdGU7XG59XG4uc3VwcG9ydC10aWNrZXRfX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNTUuNXJlbTtcbiAgcGFkZGluZzogMC44NWVtIDFlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZlZmVmZTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHBhZGRpbmc6IDAuNjY2NjY2NjY2N3JlbSAxLjMzMzMzMzMzMzNyZW0gMC43MjIyMjIyMjIycmVtIDEuMzMzMzMzMzMzM3JlbTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC44ODg4ODg4ODg5cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMC42NjY2NjY2NjY3cmVtIDJyZW0gMC43MjIyMjIyMjIycmVtIDEuMzMzMzMzMzMzM3JlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAuc3VwcG9ydC10aWNrZXRfX2J1dHRvbiB7XG4gIG91dGxpbmU6IDA7XG59XG4uc3VwcG9ydC10aWNrZXRfX2J1dHRvbiwgLnN1cHBvcnQtdGlja2V0X19idXR0b246aG92ZXIsIC5zdXBwb3J0LXRpY2tldF9fYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc3VwcG9ydC10aWNrZXRfX2J1dHRvbjpob3ZlciwgLnN1cHBvcnQtdGlja2V0X19idXR0b246Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM3ZjdmN2Y7XG4gIGNvbG9yOiAjN2Y3ZjdmO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuc3VwcG9ydC10aWNrZXRfX2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG59XG4uc3VwcG9ydC10aWNrZXRfX2J1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMDE1ZDg0O1xuICBib3JkZXItY29sb3I6ICNmZWZlZmU7XG59XG4uc3VwcG9ydC10aWNrZXRfX2J1dHRvbjpiZWZvcmUsIC5zdXBwb3J0LXRpY2tldF9fYnV0dG9uOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTAuMTExMTExMTExMXJlbTtcbiAgcmlnaHQ6IDEuMTExMTExMTExMXJlbTtcbiAgd2lkdGg6IDAuNjY2NjY2NjY2N3JlbTtcbiAgaGVpZ2h0OiAwLjIyMjIyMjIyMjJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbn1cbi5zdXBwb3J0LXRpY2tldF9fYnV0dG9uOmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGVZKC0wLjIyMjIyMjIyMjJyZW0pO1xufVxuLnN1cHBvcnQtdGlja2V0X19idXR0b246YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZVkoMC4yMjIyMjIyMjIycmVtKTtcbn1cbi5zdXBwb3J0LXRpY2tldF9fYnV0dG9uOmhvdmVyOjpiZWZvcmUsIC5zdXBwb3J0LXRpY2tldF9fYnV0dG9uOmhvdmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTVkODQ7XG4gIHJpZ2h0OiAwLjg4ODg4ODg4ODlyZW07XG59XG4uc3VwcG9ydC10aWNrZXRfX2ZlYXR1cmVzIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS4zMzMzMzMzMzMzcmVtO1xuICBmb250LXNpemU6IDFyZW07XG59XG4uc3VwcG9ydC10aWNrZXRfX2ZlYXR1cmUgYSB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gIGN1cnNvcjogaGVscDtcbn1cbi5zdXBwb3J0LXRpY2tldF9fZmVhdHVyZSAub3Ige1xuICBmb250LXNpemU6IDAuNzc3Nzc3Nzc3OHJlbTtcbn1cblxuLnByb2plY3QtcGhhc2VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgcGFkZGluZy10b3A6IDMuMzMzMzMzMzMzM3JlbTtcbn1cbi5wcm9qZWN0LXBoYXNlc19faGVhZGVyIHtcbiAgbWF4LXdpZHRoOiA3NnJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ucHJvamVjdC1waGFzZXNfX3RpdGxlIHtcbiAgZmxleDogMSAxIDBweDtcbiAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuICBtYXJnaW4tdG9wOiAxLjY2NjY2NjY2NjdyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMTExMTExMTExMXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAucHJvamVjdC1waGFzZXNfX3RpdGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnByb2plY3QtcGhhc2VzX190aXRsZSB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzMzMzMzMlO1xuICAgIHBhZGRpbmctbGVmdDogMC44MzMzMzMzMzMzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAucHJvamVjdC1waGFzZXNfX3RpdGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbi5wcm9qZWN0LXBoYXNlc19faXRlbXMge1xuICBtYXgtd2lkdGg6IDc2cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuLnByb2plY3QtcGhhc2VzX19saXN0IHtcbiAgbWF4LXdpZHRoOiA3NnJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgZmxleDogMSAxIDBweDtcbiAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAzLjg4ODg4ODg4ODlyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnByb2plY3QtcGhhc2VzX19saXN0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbi5wcm9qZWN0LXBoYXNlc19fbGlzdCA+IC5wcm9qZWN0LXBoYXNlIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQzLjY4NzVlbSkge1xuICAucHJvamVjdC1waGFzZXNfX2xpc3Qge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NjY2NjY3JTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjgzMzMzMzMzMzNyZW07XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMuNjg3NWVtKSBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAucHJvamVjdC1waGFzZXNfX2xpc3Qge1xuICAgIHBhZGRpbmctbGVmdDogMS4xMTExMTExMTExcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMTExMTExMTExMXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAucHJvamVjdC1waGFzZXNfX2xpc3Qge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMzMzMzMzJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjgzMzMzMzMzMzNyZW07XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5wcm9qZWN0LXBoYXNlc19fbGlzdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjExMTExMTExMTFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4xMTExMTExMTExcmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5wcm9qZWN0LXBoYXNlc19fbGlzdCA+IC5wcm9qZWN0LXBoYXNlIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wcm9qZWN0LXBoYXNlc19fbGlzdCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY2NjY2NjclO1xuICAgIHBhZGRpbmctbGVmdDogMC44MzMzMzMzMzMzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnByb2plY3QtcGhhc2VzX19saXN0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnByb2plY3QtcGhhc2VzX19saXN0ID4gLnByb2plY3QtcGhhc2Uge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbi5wcm9qZWN0LXBoYXNlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDIuNTU1NTU1NTU1NnJlbTtcbiAgcGFkZGluZy10b3A6IDAuNzc3Nzc3Nzc3OHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNzc3Nzc3Nzc3OHJlbTtcbn1cbi5wcm9qZWN0LXBoYXNlIC5pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBmaWxsOiAjMDA5ZmUzO1xufVxuXG4ucmVmZXJlbmNlIHtcbiAgbWF4LXdpZHRoOiA3NnJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG4ucmVmZXJlbmNlX19jb2x1bW4ge1xuICBtYXgtd2lkdGg6IDc2cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBmbGV4OiAxIDEgMHB4O1xuICBtaW4td2lkdGg6IGluaXRpYWw7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBwYWRkaW5nLXRvcDogMy4zMzMzMzMzMzMzcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMy4zMzMzMzMzMzMzcmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0FEQkFDQztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnJlZmVyZW5jZV9fY29sdW1uIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnJlZmVyZW5jZV9fY29sdW1uIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZy10b3A6IDVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDVyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5yZWZlcmVuY2VfX2NvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjExMTExMTExMTFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4xMTExMTExMTExcmVtO1xuICB9XG59XG4ucmVmZXJlbmNlX19jb250ZW50IHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMS4xMTExMTExMTExcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgYm9yZGVyOiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAucmVmZXJlbmNlX19jb250ZW50IHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnJlZmVyZW5jZV9fY29udGVudCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY2NjY2NjclO1xuICAgIHBhZGRpbmctbGVmdDogMC44MzMzMzMzMzMzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5yZWZlcmVuY2VfX2NvbnRlbnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiB1cmwoXCIuLi9pbWFnZXMvaWNvbl9xdW90ZXMuc3ZnXCIpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtMnJlbTtcbiAgICBib3R0b206IDNyZW07XG4gICAgd2lkdGg6IDUuMzMzMzMzMzMzM3JlbTtcbiAgICBvcGFjaXR5OiAwLjA1O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5yZWZlcmVuY2VfX2NvbnRlbnQ6YmVmb3JlIHtcbiAgICBsZWZ0OiAtNnJlbTtcbiAgICBvcGFjaXR5OiAwLjA3O1xuICB9XG59XG4ucmVmZXJlbmNlX19jb250ZW50OmFmdGVyIHtcbiAgY29udGVudDogdXJsKFwiLi4vaW1hZ2VzL2ljb25fcXVvdGVzLnN2Z1wiKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMnJlbTtcbiAgdG9wOiAtMnJlbTtcbiAgd2lkdGg6IDUuMzMzMzMzMzMzM3JlbTtcbiAgb3BhY2l0eTogMC4wNTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnJlZmVyZW5jZV9fY29udGVudDphZnRlciB7XG4gICAgcmlnaHQ6IC0ycmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5yZWZlcmVuY2VfX2NvbnRlbnQ6YWZ0ZXIge1xuICAgIHJpZ2h0OiAtNnJlbTtcbiAgICBvcGFjaXR5OiAwLjA3O1xuICB9XG59XG4ucmVmZXJlbmNlX19hdXRob3Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBtYXJnaW4tdG9wOiAyLjIyMjIyMjIyMjJyZW07XG59XG4ucmVmZXJlbmNlX19hdmF0YXIge1xuICB3aWR0aDogMi43Nzc3Nzc3Nzc4cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzc3Nzc3Nzc3OHJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnJlZmVyZW5jZV9fYXZhdGFyIHtcbiAgICB3aWR0aDogMy44ODg4ODg4ODg5cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMS4xMTExMTExMTExcmVtO1xuICB9XG59XG4ucmVmZXJlbmNlX19hdXRob3ItbmFtZSB7XG4gIGZvbnQtc2l6ZTogMS4xMTExMTExMTExcmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjM2E0MzUxO1xuICBsaW5lLWhlaWdodDogMS4xO1xufVxuLnJlZmVyZW5jZV9fYXV0aG9yLW5hbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnJlZmVyZW5jZV9fYXV0aG9yLW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMS41NTU1NTU1NTU2cmVtO1xuICB9XG59XG4ucmVmZXJlbmNlX19hdXRob3ItbmFtZV9fcGFydDpmaXJzdC1vZi10eXBlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5yZWZlcmVuY2VzIHtcbiAgcGFkZGluZy10b3A6IDIuNjY2NjY2NjY2N3JlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnJlZmVyZW5jZXMge1xuICAgIHBhZGRpbmctdG9wOiAzLjU1NTU1NTU1NTZyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnJlZmVyZW5jZXMge1xuICAgIHBhZGRpbmctdG9wOiA1LjMzMzMzMzMzMzNyZW07XG4gIH1cbn1cbi5yZWZlcmVuY2VzX19oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zZXJ2aWNlcyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cblxuLnNlcnZpY2Uge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAyLjIyMjIyMjIyMjJyZW07XG4gIHBhZGRpbmctYm90dG9tOiAyLjIyMjIyMjIyMjJyZW07XG4gIGNvbG9yOiAjMzk5ZGNjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnNlcnZpY2Uge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgcGFkZGluZy10b3A6IDMuMDU1NTU1NTU1NnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMy4wNTU1NTU1NTU2cmVtO1xuICB9XG4gIC5zZXJ2aWNlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogLTk5OTlweDtcbiAgICByaWdodDogMDtcbiAgICBib3JkZXI6IDAgc29saWQgY3VycmVudENvbG9yO1xuICAgIGJveC1zaGFkb3c6IDk5OTlweCAwIDAgY3VycmVudENvbG9yO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5zZXJ2aWNlIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICB9XG59XG4uc2VydmljZTpmaXJzdC1jaGlsZCAuc2VydmljZV9fdGl0bGUge1xuICBmb250LXNpemU6IDEuNjY2NjY2NjY2N3JlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnNlcnZpY2U6Zmlyc3QtY2hpbGQgLnNlcnZpY2VfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDIuMzMzMzMzMzMzM3JlbTtcbiAgfVxufVxuLnNlcnZpY2U6Zmlyc3QtY2hpbGQgLnNlcnZpY2VfX2J1dHRvbi0taW5zaWRlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnNlcnZpY2U6Zmlyc3QtY2hpbGQgLnNlcnZpY2VfX2J1dHRvbi0tb3V0c2lkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5zZXJ2aWNlOmZpcnN0LWNoaWxkIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiA0LjQ0NDQ0NDQ0NDRyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDQuNDQ0NDQ0NDQ0NHJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5zZXJ2aWNlOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiA5OTk5cHg7XG4gIH1cbiAgLnNlcnZpY2U6Zmlyc3QtY2hpbGQgLnNlcnZpY2VfX2ljb24ge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMzMzMzJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjgzMzMzMzMzMzNyZW07XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkgYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnNlcnZpY2U6Zmlyc3QtY2hpbGQgLnNlcnZpY2VfX2ljb24ge1xuICAgIHBhZGRpbmctbGVmdDogMS4xMTExMTExMTExcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMTExMTExMTExMXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuc2VydmljZTpmaXJzdC1jaGlsZCAuc2VydmljZV9faWNvbi1pbWcge1xuICAgIG1heC13aWR0aDogMTByZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnNlcnZpY2U6Zmlyc3QtY2hpbGQgLnNlcnZpY2VfX2JvZHkge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NjY2NjY3JTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjgzMzMzMzMzMzNyZW07XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQ0LjQ0NDQ0NDQ0NDRyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5zZXJ2aWNlOmZpcnN0LWNoaWxkIC5zZXJ2aWNlX19ib2R5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnNlcnZpY2U6Zmlyc3QtY2hpbGQgLnNlcnZpY2VfX2J1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbi5zZXJ2aWNlOm50aC1jaGlsZCgybik6OmJlZm9yZSB7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiA5OTk5cHg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uc2VydmljZTpudGgtY2hpbGQoMikge1xuICBjb2xvcjogIzQ1QkVEODtcbn1cbi5zZXJ2aWNlOm50aC1jaGlsZCgzKSB7XG4gIGNvbG9yOiAjNDRiMWFkO1xufVxuLnNlcnZpY2U6bnRoLWNoaWxkKDQpIHtcbiAgY29sb3I6ICNkNDk5NzI7XG59XG4uc2VydmljZTpudGgtY2hpbGQoNSkge1xuICBjb2xvcjogI2MxODI4ZTtcbn1cbi5zZXJ2aWNlX19ib2R5IHtcbiAgZmxleDogMSAxIDBweDtcbiAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnNlcnZpY2VfX2JvZHkge1xuICAgIHBhZGRpbmctbGVmdDogMS4xMTExMTExMTExcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMTExMTExMTExMXJlbTtcbiAgfVxufVxuLnNlcnZpY2U6bm90KDpmaXJzdC1jaGlsZCkgLnNlcnZpY2VfX2JvZHkge1xuICBtYXgtd2lkdGg6IDI1cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5zZXJ2aWNlX19pY29uLWltZyB7XG4gIG1heC13aWR0aDogNXJlbTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuc2VydmljZV9faWNvbi1pbWcge1xuICAgIG1heC13aWR0aDogNi42NjY2NjY2NjY3cmVtO1xuICB9XG59XG4uc2VydmljZV9faWNvbiB7XG4gIG1hcmdpbi1ib3R0b206IDEuNjY2NjY2NjY2N3JlbTtcbiAgZmxleDogMCAwIGF1dG87XG59XG4uc2VydmljZV9fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMi42NjY2NjY2NjY3cmVtO1xuICBjb2xvcjogd2hpdGU7XG59XG4uc2VydmljZV9fY29udGVudCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjY2NjY2NjY2NjdyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMzg4ODg4ODg4OXJlbTtcbn1cbi5zZXJ2aWNlX19idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDU1LjVyZW07XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZWZlZmU7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBwYWRkaW5nOiAwLjg4ODg4ODg4ODlyZW0gMi4xMTExMTExMTExcmVtIDAuOTQ0NDQ0NDQ0NHJlbSAyLjExMTExMTExMTFyZW07XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDEuMTExMTExMTExMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDAuODg4ODg4ODg4OXJlbSAzLjMzMzMzMzMzMzNyZW0gMC45NDQ0NDQ0NDQ0cmVtIDIuMTExMTExMTExMXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgbWFyZ2luOiBhdXRvIGF1dG8gMCBhdXRvO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAuc2VydmljZV9fYnV0dG9uIHtcbiAgb3V0bGluZTogMDtcbn1cbi5zZXJ2aWNlX19idXR0b24sIC5zZXJ2aWNlX19idXR0b246aG92ZXIsIC5zZXJ2aWNlX19idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zZXJ2aWNlX19idXR0b246aG92ZXIsIC5zZXJ2aWNlX19idXR0b246Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM3ZjdmN2Y7XG4gIGNvbG9yOiAjN2Y3ZjdmO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuc2VydmljZV9fYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMzMzMzMzMzMzM3JlbTtcbiAgfVxufVxuLnNlcnZpY2VfX2J1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMDE1ZDg0O1xuICBib3JkZXItY29sb3I6ICNmZWZlZmU7XG59XG4uc2VydmljZV9fYnV0dG9uOmJlZm9yZSwgLnNlcnZpY2VfX2J1dHRvbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0wLjEzODg4ODg4ODlyZW07XG4gIHJpZ2h0OiAycmVtO1xuICB3aWR0aDogMC43Nzc3Nzc3Nzc4cmVtO1xuICBoZWlnaHQ6IDAuMjc3Nzc3Nzc3OHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xufVxuLnNlcnZpY2VfX2J1dHRvbjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlWSgtMC4yNzc3Nzc3Nzc4cmVtKTtcbn1cbi5zZXJ2aWNlX19idXR0b246YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZVkoMC4yNzc3Nzc3Nzc4cmVtKTtcbn1cbi5zZXJ2aWNlX19idXR0b246aG92ZXI6OmJlZm9yZSwgLnNlcnZpY2VfX2J1dHRvbjpob3Zlcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE1ZDg0O1xuICByaWdodDogMS43MjIyMjIyMjIycmVtO1xufVxuLnNlcnZpY2VfX2J1dHRvbi0taW5zaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRlYW0ge1xuICBwYWRkaW5nLXRvcDogMi41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS42NjY2NjY2NjY3cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudGVhbSB7XG4gICAgcGFkZGluZy10b3A6IDQuMTY2NjY2NjY2N3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xuICB9XG59XG4udGVhbV9fcm93IHtcbiAgbWF4LXdpZHRoOiA3NnJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi50ZWFtX19yb3cgPiAuY29sbGVhZ3VlIHtcbiAgZmxleDogMCAwIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNi42NjY2NjY2NjY3ZW0pIHtcbiAgLnRlYW1fX3JvdyB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC50ZWFtX19yb3cgPiAuY29sbGVhZ3VlIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudGVhbV9fcm93IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLnRlYW1fX3JvdyA+IC5jb2xsZWFndWUge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRlYW1fX3JvdyB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC50ZWFtX19yb3cgPiAuY29sbGVhZ3VlIHtcbiAgICBmbGV4OiAwIDAgMjAlO1xuICAgIG1heC13aWR0aDogMjAlO1xuICB9XG59XG4udGVhbV9fdGl0bGUge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDEuNjY2NjY2NjY2N3JlbTtcbiAgbWFyZ2luOiAwLjgzMzMzMzMzMzNyZW0gMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudGVhbV9fdGl0bGUge1xuICAgIHBhZGRpbmctbGVmdDogMS4xMTExMTExMTExcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMTExMTExMTExMXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudGVhbV9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMi4zMzMzMzMzMzMzcmVtO1xuICB9XG59XG5cbi5tZW1iZXIge1xuICBmbGV4OiAxIDEgMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICBtaW4td2lkdGg6IGluaXRpYWw7XG4gIHBhZGRpbmctdG9wOiAxLjY2NjY2NjY2NjdyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjY2NjY2NjY2NjdyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLm1lbWJlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjExMTExMTExMTFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4xMTExMTExMTExcmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5tZW1iZXIge1xuICAgIHBhZGRpbmctbGVmdDogMS42NjY2NjY2NjY3cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNjY2NjY2NjY2N3JlbTtcbiAgfVxufVxuLm1lbWJlciAuYXZhdGFyIHtcbiAgbWF4LXdpZHRoOiAxNC4yMjIyMjIyMjIycmVtO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5tZW1iZXJfX3RpdGxlIHtcbiAgbWFyZ2luLXRvcDogMC45NDQ0NDQ0NDQ0cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjM4ODg4ODg4ODlyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4xNjY2NjY2NjY3cmVtO1xufVxuLm1lbWJlcl9fZXhjZXJwdCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNTU1NTU1NTU1NnJlbTtcbiAgY29sb3I6ICMzYTQzNTE7XG4gIGZvbnQtc2l6ZTogMC44ODg4ODg4ODg5cmVtO1xufVxuLm1lbWJlcl9fc29jaWFsLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ubWVtYmVyX19zb2NpYWwtaWNvbiB7XG4gIGNvbG9yOiAjMDE1ZDg0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyBjb2xvciBlYXNlLW91dDtcbn1cbi5tZW1iZXJfX3NvY2lhbC1pY29uOmhvdmVyIHtcbiAgY29sb3I6ICMwMDlmZTM7XG59XG5cbi5qb2luLXVzX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uam9pbi11c19fbGluayAuYXZhdGFyIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHRyYW5zaXRpb246IDI1MG1zIGFsbCBlYXNlLW91dDtcbn1cbi5qb2luLXVzX19saW5rOmhvdmVyIC5hdmF0YXIsIC5qb2luLXVzX19saW5rOmZvY3VzIC5hdmF0YXIge1xuICBiYWNrZ3JvdW5kOiAjMDA5ZmUzO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNmRlZykgc2NhbGUoMS4wMiwgMS4wMik7XG59XG5cbi50ZWNoLXN0YW5kb3V0cyB7XG4gIG1heC13aWR0aDogNzZyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLnRlY2gtc3RhbmRvdXRzX19oZWFkZXIsIC50ZWNoLXN0YW5kb3V0c19fY29udGVudCB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50ZWNoLXN0YW5kb3V0c19faGVhZGVyLCAudGVjaC1zdGFuZG91dHNfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMS4xMTExMTExMTExcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMTExMTExMTExMXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudGVjaC1zdGFuZG91dHNfX2hlYWRlciwgLnRlY2gtc3RhbmRvdXRzX19jb250ZW50IHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50ZWNoLXN0YW5kb3V0c19faGVhZGVyLCAudGVjaC1zdGFuZG91dHNfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMS4xMTExMTExMTExcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMTExMTExMTExMXJlbTtcbiAgfVxufVxuLnRlY2gtc3RhbmRvdXRzX19oZWFkZXIge1xuICBwYWRkaW5nLXRvcDogNC40NDQ0NDQ0NDQ0cmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0FEQkFDQztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnRlY2gtc3RhbmRvdXRzX19pbWcge1xuICBtYXJnaW4tYm90dG9tOiAyLjc3Nzc3Nzc3NzhyZW07XG59XG4udGVjaC1zdGFuZG91dHNfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMi43Nzc3Nzc3Nzc4cmVtO1xufVxuLnRlY2gtc3RhbmRvdXRzX19saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMy44ODg4ODg4ODg5cmVtO1xuICBtYXgtd2lkdGg6IDc2cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnRlY2gtc3RhbmRvdXRzX19saXN0ID4gLnRlY2gtc3RhbmRvdXRzX19pdGVtIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRlY2gtc3RhbmRvdXRzX19saXN0IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLnRlY2gtc3RhbmRvdXRzX19saXN0ID4gLnRlY2gtc3RhbmRvdXRzX19pdGVtIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG59XG4udGVjaC1zdGFuZG91dHNfX2l0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDEuMTExMTExMTExMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjc3Nzc3Nzc3NzhyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuNzc3Nzc3Nzc3OHJlbTtcbn1cbi50ZWNoLXN0YW5kb3V0c19faXRlbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMC40NDQ0NDQ0NDQ0cmVtO1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBib3JkZXI6IDNweCBzb2xpZCAjMDA5ZmUzO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG4udGV4dC1pbWFnZSB7XG4gIG1heC13aWR0aDogNzZyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC50ZXh0LWltYWdlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0FEQkFDQztcbiAgICBwYWRkaW5nLXRvcDogMy4zMzMzMzMzMzMzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjMzMzMzMzMzMzNyZW07XG4gIH1cbn1cbi50ZXh0LWltYWdlX19pbWFnZSwgLnRleHQtaW1hZ2VfX2NvbnRlbnQge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudGV4dC1pbWFnZV9faW1hZ2UsIC50ZXh0LWltYWdlX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMTExMTExMTExMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExMTExMTFyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRleHQtaW1hZ2VfX2ltYWdlLCAudGV4dC1pbWFnZV9fY29udGVudCB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuODMzMzMzMzMzM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjgzMzMzMzMzMzNyZW07XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50ZXh0LWltYWdlX19pbWFnZSwgLnRleHQtaW1hZ2VfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMS4xMTExMTExMTExcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMTExMTExMTExMXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudGV4dC1pbWFnZV9faW1hZ2UsIC50ZXh0LWltYWdlX19jb250ZW50IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjY2NjY2NyU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzMzMzMzNyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC44MzMzMzMzMzMzcmVtO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNBREJBQ0M7XG4gICAgcGFkZGluZy10b3A6IDVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDVyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50ZXh0LWltYWdlX19pbWFnZSwgLnRleHQtaW1hZ2VfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMS4xMTExMTExMTExcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMTExMTExMTExMXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudGV4dC1pbWFnZV9faW1hZ2Uge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuLnRleHQtaW1hZ2VfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4xMTExMTExMTExcmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudGV4dC1pbWFnZS5hdXRvOm50aC1vZi10eXBlKG9kZCkgLnRleHQtaW1hZ2VfX2ltYWdlLCAudGV4dC1pbWFnZS5mZWF0dXJlZC1wcm9qZWN0Om50aC1vZi10eXBlKG9kZCkgLnRleHQtaW1hZ2VfX2ltYWdlLCAudGV4dC1pbWFnZS5pbWFnZS1sZWZ0IC50ZXh0LWltYWdlX19pbWFnZSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRleHQtaW1hZ2UuYXV0bzpudGgtb2YtdHlwZShvZGQpIC50ZXh0LWltYWdlX19jb250ZW50LCAudGV4dC1pbWFnZS5mZWF0dXJlZC1wcm9qZWN0Om50aC1vZi10eXBlKG9kZCkgLnRleHQtaW1hZ2VfX2NvbnRlbnQsIC50ZXh0LWltYWdlLmltYWdlLWxlZnQgLnRleHQtaW1hZ2VfX2NvbnRlbnQge1xuICAgIG9yZGVyOiAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50ZXh0LWltYWdlLmF1dG86bnRoLW9mLXR5cGUoZXZlbikgLnRleHQtaW1hZ2VfX2ltYWdlLCAudGV4dC1pbWFnZS5mZWF0dXJlZC1wcm9qZWN0Om50aC1vZi10eXBlKGV2ZW4pIC50ZXh0LWltYWdlX19pbWFnZSwgLnRleHQtaW1hZ2UuaW1hZ2UtcmlnaHQgLnRleHQtaW1hZ2VfX2ltYWdlIHtcbiAgICBvcmRlcjogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudGV4dC1pbWFnZS5hdXRvOm50aC1vZi10eXBlKGV2ZW4pIC50ZXh0LWltYWdlX19jb250ZW50LCAudGV4dC1pbWFnZS5mZWF0dXJlZC1wcm9qZWN0Om50aC1vZi10eXBlKGV2ZW4pIC50ZXh0LWltYWdlX19jb250ZW50LCAudGV4dC1pbWFnZS5pbWFnZS1yaWdodCAudGV4dC1pbWFnZV9fY29udGVudCB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbn1cblxuLyogVGV4dCBtZWFudCBvbmx5IGZvciBzY3JlZW4gcmVhZGVycy4gKi9cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzNhNDM1MTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDsgLyogQWJvdmUgV1AgdG9vbGJhci4gKi9cbn1cblxuLyogRG8gbm90IHNob3cgdGhlIG91dGxpbmUgb24gdGhlIHNraXAgbGluayB0YXJnZXQuICovXG4jY29udGVudFt0YWJpbmRleD1cIi0xXCJdOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuR3Jhdml0eSBGb3JtcyBEYXRlIFBpY2tlciBTdHlsZXNcbmh0dHA6IC8vd3d3LmdyYXZpdHlmb3Jtcy5jb21cbnVwZGF0ZWQ6IEphbnVhcnkgMzEsIDIwMTQgMzozMiBQTVxuXG5DdXN0b21pemVkIHN0eWxlcyBmb3IgdGhlIGpRdWVyeSBVSSBEYXRlcGlja2VyIDEuOS4yXG5jb3B5cmlnaHQgMjAxMiBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzXG5SZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG5odHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlXG5zb21lIHN0eWxlcyBjb3VydGVzdHkgb2YgaHR0cDovL3d3dy5ob25na2lhdC5jb20vXG5cbkdyYXZpdHkgRm9ybXMgaXMgYSBSb2NrZXRnZW5pdXMgcHJvamVjdFxuY29weXJpZ2h0IDIwMDggLSAyMDE0IFJvY2tldGdlbml1cyBJbmMuXG5odHRwOiAvL3d3dy5yb2NrZXRnZW5pdXMuY29tXG5cbk5PVEU6IERPIE5PVCBFRElUIFRISVMgRklMRSEgTUFLRSBBTlkgTU9ESUZJQ0FUSU9OUyBJTiBZT1VSXG5USEVNRSBTVFlMRVNIRUVULiBUSElTIEZJTEUgSVMgUkVQTEFDRUQgRFVSSU5HIEFVVE8tVVBEQVRFU1xuQU5EIEFOWSBDSEFOR0VTIE1BREUgSEVSRSBXSUxMIEJFIE9WRVJXUklUVEVOLlxuXG5JZiB5b3UgbmVlZCB0byBtYWtlIGV4dGVuc2l2ZSBjdXN0b21pemF0aW9ucyxcbmNvcHkgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZSB0byB5b3VyIHRoZW1lXG5zdHlsZSBzaGVldCBmb3IgZWRpdGluZy4gVGhlbiwgZ28gdG8gdGhlIGZvcm1cbnNldHRpbmdzIHBhZ2UgJiBzZXQgdGhlICdvdXRwdXQgQ1NTJyBvcHRpb25cbnRvIG5vLlxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLnVpLWRhdGVwaWNrZXIge1xuICB3aWR0aDogMjIwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiA1cHggYXV0byAwO1xuICBmb250OiA5cHQgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuXG4udWktZGF0ZXBpY2tlciBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udWktZGF0ZXBpY2tlciB0YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG4udWktZGF0ZXBpY2tlci1oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2OyAvKiBzZXQgdGhlIGhlYWRlciBiYWNrZ3JvdW5kIGNvbG9yICovXG4gIGNvbG9yOiAjZTBlMGUwO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwcHggMXB4IDFweCAwcHggcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjIpO1xuICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDBweCAxcHggMXB4IDBweCByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMik7XG4gIGJveC1zaGFkb3c6IGluc2V0IDBweCAxcHggMXB4IDBweCByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMik7XG4gIHRleHQtc2hhZG93OiAxcHggLTFweCAwcHggIzAwMDtcbiAgZmlsdGVyOiBkcm9wc2hhZG93KGNvbG9yPSMwMDAsIG9mZng9MSwgb2ZmeT0tMSk7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBtaW4taGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMCAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICM2NjY7XG59XG5cbi51aS1kYXRlcGlja2VyLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udWktZGF0ZXBpY2tlci10aXRsZSBzZWxlY3Qge1xuICBtYXJnaW4tdG9wOiAyLjUlO1xufVxuXG4udWktZGF0ZXBpY2tlci1wcmV2LFxuLnVpLWRhdGVwaWNrZXItbmV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbnRlbnQ6IFwiPlwiO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBsaW5lLWhlaWdodDogNjAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnVpLWRhdGVwaWNrZXItcHJldiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTMwcHg7XG59XG5cbi51aS1kYXRlcGlja2VyLW5leHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAwcHg7XG59XG5cbi51aS1kYXRlcGlja2VyIHRoZWFkIHtcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlBL1BnbzhjM1puSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZDJsa2RHZzlJakV3TUNVaUlHaGxhV2RvZEQwaU1UQXdKU0lnZG1sbGQwSnZlRDBpTUNBd0lERWdNU0lnY0hKbGMyVnlkbVZCYzNCbFkzUlNZWFJwYnowaWJtOXVaU0krQ2lBZ1BHeHBibVZoY2tkeVlXUnBaVzUwSUdsa1BTSm5jbUZrTFhWaloyY3RaMlZ1WlhKaGRHVmtJaUJuY21Ga2FXVnVkRlZ1YVhSelBTSjFjMlZ5VTNCaFkyVlBibFZ6WlNJZ2VERTlJakFsSWlCNU1UMGlNQ1VpSUhneVBTSXdKU0lnZVRJOUlqRXdNQ1VpUGdvZ0lDQWdQSE4wYjNBZ2IyWm1jMlYwUFNJd0pTSWdjM1J2Y0MxamIyeHZjajBpSTJZM1pqZG1OeUlnYzNSdmNDMXZjR0ZqYVhSNVBTSXhJaTgrQ2lBZ0lDQThjM1J2Y0NCdlptWnpaWFE5SWpFd01DVWlJSE4wYjNBdFkyOXNiM0k5SWlObU1XWXhaakVpSUhOMGIzQXRiM0JoWTJsMGVUMGlNU0l2UGdvZ0lEd3ZiR2x1WldGeVIzSmhaR2xsYm5RK0NpQWdQSEpsWTNRZ2VEMGlNQ0lnZVQwaU1DSWdkMmxrZEdnOUlqRWlJR2hsYVdkb2REMGlNU0lnWm1sc2JEMGlkWEpzS0NObmNtRmtMWFZqWjJjdFoyVnVaWEpoZEdWa0tTSWdMejRLUEM5emRtYyspO1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNmN2Y3ZjcgMCUsICNmMWYxZjEgMTAwJSk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsICNmN2Y3ZjcpLCBjb2xvci1zdG9wKDEwMCUsICNmMWYxZjEpKTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZjdmN2Y3IDAlLCAjZjFmMWYxIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZjdmN2Y3IDAlLCAjZjFmMWYxIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgI2Y3ZjdmNyAwJSwgI2YxZjFmMSAxMDAlKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2Y3ZjdmNyAwJSwgI2YxZjFmMSAxMDAlKTtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9XCIjZjdmN2Y3XCIsIGVuZENvbG9yc3RyPVwiI2YxZjFmMVwiLEdyYWRpZW50VHlwZT0wICk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmJiO1xufVxuXG4udWktZGF0ZXBpY2tlciB0aCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiA2cHQ7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBjb2xvcjogIzY2NjY2NjtcbiAgdGV4dC1zaGFkb3c6IDFweCAwcHggMHB4ICNmZmY7XG4gIGZpbHRlcjogZHJvcHNoYWRvdyhjb2xvcj0jZmZmLCBvZmZ4PTEsIG9mZnk9MCk7XG59XG5cbi51aS1kYXRlcGlja2VyIHRib2R5IHRkIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNiYmI7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNiYmI7XG59XG5cbi51aS1kYXRlcGlja2VyIHRib2R5IHRkOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmlnaHQ6IDBweDtcbn1cblxuLnVpLWRhdGVwaWNrZXIgdGJvZHkgdHIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JiYjtcbn1cblxuLnVpLWRhdGVwaWNrZXIgdGJvZHkgdHI6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IDBweDtcbn1cblxuLnVpLWRhdGVwaWNrZXIgdGQgc3Bhbixcbi51aS1kYXRlcGlja2VyIHRkIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBjb2xvcjogIzY2NjY2NjtcbiAgdGV4dC1zaGFkb3c6IDFweCAxcHggMHB4ICNmZmY7XG4gIGZpbHRlcjogZHJvcHNoYWRvdyhjb2xvcj0jZmZmLCBvZmZ4PTEsIG9mZnk9MSk7XG59XG5cbi51aS1kYXRlcGlja2VyLWNhbGVuZGFyIC51aS1zdGF0ZS1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcbiAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlBL1BnbzhjM1puSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZDJsa2RHZzlJakV3TUNVaUlHaGxhV2RvZEQwaU1UQXdKU0lnZG1sbGQwSnZlRDBpTUNBd0lERWdNU0lnY0hKbGMyVnlkbVZCYzNCbFkzUlNZWFJwYnowaWJtOXVaU0krQ2lBZ1BHeHBibVZoY2tkeVlXUnBaVzUwSUdsa1BTSm5jbUZrTFhWaloyY3RaMlZ1WlhKaGRHVmtJaUJuY21Ga2FXVnVkRlZ1YVhSelBTSjFjMlZ5VTNCaFkyVlBibFZ6WlNJZ2VERTlJakFsSWlCNU1UMGlNQ1VpSUhneVBTSXdKU0lnZVRJOUlqRXdNQ1VpUGdvZ0lDQWdQSE4wYjNBZ2IyWm1jMlYwUFNJd0pTSWdjM1J2Y0MxamIyeHZjajBpSTJWa1pXUmxaQ0lnYzNSdmNDMXZjR0ZqYVhSNVBTSXhJaTgrQ2lBZ0lDQThjM1J2Y0NCdlptWnpaWFE5SWpFd01DVWlJSE4wYjNBdFkyOXNiM0k5SWlOa1pXUmxaR1VpSUhOMGIzQXRiM0JoWTJsMGVUMGlNU0l2UGdvZ0lEd3ZiR2x1WldGeVIzSmhaR2xsYm5RK0NpQWdQSEpsWTNRZ2VEMGlNQ0lnZVQwaU1DSWdkMmxrZEdnOUlqRWlJR2hsYVdkb2REMGlNU0lnWm1sc2JEMGlkWEpzS0NObmNtRmtMWFZqWjJjdFoyVnVaWEpoZEdWa0tTSWdMejRLUEM5emRtYyspO1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNlZGVkZWQgMCUsICNkZWRlZGUgMTAwJSk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsICNlZGVkZWQpLCBjb2xvci1zdG9wKDEwMCUsICNkZWRlZGUpKTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZWRlZGVkIDAlLCAjZGVkZWRlIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZWRlZGVkIDAlLCAjZGVkZWRlIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgI2VkZWRlZCAwJSwgI2RlZGVkZSAxMDAlKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2VkZWRlZCAwJSwgI2RlZGVkZSAxMDAlKTtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9XCIjZWRlZGVkXCIsIGVuZENvbG9yc3RyPVwiI2RlZGVkZVwiLEdyYWRpZW50VHlwZT0wICk7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMXB4IDFweCAwcHggMHB4IHJnYmEoMjUwLCAyNTAsIDI1MCwgMC41KTtcbiAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDBweCAwcHggcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjUpO1xuICBib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDBweCAwcHggcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjUpO1xufVxuXG4udWktZGF0ZXBpY2tlci1jYWxlbmRhciAudWktc3RhdGUtaG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xufVxuXG4udWktZGF0ZXBpY2tlci1jYWxlbmRhciAudWktc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI0ZGRjJBQTsgLyogc2V0IHRoZSBhY3RpdmUgZGF0ZSBiYWNrZ3JvdW5kIGNvbG9yICovXG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMTkxNjM7IC8qIHNldCB0aGUgYWN0aXZlIGRhdGUgYm9yZGVyIGNvbG9yICovXG4gIGNvbG9yOiAjNjY2OyAvKiBzZXQgdGhlIGFjdGl2ZSBkYXRlIGZvbnQgY29sb3IgKi9cbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIHRleHQtc2hhZG93OiAwcHggMXB4IDBweCAjRkZGO1xuICBmaWx0ZXI6IGRyb3BzaGFkb3coY29sb3I9I0ZGRiwgb2ZmeD0wLCBvZmZ5PTEpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogLTFweDtcbn1cblxuLnVpLWRhdGVwaWNrZXItdW5zZWxlY3RhYmxlIC51aS1zdGF0ZS1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZDogI2Y0ZjRmNDtcbiAgY29sb3I6ICNiNGIzYjM7XG59XG5cbi51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRkOmZpcnN0LWNoaWxkIC51aS1zdGF0ZS1hY3RpdmUge1xuICB3aWR0aDogMjlweDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRkOmxhc3QtY2hpbGQgLnVpLXN0YXRlLWFjdGl2ZSB7XG4gIHdpZHRoOiAyOXB4O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRyOmxhc3QtY2hpbGQgLnVpLXN0YXRlLWFjdGl2ZSB7XG4gIGhlaWdodDogMjlweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxudGQudWktZGF0ZXBpY2tlci11bnNlbGVjdGFibGUudWktc3RhdGUtZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDdkN2Q3O1xufVxuXG50YWJsZS51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHtcbiAgbWFyZ2luOiAwIDAgMCAwICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgZGl2I3VpLWRhdGVwaWNrZXItZGl2W3N0eWxlXSB7XG4gIHotaW5kZXg6IDk5OTkgIWltcG9ydGFudDtcbn1cblxuLyogR2xvYmFsbHkgaGlkZGVuIGVsZW1lbnRzIHdoZW4gSW5maW5pdGUgU2Nyb2xsIGlzIHN1cHBvcnRlZCBhbmQgaW4gdXNlLiAqL1xuLmluZmluaXRlLXNjcm9sbCAucG9zdHMtbmF2aWdhdGlvbixcbi5pbmZpbml0ZS1zY3JvbGwubmV2ZXJlbmRpbmcgLnNpdGUtZm9vdGVyIHsgLyogVGhlbWUgRm9vdGVyICh3aGVuIHNldCB0byBzY3JvbGxpbmcpICovXG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFdoZW4gSW5maW5pdGUgU2Nyb2xsIGhhcyByZWFjaGVkIGl0cyBlbmQgd2UgbmVlZCB0byByZS1kaXNwbGF5IGVsZW1lbnRzIHRoYXQgd2VyZSBoaWRkZW4gKHZpYSAubmV2ZXJlbmRpbmcpIGJlZm9yZS4gKi9cbi5pbmZpbml0eS1lbmQubmV2ZXJlbmRpbmcgLnNpdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59IiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMi4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBTYXNzIHV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4LXZpZGVvJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZygkZmxleDogZmFsc2UpIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LXZpZGVvO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG4gIEBpZiAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBDb2xvclZhcmlhYmxlLCBRdWFsaWZ5aW5nRWxlbWVudCwgVmVuZG9yUHJlZml4XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMjE5OWU4LFxuICBzZWNvbmRhcnk6ICM3NzcsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjZWM1ODQwLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKTtcbiRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG5cbi8vIFJlbW92ZSB0aGlzIGluIDYuM1xuJC16Zi1tZW51LWljb24taW1wb3J0ZWQ6IGZhbHNlO1xuJC16Zi1mbGV4LWNsYXNzZXMtaW1wb3J0ZWQ6IGZhbHNlO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG5cbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgSWRTZWxlY3RvclxuICAjbWFwX2NhbnZhcyxcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLyoqXG4gICAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gICAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAgICovXG5cbiAgaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAgICovXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICAgKiBhbmQgRmlyZWZveC5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAgICovXG5cbiAgYXJ0aWNsZSxcbiAgYXNpZGUsXG4gIGRldGFpbHMsXG4gIGZpZ2NhcHRpb24sXG4gIGZpZ3VyZSxcbiAgZm9vdGVyLFxuICBoZWFkZXIsXG4gIGhncm91cCxcbiAgbWFpbixcbiAgbWVudSxcbiAgbmF2LFxuICBzZWN0aW9uLFxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICAgKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAqL1xuXG4gIGF1ZGlvLFxuICBjYW52YXMsXG4gIHByb2dyZXNzLFxuICB2aWRlbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAgICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAgICovXG5cbiAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gICAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAgICovXG5cbiAgW2hpZGRlbl0sXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLyogTGlua3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiAgICogYWN0aXZlL2hvdmVyIHN0YXRlLlxuICAgKi9cblxuICBhOmFjdGl2ZSxcbiAgYTpob3ZlciB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5cbiAgZGZuIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gICAqL1xuXG4gIG1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmZjA7XG4gICAgY29sb3I6ICMwMDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAgICovXG5cbiAgaW1nIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvKipcbiAgICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gICAqL1xuXG4gIHN2Zzpub3QoOnJvb3QpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAgICovXG5cbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDFlbSA0MHB4O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAgICovXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIGNvZGUsXG4gIGtiZCxcbiAgcHJlLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cblxuICAvKiBGb3Jtc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICAgKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gICAqL1xuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIG1hcmdpbjogMDsgLyogMyAqL1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cblxuICBidXR0b24ge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAgICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAgICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICAgKi9cblxuICBidXR0b24sXG4gIHNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvKipcbiAgICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAgICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gICAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAgICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAgICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICAgKi9cblxuICBidXR0b24sXG4gIGh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gIH1cblxuICAvKipcbiAgICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICovXG5cbiAgYnV0dG9uW2Rpc2FibGVkXSxcbiAgaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICAgKi9cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIGlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICAgKi9cblxuICBpbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gICAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gICAqXG4gICAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gICAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gICAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gICAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gICAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAgICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICAgKiBbTk9URV0gV2UgZG9uJ3QgZW5hYmxlIHRoaXMgcnVsZXNldCBpbiBGb3VuZGF0aW9uLCBiZWNhdXNlIHdlIHdhbnQgdGhlIDxmaWVsZHNldD4gZWxlbWVudCB0byBoYXZlIHBsYWluIHN0eWxpbmcuXG4gICAqL1xuXG4gIC8qIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICB9ICovXG5cbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAgICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICAgKi9cblxuICBsZWdlbmQge1xuICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvKipcbiAgICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICAgKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAgICovXG5cbiAgb3B0Z3JvdXAge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLyogVGFibGVzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAgICovXG5cbiAgdGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIH1cblxuICB0ZCxcbiAgdGgge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbiIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDbG9zZSBCdXR0b25cbi8vICAxNS4gRHJpbGxkb3duXG4vLyAgMTYuIERyb3Bkb3duXG4vLyAgMTcuIERyb3Bkb3duIE1lbnVcbi8vICAxOC4gRmxleCBWaWRlb1xuLy8gIDE5LiBGb3Jtc1xuLy8gIDIwLiBMYWJlbFxuLy8gIDIxLiBNZWRpYSBPYmplY3Rcbi8vICAyMi4gTWVudVxuLy8gIDIzLiBNZXRlclxuLy8gIDI0LiBPZmYtY2FudmFzXG4vLyAgMjUuIE9yYml0XG4vLyAgMjYuIFBhZ2luYXRpb25cbi8vICAyNy4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjguIFJldmVhbFxuLy8gIDI5LiBTbGlkZXJcbi8vICAzMC4gU3dpdGNoXG4vLyAgMzEuIFRhYmxlXG4vLyAgMzIuIFRhYnNcbi8vICAzMy4gVGh1bWJuYWlsXG4vLyAgMzQuIFRpdGxlIEJhclxuLy8gIDM1LiBUb29sdGlwXG4vLyAgMzYuIFRvcCBCYXJcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDE4cHg7XG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMzY4KTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS4zMzMzMztcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzAwOWZlMyxcbiAgc2Vjb25kYXJ5OiAjMDE1ZDg0LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2VjNTg0MCxcbik7XG4kbGlnaHQtZ3JheTogI2Y1ZjVmNTtcbiRtZWRpdW0tZ3JheTogI0FEQkFDQztcbiRkYXJrLWdyYXk6ICM3MTgyOUQ7XG4kYmxhY2s6ICMzYTQzNTE7XG4kd2hpdGU6ICNmZWZlZmU7XG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XG4vLyAnZXVyb3BhJyBmb250IGlzIGxvYWRlZCBmcm9tIEVsZW1lbnRvclxuJGJvZHktZm9udC1mYW1pbHk6ICdldXJvcGEnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiA0MDA7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiA3MDA7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogZmFsc2U7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbi8vIHNpbXBsaWZpZWQgZm9udCB3ZWlnaHQgdmFyaWFibGVzXG4kd2VpZ2h0LWxpZ2h0OiAzMDA7XG4kd2VpZ2h0LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHdlaWdodC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4kYmx1ZS0xOiAjMzk5ZGNjO1xuJGJsdWUtMjogIzQ1QkVEODtcbiRibHVlLTM6ICM0NGIxYWQ7XG4kYnJvd246ICNkNDk5NzI7XG4kcGluazogI2MxODI4ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDcwMHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDMwcHgsXG4gIG1lZGl1bTogNDBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItc2l6ZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAzNixcbiAgICAnaDInOiAyOCxcbiAgICAnaDMnOiAxOSxcbiAgICAnaDQnOiAxOCxcbiAgICAnaDUnOiAxNyxcbiAgICAnaDYnOiAxNixcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogNDIsXG4gICAgJ2gyJzogMzYsXG4gICAgJ2gzJzogMzAsXG4gICAgJ2g0JzogMjUsXG4gICAgJ2g1JzogMjAsXG4gICAgJ2g2JzogMTYsXG4gICksXG4pO1xuJGhlYWRlci1jb2xvcjogJGJsYWNrO1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjI7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDc1JTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJGRhcmstZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS41O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiBub25lO1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogZm9yZWdyb3VuZCgkYmFkZ2UtYmFja2dyb3VuZCk7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNsYXNoOiB0cnVlO1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRidXR0b24tZmlsbDogaG9sbG93O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogcmVtLWNhbGMoOTk5KTtcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbik7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAxcmVtO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogMC41cmVtO1xuJGNsb3NlYnV0dG9uLXNpemU6IDJlbTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE1LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuXG4vLyAxNi4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE3LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuXG4vLyAxOC4gRmxleCBWaWRlb1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kZmxleHZpZGVvLXJhdGlvOiA0IGJ5IDM7XG4kZmxleHZpZGVvLXJhdGlvLXdpZGVzY3JlZW46IDE2IGJ5IDk7XG5cbi8vIDE5LiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuNDtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAycHg7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiBub25lO1xuJGlucHV0LWJvcmRlci1mb2N1czogbm9uZTtcbiRpbnB1dC1zaGFkb3c6IDAgMXB4IDFweCAxcHggcmdiYSgwLDAsMCwwLjEpOztcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IGluc2V0IDAgMCAxcHggMXB4IHJnYmEoMCwwLDAsMC4xKTs7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAycHg7XG5cbi8vIDIwLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogZm9yZWdyb3VuZCgkbGFiZWwtYmFja2dyb3VuZCk7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjIuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW07XG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDIzLiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjQuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZTogMjUwcHg7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy16aW5kZXg6IC0xO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuJG1haW5jb250ZW50LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNSk7XG5cbi8vIDI1LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjYuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiBmb3JlZ3JvdW5kKCRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50KTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyNy4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI4LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gMjkuIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDMwLiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gMzEuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG5cbi8vIDMyLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDMzLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNC4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gMzUuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDM2LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAxcmVtO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogZmxvb3IoKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKSk7XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyZWQoJGNvbG9yKX0sICN7Z3JlZW4oJGNvbG9yKX0sICN7Ymx1ZSgkY29sb3IpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSkge1xuICAkbWFwOiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbWFwOiBtYXAtcmVtb3ZlKCRtYXAsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRzaXplIGluICRtYXAge1xuICAgICQtemYtc2l6ZTogJHNpemUgIWdsb2JhbDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+4oCUPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgb2YgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzaXplcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc2l6ZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAyNCxcbiAgICAnaDInOiAyMCxcbiAgICAnaDMnOiAxOSxcbiAgICAnaDQnOiAxOCxcbiAgICAnaDUnOiAxNyxcbiAgICAnaDYnOiAxNixcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogNDgsXG4gICAgJ2gyJzogNDAsXG4gICAgJ2gzJzogMzEsXG4gICAgJ2g0JzogMjUsXG4gICAgJ2g1JzogMjAsXG4gICAgJ2g2JzogMTYsXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVvY3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZWhlaWdodDtcblxuICAgIHNtYWxsIHtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHNpemVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICAgI3skaGVhZGVyfSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9udC1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciB7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgfVxuXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuICAvLyBTdG9yZSB0aGUgdmFsdWVzIG9mIHRoZSBtYXAgYXMgYSBsaXN0LCBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gd2l0aCBudGhcbiAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcblxuICAvLyBHaGV0dG8gZm9yIGxvb3BcbiAgJGk6IDE7XG4gICRmb3VuZDogZmFsc2U7XG4gIEBlYWNoICR2YWwgaW4gbWFwLWtleXMoJG1hcCkge1xuICAgIEBpZiAkZm91bmQgPT0gZmFsc2Uge1xuICAgICAgQGlmICgka2V5ID09ICR2YWwpIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfVxuICAgICAgJGk6ICRpICsgMTtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAkaSA+IGxlbmd0aCgkbWFwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBudGgoJHZhbHVlcywgJGkpO1xuICB9XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAuIElmIHRoZSBjb25maWcgbWFwIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC4gSWYgdGhlIGNvbmZpZyBtYXAgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIElucHV0IGNvbmZpZyBtYXAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuLy8gTGVnYWN5IGJyZWFrcG9pbnQgdmFyaWFibGVzXG4vLyBUaGVzZSB3aWxsIGJlIHJlbW92ZWQgaW4gNi4zXG4kc21hbGwtdXA6IG51bGw7XG4kc21hbGwtb25seTogbnVsbDtcbiRtZWRpdW0tdXA6IG51bGw7XG4kbWVkaXVtLW9ubHk6IG51bGw7XG4kbGFyZ2UtdXA6IG51bGw7XG4kbGFyZ2Utb25seTogbnVsbDtcbiR4bGFyZ2UtdXA6IG51bGw7XG4keGxhcmdlLW9ubHk6IG51bGw7XG4keHhsYXJnZS11cDogbnVsbDtcbiR4eGxhcmdlLW9ubHk6IG51bGw7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsaWdodG5lc3Mgb2YgYCRjb2xvcmAsIGFuZCBpZiBpdCBwYXNzZXMgdGhlIGAkdGhyZXNob2xkYCBvZiBsaWdodG5lc3MsIGl0IHJldHVybnMgdGhlIGAkeWVzYCBjb2xvci4gT3RoZXJ3aXNlLCBpdCByZXR1cm5zIHRoZSBgJG5vYCBjb2xvci4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gZHluYW1pY2FsbHkgb3V0cHV0IGEgZm9yZWdyb3VuZCBjb2xvciBiYXNlZCBvbiBhIGdpdmVuIGJhY2tncm91bmQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbGlnaHRuZXNzIG9mLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR5ZXMgWyRibGFja10gLSBDb2xvciB0byByZXR1cm4gaWYgYCRjb2xvcmAgaXMgbGlnaHQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJG5vIFskd2hpdGVdIC0gQ29sb3IgdG8gcmV0dXJuIGlmIGAkY29sb3JgIGlzIGRhcmsuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs2MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBUaGUgJHllcyBjb2xvciBvciAkbm8gY29sb3IuXG5AZnVuY3Rpb24gZm9yZWdyb3VuZCgkY29sb3IsICR5ZXM6ICRibGFjaywgJG5vOiAkd2hpdGUsICR0aHJlc2hvbGQ6IDYwJSkge1xuICBAaWYgJGNvbG9yID09IHRyYW5zcGFyZW50IHtcbiAgICAkY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gIH1cbiAgQGlmIChsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQpIHtcbiAgICBAcmV0dXJuICR5ZXM7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJG5vO1xuICB9XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBsaWdodGVyIGlmIGl0J3MgbGlnaHQsIG9yIGRhcmtlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCB2YXJpYWJsZSBpbnRvIHRoZSBsZWdhY3kgY29sb3IgdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICAvLyBVc2UgdG8gcmVtb3ZlIHRoZSBidWxsZXRzIGZyb20gYW4gdW5vcmRlcmVkIGxpc3RcbiAgLm5vLWJ1bGxldCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG5cbiAgICAgIFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgIFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCwgJGdsb2JhbC1yYWRpdXMgMCAwICRnbG9iYWwtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkZ2xvYmFsLXJhZGl1cyAwIDAgJGdsb2JhbC1yYWRpdXMsIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdTZWxlY3RvclxuICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMik7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtYWxwaGEgWzAuMV0gLSBUcmFuc3BhcmVuY3kgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWFscGhhOiAwLjFcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1hbHBoYSk7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCJhIHtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAyNTBtcyBlYXNlLW91dCwgY29sb3IgMjUwbXMgZWFzZS1vdXQ7XG59XG5cbmJvZHkge1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuXHR9XG59XG5cbmJsb2NrcXVvdGUge1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuXHR9XG5cblx0cCB7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0fVxufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcblx0d2lkdGg6IDEwMCU7XG5cblx0c21hbGwge1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0Zm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcblx0fVxufVxuXG5ociB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG5cbi50ZXh0LXNtYWxsIHtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG59IiwiLyogV2ViZm9udDogTGF0b0xhdGluLUJvbGQgKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnTGF0byc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL0xhdG9MYXRpbi1Cb2xkLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL0xhdG9MYXRpbi1Cb2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cbiAgICAgICAgIHVybCgnLi4vZm9udHMvTGF0b0xhdGluLUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xuICAgICAgICAgdXJsKCcuLi9mb250cy9MYXRvTGF0aW4tQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xuICAgICAgICAgdXJsKCcuLi9mb250cy9MYXRvTGF0aW4tQm9sZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbn1cblxuXG4vKiBXZWJmb250OiBMYXRvTGF0aW4tTGlnaHQgKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnTGF0byc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL0xhdG9MYXRpbi1MaWdodC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9MYXRvTGF0aW4tTGlnaHQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xuICAgICAgICAgdXJsKCcuLi9mb250cy9MYXRvTGF0aW4tTGlnaHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xuICAgICAgICAgdXJsKCcuLi9mb250cy9MYXRvTGF0aW4tTGlnaHQud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi9cbiAgICAgICAgIHVybCgnLi4vZm9udHMvTGF0b0xhdGluLUxpZ2h0LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuXG4vKiBXZWJmb250OiBMYXRvTGF0aW4tUmVndWxhciAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdMYXRvJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvTGF0b0xhdGluLVJlZ3VsYXIuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cbiAgICBzcmM6IHVybCgnLi4vZm9udHMvTGF0b0xhdGluLVJlZ3VsYXIuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xuICAgICAgICAgdXJsKCcuLi9mb250cy9MYXRvTGF0aW4tUmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL0xhdG9MYXRpbi1SZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL0xhdG9MYXRpbi1SZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuXG5cblxuIiwiLmljb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRmaWxsOiBjdXJyZW50Q29sb3I7XG5cdHN2ZyB7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogYXV0bztcblx0fVxufVxuXG4uaWNvbi0tYWJzb2x1dGUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRtYXJnaW4tdG9wOiByZW0tY2FsYygtMik7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbiIsIi5zaXRlLWhlYWRlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR6LWluZGV4OiAyO1xuXHR3aWR0aDogMTAwJTtcblxuXHQmX19yb3cge1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3coICR3aWR0aDogMTAwJSApO1xuXHRcdEBpbmNsdWRlIGZsZXgtYWxpZ24oIG51bGwsIG1pZGRsZSApO1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTMpO1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMyk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCBsYXJnZSApIHtcblx0XHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYygyMyk7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjMpO1xuXG5cdFx0XHQuaXMtc3R1Y2sgJiB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYygxMyk7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnN0aWNreSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0dHJhbnNpdGlvbjogdG9wIC4yNXMgZWFzZS1vdXQsIGJhY2tncm91bmQtY29sb3IgLjI1cyBlYXNlLW91dDtcblx0fVxuXG5cdC5pcy1zdHVjayB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcblx0fVxuXG59XG5cbi5zaXRlLWJyYW5kaW5nLFxuLm1haW4tbmF2aWdhdGlvbiB7XG5cdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnM6c2hyaW5rKTtcbn1cblxuLnNpdGUtYnJhbmRpbmcge1xuXHRmbGV4LXNocmluazogMTtcbn1cblxuLnNpdGUtdGl0bGUge1xuXHR3aWR0aDogcmVtLWNhbGMoMTIzKTtcblx0bWFyZ2luOiAwO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0d2lkdGg6IGF1dG87XG5cdH1cbn1cblxuLm1haW4tbmF2aWdhdGlvbiB7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLXJvdy13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSByb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBmb3IgdGhpcyByb3cuIElmIHNldCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSwgdGhlIGdsb2JhbCBjb2x1bW4gY291bnQgd2lsbCBiZSB1c2VkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCBiYXNpYyBzdHlsZXMgZnJvbSBiZWluZyBvdXRwdXQuIFVzZWZ1bCBpZiB5b3UncmUgY2FsbGluZyB0aGlzIG1peGluIG9uIHRoZSBzYW1lIGVsZW1lbnQgdHdpY2UsIGFzIGl0IHByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgb3V0cHV0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93KFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICR3aWR0aDogJGdyaWQtcm93LXdpZHRoLFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJhc2U6IHRydWUsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcik7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1heC13aWR0aDogJHdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIEBpZiAkYmFzZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucywgJGJhc2UpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgYGZsZXhgIHByb3BlcnR5IGZvciBhIGZsZXggZ3JpZCBjb2x1bW4uIEl0IGFjY2VwdHMgYWxsIG9mIHRoZSBzYW1lIHZhbHVlcyBhcyB0aGUgYmFzaWMgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBhbG9uZyB3aXRoIHR3byBleHRyYXM6XG4vLy8gICAtIGBudWxsYCAodGhlIGRlZmF1bHQpIHdpbGwgbWFrZSB0aGUgY29sdW1uIGV4cGFuZCB0byBmaWxsIHNwYWNlLlxuLy8vICAgLSBgc2hyaW5rYCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBjb250cmFjdCwgc28gaXQgb25seSB0YWtlcyB1cCB0aGUgaG9yaXpvbnRhbCBzcGFjZSBpdCBuZWVkcy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtudWxsXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uXG5AZnVuY3Rpb24gZmxleC1ncmlkLWNvbHVtbigkY29sdW1uczogbnVsbCkge1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAkZmxleDogMSAxIDBweDtcblxuICBAaWYgJGNvbHVtbnMgPT0gc2hyaW5rIHtcbiAgICAkZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgJGZsZXg6IDAgMCBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cblxuICBAcmV0dXJuICRmbGV4O1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbHVtbiBmb3IgYSBmbGV4IGdyaWQuIEJ5IGRlZmF1bHQsIHRoZSBjb2x1bW4gd2lsbCBzdHJldGNoIHRvIHRoZSBmdWxsIHdpZHRoIG9mIGl0cyBjb250YWluZXIsIGJ1dCB0aGlzIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggc2l6aW5nIGNsYXNzZXMsIG9yIGJ5IHVzaW5nIHRoZSBgdW5zdGFja2AgY2xhc3Mgb24gdGhlIHBhcmVudCBmbGV4IHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtudWxsXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNlIGJldHdlZW4gY29sdW1ucywgYWRkZWQgYXMgYSBsZWZ0IGFuZCByaWdodCBwYWRkaW5nLlxuQG1peGluIGZsZXgtZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiBudWxsLFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgLy8gQmFzZSBwcm9wZXJ0aWVzXG4gIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuXG4gIC8vIEd1dHRlcnNcbiAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIH1cblxuICAvLyBmaXhlcyByZWNlbnQgQ2hyb21lIHZlcnNpb24gbm90IGxpbWl0aW5nIGNoaWxkIHdpZHRoXG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM0OTM0NTg2L3doaXRlLXNwYWNlLW5vd3JhcC1hbmQtZmxleGJveC1kaWQtbm90LXdvcmstaW4tY2hyb21lXG4gIEBpZiAkY29sdW1ucyA9PSBudWxsIHtcbiAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gIH1cbiAgLy8gbWF4LXdpZHRoIGZpeGVzIElFIDEwLzExIG5vdCByZXNwZWN0aW5nIHRoZSBmbGV4LWJhc2lzIHByb3BlcnR5XG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIGFuZCAkY29sdW1ucyAhPSBzaHJpbmsge1xuICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgYmxvY2sgZ3JpZCBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gZGlzcGxheSBvbiBlYWNoIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIC0gU2VsZWN0b3IgdG8gdXNlIHRvIHRhcmdldCBjb2x1bW5zIHdpdGhpbiB0aGUgcm93LlxuQG1peGluIGZsZXgtZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJ1xuKSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgJHBjdDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIGZsZXg6IDAgMCAkcGN0O1xuICAgIG1heC13aWR0aDogJHBjdDtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBncmlkIGNvbHVtbi4gQ29sdW1ucyB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1ncmlkLW9yZGVyKCRvcmRlcjogMCkge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmbGV4LW9yZGVyKCkuIGZsZXgtZ3JpZC1vcmRlcigpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuMy4nO1xuICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRvcmRlcik7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGNvbHVtbnMgd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmbGV4LWFsaWduKCkuIGZsZXgtZ3JpZC1yb3ctYWxpZ24oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjMuJztcbiAgQGluY2x1ZGUgZmxleC1hbGlnbigkeCwgJHkpO1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWdyaWQtY29sdW1uLWFsaWduKCR5OiBudWxsKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZsZXgtYWxpZ24tc2VsZigpLiBmbGV4LWdyaWQtY29sdW1uLWFsaWduKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi4zLic7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeSk7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtZ3JpZCB7XG4gIC8vIFJvd1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXG4gICAgLy8gTmVzdGluZyBiZWhhdmlvclxuICAgICYgJiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KG5lc3QsICRiYXNlOiBmYWxzZSk7XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgcm93XG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC5jb2x1bW4ucm93LnJvdyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgICAucm93ICYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRpKTtcbiAgICAgICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWxheW91dCgkaSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAvLyBTaXppbmcgKGV4cGFuZClcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tZXhwYW5kIHtcbiAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQXV0by1zdGFja2luZy91bnN0YWNraW5nXG4gICAgICBAYXQtcm9vdCAod2l0aG91dDogbWVkaWEpIHtcbiAgICAgICAgLnJvdy4jeyQtemYtc2l6ZX0tdW5zdGFjayB7XG4gICAgICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oMTAwJSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LWNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS11bmNvbGxhcHNlIHtcbiAgICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRncmlkLWNvbHVtbi1ndXR0ZXIsICQtemYtc2l6ZSk7XG5cbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcik7IH1cbiAgICB9XG4gIH1cblxuICAvLyBTaXppbmcgKHNocmluaylcbiAgLnNocmluayB7XG4gICAgZmxleDogZmxleC1ncmlkLWNvbHVtbihzaHJpbmspO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICAvLyBSZW1vdmUgdGhlc2UgaW4gNi4zXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5jb2x1bW4uYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgUGxhY2Vob2xkZXJJbkV4dGVuZFxuICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgfVxufVxuIiwiJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgJ2xlZnQnOiBmbGV4LXN0YXJ0LFxuICAncmlnaHQnOiBmbGV4LWVuZCxcbiAgJ2NlbnRlcic6IGNlbnRlcixcbiAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuKTtcblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJ1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nXG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLidcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuIiwiLnNpdGUtZm9vdGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcblx0Jl9fcm93IHtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtcm93KCk7XG5cdFx0QGluY2x1ZGUgZmxleC1hbGlnbihudWxsLCBtaWRkbGUpO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxO1xuXHR9XG5cblx0Jl9faW5mbyB7XHRcdFxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTUpO1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxNSk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcblx0XHR9XG5cdH1cblxuXHQmX19pbmZvLWNvcHlyaWdodCB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigpO1xuXHR9XG5cblx0Jl9faW5mby1saW5rIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0b3BhY2l0eTogMC43O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcblx0XHR9XG5cdH1cblxuXHQmX19pbmZvLXNvY2lhbCB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigpO1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cdH1cblxuXHQmX19pbmZvLXNvY2lhbC1saW5rIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0d2lkdGg6IHJlbS1jYWxjKDMwKTtcblx0XHRoZWlnaHQ6IHJlbS1jYWxjKDMwKTtcblx0XHRtYXJnaW46IDAgcmVtLWNhbGMoMik7XG5cdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDQxKTtcblx0XHRcdGhlaWdodDogcmVtLWNhbGMoNDEpO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHR9XG5cdH1cblx0XG5cdCZfX2luZm8tc29jaWFsLWljb24ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0fVxuXG5cdCZfX2luZm8tbmF2IHtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKCk7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyByZXdyaXRlIGZyb20gaGVhZGVyIHN0eWxlc1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcblx0XHRcdC5tZW51LWl0ZW0ge1xuXHRcdFx0XHRtYXJnaW46IHJlbS1jYWxjKDEwKSAwO1xuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cblxufVxuXG4uZm9vdGVyLWJhbm5lciArIC5zaXRlLWZvb3Rlcl9faW5mbyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMSwgOTMsIDEzMiwgMC44KTtcbn0gIiwiLmJ1dHRvbiB7XG5cdEBpbmNsdWRlIHdlYmlrb24tYnV0dG9uKCk7XG59XG5cbi5idXR0b24tLXNjcm9sbCB7XG5cdEBpbmNsdWRlIG1vcmUtYnV0dG9uKCAkc2l6ZTogc21hbGwsICRjb2xvcjogJHdoaXRlLCAkY29sb3ItYWx0OiAkc2Vjb25kYXJ5LWNvbG9yLCAkYXJyb3c6IGRvd24gKTtcblx0bWFyZ2luOiAwIHJlbS1jYWxjKDIwKSByZW0tY2FsYygyMCkgcmVtLWNhbGMoMjApO1xufSIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucywgaWYgdGhlIGJhY2tncm91bmQgaXMgbGlnaHQuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGZvcmVncm91bmQoJGJhY2tncm91bmQsICRidXR0b24tY29sb3ItYWx0LCAkYnV0dG9uLWNvbG9yKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6IC0yMCUpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTUwJSk7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwibWl4aW5zLXR5cG9cIjtcblxuLy8gUmVtIG91dHB1dCB3aXRoIHB4IGZhbGxiYWNrXG5AbWl4aW4gZm9udC1zaXplKCRzaXplVmFsdWU6IDEpIHtcblx0Zm9udC1zaXplOiAoJHNpemVWYWx1ZSAqIDE2KSAqIDFweDtcblx0Zm9udC1zaXplOiAkc2l6ZVZhbHVlICogMXJlbTtcbn1cblxuLy8gQ2VudGVyIGJsb2NrXG5AbWl4aW4gY2VudGVyLWJsb2NrIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vIENsZWFyZml4XG5AbWl4aW4gY2xlYXJmaXgoKSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdGRpc3BsYXk6IHRhYmxlO1xuXHR0YWJsZS1sYXlvdXQ6IGZpeGVkO1xufVxuXG4vLyBDbGVhciBhZnRlciAobm90IGFsbCBjbGVhcmZpeCBuZWVkIHRoaXMgYWxzbylcbkBtaXhpbiBjbGVhcmZpeC1hZnRlcigpIHtcblx0Y2xlYXI6IGJvdGg7XG59XG5cbkBtaXhpbiBpbWFnZS1jb3Zlci1zaW11bGF0aW9uKCkge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKCAtNTAlICk7XG5cdHotaW5kZXg6IDA7XG5cdGhlaWdodDogYXV0bztcblx0d2lkdGg6IGF1dG87XG5cdG1pbi13aWR0aDogMTAwJTtcblx0bWluLWhlaWdodDogMTAwJTtcblx0bWF4LXdpZHRoOiBub25lO1xufVxuXG5AbWl4aW4gd2ViaWtvbi1idXR0b24tc2l6ZSggJHNpemU6IGRlZmF1bHQsICRjb2xvcjogJHByaW1hcnktY29sb3IsICRob3Zlci1jb2xvcjogJHdoaXRlLCAkaG92ZXItYmc6ICRwcmltYXJ5LWNvbG9yICkge1xuXHQkcGFkZGluZ3M6IChcblx0XHRzbWFsbDogcmVtLWNhbGMoMTIpIHJlbS1jYWxjKDI0KSByZW0tY2FsYygxMykgcmVtLWNhbGMoMjQpLFxuXHRcdGRlZmF1bHQ6IHJlbS1jYWxjKDE2KSByZW0tY2FsYygzOCkgcmVtLWNhbGMoMTcpIHJlbS1jYWxjKDM4KSxcblx0XHRsYXJnZTogcmVtLWNhbGMoMjYpIHJlbS1jYWxjKDQ2KSByZW0tY2FsYygyNikgcmVtLWNhbGMoNDYpLFxuXHQpO1xuXHQkZm9udC1zaXplczogKFxuXHRcdHNtYWxsOiByZW0tY2FsYygxOCksXG5cdFx0ZGVmYXVsdDogcmVtLWNhbGMoMjQpLFxuXHRcdGxhcmdlOiByZW0tY2FsYygzMCksXG5cdCk7XG5cdCRmb250LXNpemVzLXJlc3BvbnNpdmU6IChcblx0XHRzbWFsbDogcmVtLWNhbGMoMTYpLFxuXHRcdGRlZmF1bHQ6IHJlbS1jYWxjKDIwKSxcblx0XHRsYXJnZTogcmVtLWNhbGMoMjYpLFxuXHQpO1xuXG5cdHBhZGRpbmc6IG1hcC1nZXQoICRwYWRkaW5ncywgJHNpemUgKTtcblx0Ym9yZGVyLXdpZHRoOiAycHg7XG5cdGZvbnQtc2l6ZTogbWFwLWdldCggJGZvbnQtc2l6ZXMtcmVzcG9uc2l2ZSwgJHNpemUgKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRmb250LXNpemU6IG1hcC1nZXQoICRmb250LXNpemVzLCAkc2l6ZSApO1xuXHR9XG59XG5cbkBtaXhpbiB3ZWJpa29uLWJ1dHRvbi1iYXNlKCAkc2l6ZTpkZWZhdWx0LCAkY29sb3I6ICRwcmltYXJ5LWNvbG9yLCAkY29sb3ItYWx0OiB3aGl0ZSApIHtcblx0QGluY2x1ZGUgd2ViaWtvbi1idXR0b24tc2l6ZSggJHNpemUgKTtcblx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXHRcdGNvbG9yOiAkY29sb3ItYWx0O1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXHR9XG59XG5cbkBtaXhpbiB3ZWJpa29uLWJ1dHRvbiggJHNpemU6IGRlZmF1bHQsICRjb2xvcjogJHByaW1hcnktY29sb3IsICRjb2xvci1hbHQ6IHdoaXRlICkge1xuXHRAaW5jbHVkZSBidXR0b24oICRiYWNrZ3JvdW5kOiAkY29sb3IsICRjb2xvcjogJGNvbG9yICk7XG5cdEBpbmNsdWRlIHdlYmlrb24tYnV0dG9uLWJhc2UoICRzaXplLCAkY29sb3IsICRjb2xvci1hbHQgKTtcbn1cblxuQG1peGluIG1vcmUtYnV0dG9uKCAkc2l6ZTogZGVmYXVsdCwgJGNvbG9yOiAkcHJpbWFyeS1jb2xvciwgJGNvbG9yLWFsdDogd2hpdGUsICRhcnJvdzogcmlnaHQgKSB7XG5cdEBpbmNsdWRlIHdlYmlrb24tYnV0dG9uKCAkc2l6ZSwgJGNvbG9yLCAkY29sb3ItYWx0ICk7XG5cblx0JHBhZGRpbmdzOiAoXG5cdFx0c21hbGw6IHJlbS1jYWxjKDEyKSByZW0tY2FsYygzNikgcmVtLWNhbGMoMTMpIHJlbS1jYWxjKDI0KSxcblx0XHRkZWZhdWx0OiByZW0tY2FsYygxNikgcmVtLWNhbGMoNjApIHJlbS1jYWxjKDE3KSByZW0tY2FsYygzOCksXG5cdFx0bGFyZ2U6IHJlbS1jYWxjKDI2KSByZW0tY2FsYyg5NikgcmVtLWNhbGMoMjYpIHJlbS1jYWxjKDQ2KSxcblx0KTtcblxuXHQkYXJyb3ctd2lkdGhzOiAoXG5cdFx0c21hbGw6IHJlbS1jYWxjKDEyKSxcblx0XHRkZWZhdWx0OiByZW0tY2FsYygxNCksXG5cdFx0bGFyZ2U6IHJlbS1jYWxjKDE2KSxcblx0KTtcblx0JGFycm93LWRvd24td2lkdGhzOiAoXG5cdFx0c21hbGw6IHJlbS1jYWxjKDEwKSxcblx0XHRkZWZhdWx0OiByZW0tY2FsYygxNCksXG5cdFx0bGFyZ2U6IHJlbS1jYWxjKDE2KSxcblx0KTtcblx0JGFycm93LWhlaWdodHM6IChcblx0XHRzbWFsbDogcmVtLWNhbGMoNCksXG5cdFx0ZGVmYXVsdDogcmVtLWNhbGMoNSksXG5cdFx0bGFyZ2U6ICByZW0tY2FsYyg2KSxcblx0KTtcblx0JGFycm93LWRvd24taGVpZ2h0czogKFxuXHRcdHNtYWxsOiByZW0tY2FsYyg0KSxcblx0XHRkZWZhdWx0OiByZW0tY2FsYyg1KSxcblx0XHRsYXJnZTogIHJlbS1jYWxjKDYpLFxuXHQpO1xuXHQkYXJyb3ctcG9zaXRpb25zLXRvcDogKFxuXHRcdHNtYWxsOiByZW0tY2FsYygyMSksXG5cdFx0ZGVmYXVsdDogcmVtLWNhbGMoMjgpLFxuXHRcdGxhcmdlOiByZW0tY2FsYyg0MCksXG5cdCk7XG5cdCRhcnJvdy1wb3NpdGlvbnMtcmlnaHQ6IChcblx0XHRzbWFsbDogcmVtLWNhbGMoMjApLFxuXHRcdGRlZmF1bHQ6IHJlbS1jYWxjKDM2KSxcblx0XHRsYXJnZTogcmVtLWNhbGMoNDgpLFxuXHQpO1xuXHQkYXJyb3ctZG93bi1wb3NpdGlvbnMtcmlnaHQ6IChcblx0XHRzbWFsbDogcmVtLWNhbGMoMTUpLFxuXHRcdGRlZmF1bHQ6IHJlbS1jYWxjKDM2KSxcblx0XHRsYXJnZTogcmVtLWNhbGMoNDgpLFxuXHQpO1xuXG5cdEBpZiAoICRhcnJvdyA9PSBsZWZ0ICkge1xuXHRcdHBhZGRpbmc6IHN3YXAoIG1hcC1nZXQoICRwYWRkaW5ncywgJHNpemUgKSwgMiwgNCApO1xuXHR9IEBlbHNlIHtcblx0XHRwYWRkaW5nOiBtYXAtZ2V0KCAkcGFkZGluZ3MsICRzaXplICk7XG5cdH1cblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0JjpiZWZvcmUsXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDUwJTtcblx0XHRtYXJnaW4tdG9wOiAtIG1hcC1nZXQoICRhcnJvdy1oZWlnaHRzLCAkc2l6ZSApLzI7XG5cdFx0cmlnaHQ6IG1hcC1nZXQoICRhcnJvdy1wb3NpdGlvbnMtcmlnaHQsICRzaXplICk7XG5cdFx0d2lkdGg6IG1hcC1nZXQoICRhcnJvdy13aWR0aHMsICRzaXplICk7XG5cdFx0aGVpZ2h0OiBtYXAtZ2V0KCAkYXJyb3ctaGVpZ2h0cywgJHNpemUgKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG5cdFx0QGlmKCAkYXJyb3cgPT0gbGVmdCApIHtcblx0XHRcdHJpZ2h0OiBhdXRvO1xuXHRcdFx0bGVmdDogbWFwLWdldCggJGFycm93LXBvc2l0aW9ucy1yaWdodCwgJHNpemUgKTtcblx0XHR9XG5cblx0XHRAaWYoICRhcnJvdyA9PSBkb3duICkge1xuXHRcdFx0d2lkdGg6IG1hcC1nZXQoICRhcnJvdy1kb3duLXdpZHRocywgJHNpemUgKTtcblx0XHRcdGhlaWdodDogbWFwLWdldCggJGFycm93LWRvd24taGVpZ2h0cywgJHNpemUgKTtcblx0XHR9XG5cdH1cblxuXHQmOmJlZm9yZSB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVkoIC0gbWFwLWdldCggJGFycm93LWhlaWdodHMsICRzaXplICkgKTtcblx0XHRAaWYoICRhcnJvdyA9PSBsZWZ0ICkge1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGVZKCAtIG1hcC1nZXQoICRhcnJvdy1oZWlnaHRzLCAkc2l6ZSApICk7XG5cdFx0fVxuXG5cdFx0QGlmKCAkYXJyb3cgPT0gZG93biApIHtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGVZKCAwICk7XG5cdFx0XHR0b3A6IG1hcC1nZXQoICRhcnJvdy1wb3NpdGlvbnMtdG9wLCAkc2l6ZSApO1xuXHRcdH1cblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlWSggbWFwLWdldCggJGFycm93LWhlaWdodHMsICRzaXplICkgKTtcblx0XHRAaWYoICRhcnJvdyA9PSBsZWZ0ICkge1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVkoIG1hcC1nZXQoICRhcnJvdy1oZWlnaHRzLCAkc2l6ZSApICk7XG5cdFx0fVxuXG5cdFx0QGlmKCAkYXJyb3cgPT0gZG93biApIHtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlWSggMCApO1xuXHRcdFx0dG9wOiBtYXAtZ2V0KCAkYXJyb3ctcG9zaXRpb25zLXRvcCwgJHNpemUgKTtcblx0XHRcdHJpZ2h0OiBtYXAtZ2V0KCAkYXJyb3ctZG93bi1wb3NpdGlvbnMtcmlnaHQsICRzaXplICk7XG5cdFx0fVxuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Jjo6YmVmb3JlLFxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1hbHQ7XG5cblx0XHRcdEBpZiggJGFycm93ID09IHJpZ2h0ICkge1xuXHRcdFx0XHRyaWdodDogbWFwLWdldCggJGFycm93LXBvc2l0aW9ucy1yaWdodCwgJHNpemUgKSAtIG1hcC1nZXQoICRhcnJvdy1oZWlnaHRzLCAkc2l6ZSApO1xuXHRcdFx0fVxuXG5cdFx0XHRAaWYoICRhcnJvdyA9PSBsZWZ0ICkge1xuXHRcdFx0XHRsZWZ0OiBtYXAtZ2V0KCAkYXJyb3ctcG9zaXRpb25zLXJpZ2h0LCAkc2l6ZSApIC0gbWFwLWdldCggJGFycm93LWhlaWdodHMsICRzaXplICk7XG5cdFx0XHR9XG5cblx0XHRcdEBpZiggJGFycm93ID09IGRvd24gKSB7XG5cblx0XHRcdH1cblxuXHRcdH1cblxuXG5cdH1cblxufVxuIiwiQGltcG9ydCBcImJ1dHRvbnNcIjtcblxuLmdmb3JtX3dyYXBwZXIsIHtcblx0Zm9ybSB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdyggJHdpZHRoOiByZW0tY2FsYyg5MDApICk7XG5cdH1cblx0Lmdmb3JtX3ByZXZpb3VzX2J1dHRvbiB7XG5cdFx0QGluY2x1ZGUgd2ViaWtvbi1idXR0b24oICRzaXplOiBzbWFsbCwgJGNvbG9yOiAkZGFyay1ncmF5ICk7XG5cdH1cblx0Lmdmb3JtX25leHRfYnV0dG9uIHtcblx0XHRAaW5jbHVkZSB3ZWJpa29uLWJ1dHRvbiggJHNpemU6IHNtYWxsICk7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHR9XG59XG5cbi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlciB7XG5cdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3coICR3aWR0aDogcmVtLWNhbGMoOTAwKSApO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5nZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZSB7XG5cdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xufVxuXG4uZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcblx0bWFyZ2luLXRvcDogcmVtLWNhbGMoLTE1KTsgLy8gdG8gbmVnYXRlIGJvdHRvbSBtYXJnaW4gb2YgcHJldmlvdXMgd3JhcHBlclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSk7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xufVxuXG4uZ2ZpZWxkX2h0bWwge1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSk7XG59XG5cbi52YWxpZGF0aW9uX2Vycm9yIHtcblx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XG5cdG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSk7XG5cdGNvbG9yOiAkYWxlcnQtY29sb3I7XG59XG5cbi52YWxpZGF0aW9uX21lc3NhZ2Uge1xuXHRtYXJnaW4tdG9wOiByZW0tY2FsYygtOCk7XG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI0KTtcblx0Y29sb3I6ICRhbGVydC1jb2xvcjtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG59XG5cbi5nZm9ybV9oZWFkaW5nIHtcblx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDgpO1xuXHR9XG59XG5cbi5nZm9ybV90aXRsZSB7XG5cdEBpbmNsdWRlIHR5cG8tc2l6ZS1sYXJnZSgpO1xufVxuXG4uZ2Zvcm1fYm9keSB7XG5cdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig4KTtcblx0fVxufVxuXG4uZ2Zvcm1fZm9vdGVyIHtcblx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDgpO1xuXHR9XG59XG5cbi5nZm9ybV9maWVsZHMge1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdG1hcmdpbjogMDtcbn1cblxuLmdpbnB1dF9jb250YWluZXIge1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSk7XG5cblx0dGV4dGFyZWEge1xuXHRcdGhlaWdodDogcmVtLWNhbGMoMTYwKTtcblx0fVxuXG5cdC5nZmllbGRfZXJyb3IgJiB7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuXHR9XG5cblx0dWwge1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdH1cbn1cblxuLmdmaWVsZF9sYWJlbCB7XG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEyKTtcblx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cdGZvbnQtd2VpZ2h0OiAkd2VpZ2h0LWJvbGQ7XG59XG5cbi5nZm9ybV9idXR0b24ge1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luLXRvcDogcmVtLWNhbGMoNSk7XG59XG5cbi8vIGRpc2FibGUgaG9uZXlwb3Rcbi5nZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbnNlbGVjdCxcbnRleHRhcmVhIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0cGFkZGluZzogcmVtLWNhbGMoMTMpIHJlbS1jYWxjKDIwKTtcblx0aGVpZ2h0OiByZW0tY2FsYyg1MCk7XG5cdGJveC1zaGFkb3c6IDAgMXB4IDFweCAxcHggcmdiYSgwLDAsMCwwLjEpO1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcblx0XHRib3gtc2hhZG93OiBpbnNldCAwIDAgMXB4IDFweCByZ2JhKDAsMCwwLDAuMSk7XG5cdH1cblxuXHQuZ2ZpZWxkX2Vycm9yICYge1xuXHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRhbGVydC1jb2xvcjtcblx0fVxufVxuXG5cbi5nZmllbGRfY2hlY2tib3gge1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyOCk7XG5cdGxpIHtcblx0XHRtaW4taGVpZ2h0OiByZW0tY2FsYygzNCk7XG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTIpO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcblx0fVxuXHRpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHQmICsgbGFiZWwge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0OCk7XG5cdFx0XHRmb250LXdlaWdodDogJHdlaWdodC1ib2xkO1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygtMTgpO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDE4KTtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygzKTtcblx0XHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKC0xMCk7XG5cdFx0XHRcdHdpZHRoOiByZW0tY2FsYygzNCk7XG5cdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoMzQpO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHdoaXRlO1xuXHRcdFx0XHRib3gtc2hhZG93OiAwIDFweCAxcHggMXB4IHJnYmEoMCwwLDAsMC4xKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0JjpjaGVja2VkICsgbGFiZWwge1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiB1cmwoJy4uL2ltYWdlcy9pY29uX2NoZWNrLnN2ZycpO1xuXHRcdFx0XHRib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggMXB4IHJnYmEoMCwwLDAsMC4xKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmdmb3JtX2FqYXhfc3Bpbm5lciB7XG5cdHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuXHR6LWluZGV4OiA5OTk5OTk7XG5cdGxlZnQ6IDUwJTtcblx0dG9wOiA1MCU7XG5cdG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtNTApO1xuXHRtYXJnaW4tdG9wOiByZW0tY2FsYygtNTApO1xuXHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXHRib3gtc2hhZG93OiAwIDAgOTk5OXB4IDk5OTlweCByZ2JhKDAsMCwwLC41KTtcblx0YmFja2dyb3VuZDogcmdiYSgwLDAsMCwuNSk7XG59XG5cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciBpbWcudWktZGF0ZXBpY2tlci10cmlnZ2VyIHtcbiAgICB3aWR0aDogMTdweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTZweCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmdmb3JtX3dyYXBwZXIgaW5wdXQuZGF0ZXBpY2tlci5kYXRlcGlja2VyX3dpdGhfaWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5nZm9ybV93cmFwcGVyIGlucHV0LmRhdGVwaWNrZXJfd2l0aF9pY29uLnNtYWxsLFxuLmdmb3JtX3dyYXBwZXIgaW5wdXQuZGF0ZXBpY2tlcl93aXRoX2ljb24ubWVkaXVtLFxuLmdmb3JtX3dyYXBwZXIgaW5wdXQuZGF0ZXBpY2tlcl93aXRoX2ljb24ubGFyZ2Uge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNHB4KTtcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciBpbnB1dC5kYXRlcGlja2VyX3dpdGhfaWNvbi5zbWFsbCxcbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfZXJyb3IgaW5wdXQuZGF0ZXBpY2tlcl93aXRoX2ljb24ubWVkaXVtLFxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciBpbnB1dC5kYXRlcGlja2VyX3dpdGhfaWNvbi5sYXJnZSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMycHgpO1xufSIsIi8vIGZvciB0ZXh0LCBkZXNrdG9wOjIxcHgsIG1vYmlsZTogMThweFxuQG1peGluIHR5cG8tc2l6ZS1zbWFsbCgpIHtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcblx0fVxufVxuXG4vLyBmb3IgdGl0bGVzLCBkZXNrdG9wOjM2cHgsIG1vYmlsZTogMjhweFxuQG1peGluIHR5cG8tc2l6ZS1tZWRpdW0oKSB7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygzNik7XG5cdH1cbn1cblxuLy8gZm9yIHRpdGxlcywgZGVza3RvcDo0MnB4LCBtb2JpbGU6IDMwcHhcbkBtaXhpbiB0eXBvLXNpemUtbGFyZ2UoKSB7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYyg0Mik7XG5cdH1cbn1cblxuQG1peGluIHR5cG8tc2l6ZS14bGFyZ2UoKSB7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYyg0OCk7XG5cdH1cbn1cbiIsIi5zaXRlIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uY29udGVudC1hcmVhIHtcbn1cblxuLnNpdGUtbWFpbiB7XG59XG5cbi5zaXRlLWNvbnRlbnQgLndpZGdldC1hcmVhIHtcbn1cblxuLnNpdGUtZm9vdGVyIHtcbn1cblxuXG4uZW50cnktY29udGVudCB7XG5cblxuXHQucGFnZSAmIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcblx0fVxuXG5cdCZfX2JvZHkge1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3coICR3aWR0aDogcmVtLWNhbGMoOTYwKSApO1xuXHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTUpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE1KTtcblx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1MCk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDkwKTtcblx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg5MCk7XG5cdFx0fVxuXG5cdFx0JjplbXB0eSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHR9XG59XG4iLCIucGFnZS1jb250ZW50IC53cC1zbWlsZXksXG4uZW50cnktY29udGVudCAud3Atc21pbGV5LFxuLmNvbW1lbnQtY29udGVudCAud3Atc21pbGV5IHtcblx0Ym9yZGVyOiBub25lO1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4vKiBNYWtlIHN1cmUgZW1iZWRzIGFuZCBpZnJhbWVzIGZpdCB0aGVpciBjb250YWluZXJzLiAqL1xuZW1iZWQsXG5pZnJhbWUsXG5vYmplY3Qge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbkBpbXBvcnQgXCJhbGlnbm1lbnRzXCI7XG5cbkBpbXBvcnQgXCJjYXB0aW9uc1wiO1xuXG5AaW1wb3J0IFwiZ2FsbGVyaWVzXCI7XG5cbiIsIi5hbGlnbmxlZnQge1xuXHRkaXNwbGF5OiBpbmxpbmU7XG5cdGZsb2F0OiBsZWZ0O1xuXHRtYXJnaW4tcmlnaHQ6IDEuNWVtO1xufVxuXG4uYWxpZ25yaWdodCB7XG5cdGRpc3BsYXk6IGlubGluZTtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHRtYXJnaW4tbGVmdDogMS41ZW07XG59XG5cbi5hbGlnbmNlbnRlciB7XG5cdGNsZWFyOiBib3RoO1xuXHRAaW5jbHVkZSBjZW50ZXItYmxvY2s7XG59XG4iLCIud3AtY2FwdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IDEuNWVtO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cblx0aW1nW2NsYXNzKj1cIndwLWltYWdlLVwiXSB7XG5cdFx0QGluY2x1ZGUgY2VudGVyLWJsb2NrO1xuXHR9XG5cblx0LndwLWNhcHRpb24tdGV4dCB7XG5cdFx0bWFyZ2luOiAwLjgwNzVlbSAwO1xuXHR9XG59XG5cbi53cC1jYXB0aW9uLXRleHQge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCIuZ2FsbGVyeSB7XG5cdG1hcmdpbi1ib3R0b206IDEuNWVtO1xufVxuXG4uZ2FsbGVyeS1pdGVtIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdC5nYWxsZXJ5LWNvbHVtbnMtMiAmIHtcblx0XHRtYXgtd2lkdGg6IDUwJTtcblx0fVxuXG5cdC5nYWxsZXJ5LWNvbHVtbnMtMyAmIHtcblx0XHRtYXgtd2lkdGg6IDMzLjMzJTtcblx0fVxuXG5cdC5nYWxsZXJ5LWNvbHVtbnMtNCAmIHtcblx0XHRtYXgtd2lkdGg6IDI1JTtcblx0fVxuXG5cdC5nYWxsZXJ5LWNvbHVtbnMtNSAmIHtcblx0XHRtYXgtd2lkdGg6IDIwJTtcblx0fVxuXG5cdC5nYWxsZXJ5LWNvbHVtbnMtNiAmIHtcblx0XHRtYXgtd2lkdGg6IDE2LjY2JTtcblx0fVxuXG5cdC5nYWxsZXJ5LWNvbHVtbnMtNyAmIHtcblx0XHRtYXgtd2lkdGg6IDE0LjI4JTtcblx0fVxuXG5cdC5nYWxsZXJ5LWNvbHVtbnMtOCAmIHtcblx0XHRtYXgtd2lkdGg6IDEyLjUlO1xuXHR9XG5cblx0LmdhbGxlcnktY29sdW1ucy05ICYge1xuXHRcdG1heC13aWR0aDogMTEuMTElO1xuXHR9XG59XG5cbi5nYWxsZXJ5LWNhcHRpb24ge1xuXHRkaXNwbGF5OiBibG9jaztcbn0iLCIubWFpbi1uYXZpZ2F0aW9uIHtcblx0LnByaW1hcnktbWVudS13cmFwIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCBzbWFsbCBvbmx5ICkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdHRvcDogcmVtLWNhbGMoMCk7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoNjIpO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEyKTtcblx0XHRcdGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR6LWluZGV4OiAtMTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtICkge1xuXHRcdFx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHQvLyAmLm11aS1lbnRlciB7XG5cdFx0Ly8gXHRAaW5jbHVkZSBtdWktc2xpZGUgKFxuXHRcdC8vIFx0XHQkc3RhdGU6IGluLFxuXHRcdC8vIFx0XHQkZGlyZWN0aW9uOiBkb3duLFxuXHRcdC8vIFx0XHQkYW1vdW50OiAxMDAlLFxuXHRcdC8vIFx0XHQkZmFkZTogZmFsc2UsXG5cdFx0Ly8gXHRcdCRkdXJhdGlvbjogMjAwbXMsXG5cdFx0Ly8gXHRcdCR0aW1pbmc6IGVhc2Vcblx0XHQvLyBcdClcblx0XHQvLyB9XG5cdFx0Ly8gJi5tdWktbGVhdmUge1xuXHRcdC8vIFx0QGluY2x1ZGUgbXVpLXNsaWRlIChcblx0XHQvLyBcdFx0JHN0YXRlOiBvdXQsXG5cdFx0Ly8gXHRcdCRkaXJlY3Rpb246IHVwLFxuXHRcdC8vIFx0XHQkYW1vdW50OiAxMDAlLFxuXHRcdC8vIFx0XHQkZmFkZTogdHJ1ZSxcblx0XHQvLyBcdFx0JGR1cmF0aW9uOiAyMDBtcyxcblx0XHQvLyBcdFx0JHRpbWluZzogZWFzZVxuXHRcdC8vIFx0KVxuXHRcdC8vIH1cblx0fVxuXHQubWVudSB7XG5cblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cblx0XHRhIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblxuXHRcdC5tZW51LWl0ZW06aG92ZXIgPiAuY2hpbGRyZW4sXG5cdFx0Lm1lbnUtaXRlbTpmb2N1cyA+IC5jaGlsZHJlbiB7XG5cdFx0XHRsZWZ0OiBhdXRvO1xuXHRcdH1cblxuXG5cdH1cblxuXHQubWVudS1pdGVtIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdFx0XHQmOmhvdmVyIC5zdWItbWVudSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6aG92ZXIgPiBhLFxuXHRcdCY6Zm9jdXMgPiBhIHtcblx0XHRcdGNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cdFx0fVxuXHR9XG5cblx0YSxcblx0Lmxhbmdzd2l0Y2gtZHJvcGRvd24ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwYWRkaW5nOiAxcmVtIHJlbS1jYWxjKDIwKTtcblx0XHRjb2xvcjogd2hpdGU7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMSk7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0cGFkZGluZzogMCByZW0tY2FsYygyMCk7XG5cdFx0fVxuXHR9XG5cblx0Lmxhbmdzd2l0Y2gtZHJvcGRvd24ge1xuXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG9wYWNpdHk6IC42O1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblxuXHRcdC5pY29uIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDE2KTtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDYpO1xuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cblxuXHQuc3ViLW1lbnUge1xuXHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gKSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoOCk7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblxuXHRcdFx0LmlzLXN0dWNrICYge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXHRcdFx0fVxuXG5cdFx0XHQubWVudS1pdGVtIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cblx0XHRcdGEge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoNCk7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0KTtcblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG5cdC5jdXJyZW50X3BhZ2VfaXRlbSA+IGEsXG5cdC5jdXJyZW50LW1lbnUtaXRlbSA+IGEsXG5cdC5jdXJyZW50X3BhZ2VfYW5jZXN0b3IgPiBhLFxuXHQuY3VycmVudC1tZW51LWFuY2VzdG9yID4gYSB7XG5cdFx0b3BhY2l0eTogLjc7XG5cdH1cbn1cblxuLyogU21hbGwgbWVudS4gKi9cbi5tZW51LXRvZ2dsZSxcbi5tYWluLW5hdmlnYXRpb24udG9nZ2xlZCAubWVudSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubWVudS10b2dnbGUge1xuXHRtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKC0xMik7XG5cdHBhZGRpbmc6IHJlbS1jYWxjKDExKSByZW0tY2FsYygxMikgcmVtLWNhbGMoOCkgcmVtLWNhbGMoMTIpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0Y29sb3I6IHdoaXRlO1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbn1cblxuLm1haW4tbmF2aWdhdGlvbi50b2dnbGVkIC5tZW51IHtcblxuXG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdC5tZW51LXRvZ2dsZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHQubWFpbi1uYXZpZ2F0aW9uIC5tZW51IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cbn1cblxuLmNvbW1lbnQtbmF2aWdhdGlvbixcbi5wb3N0cy1uYXZpZ2F0aW9uLFxuLnBvc3QtbmF2aWdhdGlvbiB7XG5cblx0LnNpdGUtbWFpbiAmIHtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXHR9XG5cblx0Lm5hdi1saW5rcyB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdztcblxuXG5cdFx0LnBvc3QtdHlwZSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG5cdC5uYXYtcHJldmlvdXMsXG5cdC5uYXYtbmV4dCB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigpO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMTAwLzEyICogMSU7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDEwMC8xMiAqIDElO1xuXHRcdH1cblxuXHR9XG5cblx0Lm5hdi1wcmV2aW91cyB7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDEwMC8xMiAqIDElO1xuXHRcdH1cblxuXHRcdGEge1xuXHRcdFx0QGluY2x1ZGUgbW9yZS1idXR0b24oICRzaXplOiBzbWFsbCwgJGNvbG9yOiB3aGl0ZSwgJGNvbG9yLWFsdDogJHByaW1hcnktY29sb3IsICRhcnJvdzogbGVmdCApO1xuXHRcdFx0bWFyZ2luOiByZW0tY2FsYygyMCkgMDtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0bWFyZ2luOiByZW0tY2FsYyg0MCkgMDtcblx0XHRcdH1cblxuXHRcdH1cblxuXHR9XG5cblx0Lm5hdi1uZXh0IHtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRhIHtcblx0XHRcdEBpbmNsdWRlIG1vcmUtYnV0dG9uKCAkc2l6ZTogc21hbGwsICRjb2xvcjogd2hpdGUsICRjb2xvci1hbHQ6ICRwcmltYXJ5LWNvbG9yICk7XG5cdFx0XHRtYXJnaW46IHJlbS1jYWxjKDIwKSAwO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRtYXJnaW46IHJlbS1jYWxjKDQwKSAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG5cblxufVxuIiwiLmJhbm5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZDogc2NhbGUtY29sb3IoICRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IC00MCUgKTtcblx0Y29sb3I6ICR3aGl0ZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdCYtLXRpbnkge1xuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYyg4MCk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDExMCk7XG5cdFx0fVxuXG5cdFx0Ji5oYXMtbm90LWJhbm5lci1zY3JvbGwtZG93biB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTEwKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLS1zbWFsbCB7XG5cdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDEzNik7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDE2MCk7XG5cdFx0fVxuXG5cdFx0Ji5oYXMtbm90LWJhbm5lci1zY3JvbGwtZG93biB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNzApO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTgwKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLS1sYXJnZSB7XG5cdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDEzNik7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDIwMCk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDI1MCk7XG5cdFx0fVxuXHR9XG5cblx0Ji0tY29tbXVuaXR5IHtcblx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoNjApO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYyg5MCk7XG5cdFx0fVxuXG5cdFx0LmJhbm5lcl9fdGl0bGUge1xuXHRcdFx0QGluY2x1ZGUgdHlwby1zaXplLXhsYXJnZSgpO1xuXHRcdH1cblx0fVxuXG5cdCZfX3JvdyB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdyggJHdpZHRoOiByZW0tY2FsYyg5MDApICk7XG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbjtcblx0XHRhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0LmJhbm5lci0tc21hbGwgJiB7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDI1MCk7XG5cdFx0XHR9XG5cblx0XHRcdC5iYW5uZXItLWxhcmdlICYge1xuXHRcdFx0XHRtaW4taGVpZ2h0OiByZW0tY2FsYyg0MTApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX3RpdGxlLFxuXHQmX19jb250ZW50IHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuXHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRsaW5lLWhlaWdodDogMTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSApIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNDgpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoIGxhcmdlICkge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg2MCk7XG5cdFx0fVxuXG5cdFx0LmJhbm5lci0tdGlueSAmIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE4KTtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtICkge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDM2KTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCggbGFyZ2UgKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNDgpO1xuXHRcdFx0fVxuXG5cdFx0fVxuXHR9XG5cblx0Jl9fY29udGVudCB7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0cGFkZGluZzogMCByZW0tY2FsYygxNSk7XG5cblx0XHQuYmFubmVyLS10aW55ICYge1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCBsYXJnZSApIHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXG5cdFx0XHQuYmFubmVyLS10aW55ICYge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fYmctaW1nIHtcblx0XHRAaW5jbHVkZSBpbWFnZS1jb3Zlci1zaW11bGF0aW9uO1xuXHR9XG5cblx0LmJ1dHRvbiB7XG5cdFx0QGluY2x1ZGUgd2ViaWtvbi1idXR0b24oICRjb2xvcjogI2ZmZiwgJGNvbG9yLWFsdDogJHNlY29uZGFyeS1jb2xvciApO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDgpIHJlbS1jYWxjKDI0KSByZW0tY2FsYygxMCkgcmVtLWNhbGMoMjQpO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuXHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMTApIHJlbS1jYWxjKDMwKSByZW0tY2FsYygxMikgcmVtLWNhbGMoMzApO1xuXHRcdH1cblxuXHR9XG5cblx0Ji1zY3JvbGwtZG93biB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0cGFkZGluZzogMCByZW0tY2FsYygyMCk7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCBsYXJnZSApIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuXHRcdH1cblxuXHRcdC5iYW5uZXItLXRpbnkgJiB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoIGxhcmdlICkge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdCZfX3RpdGxlIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHR9XG5cblx0XHQuaWNvbiB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbjogcmVtLWNhbGMoMTYpIGF1dG8gcmVtLWNhbGMoMzUpIGF1dG87XG5cdFx0XHRmaWxsOiAkd2hpdGU7XG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cblx0XHRcdC5iYW5uZXItLXRpbnkgJiB7XG5cdFx0XHRcdHdpZHRoOiByZW0tY2FsYygyNCk7XG5cdFx0XHRcdG1hcmdpbjogcmVtLWNhbGMoNCkgYXV0byByZW0tY2FsYygyOCkgYXV0bztcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCBsYXJnZSApIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYyg2KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Lmljb24ge1xuXHRcdFx0XHRmaWxsOiAkcHJpbWFyeS1jb2xvcjtcblx0XHRcdFx0dG9wOiByZW0tY2FsYyg2KTtcblx0XHRcdH1cblx0XHR9XG5cblx0fVxufVxuIiwiLmNvbGxhYm9yYXRpb24tc3RlcCB7XG5cdHBhZGRpbmctdG9wOiByZW0tY2FsYyg1MCk7XG5cdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1MCk7XG5cdGNvbG9yOiAkYmx1ZS0xO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoODApO1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg5MCk7XG5cdH1cblxuXHQmOm50aC1jaGlsZCgyKSB7XG5cdFx0Y29sb3I6ICRibHVlLTI7XG5cdH1cblxuXHQmOm50aC1jaGlsZCgzKSB7XG5cdFx0Y29sb3I6ICRibHVlLTM7XG5cdH1cblxuXHQmOm50aC1jaGlsZCg0KSB7XG5cdFx0Y29sb3I6ICRicm93bjtcblx0fVxuXG5cdCY6bnRoLWNoaWxkKDUpIHtcblx0XHRjb2xvcjogJHBpbms7XG5cdH1cblxuXHQmX19yb3cge1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG5cdH1cblxuXHQmX19pY29uIHtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMyk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0fVxuXHR9XG5cblx0Jl9faWNvbi1pbWcge1xuXHRcdG1heC13aWR0aDogcmVtLWNhbGMoMTIwKTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0bWF4LXdpZHRoOiByZW0tY2FsYygxODApO1xuXHRcdH1cblx0fVxuXG5cdCZfX2JvZHkge1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsICRndXR0ZXI6IDApO1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDksICRndXR0ZXI6IDApO1xuXHRcdH1cblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcblx0XHRAaW5jbHVkZSB0eXBvLXNpemUtbGFyZ2UoKTtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHR9XG5cdH1cblxuXHQmX19jb250ZW50IHtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcblx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig1NSUpO1xuXHRcdH1cblxuXHRcdCYtLWZ1bGwge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig5KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXG5cdCZfX2R1cmF0aW9uIHtcblx0XHRmb250LXdlaWdodDogJHdlaWdodC1ib2xkO1xuXHR9XG5cblx0Jl9fZGV0YWlscyB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XG5cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQ1JSk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fZGV0YWlscy1saXN0IHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDIwKTtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuXHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNDApO1xuXHRcdGJvcmRlci10b3A6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTApO1xuXHRcdFx0Ym9yZGVyLXRvcDogbm9uZTtcblx0XHRcdGJvcmRlci1sZWZ0OiAycHggc29saWQgY3VycmVudENvbG9yO1xuXHRcdH1cblx0fVxuXG5cdCZfX2RldGFpbHMtbGlzdC1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg5KTtcblx0fVxufVxuIiwiLmNvbHVtbnMge1xuXHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoNDUpO1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNDUpO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDYwKTtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNjApO1xuXHR9XG5cblx0Jl9fcm93IHtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXHRcdEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlcik7XG5cdH1cblxuXHQmX190aXRsZSB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XG5cdFx0QGluY2x1ZGUgdHlwby1zaXplLXhsYXJnZSgpO1xuXHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG59XG5cbi5jb2x1bW4ge1xuXHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcblx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYsIHJlbS1jYWxjKDYwKSk7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0LCByZW0tY2FsYyg2MCkpO1xuXHR9XG5cblx0Jl9fYm9keSB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMiwgJGd1dHRlcjogMCk7XG5cdH1cblxuXHQmX19pY29uLWltZyB7XG5cdFx0bWF4LXdpZHRoOiByZW0tY2FsYygxMjApO1xuXHR9XG5cblx0Jl9faWNvbiB7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE4KTtcblx0fVxuXG5cdCZfX2NvbnRlbnQge1xuXHRcdGNvbG9yOiAkYmxhY2s7XG5cdH1cblxuXHQmX19idXR0b24td3JhcCB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMiwgJGd1dHRlcjogMCk7XG5cdH1cblxuXHQmX19idXR0b24ge1xuXHRcdEBpbmNsdWRlIG1vcmUtYnV0dG9uKCRzaXplOiBkZWZhdWx0LCAkY29sb3I6ICRwcmltYXJ5LWNvbG9yLCAkY29sb3ItYWx0OiAkd2hpdGUpO1xuXHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDI1KTtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDQwKTtcblx0XHR9XG5cdH1cbn1cbiIsIi5jb250YWN0LWRldGFpbHMge1xuXHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDkwKTtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuXHR9XG5cblx0Jl9fcm93IHtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtcm93KCAkd2lkdGg6IHJlbS1jYWxjKDExNDApICk7XG5cdH1cblxuXHQmX19wZXJzb24ge1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsICRndXR0ZXI6IDApO1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3coKTtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig3LCAkZ3V0dGVyOiAwKTtcblx0XHR9XG5cdH1cblxuXHQmX19wZXJzb24tYXZhdGFyIHtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKCBzaHJpbmsgKTtcblx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG5cdH1cblxuXHQmX19wZXJzb24taWNvbiB7XG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoLTIpO1xuXHRcdG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNSk7XG5cdFx0ZmlsbDogJHNlY29uZGFyeS1jb2xvcjtcblx0fVxuXG5cdCZfX3BlcnNvbi1uYW1lIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxKTtcblx0XHRmb250LXdlaWdodDogJHdlaWdodC1ib2xkO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuXHR9XG5cblx0Jl9fcGVyc29uLWluZm8ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQpO1xuXHR9XG5cblx0Jl9fY29udGVudCB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbiggc2hyaW5rICk7XG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMzApO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDYwKTtcblx0XHR9XG5cdH1cblxuXHQmX190aXRsZSB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG5cdCZfX2FkZHJlc3Mge1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsICRndXR0ZXI6IDApO1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3coKTtcblx0XHRhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNSwgJGd1dHRlcjogMCk7XG5cdFx0fVxuXHR9XG59IiwiLmNvbnRhY3QtaW52b2ljaW5nIHtcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDUwKTtcblx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYyg5MCk7XG5cdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDkwKTtcblx0fVxuXG5cdCZfX3JvdyB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdyggJHdpZHRoOiByZW0tY2FsYygxMTQwKSApO1xuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXHQmX19zdWJ0aXRsZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Ly8gY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHRcdC8vIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0LW5vcm1hbDtcblx0XHQvLyBsaW5lLWhlaWdodDogMS4xO1xuXHR9XG5cblx0Jl9faXRlbXMge1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3coKTtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cdH1cblxuXHQmX19pdGVtIHtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKCBzaHJpbmsgKTtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cdFx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuXHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDUpO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUpO1xuXHRcdH1cblxuXHRcdCYtLXNtYWxsIHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigyIG9mIDEwKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLS1tZWRpdW0ge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDMgb2YgMTApO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtLWxhcmdlIHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0IG9mIDEwKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19pdGVtLXRpdGxlIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdGZvbnQtd2VpZ2h0OiAkd2VpZ2h0LWJvbGQ7XG5cdH1cblxuXHQmX19pdGVtLXZhbHVlIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG5cblx0Jl9fY29tcGFueS1pbmZvIHtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXHR9XG59XG4iLCIuY29udGFjdC1tYXAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCZfX2NhbnZhcyB7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdCAgICBoZWlnaHQ6IHJlbS1jYWxjKDQwMCk7XG5cdCAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMyk7XG5cdCAgICB3aWR0aDogMTAwJTtcblxuXHRcdC5nbW5vcHJpbnQgaW1nIHtcblx0XHQgICAgbWF4LXdpZHRoOiBub25lO1xuXHRcdH1cblxuXHRcdC8qIGZpeGVzIHBvdGVudGlhbCB0aGVtZSBjc3MgY29uZmxpY3QgKi9cblx0XHRpbWcge1xuXHRcdCAgIG1heC13aWR0aDogaW5oZXJpdCAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxufVxuXG4uY29udGFjdC1taW5pbWFwX19jYW52YXMge1xuXHRwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcblx0Ym90dG9tOiAwO1xuXHRyaWdodDogMDtcblx0d2lkdGg6IDIwJTtcblx0aGVpZ2h0OiA0MCU7XG5cdGJvcmRlci10b3A6IDJweCBzb2xpZCB3aGl0ZTtcblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCB3aGl0ZTtcbn1cblxuLmpzLW1hcCB7XG5cdFtzcmNePVwiaHR0cHM6Ly8wLmdyYXZhdGFyLmNvbVwiXSxcblx0W3NyY149XCJodHRwczovLzEuZ3JhdmF0YXIuY29tXCJdLFxuXHRbc3JjXj1cImh0dHBzOi8vMi5ncmF2YXRhci5jb21cIl0sXG5cdFtzcmNePVwiaHR0cHM6Ly8zLmdyYXZhdGFyLmNvbVwiXSxcblx0W3NyY149XCJodHRwczovLzQuZ3JhdmF0YXIuY29tXCJdIHtcblx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHR9XG5cbn1cblxuI21haW5NYXBNYXJrZXJMYXllciBpbWcsXG4jbWluaU1hcE1hcmtlckxheWVyIGltZyB7XG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcblx0Ym94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwwLDAsLjQpO1xufVxuIiwiLmZlYXR1cmVkLWNsaWVudHMge1xuXG5cdCZfX2hlYWRlciB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdztcblx0XHRAaW5jbHVkZSBmbGV4LWFsaWduKCBqdXN0aWZ5ICk7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI0KTtcblx0XHQvLyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjQpO1xuXHRcdC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEwKTtcblx0XHRcdEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZiggbWlkZGxlICk7XG5cdFx0XHRmbGV4LWJhc2lzOiBhdXRvO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0OCk7XG5cdFx0XHQvLyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNDgpO1xuXHRcdH1cblxuXHR9XG5cblx0Jl9fbGlzdCB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0OCk7XG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuXHRcdC8vIHdvcmQtYnJlYWs6IGtlZXAtYWxsO1xuXHRcdC8vIG92ZXJmbG93LXg6IHNjcm9sbDtcblx0XHQvLyB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3coICR3aWR0aDogcmVtLWNhbGMoMTE0MCkgKTtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtbGF5b3V0KCAzLCAnLmZlYXR1cmVkLWNsaWVudCcgKTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSApIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoIDQsICcuZmVhdHVyZWQtY2xpZW50JyApO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoIGxhcmdlICkge1xuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWxheW91dCggNSwgJy5mZWF0dXJlZC1jbGllbnQnICk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCggeGxhcmdlICkge1xuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWxheW91dCggNiwgJy5mZWF0dXJlZC1jbGllbnQnICk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgZmxleC1hbGlnbiggY2VudGVyICk7XG5cblx0XHRhbGlnbi1jb250ZW50OiBzdHJldGNoO1xuXHR9XG59XG5cbi5mZWF0dXJlZC1jbGllbnQge1xuXHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKCAkZ3V0dGVyOiAxNXB4ICk7XG5cdG1hcmdpbjogcmVtLWNhbGMoMTApIDA7XG5cblx0Jl9faW1nIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXgtd2lkdGg6IHJlbS1jYWxjKDI0MCk7XG5cdH1cblxufVxuIiwiLmZlYXR1cmVkLXByb2plY3RzIHtcblx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdztcblx0QGluY2x1ZGUgZmxleC1hbGlnbigganVzdGlmeSApO1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cdHBhZGRpbmctdG9wOiByZW0tY2FsYygyNCk7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzIpO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYyg2NCk7XG5cdH1cblxuJl9faGVhZGVyIHtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xuXHRcdC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG5cblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHQvLyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNCk7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0Ly8gbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDgpO1xuXHRcdH1cblxuXHR9XG5cblx0Jl9fc3VidGl0bGUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cbn1cblxuLmZlYXR1cmVkLXByb2plY3Qge1xuXHR3aWR0aDogMTAwJTtcblxuXHQmX19saW5rIHtcblx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcblx0fVxuXG5cdC5tb3JlLWJ1dHRvbiB7XG5cdFx0QGluY2x1ZGUgbW9yZS1idXR0b24oICRzaXplOiBzbWFsbCApO1xuXHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoIHNtYWxsIGRvd24gKSB7XG5cblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHQudGV4dC1pbWFnZV9fY29udGVudCB7XG5cdFx0XHRvcmRlcjogMjtcblx0XHR9XG5cblx0XHQudGV4dC1pbWFnZV9faW1hZ2Uge1xuXHRcdFx0b3JkZXI6IDE7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdH1cblxuXHR9XG5cbn1cbiIsIi5mb290ZXItYmFubmVyIHtcblx0Jl9fcm93IHtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtcm93KCk7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDE7XG5cdH1cblxuXHQmX19idXR0b24td3JhcCB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigpO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXG5cdCZfX2J1dHRvbiB7XG5cdFx0QGluY2x1ZGUgd2ViaWtvbi1idXR0b24oJHNpemU6IGRlZmF1bHQsICRjb2xvcjogJHdoaXRlLCAkY29sb3ItYWx0OiAkc2Vjb25kYXJ5LWNvbG9yKTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTAwKTtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1MCk7XG5cdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoODUpO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwMCk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMjApO1xuXHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDIzKTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDk1KTtcblx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMik7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcblx0XHR9XG5cdH1cblxuXHQmX19idXR0b24taWNvbiB7XG5cdFx0cmlnaHQ6IHJlbS1jYWxjKDI1KTtcblx0fVxuXG5cdCZfX2JnLWltZyB7XG5cdFx0QGluY2x1ZGUgaW1hZ2UtY292ZXItc2ltdWxhdGlvbjtcblx0fVxufVxuIiwiLmludGVyZXN0aW5nLW51bWJlcnMge1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoOTApO1xuXHRiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcblxuXHQmX19oZWFkZXIsXG5cdCZfX2NvbnRlbnQge1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG5cdFx0QGluY2x1ZGUgZmxleC1hbGlnbihjZW50ZXIpO1xuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW47XG5cdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDkwKTtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTApO1xuXHRcdH1cblx0fVxuXG5cdCZfX2NvbnRlbnQge1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW47XG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoNjApO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTApO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOCk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XG5cdFx0fVxuXG5cdH1cblxuXHQmX19saXN0IHtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoMSwgJy5pbnRlcmVzdGluZy1udW1iZXJzX19saXN0LWl0ZW0nKTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtbGF5b3V0KDIsICcuaW50ZXJlc3RpbmctbnVtYmVyc19fbGlzdC1pdGVtJyk7XG5cdFx0fVxuXG5cdFx0Ji1pdGVtIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdH1cblx0fVxuXG5cdCZfX3Rlcm0ge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMjApIHJlbS1jYWxjKDIwKSByZW0tY2FsYygxMCkgcmVtLWNhbGMoMjApO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYygyMCk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fdmFsdWUge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDE2KSByZW0tY2FsYygzMCk7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxNikgcmVtLWNhbGMoNDApO1xuXHRcdH1cblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRib3JkZXI6IDEwcHggc29saWQgJHdoaXRlO1xuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXG5cdH1cblxufVxuIiwiLm1haW50ZW5hbmNlIHtcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXG5cdCYtcGxhbnMge1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3coICR3aWR0aDogMTAwJSApO1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0fVxuXG5cdCYtcGxhbiB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMTtcblx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoNjApO1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg2MCk7XG5cdFx0Y29sb3I6IHdoaXRlO1xuXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSBvbmx5ICkge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHR9XG5cblx0XHQmOm50aC1vZi10eXBlKDEpIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibHVlLTM7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXHRcdFx0XHRib3JkZXItcmlnaHQ6IDk5OTlweCBzb2xpZCAkYmx1ZS0zO1xuXHRcdFx0XHR6LWluZGV4OiAtMTtcblx0XHRcdH1cblxuXHRcdFx0LmFtb3VudCB7XG5cdFx0XHRcdGNvbG9yOiBzY2FsZS1jb2xvciggJGJsdWUtMywgJGFscGhhOiAtMTAlKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOm50aC1vZi10eXBlKDIpIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibHVlLTI7XG5cblx0XHRcdC5hbW91bnQge1xuXHRcdFx0XHRjb2xvcjogc2NhbGUtY29sb3IoICRibHVlLTIsICRhbHBoYTogLTEwJSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpudGgtb2YtdHlwZSgzKSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS0xO1xuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiA5OTk5cHggc29saWQgJGJsdWUtMTtcblx0XHRcdFx0ei1pbmRleDogLTE7XG5cdFx0XHR9XG5cblx0XHRcdC5hbW91bnQge1xuXHRcdFx0XHRjb2xvcjogc2NhbGUtY29sb3IoICRibHVlLTEsICRhbHBoYTogLTEwJSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0ZmxleDogMCAwIDMzLjMzMzMzJTtcblxuXHRcdH1cblxuXHRcdD4gKiB7XG5cdFx0XHRtYXgtd2lkdGg6IHJlbS1jYWxjKDQwMCk7XG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHR9XG5cblx0XHQmX190aXRsZSB7XG5cdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXG5cdFx0Jl9fYm9keSB7XG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gb25seSApIHtcblx0XHRcdFx0ZmxleDogMCAwIDY2LjY2NjY2JTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19wcmljZSB7XG5cdFx0XHRtYXgtd2lkdGg6IDgwJTtcblx0XHRcdG1hcmdpbjogMCBhdXRvIHJlbS1jYWxjKDIwKSBhdXRvO1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRcdCYtLW1lZGl1bSB7XG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNCk7XG5cdFx0XHRcdEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoIG1lZGl1bSApO1xuXHRcdFx0XHQuYW1vdW50IHtcblxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCYtLWxhcmdlIHtcblx0XHRcdFx0QGluY2x1ZGUgaGlkZS1mb3Itb25seSggbWVkaXVtICk7XG5cdFx0XHR9XG5cblx0XHRcdC5hbW91bnQge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRtYXJnaW46IHJlbS1jYWxjKDEwKSBhdXRvIHJlbS1jYWxjKDIwKSBhdXRvO1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDcyKTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB3aGl0ZTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDE1MCk7XG5cdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoMTUwKTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE0OCk7XG5cdFx0XHRcdHRleHQtc2hhZG93OiAxcHggMnB4IDJweCB3aGl0ZSwgMCAwIDAgIzAwMCwgMXB4IDJweCAycHggd2hpdGU7XG5cdFx0XHR9XG5cblx0XHRcdC5jdXJyZW5jeSB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiA0NSU7XG5cdFx0XHRcdHJpZ2h0OiAwJTtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDQpO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKC0yNCk7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdC8vIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuXHRcdFx0XHRiYWNrZ3JvdW5kOiB3aGl0ZTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDQ4KTtcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYyg0OCk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0OCk7XG5cdFx0XHR9XG5cblx0XHRcdC5kZXNjcmlwdGlvbiB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRtYXgtd2lkdGg6IHJlbS1jYWxjKDM0MCk7XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHQudGF4IHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuXHRcdH1cblxuXHRcdCZfX2Rlc2NyaXB0aW9uIHtcblx0XHRcdG1hcmdpbjogcmVtLWNhbGMoOSkgMCByZW0tY2FsYygyMSkgMDtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcblx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHR9XG5cblx0XHQmX19mZWF0dXJlcyB7XG5cdFx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblx0XHR9XG5cblx0XHQmX19mZWF0dXJlIHtcblx0XHRcdC8vIHBhZGRpbmc6IHJlbS1jYWxjKDQpIHJlbS1jYWxjKDApO1xuXHRcdFx0Ly8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjIpO1xuXG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggZGFzaGVkIHJnYmEoMjU1LDI1NSwyNTUsLjQpO1xuXHRcdFx0XHRjdXJzb3I6IGhlbHA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fYnV0dG9uIHtcblx0XHRcdEBpbmNsdWRlIG1vcmUtYnV0dG9uKCAkc2l6ZTogc21hbGwsICRjb2xvcjogJHdoaXRlLCAkY29sb3ItYWx0OiAkc2Vjb25kYXJ5LWNvbG9yLCAkYXJyb3c6IHJpZ2h0ICk7XG5cdFx0XHRhbGlnbi1zZWxmOiBmbGV4LWVuZDtcblx0XHRcdG1hcmdpbjogYXV0byBhdXRvIDAgYXV0bztcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSBvbmx5ICkge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG5cdCYtZmFxIHtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtcm93KCAkd2lkdGg6IDEwMCUgKTtcblx0XHRwYWRkaW5nOiByZW0tY2FsYyg5MCkgMDtcblxuXHRcdCZfX25hdiB7XG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQpO1xuXHRcdFx0QGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3koKTtcblx0XHRcdEBpbmNsdWRlIHNob3ctZm9yKCBtZWRpdW0gKTtcblxuXHRcdFx0LnN0aWNreSxcblx0XHRcdC5zdGlja3kuaXMtYW5jaG9yZWQge1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19tZW51IHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0XHRib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblxuXHRcdFx0Ji1pdGVtIHtcblxuXHRcdFx0fVxuXG5cdFx0XHQmLWxpbmsge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoNCkgcmVtLWNhbGMoMTIpO1xuXHRcdFx0XHRjb2xvcjogJGRhcmstZ3JheTtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHQmX19jb250ZW50IHtcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oKTtcblx0XHRcdG1heC13aWR0aDogcmVtLWNhbGMoNzAwKTtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtICkge1xuXHRcdFx0XHRmbGV4OiAwIDAgNjYuNjY2NjYlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYtZmFxX19pdGVtIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG5cdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuXHR9XG5cblx0Ji1mYXFfX3RpdGxlIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxOCk7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygzMik7XG5cdFx0Y29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cdH1cbn1cblxuLnN1cHBvcnQtdGlja2V0IHtcblx0cGFkZGluZzogcmVtLWNhbGMoNDApIDA7XG5cdGJhY2tncm91bmQ6ICRwaW5rO1xuXHRjb2xvcjogd2hpdGU7XG5cblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gKSB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxuXG5cdCZfX3JvdyB7XG5cdFx0IEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3coICR3aWR0aDogMTAwJSApO1xuXHR9XG5cblx0Jl9fYm9keSB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigpO1xuXHRcdEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihtaWRkbGUpO1xuXHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtICkge1xuXHRcdFx0ZmxleDogMCAwIDY2LjY2NjY2JTtcblx0XHR9XG5cdH1cblxuXHQmX19wcmljZSB7XG5cblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHQmLS1kZXNrdG9wIHtcblx0XHRcdEBpbmNsdWRlIHNob3ctZm9yKCAnbWVkaXVtJyApO1xuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcblx0XHR9XG5cblx0XHQmLS1tb2JpbGUge1xuXHRcdFx0QGluY2x1ZGUgaGlkZS1mb3IoICdtZWRpdW0nICk7XG5cdFx0fVxuXG5cdFx0LmFtb3VudCB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiByZW0tY2FsYygxNTApO1xuXHRcdFx0aGVpZ2h0OiByZW0tY2FsYygxNTApO1xuXHRcdFx0bWFyZ2luOiByZW0tY2FsYygxMCkgYXV0byByZW0tY2FsYygyMCkgYXV0bztcblx0XHRcdGJhY2tncm91bmQ6IHdoaXRlO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0XHRcdGNvbG9yOiBzY2FsZS1jb2xvciggJHBpbmssICRhbHBoYTogLTEwJSApO1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg2NCk7XG5cdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE0OCk7XG5cdFx0XHR0ZXh0LXNoYWRvdzogMXB4IDJweCAycHggd2hpdGUsIDAgMCAwICMwMDAsIDFweCAycHggMnB4IHdoaXRlO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gKSB7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNDgpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jdXJyZW5jeSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDQ1JTtcblx0XHRcdHJpZ2h0OiAwJTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHdpZHRoOiByZW0tY2FsYyg0OCk7XG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDQ4KTtcblx0XHRcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg0KTtcblx0XHRcdG1hcmdpbi1yaWdodDogcmVtLWNhbGMoLTI2KTtcblx0XHRcdGJhY2tncm91bmQ6IHdoaXRlO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xuXHRcdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ4KTtcblx0XHR9XG5cblx0XHQuZGVzY3JpcHRpb24ge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoMTUwKTtcblx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gKSB7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNDgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRjb2xvcjogd2hpdGU7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygzMik7XG5cdH1cblxuXHQmX19kZXNjcmlwdGlvbiB7XG5cdFx0bWFyZ2luOiByZW0tY2FsYyg5KSBhdXRvIHJlbS1jYWxjKDIxKSBhdXRvO1xuXHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMSk7XG5cdFx0Y29sb3I6IHdoaXRlO1xuXHR9XG5cblx0Jl9fYnV0dG9uIHtcblx0XHRAaW5jbHVkZSBtb3JlLWJ1dHRvbiggJHNpemU6IHNtYWxsLCAkY29sb3I6ICR3aGl0ZSwgJGNvbG9yLWFsdDogJHNlY29uZGFyeS1jb2xvciwgJGFycm93OiByaWdodCApO1xuXHRcdC8vIG1hcmdpbi10b3A6IHJlbS1jYWxjKDkpO1xuXHR9XG5cblx0Jl9fZmVhdHVyZXMge1xuXHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNCk7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdH1cblxuXHQmX19mZWF0dXJlIHtcblx0XHQvLyBwYWRkaW5nOiByZW0tY2FsYyg0KSByZW0tY2FsYyg4KTtcblx0XHQvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMik7XG5cblx0XHRhIHtcblx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgcmdiYSgyNTUsMjU1LDI1NSwuNCk7XG5cdFx0XHRjdXJzb3I6IGhlbHA7XG5cdFx0fVxuXG5cdFx0Lm9yIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRcdH1cblx0fVxuXG5cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLnByb2plY3QtcGhhc2VzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG5cdHBhZGRpbmctdG9wOiByZW0tY2FsYyg2MCk7XG5cblx0Jl9faGVhZGVyIHtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXHRcdEBpbmNsdWRlIGZsZXgtYWxpZ24oY2VudGVyKTtcblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xuXHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMCk7XG5cdFx0fVxuXHR9XG5cblx0Jl9faXRlbXMge1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3coKTtcblx0fVxuXG5cdCZfX2xpc3Qge1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3coKTtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKCk7XG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLWxheW91dCgxLCAnLnByb2plY3QtcGhhc2UnKTtcblx0XHRAaW5jbHVkZSBmbGV4LWFsaWduKGNlbnRlciwgbWlkZGxlKTtcblxuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDcwKTtcblx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTEpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEwKTtcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoMiwgJy5wcm9qZWN0LXBoYXNlJyk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig4KTtcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoMywgJy5wcm9qZWN0LXBoYXNlJyk7XG5cdFx0fVxuXG5cdH1cbn1cblxuLnByb2plY3QtcGhhc2Uge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNDYpO1xuXHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTQpO1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTQpO1xuXG5cdC5pY29uIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0bGVmdDogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0ZmlsbDogJHByaW1hcnktY29sb3I7XG5cdH1cbn1cbiIsIi5yZWZlcmVuY2Uge1xuXHRAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXHRAaW5jbHVkZSBmbGV4LWFsaWduKHNwYWNlZCk7XG5cblx0Jl9fY29sdW1uIHtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oICRndXR0ZXI6IDAgKTtcblx0XHRAaW5jbHVkZSBmbGV4LWFsaWduKHNwYWNlZCk7XG5cblx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoNjApO1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg2MCk7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKCAkY29sdW1uczogMTIsICRndXR0ZXI6IDAgKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKCAkY29sdW1uczogMTAgKTtcblx0XHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYyg5MCk7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoOTApO1xuXHRcdH1cblxuXHR9XG5cblx0Jl9fY29udGVudCB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMiwgcmVtLWNhbGMoNDApKTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0Ym9yZGVyOiBub25lO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTAsIHJlbS1jYWxjKDMwKSk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOCwgcmVtLWNhbGMoMzApKTtcblx0XHR9XG5cblx0XHQmOmJlZm9yZSB7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSApIHtcblx0XHRcdFx0Y29udGVudDogdXJsKCcuLi9pbWFnZXMvaWNvbl9xdW90ZXMuc3ZnJyk7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0bGVmdDogLTJyZW07XG5cdFx0XHRcdGJvdHRvbTogM3JlbTtcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDk2KTtcblx0XHRcdFx0b3BhY2l0eTogLjA1O1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCBsYXJnZSApIHtcblx0XHRcdFx0bGVmdDogLTZyZW07XG5cdFx0XHRcdG9wYWNpdHk6IC4wNztcblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogdXJsKCcuLi9pbWFnZXMvaWNvbl9xdW90ZXMuc3ZnJyk7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRyaWdodDogMnJlbTtcblx0XHRcdHRvcDogLTJyZW07XG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoOTYpO1xuXHRcdFx0b3BhY2l0eTogLjA1O1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtICkge1xuXHRcdFx0XHRyaWdodDogLTJyZW07XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoIGxhcmdlICkge1xuXHRcdFx0XHRyaWdodDogLTZyZW07XG5cdFx0XHRcdG9wYWNpdHk6IC4wNztcblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG5cdCZfX2F1dGhvciB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xuXHR9XG5cblx0Jl9fYXZhdGFyIHtcblx0XHR3aWR0aDogcmVtLWNhbGMoNTApO1xuXHRcdG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTQpO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtICkge1xuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDcwKTtcblx0XHRcdG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApO1xuXHRcdH1cblx0fVxuXG5cdCZfX2F1dGhvci1uYW1lIHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcblx0XHRmb250LXdlaWdodDogJHdlaWdodC1ib2xkO1xuXHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjE7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gKSB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcblx0XHR9XG5cblx0XHQmX19wYXJ0IHtcblxuXHRcdFx0JjpmaXJzdC1vZi10eXBlIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cbn1cbiIsIi5yZWZlcmVuY2VzIHtcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDQ4KTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gKSB7XG5cdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDY0KTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoIGxhcmdlICkge1xuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYyg5Nik7XG5cdH1cblxuXHQmX19oZWFkZXIge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxufVxuIiwiLnNlcnZpY2VzIHtcblx0Ly8gJl9fcm93IHtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtcm93KCAkd2lkdGg6IDEwMCUgKTtcblx0Ly8gfVxufVxuXG4uc2VydmljZSB7XG5cdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsIDApO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoNDApO1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuXHRjb2xvcjogJGJsdWUtMTtcblx0YmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtICkge1xuXHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDU1KTtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTUpO1xuXG5cdFx0Jjo6YmVmb3JlIHsgLy8gZnVsbHdpZHRoIGJhY2tncm91bmQgY29sb3IgaGFja1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdGxlZnQ6IC05OTk5cHg7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdGJvcmRlcjogMCBzb2xpZCBjdXJyZW50Q29sb3I7O1xuXHRcdFx0Ym94LXNoYWRvdzogOTk5OXB4IDAgMCBjdXJyZW50Q29sb3I7XG5cdFx0XHR6LWluZGV4OiAtMTtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCB4eGxhcmdlICkge1xuXHRcdGZsZXg6IDAgMCAyNSU7XG5cdH1cblxuXHQmOmZpcnN0LWNoaWxkIHtcblx0XHQuc2VydmljZV9fdGl0bGUge1xuXHRcdFx0QGluY2x1ZGUgdHlwby1zaXplLWxhcmdlKCk7XG5cdFx0fVxuXG5cdFx0LnNlcnZpY2VfX2J1dHRvbi0taW5zaWRlIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cblx0XHQuc2VydmljZV9fYnV0dG9uLS1vdXRzaWRlIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtICkge1xuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdyggJHdpZHRoOiAxMDAlICk7XG5cdFx0XHRAaW5jbHVkZSBmbGV4LWFsaWduKCBudWxsLCBtaWRkbGUgKTtcblx0XHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDgwKTtcblx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg4MCk7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRib3JkZXItbGVmdC13aWR0aDogOTk5OXB4O1xuXHRcdFx0fVxuXG5cdFx0XHQuc2VydmljZV9faWNvbiB7XG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNCk7XG5cdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0fVxuXG5cdFx0XHQuc2VydmljZV9faWNvbi1pbWcge1xuXHRcdFx0XHRtYXgtd2lkdGg6IHJlbS1jYWxjKDE4MCk7XG5cdFx0XHR9XG5cblx0XHRcdC5zZXJ2aWNlX19ib2R5IHtcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig4KTtcblx0XHRcdFx0bWF4LXdpZHRoOiByZW0tY2FsYyg4MDApO1xuXHRcdFx0fVxuXG5cdFx0XHQuc2VydmljZV9fYnV0dG9uIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cblxuXHQmOm50aC1jaGlsZCgybikgeyAvLyAybmQsIDR0aCBpdGVtIHNob3cgb25seSBvbmUgc2lkZVxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRib3JkZXItbGVmdC13aWR0aDogOTk5OXB4O1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQmOm50aC1jaGlsZCgyKSB7XG5cdFx0Y29sb3I6ICRibHVlLTI7XG5cdH1cblxuXHQmOm50aC1jaGlsZCgzKSB7XG5cdFx0Y29sb3I6ICRibHVlLTM7XG5cdH1cblxuXHQmOm50aC1jaGlsZCg0KSB7XG5cdFx0Y29sb3I6ICRicm93bjtcblx0fVxuXG5cdCY6bnRoLWNoaWxkKDUpIHtcblx0XHRjb2xvcjogJHBpbms7XG5cdH1cblxuXG5cdCZfX2JvZHkge1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oICk7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblxuXHRcdC8vIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZiggc3RyZXRjaCApXG5cdFx0LnNlcnZpY2U6bm90KCA6Zmlyc3QtY2hpbGQgKSAmIHtcblx0XHRcdG1heC13aWR0aDogcmVtLWNhbGMoNDUwKTtcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdH1cblxuXHR9XG5cblx0Jl9faWNvbi1pbWcge1xuXHRcdG1heC13aWR0aDogcmVtLWNhbGMoOTApO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0bWF4LXdpZHRoOiByZW0tY2FsYygxMjApO1xuXHRcdH1cblx0fVxuXG5cdCZfX2ljb24ge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcblx0XHRmbGV4OiAwIDAgYXV0bztcblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxOCk7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ4KTtcblx0XHRjb2xvcjogd2hpdGU7XG5cdH1cblxuXHQmX19jb250ZW50IHtcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcblx0fVxuXG5cdCZfX2J1dHRvbiB7XG5cdFx0QGluY2x1ZGUgbW9yZS1idXR0b24oJHNpemU6IGRlZmF1bHQsICRjb2xvcjogJHdoaXRlLCAkY29sb3ItYWx0OiAkc2Vjb25kYXJ5LWNvbG9yKTtcblx0XHRAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoYm90dG9tKTtcblx0XHRtYXJnaW46IGF1dG8gYXV0byAwIGF1dG87XG5cblx0XHQmLS1pbnNpZGUge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn1cbiIsIi50ZWFtIHtcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDQ1KTtcblx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcblxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDc1KTtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNDUpO1xuXHR9XG5cblxuXHQmX19yb3cge1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG5cdFx0QGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyKTtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtbGF5b3V0KCAyLCAnLmNvbGxlYWd1ZScgKTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoIHJlbS1jYWxjKDQ4MCkgKSB7XG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtbGF5b3V0KCAzLCAnLmNvbGxlYWd1ZScgKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWxheW91dCggNCwgJy5jb2xsZWFndWUnICk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWxheW91dCggNSwgJy5jb2xsZWFndWUnICk7XG5cdFx0fVxuXG5cdH1cblxuXHQmX190aXRsZSB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XG5cdFx0QGluY2x1ZGUgdHlwby1zaXplLWxhcmdlKCk7XG5cdFx0bWFyZ2luOiByZW0tY2FsYygxNSkgMDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cbn1cblxuLm1lbWJlciB7XG5cdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oKTtcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKTtcblx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygzMCk7XG5cdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMzApXG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdH1cblxuXHQuYXZhdGFyIHtcblx0XHRtYXgtd2lkdGg6IHJlbS1jYWxjKDI1Nik7XG5cdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0XHRib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLDAsMCwuMSk7XG5cdH1cblxuXHQmX190aXRsZSB7XG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTcpO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDcpO1xuXHRcdC8vIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXHRcdGZvbnQtd2VpZ2h0OiAkd2VpZ2h0LWJvbGQ7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMSk7XG5cdH1cblxuXHQmX19leGNlcnB0IHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cdFx0Y29sb3I6ICRibGFjaztcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0fVxuXG5cdCZfX3NvY2lhbC1saW5rIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblxuXHQmX19zb2NpYWwtaWNvbiB7XG5cdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cdFx0dHJhbnNpdGlvbjogMjAwbXMgY29sb3IgZWFzZS1vdXQ7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0fVxuXHR9XG59XG5cbi5qb2luLXVzIHtcblxuXHQmX19saW5rIHtcblxuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0LmF2YXRhciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB3aGl0ZTtcblx0XHRcdHRyYW5zaXRpb246IDI1MG1zIGFsbCBlYXNlLW91dDtcblx0XHR9XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXG5cdFx0XHQuYXZhdGFyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKCAtNmRlZyApIHNjYWxlKCAxLjAyLCAxLjAyICk7XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxufVxuIiwiLnRlY2gtc3RhbmRvdXRzIHtcblx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdztcblx0QGluY2x1ZGUgZmxleC1hbGlnbihjZW50ZXIpO1xuXG5cdCZfX2hlYWRlcixcblx0Jl9fY29udGVudCB7XG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEwKTtcblx0XHR9XG5cdH1cblxuXHQmX19oZWFkZXIge1xuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYyg4MCk7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXHQmX19pbWcge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUwKTtcblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1MCk7XG5cdFx0Ly8gY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cdH1cblxuXHQmX19saXN0IHtcblx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNzApO1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG5cdFx0QGluY2x1ZGUgZmxleC1hbGlnbiggY2VudGVyLCBtaWRkbGUgKTtcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtbGF5b3V0KCAxLCAnLnRlY2gtc3RhbmRvdXRzX19pdGVtJyApO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtICkge1xuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWxheW91dCggMiwgJy50ZWNoLXN0YW5kb3V0c19faXRlbScgKTtcblx0XHR9XG5cdH1cblxuXHQmX19pdGVtIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzIpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDMyKTtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHRvcDogcmVtLWNhbGMoOCk7XG5cdFx0XHQvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoMTgpO1xuXHRcdFx0aGVpZ2h0OiByZW0tY2FsYygxOCk7XG5cdFx0XHRib3JkZXI6IDNweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdFx0fVxuXHR9XG5cbn1cbiIsIi50ZXh0LWltYWdlIHtcblx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdztcblx0QGluY2x1ZGUgZmxleC1hbGlnbihjZW50ZXIpO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSBkb3duICkge1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG5cdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDYwKTtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNjApO1xuXHR9XG5cblx0Jl9faW1hZ2UsXG5cdCZfX2NvbnRlbnQge1xuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSApIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoIGxhcmdlICkge1xuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig1KTtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG5cdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoOTApO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDkwKTtcblx0XHR9XG5cdH1cblxuXHQmX19pbWFnZSB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtICkge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdH1cblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cdFx0Ly8gZm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Ly8gY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cdH1cblxuXHQmLmF1dG86bnRoLW9mLXR5cGUob2RkKSxcblx0Ji5mZWF0dXJlZC1wcm9qZWN0Om50aC1vZi10eXBlKG9kZCksXG5cdCYuaW1hZ2UtbGVmdCB7XG5cdFx0LnRleHQtaW1hZ2VfX2ltYWdlIHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSApIHtcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1vcmRlcigxKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnRleHQtaW1hZ2VfX2NvbnRlbnQge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtICkge1xuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LW9yZGVyKDApO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCggbGFyZ2UgKSB7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji5hdXRvOm50aC1vZi10eXBlKGV2ZW4pLFxuXHQmLmZlYXR1cmVkLXByb2plY3Q6bnRoLW9mLXR5cGUoZXZlbiksXG5cdCYuaW1hZ2UtcmlnaHQge1xuXHRcdC50ZXh0LWltYWdlX19pbWFnZSB7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gKSB7XG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtb3JkZXIoMCk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCBsYXJnZSApIHtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnRleHQtaW1hZ2VfX2NvbnRlbnQge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtICkge1xuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LW9yZGVyKDEpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59XG4iLCIvKiBUZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzLiAqL1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG5cdGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcblx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogMXB4O1xuXHR3aWR0aDogMXB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG5cdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcblx0XHRjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0Y29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKDAuODc1KTtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0bGVmdDogNXB4O1xuXHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdFx0cGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdHRvcDogNXB4O1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdHotaW5kZXg6IDEwMDAwMDsgLyogQWJvdmUgV1AgdG9vbGJhci4gKi9cblx0fVxufVxuXG4vKiBEbyBub3Qgc2hvdyB0aGUgb3V0bGluZSBvbiB0aGUgc2tpcCBsaW5rIHRhcmdldC4gKi9cbiNjb250ZW50W3RhYmluZGV4PVwiLTFcIl06Zm9jdXMge1xuXHRvdXRsaW5lOiAwO1xufVxuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuR3Jhdml0eSBGb3JtcyBEYXRlIFBpY2tlciBTdHlsZXNcbmh0dHA6IC8vd3d3LmdyYXZpdHlmb3Jtcy5jb21cbnVwZGF0ZWQ6IEphbnVhcnkgMzEsIDIwMTQgMzozMiBQTVxuXG5DdXN0b21pemVkIHN0eWxlcyBmb3IgdGhlIGpRdWVyeSBVSSBEYXRlcGlja2VyIDEuOS4yXG5jb3B5cmlnaHQgMjAxMiBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzXG5SZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG5odHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlXG5zb21lIHN0eWxlcyBjb3VydGVzdHkgb2YgaHR0cDovL3d3dy5ob25na2lhdC5jb20vXG5cbkdyYXZpdHkgRm9ybXMgaXMgYSBSb2NrZXRnZW5pdXMgcHJvamVjdFxuY29weXJpZ2h0IDIwMDggLSAyMDE0IFJvY2tldGdlbml1cyBJbmMuXG5odHRwOiAvL3d3dy5yb2NrZXRnZW5pdXMuY29tXG5cbk5PVEU6IERPIE5PVCBFRElUIFRISVMgRklMRSEgTUFLRSBBTlkgTU9ESUZJQ0FUSU9OUyBJTiBZT1VSXG5USEVNRSBTVFlMRVNIRUVULiBUSElTIEZJTEUgSVMgUkVQTEFDRUQgRFVSSU5HIEFVVE8tVVBEQVRFU1xuQU5EIEFOWSBDSEFOR0VTIE1BREUgSEVSRSBXSUxMIEJFIE9WRVJXUklUVEVOLlxuXG5JZiB5b3UgbmVlZCB0byBtYWtlIGV4dGVuc2l2ZSBjdXN0b21pemF0aW9ucyxcbmNvcHkgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZSB0byB5b3VyIHRoZW1lXG5zdHlsZSBzaGVldCBmb3IgZWRpdGluZy4gVGhlbiwgZ28gdG8gdGhlIGZvcm1cbnNldHRpbmdzIHBhZ2UgJiBzZXQgdGhlICdvdXRwdXQgQ1NTJyBvcHRpb25cbnRvIG5vLlxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4udWktZGF0ZXBpY2tlciB7XG5cdHdpZHRoOiAyMjBweDtcblx0aGVpZ2h0OiBhdXRvO1xuXHRtYXJnaW46IDVweCBhdXRvIDA7XG5cdGZvbnQ6IDlwdCBBcmlhbCwgc2Fucy1zZXJpZjtcblx0LXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgLjUpO1xuXHQtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAuNSk7XG5cdGJveC1zaGFkb3c6IDBweCAwcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAuNSk7XG59XG5cbi51aS1kYXRlcGlja2VyIGEge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi51aS1kYXRlcGlja2VyIHRhYmxlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbi51aS1kYXRlcGlja2VyLWhlYWRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICM2NjY7IC8qIHNldCB0aGUgaGVhZGVyIGJhY2tncm91bmQgY29sb3IgKi9cblx0Y29sb3I6ICNlMGUwZTA7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDBweCAxcHggMXB4IDBweCByZ2JhKDI1MCwgMjUwLCAyNTAsIC4yKTtcblx0LW1vei1ib3gtc2hhZG93OiBpbnNldCAwcHggMXB4IDFweCAwcHggcmdiYSgyNTAsIDI1MCwgMjUwLCAuMik7XG5cdGJveC1zaGFkb3c6IGluc2V0IDBweCAxcHggMXB4IDBweCByZ2JhKDI1MCwgMjUwLCAyNTAsIC4yKTtcblx0dGV4dC1zaGFkb3c6IDFweCAtMXB4IDBweCAjMDAwO1xuXHRmaWx0ZXI6IGRyb3BzaGFkb3coY29sb3I9IzAwMCwgb2ZmeD0xLCBvZmZ5PS0xKTtcblx0bGluZS1oZWlnaHQ6IDMwcHg7XG5cdG1pbi1oZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcblx0Ym9yZGVyLXdpZHRoOiAxcHggMCAwIDA7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogIzY2Njtcbn1cblxuLnVpLWRhdGVwaWNrZXItdGl0bGUge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi51aS1kYXRlcGlja2VyLXRpdGxlIHNlbGVjdCB7XG5cdG1hcmdpbi10b3A6IDIuNSU7XG59XG5cbi51aS1kYXRlcGlja2VyLXByZXYsXG4udWktZGF0ZXBpY2tlci1uZXh0IHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMzBweDtcblx0aGVpZ2h0OiAzMHB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29udGVudDogJz4nO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRsaW5lLWhlaWdodDogNjAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnVpLWRhdGVwaWNrZXItcHJldiB7XG5cdGZsb2F0OiBsZWZ0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTMwcHg7XG59XG5cbi51aS1kYXRlcGlja2VyLW5leHQge1xuXHRmbG9hdDogcmlnaHQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAwcHg7XG59XG5cbi51aS1kYXRlcGlja2VyIHRoZWFkIHtcblx0YmFja2dyb3VuZDogI2Y3ZjdmNztcblx0YmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlBL1BnbzhjM1puSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZDJsa2RHZzlJakV3TUNVaUlHaGxhV2RvZEQwaU1UQXdKU0lnZG1sbGQwSnZlRDBpTUNBd0lERWdNU0lnY0hKbGMyVnlkbVZCYzNCbFkzUlNZWFJwYnowaWJtOXVaU0krQ2lBZ1BHeHBibVZoY2tkeVlXUnBaVzUwSUdsa1BTSm5jbUZrTFhWaloyY3RaMlZ1WlhKaGRHVmtJaUJuY21Ga2FXVnVkRlZ1YVhSelBTSjFjMlZ5VTNCaFkyVlBibFZ6WlNJZ2VERTlJakFsSWlCNU1UMGlNQ1VpSUhneVBTSXdKU0lnZVRJOUlqRXdNQ1VpUGdvZ0lDQWdQSE4wYjNBZ2IyWm1jMlYwUFNJd0pTSWdjM1J2Y0MxamIyeHZjajBpSTJZM1pqZG1OeUlnYzNSdmNDMXZjR0ZqYVhSNVBTSXhJaTgrQ2lBZ0lDQThjM1J2Y0NCdlptWnpaWFE5SWpFd01DVWlJSE4wYjNBdFkyOXNiM0k5SWlObU1XWXhaakVpSUhOMGIzQXRiM0JoWTJsMGVUMGlNU0l2UGdvZ0lEd3ZiR2x1WldGeVIzSmhaR2xsYm5RK0NpQWdQSEpsWTNRZ2VEMGlNQ0lnZVQwaU1DSWdkMmxrZEdnOUlqRWlJR2hsYVdkb2REMGlNU0lnWm1sc2JEMGlkWEpzS0NObmNtRmtMWFZqWjJjdFoyVnVaWEpoZEdWa0tTSWdMejRLUEM5emRtYyspO1xuXHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICAjZjdmN2Y3IDAlLCAjZjFmMWYxIDEwMCUpO1xuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCNmN2Y3ZjcpLCBjb2xvci1zdG9wKDEwMCUsI2YxZjFmMSkpO1xuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICAjZjdmN2Y3IDAlLCNmMWYxZjEgMTAwJSk7XG5cdGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICAjZjdmN2Y3IDAlLCNmMWYxZjEgMTAwJSk7XG5cdGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAgI2Y3ZjdmNyAwJSwjZjFmMWYxIDEwMCUpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgI2Y3ZjdmNyAwJSwjZjFmMWYxIDEwMCUpO1xuXHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2Y3ZjdmNycsIGVuZENvbG9yc3RyPScjZjFmMWYxJyxHcmFkaWVudFR5cGU9MCApO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JiYjtcbn1cblxuLnVpLWRhdGVwaWNrZXIgdGgge1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogNnB0O1xuXHRwYWRkaW5nOiA1cHggMDtcblx0Y29sb3I6ICM2NjY2NjY7XG5cdHRleHQtc2hhZG93OiAxcHggMHB4IDBweCAjZmZmO1xuXHRmaWx0ZXI6IGRyb3BzaGFkb3coY29sb3I9I2ZmZiwgb2ZmeD0xLCBvZmZ5PTApO1xufVxuXG4udWktZGF0ZXBpY2tlciB0Ym9keSB0ZCB7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAjYmJiO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYmJiO1xufVxuXG4udWktZGF0ZXBpY2tlciB0Ym9keSB0ZDpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLXJpZ2h0OiAwcHg7XG59XG5cbi51aS1kYXRlcGlja2VyIHRib2R5IHRyIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmI7XG59XG5cbi51aS1kYXRlcGlja2VyIHRib2R5IHRyOmxhc3QtY2hpbGQge1xuXHRib3JkZXItYm90dG9tOiAwcHg7XG59XG5cbi51aS1kYXRlcGlja2VyIHRkIHNwYW4sXG4udWktZGF0ZXBpY2tlciB0ZCBhIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR3aWR0aDogMzBweDtcblx0aGVpZ2h0OiAzMHB4O1xuXHRsaW5lLWhlaWdodDogMzBweDtcblx0Y29sb3I6ICM2NjY2NjY7XG5cdHRleHQtc2hhZG93OiAxcHggMXB4IDBweCAjZmZmO1xuXHRmaWx0ZXI6IGRyb3BzaGFkb3coY29sb3I9I2ZmZiwgb2ZmeD0xLCBvZmZ5PTEpO1xufVxuXG4udWktZGF0ZXBpY2tlci1jYWxlbmRhciAudWktc3RhdGUtZGVmYXVsdCB7XG5cdGJhY2tncm91bmQ6ICNlZGVkZWQ7XG5cdGJhY2tncm91bmQ6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQS9QZ284YzNabklIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2QybGtkR2c5SWpFd01DVWlJR2hsYVdkb2REMGlNVEF3SlNJZ2RtbGxkMEp2ZUQwaU1DQXdJREVnTVNJZ2NISmxjMlZ5ZG1WQmMzQmxZM1JTWVhScGJ6MGlibTl1WlNJK0NpQWdQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0puY21Ga0xYVmpaMmN0WjJWdVpYSmhkR1ZrSWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSWdlREU5SWpBbElpQjVNVDBpTUNVaUlIZ3lQU0l3SlNJZ2VUSTlJakV3TUNVaVBnb2dJQ0FnUEhOMGIzQWdiMlptYzJWMFBTSXdKU0lnYzNSdmNDMWpiMnh2Y2owaUkyVmtaV1JsWkNJZ2MzUnZjQzF2Y0dGamFYUjVQU0l4SWk4K0NpQWdJQ0E4YzNSdmNDQnZabVp6WlhROUlqRXdNQ1VpSUhOMGIzQXRZMjlzYjNJOUlpTmtaV1JsWkdVaUlITjBiM0F0YjNCaFkybDBlVDBpTVNJdlBnb2dJRHd2YkdsdVpXRnlSM0poWkdsbGJuUStDaUFnUEhKbFkzUWdlRDBpTUNJZ2VUMGlNQ0lnZDJsa2RHZzlJakVpSUdobGFXZG9kRDBpTVNJZ1ptbHNiRDBpZFhKc0tDTm5jbUZrTFhWaloyY3RaMlZ1WlhKaGRHVmtLU0lnTHo0S1BDOXpkbWMrKTtcblx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAgI2VkZWRlZCAwJSwgI2RlZGVkZSAxMDAlKTtcblx0YmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwjZWRlZGVkKSwgY29sb3Itc3RvcCgxMDAlLCNkZWRlZGUpKTtcblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAgI2VkZWRlZCAwJSwjZGVkZWRlIDEwMCUpO1xuXHRiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAgI2VkZWRlZCAwJSwjZGVkZWRlIDEwMCUpO1xuXHRiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgICNlZGVkZWQgMCUsI2RlZGVkZSAxMDAlKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgICNlZGVkZWQgMCUsI2RlZGVkZSAxMDAlKTtcblx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNlZGVkZWQnLCBlbmRDb2xvcnN0cj0nI2RlZGVkZScsR3JhZGllbnRUeXBlPTAgKTtcblx0LXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDBweCAwcHggcmdiYSgyNTAsIDI1MCwgMjUwLCAuNSk7XG5cdC1tb3otYm94LXNoYWRvdzogaW5zZXQgMXB4IDFweCAwcHggMHB4IHJnYmEoMjUwLCAyNTAsIDI1MCwgLjUpO1xuXHRib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDBweCAwcHggcmdiYSgyNTAsIDI1MCwgMjUwLCAuNSk7XG59XG5cbi51aS1kYXRlcGlja2VyLWNhbGVuZGFyIC51aS1zdGF0ZS1ob3ZlciB7XG5cdGJhY2tncm91bmQ6ICNmN2Y3Zjc7XG59XG5cbi51aS1kYXRlcGlja2VyLWNhbGVuZGFyIC51aS1zdGF0ZS1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kOiAjRkZGMkFBOyAvKiBzZXQgdGhlIGFjdGl2ZSBkYXRlIGJhY2tncm91bmQgY29sb3IgKi9cblx0Ym9yZGVyOiAxcHggc29saWQgI2MxOTE2MzsgLyogc2V0IHRoZSBhY3RpdmUgZGF0ZSBib3JkZXIgY29sb3IgKi9cblx0Y29sb3I6ICM2NjY7IC8qIHNldCB0aGUgYWN0aXZlIGRhdGUgZm9udCBjb2xvciAqL1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAuMSk7XG5cdC1tb3otYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIC4xKTtcblx0Ym94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIC4xKTtcblx0dGV4dC1zaGFkb3c6IDBweCAxcHggMHB4ICNGRkY7XG5cdGZpbHRlcjogZHJvcHNoYWRvdyhjb2xvcj0jRkZGLCBvZmZ4PTAsIG9mZnk9MSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luOiAtMXB4O1xufVxuXG4udWktZGF0ZXBpY2tlci11bnNlbGVjdGFibGUgLnVpLXN0YXRlLWRlZmF1bHQge1xuXHRiYWNrZ3JvdW5kOiAjZjRmNGY0O1xuXHRjb2xvcjogI2I0YjNiMztcbn1cblxuLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGQ6Zmlyc3QtY2hpbGQgLnVpLXN0YXRlLWFjdGl2ZSB7XG5cdHdpZHRoOiAyOXB4O1xuXHRtYXJnaW4tbGVmdDogMDtcbn1cblxuLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGQ6bGFzdC1jaGlsZCAudWktc3RhdGUtYWN0aXZlIHtcblx0d2lkdGg6IDI5cHg7XG5cdG1hcmdpbi1yaWdodDogMDtcbn1cblxuLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdHI6bGFzdC1jaGlsZCAudWktc3RhdGUtYWN0aXZlIHtcblx0aGVpZ2h0OiAyOXB4O1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG50ZC51aS1kYXRlcGlja2VyLXVuc2VsZWN0YWJsZS51aS1zdGF0ZS1kaXNhYmxlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNkN2Q3ZDc7XG59XG5cbnRhYmxlLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIge1xuXHRtYXJnaW46IDAgMCAwIDAgIWltcG9ydGFudDtcbn1cblxuYm9keSBkaXYjdWktZGF0ZXBpY2tlci1kaXZbc3R5bGVdIHtcblx0ei1pbmRleDogOTk5OSAhaW1wb3J0YW50O1xufVxuIiwiLyogR2xvYmFsbHkgaGlkZGVuIGVsZW1lbnRzIHdoZW4gSW5maW5pdGUgU2Nyb2xsIGlzIHN1cHBvcnRlZCBhbmQgaW4gdXNlLiAqL1xuLmluZmluaXRlLXNjcm9sbCAucG9zdHMtbmF2aWdhdGlvbiwgLyogT2xkZXIgLyBOZXdlciBQb3N0cyBOYXZpZ2F0aW9uIChhbHdheXMgaGlkZGVuKSAqL1xuLmluZmluaXRlLXNjcm9sbC5uZXZlcmVuZGluZyAuc2l0ZS1mb290ZXIgeyAvKiBUaGVtZSBGb290ZXIgKHdoZW4gc2V0IHRvIHNjcm9sbGluZykgKi9cblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogV2hlbiBJbmZpbml0ZSBTY3JvbGwgaGFzIHJlYWNoZWQgaXRzIGVuZCB3ZSBuZWVkIHRvIHJlLWRpc3BsYXkgZWxlbWVudHMgdGhhdCB3ZXJlIGhpZGRlbiAodmlhIC5uZXZlcmVuZGluZykgYmVmb3JlLiAqL1xuLmluZmluaXR5LWVuZC5uZXZlcmVuZGluZyAuc2l0ZS1mb290ZXIge1xuXHRkaXNwbGF5OiBibG9jaztcbn0iXX0= */
