/**
  Normal reset
*/
/* stylelint-disable */
img, legend {
  border: 0;
}

legend, td, th {
  padding: 0;
}

html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

audio, canvas, progress, video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden], template {
  display: none;
}

a {
  background-color: transparent;
}

a:active, a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b, optgroup, strong {
  font-weight: 700;
}

dfn {
  font-style: italic;
}

h1 {
  font-size: 2em;
  margin: .67em 0;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub, sup {
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -.5em;
  font-size: 75%;
}

sub {
  bottom: -.25em;
  font-size: 75%;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 1em 40px;
}

hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

pre, textarea {
  overflow: auto;
}

code, kbd, pre, samp {
  font-family: monospace,monospace;
  font-size: 1em;
}

button, input, optgroup, select, textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

button, html input[type=button], input[type=reset], input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled], html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type=checkbox], input[type=radio] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
}

input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

input[type=search] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

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

fieldset {
  border: 1px solid silver;
  margin: 0 2px;
  padding: .35em .625em .75em;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/**
  Config file that contains centralized variables
*/
/*
body {
  background: green !important;
  @include breakpoint($small)  { background: orange !important; }
  @include breakpoint($medium) { background: teal !important; }
  @include breakpoint($large)  { background: orchid !important; }
  @include breakpoint($up-sm)  { background: aliceblue !important; }
}
*/
.no-ul-list, body ul.links.inline li, .region-branding .block-system-menublock ul.menu, nav.breadcrumb ol, .region-footer .block-menu ul.menu, .drupal-messages ol {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.no-ul-list > li, body ul.links.inline li > li, .region-branding .block-system-menublock ul.menu > li, nav.breadcrumb ol > li, .region-footer .block-menu ul.menu > li, .drupal-messages ol > li {
  display: inline-block;
  list-style-type: none;
  margin: 2px;
}

.tmp-shadow, .blocked-style, .layout-node-form .layout-region-node-secondary > .form-wrapper, aside .block, nav.breadcrumb, button,
html input[type="button"],
input[type="reset"],
input[type="submit"], .drupal-messages {
  -webkit-box-shadow: 0 0 2px 0 #666666;
  box-shadow: 0 0 2px 0 #666666;
}

.tmp-shadow-none {
  -webkit-box-shadow: none;
  box-shadow: none;
}

.blocked-style, .layout-node-form .layout-region-node-secondary > .form-wrapper, aside .block, nav.breadcrumb {
  border: 1px solid #fff;
  padding: 12px;
  border-radius: 5px;
  background: #f7f7f7;
}

html,
body {
  min-height: 100%;
  padding: 0;
  margin: 0;
}

body {
  font-family: "Poppins";
  font-size: 1em;
  line-height: 165%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #333333;
  font-weight: 500;
  font-family: "Open Sans";
  padding: 0 0 0.3em;
  margin: 0;
}

h1 {
  font-size: 250%;
  line-height: 165%;
}

h2 {
  font-size: 210%;
  line-height: 145%;
}

h3 {
  font-size: 180%;
  line-height: 145%;
}

h4 {
  font-size: 170%;
  line-height: 145%;
}

h5,
h6 {
  font-size: 140%;
  line-height: 145%;
}

body .menu-item {
  padding-top: 0;
  margin: 0;
}

a,
a:link,
a:visited {
  text-decoration: none;
  color: #666666;
  cursor: inherit;
}

a:hover,
a:link:hover,
a:visited:hover {
  color: #333333;
}

body p {
  margin: 3px 0 10px;
}

img,
svg {
  max-width: 100%;
  height: auto;
}

blockquote {
  padding: 0 15px;
  color: #333333;
  border-left: 4px solid #f7f7f7;
}

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

pre {
  white-space: pre-wrap;
  overflow-x: auto;
}

pre code {
  border: 1px dotted #333333;
  background: #f7f7f7;
  padding: 2px 9px;
  display: block;
  font-size: 85%;
}

ol {
  padding: 0 0 0 10px;
  margin: 0 0 10px;
}

ol li {
  margin: 4px 0;
  padding: 0;
}

ol ol {
  padding: 0 0 0 22.5px;
}

ol ol ol {
  padding: 0 0 0 22.5px;
}

ul {
  padding: 0 0 0 10px;
  margin: 0 0 10px;
}

ul li {
  margin: 4px 0;
  padding: 0;
}

ul ul {
  padding: 0 0 0 22.5px;
}

ul ul ul {
  padding: 0 0 0 22.5px;
}

table {
  width: 100%;
}

table th {
  font-weight: 600;
  text-align: left;
  background-color: #f7f7f7;
  padding: 4px 5px;
}

table td {
  border: 0;
  outline: none;
  padding: 4px 5px;
}

table thead {
  border: 1px solid #f7f7f7;
  border-bottom: 0;
}

table tbody {
  border: 1px solid #f7f7f7;
}

table tbody tr:nth-child(even) {
  background-color: #f7f7f7;
  border-top: 1px solid #f7f7f7;
  border-bottom: 1px solid #f7f7f7;
}

body button.tabledrag-toggle-weight {
  margin: 5px;
}

body td.field-multiple-drag {
  max-width: 30px;
}

body .inline {
  display: inline-block;
}

body ul.links.inline {
  padding: 0;
  margin: 0;
}

body ul.links.inline li {
  padding: 0 9px 3px 0;
  display: inline-block;
}

form .form-item {
  padding: 0 0 7px;
}

form .form-item.form-type-textarea {
  padding-bottom: 0;
}

form .description {
  font-style: italic;
  font-size: 90%;
  margin-bottom: 3px;
}

.layout-node-form .layout-region-node-secondary > .form-wrapper h3,
.layout-node-form .layout-region-node-secondary > .form-wrapper h4 {
  font-size: inherit;
}

.layout-node-form .layout-region-node-footer {
  padding-top: 20px;
  margin-top: 20px;
  border-top: 1px solid #f7f7f7;
}

form details.js-form-wrapper {
  cursor: pointer;
}

.js input.form-autocomplete,
.js input.form-autocomplete.ui-autocomplete-loading {
  background-position: 100% center;
  background-repeat: no-repeat;
}

.js[dir="rtl"] input.form-autocomplete,
.js[dir="rtl"] input.form-autocomplete.ui-autocomplete-loading {
  background-position: 0% center;
  background-repeat: no-repeat;
}

form {
  margin: 0 0 1em;
}

label {
  display: inline-block;
  color: #333333;
  cursor: pointer;
  font-weight: 500;
  margin: 0 0 0.1875em;
  padding-right: 4px;
  vertical-align: top;
}

input[type="text"],
input[type="password"],
input[type="date"],
textarea {
  background-color: white;
  font-family: inherit;
  border: 1px solid #e6e6e6;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  color: rgba(0, 0, 0, 0.75);
  display: block;
  font-size: 0.875em;
  margin: 0 0 1em;
  padding: 0.5em;
  width: auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: border-color 0.45s ease-in-out, -webkit-box-shadow 0.45s;
  transition: border-color 0.45s ease-in-out, -webkit-box-shadow 0.45s;
  transition: box-shadow 0.45s, border-color 0.45s ease-in-out;
  transition: box-shadow 0.45s, border-color 0.45s ease-in-out, -webkit-box-shadow 0.45s;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="date"]:focus,
textarea:focus {
  -webkit-box-shadow: 0 0 5px #b3b3b3;
  box-shadow: 0 0 5px #b3b3b3;
  border-color: #b3b3b3;
  background: white;
  outline: none;
}

input[type="file"],
input[type="checkbox"],
input[type="radio"],
select {
  margin: 0 0 1em;
}

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

fieldset {
  border: solid 1px #b3b3b3;
  padding: 1.25em;
  margin: 1.125em 0;
}

fieldset legend {
  font-weight: bold;
  background: #fff;
  padding: 0 0.1875em;
  margin: 0;
  margin-left: -0.1875em;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  border-radius: 5px;
  border: 1px solid #fff;
  padding: 5px 11px;
  background: #f7f7f7;
  color: #666666;
}

button:hover, button:focus,
html input[type="button"]:hover,
html input[type="button"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus {
  background: #e6e6e6;
}

.error,
.error textarea,
.error select {
  border-color: #ee696c;
  background-color: rgba(198, 15, 19, 0.1);
  margin-bottom: 0;
}

.error input:focus,
.error textarea:focus,
.error select:focus {
  background: #f7f7f7;
  border-color: #b3b3b3;
}

.error label,
.error label.error {
  color: #ee696c;
}

.error > small,
.error small.error {
  display: block;
  padding: 0.375em 0.25em;
  margin-top: 0;
  margin-bottom: 1em;
  font-size: 0.75em;
  font-weight: bold;
  background: #ee696c;
  color: #fff;
}

.error span.error-message {
  display: block;
}

input.error,
textarea.error {
  border-color: #ee696c;
  background-color: rgba(198, 15, 19, 0.1);
  margin-bottom: 0;
}

input.error:focus,
textarea.error:focus {
  background: #f7f7f7;
  border-color: #b3b3b3;
}

.error select {
  border-color: #ee696c;
  background-color: rgba(198, 15, 19, 0.1);
}

.error select:focus {
  background: #f7f7f7;
  border-color: #b3b3b3;
}

label.error {
  color: #ee696c;
}

input[type="datetime"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="time"],
input[type="url"] {
  background-color: white;
  font-family: inherit;
  border: 1px solid #e6e6e6;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  color: rgba(0, 0, 0, 0.75);
  display: block;
  font-size: 0.875em;
  margin: 0 0 1em;
  padding: 0.5em;
  height: 2.3125em;
  width: auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: border-color 0.45s ease-in-out, -webkit-box-shadow 0.45s;
  transition: border-color 0.45s ease-in-out, -webkit-box-shadow 0.45s;
  transition: box-shadow 0.45s, border-color 0.45s ease-in-out;
  transition: box-shadow 0.45s, border-color 0.45s ease-in-out, -webkit-box-shadow 0.45s;
}

input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="time"]:focus,
input[type="url"]:focus {
  -webkit-box-shadow: 0 0 5px #b3b3b3;
  box-shadow: 0 0 5px #b3b3b3;
  border-color: #b3b3b3;
  outline: none;
}

form button,
form input {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

form button[disabled],
form input[disabled] {
  background-color: #b3b3b3;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-transition: auto;
  transition: auto;
}

form button:hover,
form input:hover {
  background-color: #b3b3b3;
}

.cog--mq {
  max-width: 80em;
  margin-left: auto;
  margin-right: auto;
  margin: 10px auto;
}

.cog--mq:after {
  content: " ";
  display: block;
  clear: both;
}

#pg__c.page-panel .mq-main {
  max-width: 100%;
}

body #pg__c.page-panel section#content > #content-area {
  padding-left: 0;
  padding-right: 0;
}

.cog-pl .cog-panel--fullrow {
  width: 100%;
}

.cog-pl .cog-panel--mq {
  max-width: 80em;
  margin-left: auto;
  margin-right: auto;
}

.cog-pl .cog-panel--mq:after {
  content: " ";
  display: block;
  clear: both;
}

.panel-cog-layout-one-col .cog-layout--main {
  width: 100%;
  float: right;
  margin-right: 0;
}

@media only screen and (min-width: 768px) {
  .panel-cog-layout-one-two-one .cog-layout--middle-left {
    width: 49.15254%;
    float: left;
    margin-right: 1.69492%;
  }
  .panel-cog-layout-one-two-one .cog-layout--middle-right {
    width: 49.15254%;
    float: right;
    margin-right: 0;
  }
}

@media only screen and (min-width: 768px) {
  .panel-cog-layout-one-two-one-cl .cog-layout--middle-left {
    width: 74.57627%;
    float: left;
    margin-right: 1.69492%;
  }
  .panel-cog-layout-one-two-one-cl .cog-layout--middle-right {
    width: 23.72881%;
    float: right;
    margin-right: 0;
  }
}

@media only screen and (min-width: 768px) {
  .panel-cog-layout-one-two-one-cr .cog-layout--middle-left {
    width: 23.72881%;
    float: left;
    margin-right: 1.69492%;
  }
  .panel-cog-layout-one-two-one-cr .cog-layout--middle-right {
    width: 74.57627%;
    float: right;
    margin-right: 0;
  }
}

@media only screen and (min-width: 768px) {
  .panel-cog-layout-one-three-one .cog-layout--middle-left {
    width: 32.20339%;
    float: left;
    margin-right: 1.69492%;
  }
  .panel-cog-layout-one-three-one .cog-layout--middle-center {
    width: 32.20339%;
    float: left;
    margin-right: 1.69492%;
  }
  .panel-cog-layout-one-three-one .cog-layout--middle-right {
    width: 32.20339%;
    float: right;
    margin-right: 0;
  }
}

@media only screen and (min-width: 768px) {
  .panel-cog-layout-one-three-one-cm .cog-layout--middle-left {
    width: 23.72881%;
    float: left;
    margin-right: 1.69492%;
  }
  .panel-cog-layout-one-three-one-cm .cog-layout--middle-center {
    width: 49.15254%;
    float: left;
    margin-right: 1.69492%;
  }
  .panel-cog-layout-one-three-one-cm .cog-layout--middle-right {
    width: 23.72881%;
    float: right;
    margin-right: 0;
  }
}

@media only screen and (min-width: 768px) {
  .panel-cog-layout-one-two-three-one .cog-layout--first-middle-left {
    width: 49.15254%;
    float: left;
    margin-right: 1.69492%;
  }
  .panel-cog-layout-one-two-three-one .cog-layout--first-middle-right {
    width: 49.15254%;
    float: right;
    margin-right: 0;
  }
  .panel-cog-layout-one-two-three-one .cog-layout--second-middle-left {
    width: 32.20339%;
    float: left;
    margin-right: 1.69492%;
  }
  .panel-cog-layout-one-two-three-one .cog-layout--second-middle-center {
    width: 32.20339%;
    float: left;
    margin-right: 1.69492%;
  }
  .panel-cog-layout-one-two-three-one .cog-layout--second-middle-right {
    width: 32.20339%;
    float: right;
    margin-right: 0;
  }
}

@media only screen and (min-width: 768px) {
  .panel-cog-layout-one-three-two-one .cog-layout--first-middle-left {
    width: 32.20339%;
    float: left;
    margin-right: 1.69492%;
  }
  .panel-cog-layout-one-three-two-one .cog-layout--first-middle-center {
    width: 32.20339%;
    float: left;
    margin-right: 1.69492%;
  }
  .panel-cog-layout-one-three-two-one .cog-layout--first-middle-right {
    width: 32.20339%;
    float: right;
    margin-right: 0;
  }
  .panel-cog-layout-one-three-two-one .cog-layout--second-middle-left {
    width: 49.15254%;
    float: left;
    margin-right: 1.69492%;
  }
  .panel-cog-layout-one-three-two-one .cog-layout--second-middle-right {
    width: 49.15254%;
    float: right;
    margin-right: 0;
  }
}

@media only screen and (min-width: 768px) {
  .body-sidebars-first aside.sidebar-first {
    width: 23.72881%;
    float: left;
    margin-right: 1.69492%;
  }
  .body-sidebars-first aside.sidebar-first > * {
    padding-left: 15px;
  }
  .body-sidebars-first section#content {
    width: 74.57627%;
    float: right;
    margin-right: 0;
  }
  .body-sidebars-first section#content > * {
    padding-right: 25px;
  }
}

@media only screen and (min-width: 768px) {
  .body-sidebars-second aside.sidebar-second {
    width: 23.72881%;
    float: right;
    margin-right: 0;
  }
  .body-sidebars-second aside.sidebar-second > * {
    padding-right: 15px;
  }
  .body-sidebars-second section#content {
    width: 74.57627%;
    float: left;
    margin-right: 1.69492%;
  }
  .body-sidebars-second section#content > * {
    padding-left: 25px;
  }
}

@media only screen and (min-width: 768px) {
  .body-sidebars-both aside.sidebar-first {
    width: 15.25424%;
    float: left;
    margin-right: 1.69492%;
  }
  .body-sidebars-both aside.sidebar-first > * {
    padding-left: 15px;
  }
  .body-sidebars-both aside.sidebar-second {
    width: 15.25424%;
    float: right;
    margin-right: 0;
  }
  .body-sidebars-both aside.sidebar-second > * {
    padding-right: 15px;
  }
  .body-sidebars-both section#content {
    width: 66.10169%;
    float: left;
    margin-right: 1.69492%;
  }
  .body-sidebars-both section#content > * {
    padding-right: 25px;
  }
}

.body-sidebars-none section#content {
  width: 100%;
  float: left;
  margin-left: 0;
  margin-right: 0;
}

.body-sidebars-none section#content > * {
  padding-left: 15px;
  padding-right: 15px;
}

aside.sidebar {
  overflow: hidden;
}

aside .block {
  margin-bottom: 25px;
}

aside .block h2 {
  font-size: 175%;
  color: #333333;
}

.site-branding-text {
  padding: 30px 10px 10px;
  font-size: 135%;
}

div.site-branding a.logo {
  width: 105px;
  display: block;
  padding: 5px 5px 0;
  float: left;
  margin-bottom: 5px;
}

nav.breadcrumb {
  margin-bottom: 5px;
  color: #333333;
}

nav.breadcrumb ol li::before {
  content: '/';
  padding: 0 3px 0 0.5px;
  color: #333333;
}

nav.breadcrumb ol li:first-child::before {
  content: normal;
}

.region-footer {
  border-top: 1px dotted #b3b3b3;
  padding-top: 25px;
  margin-top: 25px;
}

.region-header {
  border-top: 1px dotted #b3b3b3;
  padding-bottom: 25px;
  margin-bottom: 25px;
}

.drupal-messages {
  padding: 15px;
  margin: 15px 0;
  border: 1px solid white;
  border-radius: 5px;
}

.drupal-messages.messages--status {
  background: #f7f7f7;
  color: #333333;
}

.drupal-messages.messages--warning {
  background: rgba(232, 237, 87, 0.3);
  color: #333333;
}

.drupal-messages.messages--error {
  background: rgba(238, 105, 108, 0.3);
  color: #ee696c;
}

.block-tabs {
  margin: 1.5em 0;
}

.block-tabs ul {
  display: block;
  padding-left: 0;
  border-bottom: 1px solid #b3b3b3;
}

.block-tabs ul li {
  display: inline-block;
}

.block-tabs ul li a {
  margin: 0;
  padding: 0.4em;
  text-decoration: none;
}

.button {
  color: blue;
}

.rounded {
  border-radius: 15px;
}

button:hover {
  color: red;
}

/* stylelint-disable */
/* stylelint-enable */

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5zY3NzIiwiX3Jlc2V0LnNjc3MiLCJzdHlsZXMuY3NzIiwiX2NvbmZpZy5zY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwiYmFzZS9fZHJ1cGFsLnNjc3MiLCJiYXNlL19mb3JtLnNjc3MiLCJsYXlvdXQvX2NvbnRhaW5lcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc3VwcG9ydC9fcmVtLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fY29udGFpbmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3N1cHBvcnQvX2NsZWFyZml4LnNjc3MiLCJsYXlvdXQvX3BhbmVscy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX3NwYW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc2hhcmVkL19kaXJlY3Rpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvX2JyZWFrcG9pbnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19ndXR0ZXJzLnNjc3MiLCJsYXlvdXQvX3NpZGViYXJzLnNjc3MiLCJjb21wb25lbnRzL19hc2lkZV9ibG9ja3Muc2NzcyIsImNvbXBvbmVudHMvX2JyYW5kaW5nLnNjc3MiLCJjb21wb25lbnRzL19icmVhZGNydW1iLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fbWVzc2FnZXMuc2NzcyIsImNvbXBvbmVudHMvX3RhYnMuc2NzcyIsImNvbXBvbmVudHMvZXhhbXBsZS9leGFtcGxlX2J1dHRvbi5zY3NzIiwic3RhdGUvX3N0YXRlcy5zY3NzIl0sIm5hbWVz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Q0FBeUI7RUFBekIsMEJBQXlCO0NBVzFCOztBQWREOztFQU1JLDBCSHJNMkI7RUdzTTNCLHlCQUFnQjtFQUFoQixpQkFBZ0I7RUFDaEIseUJBQWdCO0VBQWhCLGlCQUFnQjtDQUNqQjs7QUFUSDs7RUFZSSwwQkgzTTJCO0NHNE01Qjs7QUNqTkg7RUNlSSxnQkRkcUI7RUNjckIsa0JDcURvQztFRHJEcEMsbUJDcURtRTtFRmpFckUsa0JBQWlCO0NBQ2xCOztBR0dHO0VBQ0UsYUFBWTtFQUNaLGVBQWM7RUFDZCxZQUFXO0NBQ1o7O0FDYkw7RUFDRSxnQkFBZTtDQUNoQjs7QUFFRDtFQUNFLGdCQUFlO0VBQ2YsaUJBQWdCO0NBQ2pCOztBQUVEO0VBRUksWUFBVztDQUNaOztBQUhIO0VIUUksZ0JHRnVCO0VIRXZCLGtCQ3FEb0M7RURyRHBDLG1CQ3FEbUU7Q0V0RHBFOztBQVBIO0VEQ00sYUFBWTtFQUNaLGVBQWM7RUFDZCxZQUFXO0NBQ1o7O0FDV0w7RUhQSSxZSXdJMEM7RUp4STFDLGFLQXVFO0VMQXZFLGdCSWtGb0I7Q0R4RXJCOztBR21DQztFSGhDSjtJSGJJLGlCSXdJMEM7SUp4STFDLFlLQTREO0lMQTVELHVCTzREOEU7R0ozQzdFO0VBSkw7SUhiSSxpQkl3STBDO0lKeEkxQyxhS0F1RTtJTEF2RSxnQklrRm9CO0dEN0RuQjtDVG9xQko7O0FZNW9CRztFSHBCSjtJSHpCSSxpQkl3STBDO0lKeEkxQyxZS0E0RDtJTEE1RCx1Qk80RDhFO0dKL0I3RTtFQUpMO0lIekJJLGlCSXdJMEM7SUp4STFDLGFLQXVFO0lMQXZFLGdCSWtGb0I7R0RqRG5CO0NUcXFCSjs7QVl6cEJHO0VIUko7SUhyQ0ksaUJJd0kwQztJSnhJMUMsWUtBNEQ7SUxBNUQsdUJPNEQ4RTtHSm5CN0U7RUFKTDtJSHJDSSxpQkl3STBDO0lKeEkxQyxhS0F1RTtJTEF2RSxnQklrRm9CO0dEckNuQjtDVHNxQko7O0FZdHFCRztFSElKO0lIakRJLGlCSXdJMEM7SUp4STFDLFlLQTREO0lMQTVELHVCTzREOEU7R0pQN0U7RUFKTDtJSGpESSxpQkl3STBDO0lKeEkxQyxZS0E0RDtJTEE1RCx1Qk80RDhFO0dKSDdFO0VBUkw7SUhqREksaUJJd0kwQztJSnhJMUMsYUtBdUU7SUxBdkUsZ0JJa0ZvQjtHRHJCbkI7Q1R3cUJKOztBWXhyQkc7RUhvQko7SUhqRUksaUJJd0kwQztJSnhJMUMsWUtBNEQ7SUxBNUQsdUJPNEQ4RTtHSlM3RTtFQUpMO0lIakVJLGlCSXdJMEM7SUp4STFDLFlLQTREO0lMQTVELHVCTzREOEU7R0phN0U7RUFSTDtJSGpFSSxpQkl3STBDO0lKeEkxQyxhS0F1RTtJTEF2RSxnQklrRm9CO0dETG5CO0NUMHFCSjs7QVkxc0JHO0VIb0NKO0lIakZJLGlCSXdJMEM7SUp4STFDLFlLQTREO0lMQTVELHVCTzREOEU7R0p5QjdFO0VBSkw7SUhqRkksaUJJd0kwQztJSnhJMUMsYUtBdUU7SUxBdkUsZ0JJa0ZvQjtHRE9uQjtFQVJMO0lIakZJLGlCSXdJMEM7SUp4STFDLFlLQTREO0lMQTVELHVCTzREOEU7R0ppQzdFO0VBWkw7SUhqRkksaUJJd0kwQztJSnhJMUMsWUtBNEQ7SUxBNUQsdUJPNEQ4RTtHSnFDN0U7RUFoQkw7SUhqRkksaUJJd0kwQztJSnhJMUMsYUtBdUU7SUxBdkUsZ0JJa0ZvQjtHRG1CbkI7Q1Q4cUJKOztBWXR1Qkc7RUg0REo7SUh6R0ksaUJJd0kwQztJSnhJMUMsWUtBNEQ7SUxBNUQsdUJPNEQ4RTtHSmlEN0U7RUFKTDtJSHpHSSxpQkl3STBDO0lKeEkxQyxZS0E0RDtJTEE1RCx1Qk80RDhFO0dKcUQ3RTtFQVJMO0lIekdJLGlCSXdJMEM7SUp4STFDLGFLQXVFO0lMQXZFLGdCSWtGb0I7R0RtQ25CO0VBWkw7SUh6R0ksaUJJd0kwQztJSnhJMUMsWUtBNEQ7SUxBNUQsdUJPNEQ4RTtHSjZEN0U7RUFoQkw7SUh6R0ksaUJJd0kwQztJSnhJMUMsYUtBdUU7SUxBdkUsZ0JJa0ZvQjtHRDJDbkI7Q1RrckJKOztBWWx3Qkc7RUVyREo7SVJRSSxpQkl3STBDO0lKeEkxQyxZS0E0RDtJTEE1RCx1Qk80RDhFO0dDNUQ3RTtFQVJMO0lBTVEsbUJBQWtCO0dBQ25CO0VBUFA7SVJRSSxpQkl3STBDO0lKeEkxQyxhS0F1RTtJTEF2RSxnQklrRm9CO0dJMUVuQjtFQWhCTDtJQWNRLG9CQUFtQjtHQUNwQjtDZDJ6Qk47O0FZcnhCRztFRS9CSjtJUmRJLGlCSXdJMEM7SUp4STFDLGFLQXVFO0lMQXZFLGdCSWtGb0I7R0k1RG5CO0VBUkw7SUFNUSxvQkFBbUI7R0FDcEI7RUFQUDtJUmRJLGlCSXdJMEM7SUp4STFDLFlLQTREO0lMQTVELHVCTzREOEU7R0M5QjdFO0VBaEJMO0lBY1EsbUJBQWtCO0dBQ25CO0Nkd3pCTjs7QVl4eUJHO0VFVEo7SVJwQ0ksaUJJd0kwQztJSnhJMUMsWUtBNEQ7SUxBNUQsdUJPNEQ4RTtHQ2hCN0U7RUFSTDtJQU1RLG1CQUFrQjtHQUNuQjtFQVBQO0lScENJLGlCSXdJMEM7SUp4STFDLGFLQXVFO0lMQXZFLGdCSWtGb0I7R0k5Qm5CO0VBaEJMO0lBY1Esb0JBQW1CO0dBQ3BCO0VBZlA7SVJwQ0ksaUJJd0kwQztJSnhJMUMsWUtBNEQ7SUxBNUQsdUJPNEQ4RTtHQ0E3RTtFQXhCTDtJQXNCUSxvQkFBbUI7R0FDcEI7Q2RxekJOOztBYzl5QkQ7RVJsRUksWUl3STBDO0VKeEkxQyxZS0E0RDtFTEE1RCxlSStFcUI7RUovRXJCLGdCSWtGb0I7Q0lSckI7O0FBUkg7RUFLTSxtQkFBa0I7RUFDbEIsb0JBQW1CO0NBQ3BCOztBQU1MO0VBQ0UsaUJBQWdCO0NBQ2pCOztBQzdGRDtFQUdFLG9CQUFtQjtDQU1wQjs7QUFURDtFQU1JLGdCQUFlO0VBQ2YsZWRQMEI7Q2NRM0I7O0FDVEg7RUFDRSx3QkFBdUI7RUFDdkIsZ0JBQWU7Q0FDaEI7O0FBRUQ7RUFDRSxhQUFZO0VBQ1osZUFBYztFQUNkLG1CQUFrQjtFQUNsQixZQUFXO0VBQ1gsbUJBQWtCO0NBQ25COztBQ2pCRDtFQUdFLG1CQUFrQjtFQUNsQixlaEJHNEI7Q2dCWTdCOztBQW5CRDtFQVVNLGFBQVk7RUFDWix1QkFBc0I7RUFDdEIsZWhCTHdCO0NnQk16Qjs7QUFiTDtFQWdCTSxnQkFBZTtDQUNoQjs7QUNqQkw7RWpCeURFLCtCQWhENkI7RUFtRDNCLGtCQUFpQjtFQUNqQixpQkFBZ0I7Q2lCdkRuQjs7QUNFRDtFbEJpREUsK0JBaEQ2QjtFQXdEM0IscUJBQW9CO0VBQ3BCLG9CQUFtQjtDa0J4RHRCOztBQ1ZEO0VBQ0UsY0FBYTtFQUNiLGVBQWM7RUFDZCx3QkFBdUI7RW5Cb0V2QixtQkFEMEI7Q21CM0MzQjs7QUEzQkQ7RUFjSSxvQm5CSDBCO0VtQkkxQixlbkJSMEI7Q21CUzNCOztBQWhCSDtFQW1CSSxvQ25CZlk7RW1CZ0JaLGVuQmIwQjtDbUJjM0I7O0FBckJIO0VBd0JJLHFDbkJyQlM7RW1Cc0JULGVuQnRCUztDbUJ1QlY7O0FDbkJIO0VBQ0UsZ0JBQWU7Q0FpQmhCOztBQWxCRDtFQUlJLGVBQWM7RUFDZCxnQkFBZTtFQUNmLGlDcEJKMkI7Q29CZTVCOztBQWpCSDtFQVNNLHNCQUFxQjtDQU90Qjs7QUFoQkw7RUFZUSxVQUFTO0VBQ1QsZUFBYztFQUNkLHNCQUFxQjtDQUN0Qjs7QUNaUDtFQUNFLFlBQVc7Q0FDWjs7QUFFRDtFQUNFLG9CQUFtQjtDQUNwQjs7QUFFRDtFQUNFLFdBQVU7Q0FDWDs7QUNsQkQsdUJBQXVCO0FBSXZCLHNCQUFzQiIsImZpbGUiOiJzdHlsZXMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5JztcbkBpbXBvcnQgJy4uL25vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludCc7XG5cbi8qKlxuICBOb3JtYWwgcmVzZXRcbiovXG5AaW1wb3J0IFwicmVzZXRcIjtcblxuLyoqXG4gIENvbmZpZyBmaWxlIHRoYXQgY29udGFpbnMgY2VudHJhbGl6ZWQgdmFyaWFibGVzXG4qL1xuQGltcG9ydCBcImNvbmZpZ1wiO1xuXG4vLyBCYXNlXG4vL1xuLy8gVGhlc2UgYXJlIHRoZSBkZWZhdWx0IGJhc2Ugc3R5bGVzIGFwcGxpZWQgdG8gSFRNTCBlbGVtZW50cy5cbi8vXG4vLyBDb21wb25lbnQgY2xhc3NlcyBjYW4gb3ZlcnJpZGUgdGhlc2Ugc3R5bGVzLCBidXQgaWYgbm8gY2xhc3MgYXBwbGllcyBhIHN0eWxlXG4vLyB0byBhbiBIVE1MIGVsZW1lbnQsIHRoZXNlIHN0eWxlcyB3aWxsIGJlIHRoZSBvbmVzIGRpc3BsYXllZC5cbi8vXG4vLyBTdHlsZSBndWlkZTogYmFzZVxuXG4vLyBGb3JtXG4vL1xuLy8gVGhlc2UgYXJlIHRoZSBkZWZhdWx0IGZvcm0gc3R5bGVzIGFwcGxpZWQgdG8gSFRNTCBlbGVtZW50cy5cbi8vXG4vLyBTdHlsZSBndWlkZTogZm9ybVxuQGltcG9ydCBcImJhc2UvX2Jhc2Uuc2Nzc1wiO1xuQGltcG9ydCBcImJhc2UvX2RydXBhbC5zY3NzXCI7XG5AaW1wb3J0IFwiYmFzZS9fZm9ybS5zY3NzXCI7XG5cbi8vIExheW91dFxuLy9cbi8vIFRoZXNlIGFyZSB0aGUgbGF5b3V0IHJ1bGVzLlxuLy9cbi8vIFN0eWxlIGd1aWRlOiBsYXlvdXRcbkBpbXBvcnQgXCJsYXlvdXQvX2NvbnRhaW5lcnMuc2Nzc1wiO1xuQGltcG9ydCBcImxheW91dC9fcGFuZWxzLnNjc3NcIjtcbkBpbXBvcnQgXCJsYXlvdXQvX3NpZGViYXJzLnNjc3NcIjtcblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlc2lnbiBjb21wb25lbnRzIGFyZSByZXVzYWJsZSBzdHlsaW5nIHRoYXQgY2FuIGJlIGFwcGxpZWQgdXNpbmcganVzdCB0aGUgQ1NTXG4vLyBjbGFzcyBuYW1lcyBzcGVjaWZpZWQgaW4gdGhlIGNvbXBvbmVudC4gQWxzbyBrbm93biBhcyBkZXNpZ24gJ21vZHVsZXMnLlxuLy9cbi8vIFN0eWxlIGd1aWRlOiBjb21wb25lbnRzXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fYXNpZGVfYmxvY2tzLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19icmFuZGluZy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fYnJlYWRjcnVtYi5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19oZWFkZXIuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX21lc3NhZ2VzLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL190YWJzLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2V4YW1wbGUvZXhhbXBsZV9idXR0b24uc2Nzc1wiO1xuXG4vLyBTdGF0ZXNcbi8vXG4vLyBTdGF0ZXMgYXJlIHZhcmlhdGlvbnMgdGhhdCBhcmUgdXN1YWxseSBhcHBsaWVkIHZpYSBqcywgc3VjaCBhcyBgLmlzLWFjdGl2ZWAuXG4vLyBcbi8vIFN0eWxlIGd1aWRlOiBzdGF0ZXNcbkBpbXBvcnQgXCJzdGF0ZS9fc3RhdGVzLnNjc3NcIjtcbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlICovXG5pbWcsbGVnZW5ke2JvcmRlcjowfWxlZ2VuZCx0ZCx0aHtwYWRkaW5nOjB9aHRtbHtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1tcy10ZXh0LXNpemUtYWRqdXN0OjEwMCU7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCV9Ym9keXttYXJnaW46MH1hcnRpY2xlLGFzaWRlLGRldGFpbHMsZmlnY2FwdGlvbixmaWd1cmUsZm9vdGVyLGhlYWRlcixoZ3JvdXAsbWFpbixtZW51LG5hdixzZWN0aW9uLHN1bW1hcnl7ZGlzcGxheTpibG9ja31hdWRpbyxjYW52YXMscHJvZ3Jlc3MsdmlkZW97ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9YXVkaW86bm90KFtjb250cm9sc10pe2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MH1baGlkZGVuXSx0ZW1wbGF0ZXtkaXNwbGF5Om5vbmV9YXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fWE6YWN0aXZlLGE6aG92ZXJ7b3V0bGluZTowfWFiYnJbdGl0bGVde2JvcmRlci1ib3R0b206MXB4IGRvdHRlZH1iLG9wdGdyb3VwLHN0cm9uZ3tmb250LXdlaWdodDo3MDB9ZGZue2ZvbnQtc3R5bGU6aXRhbGljfWgxe2ZvbnQtc2l6ZToyZW07bWFyZ2luOi42N2VtIDB9bWFya3tiYWNrZ3JvdW5kOiNmZjA7Y29sb3I6IzAwMH1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1cHt0b3A6LS41ZW19c3Vie2JvdHRvbTotLjI1ZW19c3ZnOm5vdCg6cm9vdCl7b3ZlcmZsb3c6aGlkZGVufWZpZ3VyZXttYXJnaW46MWVtIDQwcHh9aHJ7LW1vei1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3g7aGVpZ2h0OjB9cHJlLHRleHRhcmVhe292ZXJmbG93OmF1dG99Y29kZSxrYmQscHJlLHNhbXB7Zm9udC1mYW1pbHk6bW9ub3NwYWNlLG1vbm9zcGFjZTtmb250LXNpemU6MWVtfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Y29sb3I6aW5oZXJpdDtmb250OmluaGVyaXQ7bWFyZ2luOjB9YnV0dG9ue292ZXJmbG93OnZpc2libGV9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfWJ1dHRvbixodG1sIGlucHV0W3R5cGU9YnV0dG9uXSxpbnB1dFt0eXBlPXJlc2V0XSxpbnB1dFt0eXBlPXN1Ym1pdF17LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtjdXJzb3I6cG9pbnRlcn1idXR0b25bZGlzYWJsZWRdLGh0bWwgaW5wdXRbZGlzYWJsZWRde2N1cnNvcjpkZWZhdWx0fWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MDtwYWRkaW5nOjB9aW5wdXR7bGluZS1oZWlnaHQ6bm9ybWFsfWlucHV0W3R5cGU9Y2hlY2tib3hdLGlucHV0W3R5cGU9cmFkaW9de2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjB9aW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31pbnB1dFt0eXBlPXNlYXJjaF17LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3h9aW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLGlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX1maWVsZHNldHtib3JkZXI6MXB4IHNvbGlkIHNpbHZlcjttYXJnaW46MCAycHg7cGFkZGluZzouMzVlbSAuNjI1ZW0gLjc1ZW19dGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9IiwiLyoqXG4gIE5vcm1hbCByZXNldFxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG5pbWcsIGxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbn1cblxubGVnZW5kLCB0ZCwgdGgge1xuICBwYWRkaW5nOiAwO1xufVxuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG59XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1haW4sIG1lbnUsIG5hdiwgc2VjdGlvbiwgc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5hdWRpbywgY2FudmFzLCBwcm9ncmVzcywgdmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG5baGlkZGVuXSwgdGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbmE6YWN0aXZlLCBhOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG5iLCBvcHRncm91cCwgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IC42N2VtIDA7XG59XG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuc3ViLCBzdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0uNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0uMjVlbTtcbn1cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbnByZSwgdGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuY29kZSwga2JkLCBwcmUsIHNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbmJ1dHRvbiwgaW5wdXQsIG9wdGdyb3VwLCBzZWxlY3QsIHRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIG1hcmdpbjogMDtcbn1cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbmJ1dHRvbiwgc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmJ1dHRvbiwgaHRtbCBpbnB1dFt0eXBlPWJ1dHRvbl0sIGlucHV0W3R5cGU9cmVzZXRdLCBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5idXR0b25bZGlzYWJsZWRdLCBodG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLCBpbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG5pbnB1dFt0eXBlPWNoZWNrYm94XSwgaW5wdXRbdHlwZT1yYWRpb10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwO1xufVxuXG5pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIGlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCBzaWx2ZXI7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IC4zNWVtIC42MjVlbSAuNzVlbTtcbn1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuLyoqXG4gIENvbmZpZyBmaWxlIHRoYXQgY29udGFpbnMgY2VudHJhbGl6ZWQgdmFyaWFibGVzXG4qL1xuLypcbmJvZHkge1xuICBiYWNrZ3JvdW5kOiBncmVlbiAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzbWFsbCkgIHsgYmFja2dyb3VuZDogb3JhbmdlICFpbXBvcnRhbnQ7IH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWVkaXVtKSB7IGJhY2tncm91bmQ6IHRlYWwgIWltcG9ydGFudDsgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSkgIHsgYmFja2dyb3VuZDogb3JjaGlkICFpbXBvcnRhbnQ7IH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdXAtc20pICB7IGJhY2tncm91bmQ6IGFsaWNlYmx1ZSAhaW1wb3J0YW50OyB9XG59XG4qL1xuLm5vLXVsLWxpc3QsIGJvZHkgdWwubGlua3MuaW5saW5lIGxpLCAucmVnaW9uLWJyYW5kaW5nIC5ibG9jay1zeXN0ZW0tbWVudWJsb2NrIHVsLm1lbnUsIG5hdi5icmVhZGNydW1iIG9sLCAucmVnaW9uLWZvb3RlciAuYmxvY2stbWVudSB1bC5tZW51LCAuZHJ1cGFsLW1lc3NhZ2VzIG9sIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5uby11bC1saXN0ID4gbGksIGJvZHkgdWwubGlua3MuaW5saW5lIGxpID4gbGksIC5yZWdpb24tYnJhbmRpbmcgLmJsb2NrLXN5c3RlbS1tZW51YmxvY2sgdWwubWVudSA+IGxpLCBuYXYuYnJlYWRjcnVtYiBvbCA+IGxpLCAucmVnaW9uLWZvb3RlciAuYmxvY2stbWVudSB1bC5tZW51ID4gbGksIC5kcnVwYWwtbWVzc2FnZXMgb2wgPiBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDJweDtcbn1cblxuLnRtcC1zaGFkb3csIC5ibG9ja2VkLXN0eWxlLCAubGF5b3V0LW5vZGUtZm9ybSAubGF5b3V0LXJlZ2lvbi1ub2RlLXNlY29uZGFyeSA+IC5mb3JtLXdyYXBwZXIsIGFzaWRlIC5ibG9jaywgbmF2LmJyZWFkY3J1bWIsIGJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5kcnVwYWwtbWVzc2FnZXMge1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDAgIzY2NjY2Njtcbn1cblxuLnRtcC1zaGFkb3ctbm9uZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5ibG9ja2VkLXN0eWxlLCAubGF5b3V0LW5vZGUtZm9ybSAubGF5b3V0LXJlZ2lvbi1ub2RlLXNlY29uZGFyeSA+IC5mb3JtLXdyYXBwZXIsIGFzaWRlIC5ibG9jaywgbmF2LmJyZWFkY3J1bWIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICBwYWRkaW5nOiAxMnB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XG59XG5cbmh0bWwsXG5ib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDE2NSU7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIjtcbiAgcGFkZGluZzogMCAwIDAuM2VtO1xuICBtYXJnaW46IDA7XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyNTAlO1xuICBsaW5lLWhlaWdodDogMTY1JTtcbn1cblxuaDIge1xuICBmb250LXNpemU6IDIxMCU7XG4gIGxpbmUtaGVpZ2h0OiAxNDUlO1xufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMTgwJTtcbiAgbGluZS1oZWlnaHQ6IDE0NSU7XG59XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxNzAlO1xuICBsaW5lLWhlaWdodDogMTQ1JTtcbn1cblxuaDUsXG5oNiB7XG4gIGZvbnQtc2l6ZTogMTQwJTtcbiAgbGluZS1oZWlnaHQ6IDE0NSU7XG59XG5cbmJvZHkgLm1lbnUtaXRlbSB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbmEsXG5hOmxpbmssXG5hOnZpc2l0ZWQge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBjdXJzb3I6IGluaGVyaXQ7XG59XG5cbmE6aG92ZXIsXG5hOmxpbms6aG92ZXIsXG5hOnZpc2l0ZWQ6aG92ZXIge1xuICBjb2xvcjogIzMzMzMzMztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbmJvZHkgcCB7XG4gIG1hcmdpbjogM3B4IDAgMTBweDtcbn1cblxuaW1nLFxuc3ZnIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbmJsb2NrcXVvdGUge1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICNmN2Y3Zjc7XG59XG5cbmJsb2NrcXVvdGU6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbnByZSB7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxucHJlIGNvZGUge1xuICBib3JkZXI6IDFweCBkb3R0ZWQgIzMzMzMzMztcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgcGFkZGluZzogMnB4IDlweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogODUlO1xufVxuXG5vbCB7XG4gIHBhZGRpbmc6IDAgMCAwIDEwcHg7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG59XG5cbm9sIGxpIHtcbiAgbWFyZ2luOiA0cHggMDtcbiAgcGFkZGluZzogMDtcbn1cblxub2wgb2wge1xuICBwYWRkaW5nOiAwIDAgMCAyMi41cHg7XG59XG5cbm9sIG9sIG9sIHtcbiAgcGFkZGluZzogMCAwIDAgMjIuNXB4O1xufVxuXG51bCB7XG4gIHBhZGRpbmc6IDAgMCAwIDEwcHg7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG59XG5cbnVsIGxpIHtcbiAgbWFyZ2luOiA0cHggMDtcbiAgcGFkZGluZzogMDtcbn1cblxudWwgdWwge1xuICBwYWRkaW5nOiAwIDAgMCAyMi41cHg7XG59XG5cbnVsIHVsIHVsIHtcbiAgcGFkZGluZzogMCAwIDAgMjIuNXB4O1xufVxuXG50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG50YWJsZSB0aCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIHBhZGRpbmc6IDRweCA1cHg7XG59XG5cbnRhYmxlIHRkIHtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiA0cHggNXB4O1xufVxuXG50YWJsZSB0aGVhZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmN2Y3Zjc7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG5cbnRhYmxlIHRib2R5IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Y3ZjdmNztcbn1cblxudGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmN2Y3Zjc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjdmN2Y3O1xufVxuXG5ib2R5IGJ1dHRvbi50YWJsZWRyYWctdG9nZ2xlLXdlaWdodCB7XG4gIG1hcmdpbjogNXB4O1xufVxuXG5ib2R5IHRkLmZpZWxkLW11bHRpcGxlLWRyYWcge1xuICBtYXgtd2lkdGg6IDMwcHg7XG59XG5cbmJvZHkgLmlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuYm9keSB1bC5saW5rcy5pbmxpbmUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbmJvZHkgdWwubGlua3MuaW5saW5lIGxpIHtcbiAgcGFkZGluZzogMCA5cHggM3B4IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuZm9ybSAuZm9ybS1pdGVtIHtcbiAgcGFkZGluZzogMCAwIDdweDtcbn1cblxuZm9ybSAuZm9ybS1pdGVtLmZvcm0tdHlwZS10ZXh0YXJlYSB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG5mb3JtIC5kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zaXplOiA5MCU7XG4gIG1hcmdpbi1ib3R0b206IDNweDtcbn1cblxuLmxheW91dC1ub2RlLWZvcm0gLmxheW91dC1yZWdpb24tbm9kZS1zZWNvbmRhcnkgPiAuZm9ybS13cmFwcGVyIGgzLFxuLmxheW91dC1ub2RlLWZvcm0gLmxheW91dC1yZWdpb24tbm9kZS1zZWNvbmRhcnkgPiAuZm9ybS13cmFwcGVyIGg0IHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuXG4ubGF5b3V0LW5vZGUtZm9ybSAubGF5b3V0LXJlZ2lvbi1ub2RlLWZvb3RlciB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2Y3ZjdmNztcbn1cblxuZm9ybSBkZXRhaWxzLmpzLWZvcm0td3JhcHBlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmpzIGlucHV0LmZvcm0tYXV0b2NvbXBsZXRlLFxuLmpzIGlucHV0LmZvcm0tYXV0b2NvbXBsZXRlLnVpLWF1dG9jb21wbGV0ZS1sb2FkaW5nIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5qc1tkaXI9XCJydGxcIl0gaW5wdXQuZm9ybS1hdXRvY29tcGxldGUsXG4uanNbZGlyPVwicnRsXCJdIGlucHV0LmZvcm0tYXV0b2NvbXBsZXRlLnVpLWF1dG9jb21wbGV0ZS1sb2FkaW5nIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG5mb3JtIHtcbiAgbWFyZ2luOiAwIDAgMWVtO1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luOiAwIDAgMC4xODc1ZW07XG4gIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbnRleHRhcmVhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgbWFyZ2luOiAwIDAgMWVtO1xuICBwYWRkaW5nOiAwLjVlbTtcbiAgd2lkdGg6IGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC40NXMsIGJvcmRlci1jb2xvciAwLjQ1cyBlYXNlLWluLW91dDtcbn1cblxuaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbnRleHRhcmVhOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDVweCAjYjNiM2IzO1xuICBib3JkZXItY29sb3I6ICNiM2IzYjM7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbnNlbGVjdCB7XG4gIG1hcmdpbjogMCAwIDFlbTtcbn1cblxuaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuZmllbGRzZXQge1xuICBib3JkZXI6IHNvbGlkIDFweCAjYjNiM2IzO1xuICBwYWRkaW5nOiAxLjI1ZW07XG4gIG1hcmdpbjogMS4xMjVlbSAwO1xufVxuXG5maWVsZHNldCBsZWdlbmQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogMCAwLjE4NzVlbTtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tbGVmdDogLTAuMTg3NWVtO1xufVxuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICBwYWRkaW5nOiA1cHggMTFweDtcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgY29sb3I6ICM2NjY2NjY7XG59XG5cbmJ1dHRvbjpob3ZlciwgYnV0dG9uOmZvY3VzLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmhvdmVyLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdOmhvdmVyLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcixcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xufVxuXG4uZXJyb3IsXG4uZXJyb3IgdGV4dGFyZWEsXG4uZXJyb3Igc2VsZWN0IHtcbiAgYm9yZGVyLWNvbG9yOiAjZWU2OTZjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE5OCwgMTUsIDE5LCAwLjEpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZXJyb3IgaW5wdXQ6Zm9jdXMsXG4uZXJyb3IgdGV4dGFyZWE6Zm9jdXMsXG4uZXJyb3Igc2VsZWN0OmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgYm9yZGVyLWNvbG9yOiAjYjNiM2IzO1xufVxuXG4uZXJyb3IgbGFiZWwsXG4uZXJyb3IgbGFiZWwuZXJyb3Ige1xuICBjb2xvcjogI2VlNjk2Yztcbn1cblxuLmVycm9yID4gc21hbGwsXG4uZXJyb3Igc21hbGwuZXJyb3Ige1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC4zNzVlbSAwLjI1ZW07XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgZm9udC1zaXplOiAwLjc1ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBiYWNrZ3JvdW5kOiAjZWU2OTZjO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmVycm9yIHNwYW4uZXJyb3ItbWVzc2FnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5pbnB1dC5lcnJvcixcbnRleHRhcmVhLmVycm9yIHtcbiAgYm9yZGVyLWNvbG9yOiAjZWU2OTZjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE5OCwgMTUsIDE5LCAwLjEpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5pbnB1dC5lcnJvcjpmb2N1cyxcbnRleHRhcmVhLmVycm9yOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgYm9yZGVyLWNvbG9yOiAjYjNiM2IzO1xufVxuXG4uZXJyb3Igc2VsZWN0IHtcbiAgYm9yZGVyLWNvbG9yOiAjZWU2OTZjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE5OCwgMTUsIDE5LCAwLjEpO1xufVxuXG4uZXJyb3Igc2VsZWN0OmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgYm9yZGVyLWNvbG9yOiAjYjNiM2IzO1xufVxuXG5sYWJlbC5lcnJvciB7XG4gIGNvbG9yOiAjZWU2OTZjO1xufVxuXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0sXG5pbnB1dFt0eXBlPVwid2Vla1wiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cInRlbFwiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIG1hcmdpbjogMCAwIDFlbTtcbiAgcGFkZGluZzogMC41ZW07XG4gIGhlaWdodDogMi4zMTI1ZW07XG4gIHdpZHRoOiBhdXRvO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNDVzLCBib3JkZXItY29sb3IgMC40NXMgZWFzZS1pbi1vdXQ7XG59XG5cbmlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJ3ZWVrXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDVweCAjYjNiM2IzO1xuICBib3JkZXItY29sb3I6ICNiM2IzYjM7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbmZvcm0gYnV0dG9uLFxuZm9ybSBpbnB1dCB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG5cbmZvcm0gYnV0dG9uW2Rpc2FibGVkXSxcbmZvcm0gaW5wdXRbZGlzYWJsZWRdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzYjNiMztcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdHJhbnNpdGlvbjogYXV0bztcbn1cblxuZm9ybSBidXR0b246aG92ZXIsXG5mb3JtIGlucHV0OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzYjNiMztcbn1cblxuLmNvZy0tbXEge1xuICBtYXgtd2lkdGg6IDgwZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMTBweCBhdXRvO1xufVxuXG4uY29nLS1tcTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7XG59XG5cbiNwZ19fYy5wYWdlLXBhbmVsIC5tcS1tYWluIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5ib2R5ICNwZ19fYy5wYWdlLXBhbmVsIHNlY3Rpb24jY29udGVudCA+ICNjb250ZW50LWFyZWEge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5jb2ctcGwgLmNvZy1wYW5lbC0tZnVsbHJvdyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY29nLXBsIC5jb2ctcGFuZWwtLW1xIHtcbiAgbWF4LXdpZHRoOiA4MGVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uY29nLXBsIC5jb2ctcGFuZWwtLW1xOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbn1cblxuLnBhbmVsLWNvZy1sYXlvdXQtb25lLWNvbCAuY29nLWxheW91dC0tbWFpbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFuZWwtY29nLWxheW91dC1vbmUtdHdvLW9uZSAuY29nLWxheW91dC0tbWlkZGxlLWxlZnQge1xuICAgIHdpZHRoOiA0OS4xNTI1NCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjY5NDkyJTtcbiAgfVxuICAucGFuZWwtY29nLWxheW91dC1vbmUtdHdvLW9uZSAuY29nLWxheW91dC0tbWlkZGxlLXJpZ2h0IHtcbiAgICB3aWR0aDogNDkuMTUyNTQlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFuZWwtY29nLWxheW91dC1vbmUtdHdvLW9uZS1jbCAuY29nLWxheW91dC0tbWlkZGxlLWxlZnQge1xuICAgIHdpZHRoOiA3NC41NzYyNyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjY5NDkyJTtcbiAgfVxuICAucGFuZWwtY29nLWxheW91dC1vbmUtdHdvLW9uZS1jbCAuY29nLWxheW91dC0tbWlkZGxlLXJpZ2h0IHtcbiAgICB3aWR0aDogMjMuNzI4ODElO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFuZWwtY29nLWxheW91dC1vbmUtdHdvLW9uZS1jciAuY29nLWxheW91dC0tbWlkZGxlLWxlZnQge1xuICAgIHdpZHRoOiAyMy43Mjg4MSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjY5NDkyJTtcbiAgfVxuICAucGFuZWwtY29nLWxheW91dC1vbmUtdHdvLW9uZS1jciAuY29nLWxheW91dC0tbWlkZGxlLXJpZ2h0IHtcbiAgICB3aWR0aDogNzQuNTc2MjclO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFuZWwtY29nLWxheW91dC1vbmUtdGhyZWUtb25lIC5jb2ctbGF5b3V0LS1taWRkbGUtbGVmdCB7XG4gICAgd2lkdGg6IDMyLjIwMzM5JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNjk0OTIlO1xuICB9XG4gIC5wYW5lbC1jb2ctbGF5b3V0LW9uZS10aHJlZS1vbmUgLmNvZy1sYXlvdXQtLW1pZGRsZS1jZW50ZXIge1xuICAgIHdpZHRoOiAzMi4yMDMzOSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjY5NDkyJTtcbiAgfVxuICAucGFuZWwtY29nLWxheW91dC1vbmUtdGhyZWUtb25lIC5jb2ctbGF5b3V0LS1taWRkbGUtcmlnaHQge1xuICAgIHdpZHRoOiAzMi4yMDMzOSU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYW5lbC1jb2ctbGF5b3V0LW9uZS10aHJlZS1vbmUtY20gLmNvZy1sYXlvdXQtLW1pZGRsZS1sZWZ0IHtcbiAgICB3aWR0aDogMjMuNzI4ODElO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMS42OTQ5MiU7XG4gIH1cbiAgLnBhbmVsLWNvZy1sYXlvdXQtb25lLXRocmVlLW9uZS1jbSAuY29nLWxheW91dC0tbWlkZGxlLWNlbnRlciB7XG4gICAgd2lkdGg6IDQ5LjE1MjU0JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNjk0OTIlO1xuICB9XG4gIC5wYW5lbC1jb2ctbGF5b3V0LW9uZS10aHJlZS1vbmUtY20gLmNvZy1sYXlvdXQtLW1pZGRsZS1yaWdodCB7XG4gICAgd2lkdGg6IDIzLjcyODgxJTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhbmVsLWNvZy1sYXlvdXQtb25lLXR3by10aHJlZS1vbmUgLmNvZy1sYXlvdXQtLWZpcnN0LW1pZGRsZS1sZWZ0IHtcbiAgICB3aWR0aDogNDkuMTUyNTQlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMS42OTQ5MiU7XG4gIH1cbiAgLnBhbmVsLWNvZy1sYXlvdXQtb25lLXR3by10aHJlZS1vbmUgLmNvZy1sYXlvdXQtLWZpcnN0LW1pZGRsZS1yaWdodCB7XG4gICAgd2lkdGg6IDQ5LjE1MjU0JTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC5wYW5lbC1jb2ctbGF5b3V0LW9uZS10d28tdGhyZWUtb25lIC5jb2ctbGF5b3V0LS1zZWNvbmQtbWlkZGxlLWxlZnQge1xuICAgIHdpZHRoOiAzMi4yMDMzOSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjY5NDkyJTtcbiAgfVxuICAucGFuZWwtY29nLWxheW91dC1vbmUtdHdvLXRocmVlLW9uZSAuY29nLWxheW91dC0tc2Vjb25kLW1pZGRsZS1jZW50ZXIge1xuICAgIHdpZHRoOiAzMi4yMDMzOSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjY5NDkyJTtcbiAgfVxuICAucGFuZWwtY29nLWxheW91dC1vbmUtdHdvLXRocmVlLW9uZSAuY29nLWxheW91dC0tc2Vjb25kLW1pZGRsZS1yaWdodCB7XG4gICAgd2lkdGg6IDMyLjIwMzM5JTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhbmVsLWNvZy1sYXlvdXQtb25lLXRocmVlLXR3by1vbmUgLmNvZy1sYXlvdXQtLWZpcnN0LW1pZGRsZS1sZWZ0IHtcbiAgICB3aWR0aDogMzIuMjAzMzklO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMS42OTQ5MiU7XG4gIH1cbiAgLnBhbmVsLWNvZy1sYXlvdXQtb25lLXRocmVlLXR3by1vbmUgLmNvZy1sYXlvdXQtLWZpcnN0LW1pZGRsZS1jZW50ZXIge1xuICAgIHdpZHRoOiAzMi4yMDMzOSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjY5NDkyJTtcbiAgfVxuICAucGFuZWwtY29nLWxheW91dC1vbmUtdGhyZWUtdHdvLW9uZSAuY29nLWxheW91dC0tZmlyc3QtbWlkZGxlLXJpZ2h0IHtcbiAgICB3aWR0aDogMzIuMjAzMzklO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLnBhbmVsLWNvZy1sYXlvdXQtb25lLXRocmVlLXR3by1vbmUgLmNvZy1sYXlvdXQtLXNlY29uZC1taWRkbGUtbGVmdCB7XG4gICAgd2lkdGg6IDQ5LjE1MjU0JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNjk0OTIlO1xuICB9XG4gIC5wYW5lbC1jb2ctbGF5b3V0LW9uZS10aHJlZS10d28tb25lIC5jb2ctbGF5b3V0LS1zZWNvbmQtbWlkZGxlLXJpZ2h0IHtcbiAgICB3aWR0aDogNDkuMTUyNTQlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYm9keS1zaWRlYmFycy1maXJzdCBhc2lkZS5zaWRlYmFyLWZpcnN0IHtcbiAgICB3aWR0aDogMjMuNzI4ODElO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMS42OTQ5MiU7XG4gIH1cbiAgLmJvZHktc2lkZWJhcnMtZmlyc3QgYXNpZGUuc2lkZWJhci1maXJzdCA+ICoge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgfVxuICAuYm9keS1zaWRlYmFycy1maXJzdCBzZWN0aW9uI2NvbnRlbnQge1xuICAgIHdpZHRoOiA3NC41NzYyNyU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAuYm9keS1zaWRlYmFycy1maXJzdCBzZWN0aW9uI2NvbnRlbnQgPiAqIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmJvZHktc2lkZWJhcnMtc2Vjb25kIGFzaWRlLnNpZGViYXItc2Vjb25kIHtcbiAgICB3aWR0aDogMjMuNzI4ODElO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLmJvZHktc2lkZWJhcnMtc2Vjb25kIGFzaWRlLnNpZGViYXItc2Vjb25kID4gKiB7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxuICAuYm9keS1zaWRlYmFycy1zZWNvbmQgc2VjdGlvbiNjb250ZW50IHtcbiAgICB3aWR0aDogNzQuNTc2MjclO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMS42OTQ5MiU7XG4gIH1cbiAgLmJvZHktc2lkZWJhcnMtc2Vjb25kIHNlY3Rpb24jY29udGVudCA+ICoge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5ib2R5LXNpZGViYXJzLWJvdGggYXNpZGUuc2lkZWJhci1maXJzdCB7XG4gICAgd2lkdGg6IDE1LjI1NDI0JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNjk0OTIlO1xuICB9XG4gIC5ib2R5LXNpZGViYXJzLWJvdGggYXNpZGUuc2lkZWJhci1maXJzdCA+ICoge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgfVxuICAuYm9keS1zaWRlYmFycy1ib3RoIGFzaWRlLnNpZGViYXItc2Vjb25kIHtcbiAgICB3aWR0aDogMTUuMjU0MjQlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLmJvZHktc2lkZWJhcnMtYm90aCBhc2lkZS5zaWRlYmFyLXNlY29uZCA+ICoge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIH1cbiAgLmJvZHktc2lkZWJhcnMtYm90aCBzZWN0aW9uI2NvbnRlbnQge1xuICAgIHdpZHRoOiA2Ni4xMDE2OSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjY5NDkyJTtcbiAgfVxuICAuYm9keS1zaWRlYmFycy1ib3RoIHNlY3Rpb24jY29udGVudCA+ICoge1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cblxuLmJvZHktc2lkZWJhcnMtbm9uZSBzZWN0aW9uI2NvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5ib2R5LXNpZGViYXJzLW5vbmUgc2VjdGlvbiNjb250ZW50ID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cblxuYXNpZGUuc2lkZWJhciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmFzaWRlIC5ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5cbmFzaWRlIC5ibG9jayBoMiB7XG4gIGZvbnQtc2l6ZTogMTc1JTtcbiAgY29sb3I6ICMzMzMzMzM7XG59XG5cbi5zaXRlLWJyYW5kaW5nLXRleHQge1xuICBwYWRkaW5nOiAzMHB4IDEwcHggMTBweDtcbiAgZm9udC1zaXplOiAxMzUlO1xufVxuXG5kaXYuc2l0ZS1icmFuZGluZyBhLmxvZ28ge1xuICB3aWR0aDogMTA1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA1cHggNXB4IDA7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbm5hdi5icmVhZGNydW1iIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBjb2xvcjogIzMzMzMzMztcbn1cblxubmF2LmJyZWFkY3J1bWIgb2wgbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcvJztcbiAgcGFkZGluZzogMCAzcHggMCAwLjVweDtcbiAgY29sb3I6ICMzMzMzMzM7XG59XG5cbm5hdi5icmVhZGNydW1iIG9sIGxpOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICBjb250ZW50OiBub3JtYWw7XG59XG5cbi5yZWdpb24tZm9vdGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IGRvdHRlZCAjYjNiM2IzO1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgbWFyZ2luLXRvcDogMjVweDtcbn1cblxuLnJlZ2lvbi1oZWFkZXIge1xuICBib3JkZXItdG9wOiAxcHggZG90dGVkICNiM2IzYjM7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4uZHJ1cGFsLW1lc3NhZ2VzIHtcbiAgcGFkZGluZzogMTVweDtcbiAgbWFyZ2luOiAxNXB4IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5kcnVwYWwtbWVzc2FnZXMubWVzc2FnZXMtLXN0YXR1cyB7XG4gIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XG4gIGNvbG9yOiAjMzMzMzMzO1xufVxuXG4uZHJ1cGFsLW1lc3NhZ2VzLm1lc3NhZ2VzLS13YXJuaW5nIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzIsIDIzNywgODcsIDAuMyk7XG4gIGNvbG9yOiAjMzMzMzMzO1xufVxuXG4uZHJ1cGFsLW1lc3NhZ2VzLm1lc3NhZ2VzLS1lcnJvciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM4LCAxMDUsIDEwOCwgMC4zKTtcbiAgY29sb3I6ICNlZTY5NmM7XG59XG5cbi5ibG9jay10YWJzIHtcbiAgbWFyZ2luOiAxLjVlbSAwO1xufVxuXG4uYmxvY2stdGFicyB1bCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYjNiM2IzO1xufVxuXG4uYmxvY2stdGFicyB1bCBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmJsb2NrLXRhYnMgdWwgbGkgYSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC40ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmJ1dHRvbiB7XG4gIGNvbG9yOiBibHVlO1xufVxuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XG59XG5cbmJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiByZWQ7XG59XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCIvLyBDb2xvcnMgLy8vLy8vLy8vLy8vLy8vXG4vLyBjb21tb24gY29sb3JzXG4kd2hpdGU6ICNmZmY7XG4kcmVkOiAjZWU2OTZjO1xuJHllbGxvdzogI2U4ZWQ1Nztcbi8vIGImdyBjb2xvcnMgYXMgcGxhY2Vob2xkZXJzXG4kYmxrOiAjMDAwO1xuJGRhcmstZ3JheTogbGlnaHRlbigkYmxrLCAyMCUpO1xuJG1lZC1ncmF5OiBsaWdodGVuKCRibGssIDQwJSk7XG4kbGlnaHQtZ3JheTogbGlnaHRlbigkYmxrLCA3MCUpO1xuJGxpZ2h0ZXItZ3JheTogbGlnaHRlbigkYmxrLCA5MCUpO1xuJG9mZi13aGl0ZTogbGlnaHRlbigkYmxrLCA5NyUpO1xuXG4vLyBVdGlsaXR5IGNvbG9yIHZhcmlhYmxlcyAvLy8vLy8vLy8vLy8vLy9cbiRoZWFkaW5nOiAkZGFyay1ncmF5O1xuJGxpbms6ICRtZWQtZ3JheTtcblxuLy8gRm9udHMgLy8vLy8vLy8vLy8vLy8vXG4kb3BlbnNhbnM6ICdPcGVuIFNhbnMnO1xuJHBvcHBpbnM6ICdQb3BwaW5zJztcbiRoZWFkaW5nX2ZvbnQ6ICRvcGVuc2FucztcbiRib2R5X2ZvbnQ6ICRwb3BwaW5zO1xuXG4vLyBTdXN5IGNvbmZpZyAvLy8vLy8vLy8vLy8vLy9cbiRzdXN5OiAoXG4gIGNvbHVtbnM6IDEyLCAvLyBUaGUgbnVtYmVyIG9mIGNvbHVtbnMgaW4geW91ciBncmlkXG4gIGd1dHRlcnM6IDEvNCwgLy8gVGhlIHNpemUgb2YgYSBndXR0ZXIgaW4gcmVsYXRpb24gdG8gYSBzaW5nbGUgY29sdW1uXG4pO1xuXG4vLyBCcmVha3BvaW50cyAmIE1RJ3MgLy8vLy8vLy8vLy8vLy8vXG4kc2NyZWVuOiBcIm9ubHkgc2NyZWVuXCIgIWRlZmF1bHQ7XG4kc21hbGwtbWF4OiA3NjdweCAhZGVmYXVsdDtcbiRtZWRpdW0tbWF4OiAxMDIzcHggIWRlZmF1bHQ7XG4kc21hbGw6ICRzY3JlZW4gbWF4LXdpZHRoICRzbWFsbC1tYXg7XG4kdXAtc206ICRzY3JlZW4gJHNtYWxsLW1heCArIDE7XG4kbWVkaXVtOiAkc2NyZWVuICRzbWFsbC1tYXggKyAxICRtZWRpdW0tbWF4O1xuJGxhcmdlOiAkc2NyZWVuICRtZWRpdW0tbWF4ICsgMTtcblxuLy8gRVhBTVBMRSBGT1IgTVEgUkVGRVJFTkNFUyA9PlxuXG4vKlxuYm9keSB7XG4gIGJhY2tncm91bmQ6IGdyZWVuICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNtYWxsKSAgeyBiYWNrZ3JvdW5kOiBvcmFuZ2UgIWltcG9ydGFudDsgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRtZWRpdW0pIHsgYmFja2dyb3VuZDogdGVhbCAhaW1wb3J0YW50OyB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxhcmdlKSAgeyBiYWNrZ3JvdW5kOiBvcmNoaWQgIWltcG9ydGFudDsgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCR1cC1zbSkgIHsgYmFja2dyb3VuZDogYWxpY2VibHVlICFpbXBvcnRhbnQ7IH1cbn1cbiovXG5cbi8vIEV4YW1wbGUgTWl4aW5zIC8vLy8vLy8vLy8vLy8vL1xuQG1peGluIG9wYWMtY29sb3IoJHIsICRnLCAkYiwgJHBlcnRjKSB7XG4gIGJhY2tncm91bmQ6IHJnYigkciwgJGcsICRiKTtcbiAgYmFja2dyb3VuZDogcmdiYSgkciwgJGcsICRiLCAkcGVydGMpO1xufVxuXG5AbWl4aW4gcmVnaW9uLXNwYWNlcigkY29sb3IsICRkaXJlY3Rpb246IGJvdHRvbSkge1xuICBib3JkZXItdG9wOiAxcHggZG90dGVkICRjb2xvcjtcblxuICBAaWYgJGRpcmVjdGlvbiA9PSB0b3Age1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVycmFkaXVzKCRweDogNXB4KSB7XG4gIGJvcmRlci1yYWRpdXM6ICRweDtcbiAgLy8gYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbn1cbi8vIEV4YW1wbGUgUGxhY2Vob2xkZXJzIC8vLy8vLy8vLy8vLy8vL1xuLm5vLXVsLWxpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcblxuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMnB4O1xuICB9XG59XG5cbi50bXAtc2hhZG93IHtcbiAgYm94LXNoYWRvdzogMCAwIDJweCAwIHJnYmEoJG1lZC1ncmF5LCAxKTtcbn1cblxuLnRtcC1zaGFkb3ctbm9uZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5ibG9ja2VkLXN0eWxlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICBwYWRkaW5nOiAxMnB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJhY2tncm91bmQ6ICRvZmYtd2hpdGU7XG5cbiAgQGV4dGVuZCAudG1wLXNoYWRvdztcbn1cbiIsIi8vIEJhc2UgSFRNTCBFbGVtZW50cy5cbmh0bWwsXG5ib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICRib2R5X2ZvbnQ7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaW5lLWhlaWdodDogMTY1JTtcbn1cbi8vIEJhc2UgSGVhZGluZ3Ncbi8vXG4vLyBNYXJrdXA6IGhlYWRsaW5lcy50d2lnXG4vL1xuLy8gU3R5bGUgZ3VpZGU6IGJhc2UuaGVhZGxpbmVzXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBjb2xvcjogJGhlYWRpbmc7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ19mb250O1xuICBwYWRkaW5nOiAwIDAgMC4zZW07XG4gIG1hcmdpbjogMDtcbn1cblxuaDEge1xuICBmb250LXNpemU6IDI1MCU7XG4gIGxpbmUtaGVpZ2h0OiAxNjUlO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMjEwJTtcbiAgbGluZS1oZWlnaHQ6IDE0NSU7XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxODAlO1xuICBsaW5lLWhlaWdodDogMTQ1JTtcbn1cblxuaDQge1xuICBmb250LXNpemU6IDE3MCU7XG4gIGxpbmUtaGVpZ2h0OiAxNDUlO1xufVxuXG5oNSxcbmg2IHtcbiAgZm9udC1zaXplOiAxNDAlO1xuICBsaW5lLWhlaWdodDogMTQ1JTtcbn1cblxuYm9keSAubWVudS1pdGVtIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIG1hcmdpbjogMDtcbn1cbi8vIEJhc2UgVGV4dFxuLy9cbi8vIE1hcmt1cDogdGV4dC50d2lnXG4vL1xuLy8gU3R5bGUgZ3VpZGU6IGJhc2UudGV4dFxuYSxcbmE6bGluayxcbmE6dmlzaXRlZCB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICRsaW5rO1xuICBjdXJzb3I6IGluaGVyaXQ7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbn1cblxuYm9keSBwIHtcbiAgbWFyZ2luOiAzcHggMCAxMHB4O1xufVxuXG4vLyBSZXNwb25zaXZlIEltYWdlc1xuaW1nLFxuc3ZnIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIEJsb2NrcXVvdGUgJiBQcmVcbi8vXG4vLyBNYXJrdXA6IGJsb2NrcXVvdGUudHdpZ1xuLy9cbi8vIFN0eWxlIGd1aWRlOiBiYXNlLmJsb2NrcXVvdGVcbmJsb2NrcXVvdGUge1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGNvbG9yOiAkZGFyay1ncmF5O1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICRvZmYtd2hpdGU7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbnByZSB7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgb3ZlcmZsb3cteDogYXV0bztcblxuICBjb2RlIHtcbiAgICBib3JkZXI6IDFweCBkb3R0ZWQgJGRhcmstZ3JheTtcbiAgICBiYWNrZ3JvdW5kOiAkb2ZmLXdoaXRlO1xuICAgIHBhZGRpbmc6IDJweCA5cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiA4NSU7XG4gIH1cbn1cbi8vIExpc3QgVHlwZXNcbi8vXG4vLyBNYXJrdXA6IGxpc3RzLnR3aWdcbi8vXG4vLyBTdHlsZSBndWlkZTogYmFzZS5saXN0c1xuXG4vLyBPTCBpdGVtc1xub2wge1xuICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xuICBtYXJnaW46IDAgMCAxMHB4O1xuXG4gIGxpIHtcbiAgICBtYXJnaW46IDRweCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxub2wgb2wge1xuICBwYWRkaW5nOiAwIDAgMCAyMi41cHg7XG59XG5cbm9sIG9sIG9sIHtcbiAgcGFkZGluZzogMCAwIDAgMjIuNXB4O1xufVxuXG4vLyBVTCBpdGVtc1xudWwge1xuICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xuICBtYXJnaW46IDAgMCAxMHB4O1xuXG4gIGxpIHtcbiAgICBtYXJnaW46IDRweCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxudWwgdWwge1xuICBwYWRkaW5nOiAwIDAgMCAyMi41cHg7XG59XG5cbnVsIHVsIHVsIHtcbiAgcGFkZGluZzogMCAwIDAgMjIuNXB4O1xufVxuLy8gVGFibGVzXG4vL1xuLy8gTWFya3VwOiB0YWJsZS50d2lnXG4vL1xuLy8gU3R5bGUgZ3VpZGU6IGJhc2UudGFibGVcbnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgdGgge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmLXdoaXRlO1xuICAgIHBhZGRpbmc6IDRweCA1cHg7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogNHB4IDVweDtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkb2ZmLXdoaXRlO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cblxuICB0Ym9keSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJG9mZi13aGl0ZTtcbiAgfVxuXG4gIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9mZi13aGl0ZTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG9mZi13aGl0ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG9mZi13aGl0ZTtcbiAgfVxufVxuIiwiYm9keSB7XG4gIGJ1dHRvbi50YWJsZWRyYWctdG9nZ2xlLXdlaWdodCB7XG4gICAgbWFyZ2luOiA1cHg7XG4gIH1cblxuICB0ZC5maWVsZC1tdWx0aXBsZS1kcmFnIHtcbiAgICBtYXgtd2lkdGg6IDMwcHg7XG4gIH1cblxuICAuaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICB1bC5saW5rcy5pbmxpbmUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgbGkge1xuICAgICAgQGV4dGVuZCAubm8tdWwtbGlzdDtcblxuICAgICAgcGFkZGluZzogMCA5cHggM3B4IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbmZvcm0gLmZvcm0taXRlbSB7XG4gIHBhZGRpbmc6IDAgMCA3cHg7XG5cbiAgJi5mb3JtLXR5cGUtdGV4dGFyZWEge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5cbmZvcm0gLmRlc2NyaXB0aW9uIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDkwJTtcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xufVxuXG4ubGF5b3V0LW5vZGUtZm9ybSAubGF5b3V0LXJlZ2lvbi1ub2RlLXNlY29uZGFyeSA+IC5mb3JtLXdyYXBwZXIge1xuICBAZXh0ZW5kIC5ibG9ja2VkLXN0eWxlO1xuXG4gIGgzLFxuICBoNCB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG59XG5cbi5sYXlvdXQtbm9kZS1mb3JtIC5sYXlvdXQtcmVnaW9uLW5vZGUtZm9vdGVyIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkb2ZmLXdoaXRlO1xufVxuXG5mb3JtIGRldGFpbHMuanMtZm9ybS13cmFwcGVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uanMgaW5wdXQuZm9ybS1hdXRvY29tcGxldGUsXG4uanMgaW5wdXQuZm9ybS1hdXRvY29tcGxldGUudWktYXV0b2NvbXBsZXRlLWxvYWRpbmcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLmpzW2Rpcj1cInJ0bFwiXSBpbnB1dC5mb3JtLWF1dG9jb21wbGV0ZSxcbi5qc1tkaXI9XCJydGxcIl0gaW5wdXQuZm9ybS1hdXRvY29tcGxldGUudWktYXV0b2NvbXBsZXRlLWxvYWRpbmcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4iLCIvLyBGb3Jtc1xuLy8gXG4vLyBCYXNlIGZvcm0gZWxlbWVudHMuXG4vL1xuLy8gTWFya3VwOiBmb3JtX2h0bWwudHdpZ1xuLy9cbi8vIFN0eWxlIGd1aWRlOiBmb3JtLmNvbW1vblxuZm9ybSB7XG4gIG1hcmdpbjogMCAwIDFlbTtcbn1cblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAkZGFyay1ncmF5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbjogMCAwIDAuMTg3NWVtO1xuICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG50ZXh0YXJlYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0ZXItZ3JheTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIG1hcmdpbjogMCAwIDFlbTtcbiAgcGFkZGluZzogMC41ZW07XG4gIHdpZHRoOiBhdXRvO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNDVzLCBib3JkZXItY29sb3IgMC40NXMgZWFzZS1pbi1vdXQ7XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImRhdGVcIl06Zm9jdXMsXG50ZXh0YXJlYTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggJGxpZ2h0LWdyYXk7XG4gIGJvcmRlci1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbnNlbGVjdCB7XG4gIG1hcmdpbjogMCAwIDFlbTtcbn1cblxuaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuZmllbGRzZXQge1xuICBib3JkZXI6IHNvbGlkIDFweCAkbGlnaHQtZ3JheTtcbiAgcGFkZGluZzogMS4yNWVtO1xuICBtYXJnaW46IDEuMTI1ZW0gMDtcbn1cblxuZmllbGRzZXQgbGVnZW5kIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmc6IDAgMC4xODc1ZW07XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVlbTtcbn1cbi8vIGJ1dHRvbnMgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIEBpbmNsdWRlIGJvcmRlcnJhZGl1cygpO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcbiAgcGFkZGluZzogNXB4IDExcHg7XG4gIGJhY2tncm91bmQ6ICRvZmYtd2hpdGU7XG4gIGNvbG9yOiAkbWVkLWdyYXk7XG5cbiAgQGV4dGVuZCAudG1wLXNoYWRvdztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHRlci1ncmF5O1xuICB9XG59XG4vLyBFcnJvciBjb25kaXRpb25zIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5lcnJvcixcbi5lcnJvciB0ZXh0YXJlYSxcbi5lcnJvciBzZWxlY3Qge1xuICBib3JkZXItY29sb3I6ICRyZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTk4LCAxNSwgMTksIDAuMSk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5lcnJvciBpbnB1dDpmb2N1cyxcbi5lcnJvciB0ZXh0YXJlYTpmb2N1cyxcbi5lcnJvciBzZWxlY3Q6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAkb2ZmLXdoaXRlO1xuICBib3JkZXItY29sb3I6ICRsaWdodC1ncmF5O1xufVxuXG4uZXJyb3IgbGFiZWwsXG4uZXJyb3IgbGFiZWwuZXJyb3Ige1xuICBjb2xvcjogJHJlZDtcbn1cblxuLmVycm9yID4gc21hbGwsXG4uZXJyb3Igc21hbGwuZXJyb3Ige1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC4zNzVlbSAwLjI1ZW07XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgZm9udC1zaXplOiAwLjc1ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBiYWNrZ3JvdW5kOiAkcmVkO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmVycm9yIHNwYW4uZXJyb3ItbWVzc2FnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5pbnB1dC5lcnJvcixcbnRleHRhcmVhLmVycm9yIHtcbiAgYm9yZGVyLWNvbG9yOiAkcmVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE5OCwgMTUsIDE5LCAwLjEpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5pbnB1dC5lcnJvcjpmb2N1cyxcbnRleHRhcmVhLmVycm9yOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogJG9mZi13aGl0ZTtcbiAgYm9yZGVyLWNvbG9yOiAkbGlnaHQtZ3JheTtcbn1cblxuLmVycm9yIHNlbGVjdCB7XG4gIGJvcmRlci1jb2xvcjogJHJlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxOTgsIDE1LCAxOSwgMC4xKTtcbn1cblxuLmVycm9yIHNlbGVjdDpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICRvZmYtd2hpdGU7XG4gIGJvcmRlci1jb2xvcjogJGxpZ2h0LWdyYXk7XG59XG5cbmxhYmVsLmVycm9yIHtcbiAgY29sb3I6ICRyZWQ7XG59XG4vLyBGb3JtIEhUTUw1XG4vL1xuLy8gTWFya3VwOiBmb3JtX2h0bWw1LnR3aWdcbi8vXG4vLyBTdHlsZSBndWlkZTogZm9ybS5odG1sNVxuaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuaW5wdXRbdHlwZT1cIndlZWtcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcbmlucHV0W3R5cGU9XCJ1cmxcIl0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodGVyLWdyYXk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzUpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBtYXJnaW46IDAgMCAxZW07XG4gIHBhZGRpbmc6IDAuNWVtO1xuICBoZWlnaHQ6IDIuMzEyNWVtO1xuICB3aWR0aDogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjQ1cywgYm9yZGVyLWNvbG9yIDAuNDVzIGVhc2UtaW4tb3V0O1xufVxuXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwibW9udGhcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggJGxpZ2h0LWdyYXk7XG4gIGJvcmRlci1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbmZvcm0gYnV0dG9uLFxuZm9ybSBpbnB1dCB7XG4gIC8vIHNpbXBsZSB0cmFuc2l0aW9ucyAvLy8vLy8vLy8vLy8vLy8vLy8vL1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICZbZGlzYWJsZWRdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IGF1dG87XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUHJpbWFyeSBDb250YWluZXIgUnVsZXMgLy8vLy8vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4uY29nLS1tcSB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lcig4MGVtKTtcblxuICBtYXJnaW46IDEwcHggYXV0bztcbn1cbiIsIi8vIHJlbSBTdXBwb3J0XG4vLyA9PT09PT09PT09PVxuXG4vLyByZW1cbi8vIC0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIG91dHB1dCBkaXJlY3RseS5cbi8vIC0gJHByb3AgIDogPGNzcyBwcm9wZXJ0eT5cbi8vIC0gJHZhbCAgIDogPGNzcyB2YWx1ZT5cbkBtaXhpbiBzdXN5LXJlbShcbiAgJHByb3AsXG4gICR2YWxcbikge1xuICAkX3JlcXM6IChcbiAgICB2YXJpYWJsZTogcmh5dGhtLXVuaXQgcmVtLXdpdGgtcHgtZmFsbGJhY2ssXG4gICAgbWl4aW46IHJlbSxcbiAgKTtcbiAgQGlmIHN1c3ktc3VwcG9ydChyZW0sICRfcmVxcywgJHdhcm46IGZhbHNlKSBhbmQgJHJoeXRobS11bml0ID09IHJlbSB7XG4gICAgQGluY2x1ZGUgcmVtKCRwcm9wLCAkdmFsKTtcbiAgfSBAZWxzZSB7XG4gICAgI3skcHJvcH06ICR2YWw7XG4gIH1cbn1cbiIsIi8vIENvbnRhaW5lciBTeW50YXhcbi8vID09PT09PT09PT09PT09PT1cblxuLy8gQ29udGFpbmVyIFttaXhpbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBjb250YWluZXIgZWxlbWVudFxuLy8gLSBbJGxheW91dF0gIDogPHNldHRpbmdzPlxuQG1peGluIGNvbnRhaW5lcihcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgICA6ICRsYXlvdXQ7XG4gICRsYXlvdXQgICAgIDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcblxuICAkX3dpZHRoICAgICA6IGdldC1jb250YWluZXItd2lkdGgoJGxheW91dCk7XG4gICRfanVzdGlmeSAgIDogcGFyc2UtY29udGFpbmVyLXBvc2l0aW9uKHN1c3ktZ2V0KGNvbnRhaW5lci1wb3NpdGlvbiwgJGxheW91dCkpO1xuICAkX3Byb3BlcnR5ICA6IGlmKHN1c3ktZ2V0KG1hdGgsICRsYXlvdXQpID09IHN0YXRpYywgd2lkdGgsIG1heC13aWR0aCk7XG5cbiAgJF9ib3ggICAgICAgOiBzdXN5LWdldChib3gtc2l6aW5nLCAkbGF5b3V0KTtcblxuICBAaWYgJF9ib3gge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJF9ib3gpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChjb250YWluZXIsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgZmxvYXQtY29udGFpbmVyKCRfd2lkdGgsICRfanVzdGlmeSwgJF9wcm9wZXJ0eSk7XG4gIEBpbmNsdWRlIHNob3ctZ3JpZCgkbGF5b3V0KTtcbn1cblxuLy8gQ29udGFpbmVyIFtmdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gY29udGFpbmVyIHdpZHRoXG4vLyAtIFskbGF5b3V0XSAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gY29udGFpbmVyKFxuICAkbGF5b3V0OiAkc3VzeVxuKSB7XG4gICRsYXlvdXQ6IHBhcnNlLWdyaWQoJGxheW91dCk7XG4gIEByZXR1cm4gZ2V0LWNvbnRhaW5lci13aWR0aCgkbGF5b3V0KTtcbn1cblxuLy8gR2V0IENvbnRhaW5lciBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIHRoZSBjb250YWluZXIgd2lkdGhcbi8vIC0gWyRsYXlvdXRdOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ2V0LWNvbnRhaW5lci13aWR0aChcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkbGF5b3V0ICAgICAgICAgOiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xuICAkX3dpZHRoICAgICAgICAgOiBzdXN5LWdldChjb250YWluZXIsICRsYXlvdXQpO1xuICAkX2NvbHVtbi13aWR0aCAgOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRsYXlvdXQpO1xuICAkX21hdGggICAgICAgICAgOiBzdXN5LWdldChtYXRoLCAkbGF5b3V0KTtcblxuICBAaWYgbm90KCRfd2lkdGgpIG9yICRfd2lkdGggPT0gYXV0byB7XG4gICAgQGlmIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpIHtcbiAgICAgICRfY29sdW1ucyAgIDogc3VzeS1nZXQoY29sdW1ucywgJGxheW91dCk7XG4gICAgICAkX2d1dHRlcnMgICA6IHN1c3ktZ2V0KGd1dHRlcnMsICRsYXlvdXQpO1xuICAgICAgJF9zcHJlYWQgICAgOiBpZihpcy1zcGxpdCgkbGF5b3V0KSwgd2lkZSwgbmFycm93KTtcbiAgICAgICRfd2lkdGggICAgIDogc3VzeS1zdW0oJF9jb2x1bW5zLCAkX2d1dHRlcnMsICRfc3ByZWFkKSAqICRfY29sdW1uLXdpZHRoO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF93aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRfd2lkdGg7XG59XG5cbi8vIFBhcnNlIENvbnRhaW5lciBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYXJzZSB0aGUgJGNvbnRhaW5lci1wb3NpdGlvbiBpbnRvIG1hcmdpbiB2YWx1ZXMuXG4vLyAtIFskanVzdGlmeV0gICA6IGxlZnQgfCBjZW50ZXIgfCByaWdodCB8IDxsZW5ndGg+IFs8bGVuZ3RoPl1cbkBmdW5jdGlvbiBwYXJzZS1jb250YWluZXItcG9zaXRpb24oXG4gICRqdXN0aWZ5OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBjb250YWluZXItcG9zaXRpb24pXG4pIHtcbiAgJF9yZXR1cm46IGlmKCRqdXN0aWZ5ID09IGxlZnQsIDAsIGF1dG8pIGlmKCRqdXN0aWZ5ID09IHJpZ2h0LCAwLCBhdXRvKTtcblxuICBAaWYgbm90KGluZGV4KGxlZnQgcmlnaHQgY2VudGVyLCAkanVzdGlmeSkpIHtcbiAgICAkX3JldHVybjogbnRoKCRqdXN0aWZ5LCAxKTtcbiAgICAkX3JldHVybjogJF9yZXR1cm4gaWYobGVuZ3RoKCRqdXN0aWZ5KSA+IDEsIG50aCgkanVzdGlmeSwgMiksICRfcmV0dXJuKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvLyBTdXN5IEZhbGxiYWNrIENsZWFyZml4XG4vLyA9PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ2xlYXJmaXhcbi8vIC0tLS0tLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3IgcHJvdmlkZSBhIHNpbXBsZSBmYWxsYmFjay5cbkBtaXhpbiBzdXN5LWNsZWFyZml4IHtcbiAgQGlmIHN1c3ktc3VwcG9ydChjbGVhcmZpeCwgKG1peGluOiBjbGVhcmZpeCkpIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfSBAZWxzZSB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG59XG4iLCIvLyBiYXNpYyBvdXRzaWRlIGFuZCBpbnNpZGUgY29udGFpbmVycyAvLy8vLy8vLy8vLy8vXG4vLyBAc2VlOiAqX3ByZXByb2Nlc3NfcGFnZVxuI3BnX19jLnBhZ2UtcGFuZWwgLm1xLW1haW4ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmJvZHkgI3BnX19jLnBhZ2UtcGFuZWwgc2VjdGlvbiNjb250ZW50ID4gI2NvbnRlbnQtYXJlYSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLmNvZy1wbCB7XG4gIC5jb2ctcGFuZWwtLWZ1bGxyb3cge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmNvZy1wYW5lbC0tbXEge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcig4MGVtKTtcbiAgfVxufVxuXG4vLyB2aXN1YWwgbWFya2VyczogZW5hYmxlIGZvciByZWZlcmVuY2UgLy8vLy8vLy8vLy8vXG4vLy5jb2ctcGFuZWwtLWZ1bGxyb3cgeyBib3JkZXItdG9wOiAycHggZG90dGVkICNkM2UwZTU7IGJvcmRlci1ib3R0b206IDJweCBkb3R0ZWQgI2QzZTBlNSB9XG4vLy5jb2ctcGFuZWwtLW1xIHsgYm9yZGVyLXJpZ2h0OiAycHggZG90dGVkICNkM2UwZTU7IGJvcmRlci1sZWZ0OiAycHggZG90dGVkICNkM2UwZTU7IH1cblxuLy8vIENvZyBQYW5lbCBMYXlvdXRzIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ucGFuZWwtY29nLWxheW91dC1vbmUtY29sIHsgLy8gb25lLWNvbHVtblxuICAuY29nLWxheW91dC0tbWFpbiB7XG4gICAgQGluY2x1ZGUgc3BhbigxMiBvZiAxMiBsYXN0KTtcbiAgfVxufVxuXG4ucGFuZWwtY29nLWxheW91dC1vbmUtdHdvLW9uZSB7IC8vIG9uZS10d28tb25lXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHVwLXNtKSB7XG4gICAgLmNvZy1sYXlvdXQtLW1pZGRsZS1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIHNwYW4oNiBvZiAxMik7XG4gICAgfVxuXG4gICAgLmNvZy1sYXlvdXQtLW1pZGRsZS1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBzcGFuKDYgb2YgMTIgbGFzdCk7XG4gICAgfVxuICB9XG59XG5cbi5wYW5lbC1jb2ctbGF5b3V0LW9uZS10d28tb25lLWNsIHsgLy8gb25lLXR3by1vbmUgY29udGVudCBsZWZ0XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHVwLXNtKSB7XG4gICAgLmNvZy1sYXlvdXQtLW1pZGRsZS1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIHNwYW4oOSBvZiAxMik7XG4gICAgfVxuXG4gICAgLmNvZy1sYXlvdXQtLW1pZGRsZS1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBzcGFuKDMgb2YgMTIgbGFzdCk7XG4gICAgfVxuICB9XG59XG5cbi5wYW5lbC1jb2ctbGF5b3V0LW9uZS10d28tb25lLWNyIHsgLy8gb25lLXR3by1vbmUgY29udGVudCByaWdodFxuICBAaW5jbHVkZSBicmVha3BvaW50KCR1cC1zbSkge1xuICAgIC5jb2ctbGF5b3V0LS1taWRkbGUtbGVmdCB7XG4gICAgICBAaW5jbHVkZSBzcGFuKDMgb2YgMTIpO1xuICAgIH1cblxuICAgIC5jb2ctbGF5b3V0LS1taWRkbGUtcmlnaHQge1xuICAgICAgQGluY2x1ZGUgc3Bhbig5IG9mIDEyIGxhc3QpO1xuICAgIH1cbiAgfVxufVxuXG4ucGFuZWwtY29nLWxheW91dC1vbmUtdGhyZWUtb25lIHsgLy8gb25lLXRocmVlLW9uZVxuICBAaW5jbHVkZSBicmVha3BvaW50KCR1cC1zbSkge1xuICAgIC5jb2ctbGF5b3V0LS1taWRkbGUtbGVmdCB7XG4gICAgICBAaW5jbHVkZSBzcGFuKDQgb2YgMTIpO1xuICAgIH1cblxuICAgIC5jb2ctbGF5b3V0LS1taWRkbGUtY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4oNCBvZiAxMik7XG4gICAgfVxuXG4gICAgLmNvZy1sYXlvdXQtLW1pZGRsZS1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBzcGFuKDQgb2YgMTIgbGFzdCk7XG4gICAgfVxuICB9XG59XG5cbi5wYW5lbC1jb2ctbGF5b3V0LW9uZS10aHJlZS1vbmUtY20geyAvLyBvbmUtdGhyZWUtb25lIGNvbnRlbnQgbWlkZGxlXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHVwLXNtKSB7XG4gICAgLmNvZy1sYXlvdXQtLW1pZGRsZS1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIHNwYW4oMyBvZiAxMik7XG4gICAgfVxuXG4gICAgLmNvZy1sYXlvdXQtLW1pZGRsZS1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgc3Bhbig2IG9mIDEyKTtcbiAgICB9XG5cbiAgICAuY29nLWxheW91dC0tbWlkZGxlLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIHNwYW4oMyBvZiAxMiBsYXN0KTtcbiAgICB9XG4gIH1cbn1cblxuLnBhbmVsLWNvZy1sYXlvdXQtb25lLXR3by10aHJlZS1vbmUgeyAvLyBvbmUtdHdvLXRocmVlLW9uZVxuICBAaW5jbHVkZSBicmVha3BvaW50KCR1cC1zbSkge1xuICAgIC5jb2ctbGF5b3V0LS1maXJzdC1taWRkbGUtbGVmdCB7XG4gICAgICBAaW5jbHVkZSBzcGFuKDYgb2YgMTIpO1xuICAgIH1cblxuICAgIC5jb2ctbGF5b3V0LS1maXJzdC1taWRkbGUtcmlnaHQge1xuICAgICAgQGluY2x1ZGUgc3Bhbig2IG9mIDEyIGxhc3QpO1xuICAgIH1cblxuICAgIC5jb2ctbGF5b3V0LS1zZWNvbmQtbWlkZGxlLWxlZnQge1xuICAgICAgQGluY2x1ZGUgc3Bhbig0IG9mIDEyKTtcbiAgICB9XG5cbiAgICAuY29nLWxheW91dC0tc2Vjb25kLW1pZGRsZS1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgc3Bhbig0IG9mIDEyKTtcbiAgICB9XG5cbiAgICAuY29nLWxheW91dC0tc2Vjb25kLW1pZGRsZS1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBzcGFuKDQgb2YgMTIgbGFzdCk7XG4gICAgfVxuICB9XG59XG5cbi5wYW5lbC1jb2ctbGF5b3V0LW9uZS10aHJlZS10d28tb25lIHsgLy8gb25lLXRocmVlLXR3by1vbmVcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdXAtc20pIHtcbiAgICAuY29nLWxheW91dC0tZmlyc3QtbWlkZGxlLWxlZnQge1xuICAgICAgQGluY2x1ZGUgc3Bhbig0IG9mIDEyKTtcbiAgICB9XG5cbiAgICAuY29nLWxheW91dC0tZmlyc3QtbWlkZGxlLWNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBzcGFuKDQgb2YgMTIpO1xuICAgIH1cblxuICAgIC5jb2ctbGF5b3V0LS1maXJzdC1taWRkbGUtcmlnaHQge1xuICAgICAgQGluY2x1ZGUgc3Bhbig0IG9mIDEyIGxhc3QpO1xuICAgIH1cblxuICAgIC5jb2ctbGF5b3V0LS1zZWNvbmQtbWlkZGxlLWxlZnQge1xuICAgICAgQGluY2x1ZGUgc3Bhbig2IG9mIDEyKTtcbiAgICB9XG5cbiAgICAuY29nLWxheW91dC0tc2Vjb25kLW1pZGRsZS1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBzcGFuKDYgb2YgMTIgbGFzdCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBTcGFuIFN5bnRheFxuLy8gPT09PT09PT09PT1cblxuLy8gU3BhbiBbbWl4aW5dXG4vLyAtLS0tLS0tLS0tLS1cbi8vIFNldCBhIHNwYW5uaW5nIGVsZW1lbnQgdXNpbmcgc2hvcnRoYW5kIHN5bnRheC5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AbWl4aW4gc3BhbihcbiAgJHNwYW5cbikge1xuICAkaW5zcGVjdDogJHNwYW47XG4gICRzcGFuOiBwYXJzZS1zcGFuKCRzcGFuKTtcbiAgJG91dHB1dDogc3Bhbi1tYXRoKCRzcGFuKTtcbiAgJG5lc3Rpbmc6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcbiAgJGNsZWFyOiBzdXN5LWdldChjbGVhciwgJHNwYW4pO1xuXG4gICRib3g6IHN1c3ktZ2V0KGJveC1zaXppbmcsICRzcGFuKTtcbiAgJGNvbnRlbnQtYm94OiBpZihzdXN5LWdldChnbG9iYWwtYm94LXNpemluZykgIT0gJ2JvcmRlci1ib3gnLCB0cnVlLCBmYWxzZSk7XG4gICRib3g6ICRib3ggb3IgaWYoaXMtaW5zaWRlKCRzcGFuKSBhbmQgJGNvbnRlbnQtYm94LCBib3JkZXItYm94LCBudWxsKTtcblxuICBAaWYgJGNsZWFyID09IGJyZWFrIHtcbiAgICBAaW5jbHVkZSBicmVhaztcbiAgfSBAZWxzZSBpZiAkY2xlYXIgPT0gbm9icmVhayB7XG4gICAgQGluY2x1ZGUgbm9icmVhaztcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChzcGFuLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJGJveCkpO1xuICBAaW5jbHVkZSBmbG9hdC1zcGFuLW91dHB1dCgkb3V0cHV0Li4uKTtcblxuICBAaWYgdmFsaWQtY29sdW1ucygkbmVzdGluZywgc2lsZW50KSB7XG4gICAgQGluY2x1ZGUgbmVzdGVkKCRzcGFuKSB7IEBjb250ZW50OyB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIFNwYW4gW2Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlIHdpZHRoIG9mIGEgc3Bhbi5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AZnVuY3Rpb24gc3BhbihcbiAgJHNwYW5cbikge1xuICBAcmV0dXJuIGdldC1zcGFuLXdpZHRoKCRzcGFuKTtcbn1cblxuLy8gU3BhbiBNYXRoXG4vLyAtLS0tLS0tLS1cbi8vIEdldCBhbGwgdGhlIHNwYW4gcmVzdWx0cy5cbi8vIC0gJHNwYW46IDxtYXA+XG5AZnVuY3Rpb24gc3Bhbi1tYXRoKFxuICAkc3BhblxuKSB7XG4gICRuZXN0ICAgICAgICAgICAgIDogaWYoc3VzeS1nZXQocm9sZSwgJHNwYW4pID09IG5lc3QsIHRydWUsIGZhbHNlKTtcbiAgJHNwbGl0LW5lc3QgICAgICAgOiBpZihpcy1zcGxpdCgkc3BhbikgYW5kICRuZXN0LCB0cnVlLCBmYWxzZSk7XG4gICRlZGdlICAgICAgICAgICAgIDogZ2V0LWVkZ2UoJHNwYW4pO1xuICAkbG9jYXRpb24gICAgICAgICA6IGdldC1sb2NhdGlvbigkc3Bhbik7XG5cbiAgJGZsb2F0ICAgICAgICAgICAgOiBmcm9tO1xuICAkcGFkZGluZy1iZWZvcmUgICA6IG51bGw7XG4gICRwYWRkaW5nLWFmdGVyICAgIDogbnVsbDtcbiAgJG1hcmdpbi1iZWZvcmUgICAgOiBudWxsO1xuICAkbWFyZ2luLWFmdGVyICAgICA6IG51bGw7XG5cbiAgLy8gY2FsY3VsYXRlIHdpZHRoc1xuICAkc3ByZWFkOiBpbmRleChtYXAtdmFsdWVzKCRzcGFuKSwgc3ByZWFkKTtcbiAgJHNwYW46IGlmKCRzcGxpdC1uZXN0IGFuZCBub3QoJHNwcmVhZCksIG1hcC1tZXJnZSgkc3BhbiwgKHNwcmVhZDogd2lkZSkpLCAkc3Bhbik7XG4gICR3aWR0aDogZ2V0LXNwYW4td2lkdGgoJHNwYW4pO1xuICAkZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuXG4gIC8vIGFwcGx5IGd1dHRlcnNcbiAgQGlmIGlzLWluc2lkZSgkc3Bhbikge1xuICAgIEBpZiBub3Qoc3VzeS1nZXQocm9sZSwgJHNwYW4pKSB7XG4gICAgICAkcGFkZGluZy1iZWZvcmU6IG1hcC1nZXQoJGd1dHRlcnMsIGJlZm9yZSk7XG4gICAgICAkcGFkZGluZy1hZnRlcjogbWFwLWdldCgkZ3V0dGVycywgYWZ0ZXIpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGlmIG5vdCgkc3BsaXQtbmVzdCkge1xuICAgICAgJG1hcmdpbi1iZWZvcmU6IG1hcC1nZXQoJGd1dHRlcnMsIGJlZm9yZSk7XG4gICAgICAkbWFyZ2luLWFmdGVyOiBtYXAtZ2V0KCRndXR0ZXJzLCBhZnRlcik7XG4gICAgfVxuICB9XG5cbiAgLy8gc3BlY2lhbCBtYXJnaW4gaGFuZGxpbmdcbiAgQGlmIHN1c3ktZ2V0KG91dHB1dCwgJHNwYW4pID09IGlzb2xhdGUgYW5kICRsb2NhdGlvbiB7XG4gICAgJG1hcmdpbi1iZWZvcmU6IGdldC1pc29sYXRpb24oJHNwYW4pO1xuICAgICRtYXJnaW4tYWZ0ZXI6IC0xMDAlO1xuICB9IEBlbHNlIGlmICRlZGdlIHtcbiAgICAkaXMtc3BsaXQ6IGlzLXNwbGl0KCRzcGFuKTtcbiAgICAkcG9zOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRzcGFuKTtcblxuICAgIEBpZiAkZWRnZSA9PSBsYXN0IHtcbiAgICAgICRmbG9hdDogc3VzeS1nZXQobGFzdC1mbG93LCAkc3Bhbik7XG4gICAgfVxuXG4gICAgQGlmIG5vdCgkaXMtc3BsaXQpIHtcbiAgICAgIEBpZiAkZWRnZSA9PSBmdWxsIG9yICgkZWRnZSA9PSBmaXJzdCBhbmQgJHBvcyA9PSBiZWZvcmUpIHtcbiAgICAgICAgJG1hcmdpbi1iZWZvcmU6IDA7XG4gICAgICB9XG4gICAgICBAaWYgJGVkZ2UgPT0gZnVsbCBvciAoJGVkZ2UgPT0gbGFzdCBhbmQgJHBvcyA9PSBhZnRlcikge1xuICAgICAgICAkbWFyZ2luLWFmdGVyOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgQHJldHVybiAoXG4gICAgd2lkdGggICAgICAgICAgIDogJHdpZHRoLFxuICAgIGZsb2F0ICAgICAgICAgICA6ICRmbG9hdCxcbiAgICBtYXJnaW4tYmVmb3JlICAgOiAkbWFyZ2luLWJlZm9yZSxcbiAgICBtYXJnaW4tYWZ0ZXIgICAgOiAkbWFyZ2luLWFmdGVyLFxuICAgIHBhZGRpbmctYmVmb3JlICA6ICRwYWRkaW5nLWJlZm9yZSxcbiAgICBwYWRkaW5nLWFmdGVyICAgOiAkcGFkZGluZy1hZnRlcixcbiAgICBmbG93ICAgICAgICAgICAgOiBzdXN5LWdldChmbG93LCAkc3BhbiksXG4gICk7XG59XG5cbi8vIEdldCBTcGFuIFdpZHRoXG4vLyAtLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHNwYW4gd2lkdGguXG4vLyAtICRzcGFuOiA8bWFwPlxuQGZ1bmN0aW9uIGdldC1zcGFuLXdpZHRoKFxuICAkc3BhblxuKSB7XG4gICRzcGFuICAgICA6IHBhcnNlLXNwYW4oJHNwYW4pO1xuXG4gICRuICAgICAgICA6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcbiAgJGxvY2F0aW9uIDogZ2V0LWxvY2F0aW9uKCRzcGFuKTtcbiAgJGNvbHVtbnMgIDogc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pO1xuICAkZ3V0dGVycyAgOiBzdXN5LWdldChndXR0ZXJzLCAkc3Bhbik7XG4gICRzcHJlYWQgICA6IHN1c3ktZ2V0KHNwcmVhZCwgJHNwYW4pO1xuXG4gICRjb250ZXh0ICA6IG51bGw7XG4gICRzcGFuLXN1bSA6IG51bGw7XG4gICR3aWR0aCAgICA6IG51bGw7XG5cbiAgQGlmICRuID09ICdmdWxsJyB7XG4gICAgJHBvczogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkc3Bhbik7XG4gICAgJHJvbGU6IHN1c3ktZ2V0KHJvbGUsICRzcGFuKTtcbiAgICAkbjogaWYoJHBvcyA9PSBzcGxpdCBhbmQgJHJvbGUgIT0gbmVzdCwgc3VzeS1jb3VudCgkY29sdW1ucyksIDEwMCUpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJG4pICE9IG51bWJlciB7XG4gICAgQHdhcm4gXCIoI3t0eXBlLW9mKCRuKX0pICN7JG59IGlzIG5vdCBhIHZhbGlkIHNwYW4uXCI7XG4gIH0gQGVsc2UgaWYgdW5pdGxlc3MoJG4pIHtcbiAgICAkY29udGV4dDogc3VzeS1zdW0oJGNvbHVtbnMsICRndXR0ZXJzLCBpZihpcy1zcGxpdCgkc3BhbiksIHdpZGUsIG5hcnJvdykpO1xuICAgICRzcHJlYWQ6IGlmKGlzLWluc2lkZSgkc3BhbiksICRzcHJlYWQgb3Igd2lkZSwgJHNwcmVhZCk7XG4gICAgJHNwYW4tc3VtOiBzdXN5KCRuLCAkbG9jYXRpb24sICRjb2x1bW5zLCAkZ3V0dGVycywgJHNwcmVhZCk7XG5cbiAgICAkX21hdGg6IHN1c3ktZ2V0KG1hdGgsICRzcGFuKTtcbiAgICAkX2NvbHVtbi13aWR0aDogc3VzeS1nZXQoY29sdW1uLXdpZHRoLCAkc3Bhbik7XG4gICAgQGlmICRfbWF0aCA9PSBzdGF0aWMge1xuICAgICAgJHdpZHRoOiAkc3Bhbi1zdW0gKiB2YWxpZC1jb2x1bW4tbWF0aCgkX21hdGgsICRfY29sdW1uLXdpZHRoKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkc3Bhbi1zdW0gLyAkY29udGV4dCk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkd2lkdGg6ICRuO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG4iLCIvLyBEaXJlY3Rpb24gSGVscGVyc1xuLy8gPT09PT09PT09PT09PT09PT1cblxuLy8gU3VzeSBGbG93IERlZmF1bHRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gUFJJVkFURVxuQGluY2x1ZGUgc3VzeS1kZWZhdWx0cygoXG4gIGZsb3c6IGx0cixcbikpO1xuXG4vLyBHZXQgRGlyZWN0aW9uXG4vLyAtLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlICdmcm9tJyBvciAndG8nIGRpcmVjdGlvbiBvZiBhIGx0ciBvciBydGwgZmxvdy5cbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbi8vIC0gWyRrZXldICAgOiBmcm9tIHwgdG9cbkBmdW5jdGlvbiBnZXQtZGlyZWN0aW9uKFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdyksXG4gICRrZXk6IGZyb21cbikge1xuICAkcmV0dXJuOiBpZigkZmxvdyA9PSBydGwsIChmcm9tOiByaWdodCwgdG86IGxlZnQpLCAoZnJvbTogbGVmdCwgdG86IHJpZ2h0KSk7XG4gIEByZXR1cm4gbWFwLWdldCgkcmV0dXJuLCAka2V5KTtcbn1cblxuLy8gVG9cbi8vIC0tXG4vLyBSZXR1cm4gdGhlICd0bycgZGlyZWN0aW9uIG9mIGEgZmxvd1xuLy8gLSBbJGZsb3ddICA6IGx0ciB8IHJ0bFxuQGZ1bmN0aW9uIHRvKFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdylcbikge1xuICBAcmV0dXJuIGdldC1kaXJlY3Rpb24oJGZsb3csIHRvKTtcbn1cblxuLy8gRnJvbVxuLy8gLS0tLVxuLy8gUmV0dXJuIHRoZSAnZnJvbScgZGlyZWN0aW9uIG9mIGEgZmxvd1xuLy8gLSBbJGZsb3ddICA6IGx0ciB8IHJ0bFxuQGZ1bmN0aW9uIGZyb20oXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gIEByZXR1cm4gZ2V0LWRpcmVjdGlvbigkZmxvdywgZnJvbSk7XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIERlZmF1bHQgVmFyaWFibGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRCcmVha3BvaW50LVNldHRpbmdzOiAoXG4gICdkZWZhdWx0IG1lZGlhJzogYWxsLFxuICAnZGVmYXVsdCBmZWF0dXJlJzogbWluLXdpZHRoLFxuICAnZGVmYXVsdCBwYWlyJzogd2lkdGgsXG5cbiAgJ2ZvcmNlIGFsbCBtZWRpYSB0eXBlJzogZmFsc2UsXG4gICd0byBlbXMnOiBmYWxzZSxcbiAgJ3RyYW5zZm9ybSByZXNvbHV0aW9ucyc6IHRydWUsXG5cbiAgJ25vIHF1ZXJpZXMnOiBmYWxzZSxcbiAgJ25vIHF1ZXJ5IGZhbGxiYWNrcyc6IGZhbHNlLFxuXG4gICdiYXNlIGZvbnQgc2l6ZSc6IDE2cHgsXG5cbiAgJ2xlZ2FjeSBzeW50YXgnOiBmYWxzZVxuKTtcblxuJGJyZWFrcG9pbnQ6ICgpICFkZWZhdWx0O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcImJyZWFrcG9pbnQvc2V0dGluZ3NcIjtcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvY29udGV4dCc7XG5AaW1wb3J0ICdicmVha3BvaW50L2hlbHBlcnMnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9wYXJzZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvbm8tcXVlcnknO1xuXG5AaW1wb3J0ICdicmVha3BvaW50L3Jlc3BvbmQtdG8nO1xuXG5AaW1wb3J0IFwiYnJlYWtwb2ludC9sZWdhY3ktc2V0dGluZ3NcIjtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IE1peGluXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnk6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGxlZ2FjeS1zZXR0aW5ncy13YXJuaW5nO1xuXG4gIC8vIFJlc2V0IGNvbnRleHRzXG4gIEBpbmNsdWRlIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cygpO1xuXG4gICRicmVha3BvaW50OiBicmVha3BvaW50KCRxdWVyeSwgZmFsc2UpO1xuXG4gICRxdWVyeS1zdHJpbmc6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdxdWVyeScpO1xuICAkcXVlcnktZmFsbGJhY2s6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdmYWxsYmFjaycpO1xuXG4gICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdjb250ZXh0IGhvbGRlcicpICFnbG9iYWw7XG4gICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdxdWVyeSBjb3VudCcpICFnbG9iYWw7XG5cbiAgLy8gQWxsb3cgZm9yIGFuIGFzLW5lZWRlZCBvdmVycmlkZSBvciB1c2FnZSBvZiBubyBxdWVyeSBmYWxsYmFjay5cbiAgQGlmICRuby1xdWVyeSAhPSBmYWxzZSB7XG4gICAgJHF1ZXJ5LWZhbGxiYWNrOiAkbm8tcXVlcnk7XG4gIH1cblxuICBAaWYgJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlIHtcbiAgICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgnbm8tcXVlcnknLCAkcXVlcnktZmFsbGJhY2spO1xuICB9XG5cbiAgLy8gUHJpbnQgT3V0IFF1ZXJ5IFN0cmluZ1xuICBAaWYgbm90IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykge1xuICAgIEBtZWRpYSAjeyRxdWVyeS1zdHJpbmd9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykgIT0gZmFsc2Ugb3IgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSA9PSB0cnVlIHtcblxuICAgICR0eXBlOiB0eXBlLW9mKGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSk7XG4gICAgJHByaW50OiBmYWxzZTtcblxuICAgIEBpZiAoJHR5cGUgPT0gJ2Jvb2wnKSB7XG4gICAgICAkcHJpbnQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkdHlwZSA9PSAnc3RyaW5nJykge1xuICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayA9PSBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICgkdHlwZSA9PSAnbGlzdCcpIHtcbiAgICAgIEBlYWNoICR3cmFwcGVyIGluIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XG4gICAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gJHdyYXBwZXIge1xuICAgICAgICAgICRwcmludDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFdyaXRlIEZhbGxiYWNrXG4gICAgQGlmICgkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2UpIGFuZCAoJHByaW50ID09IHRydWUpIHtcbiAgICAgICR0eXBlLWZhbGxiYWNrOiB0eXBlLW9mKCRxdWVyeS1mYWxsYmFjayk7XG5cbiAgICAgIEBpZiAoJHR5cGUtZmFsbGJhY2sgIT0gJ2Jvb2wnKSB7XG4gICAgICAgICN7JHF1ZXJ5LWZhbGxiYWNrfSAmIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcbn1cblxuXG5AbWl4aW4gbXEoJHF1ZXJ5LCAkbm8tcXVlcnk6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnkpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gR3V0dGVyIFN5bnRheFxuLy8gPT09PT09PT09PT09PVxuXG5cbi8vIEd1dHRlcnNcbi8vIC0tLS0tLS1cbi8vIFNldCBndXR0ZXJzIG9uIGFuIGVsZW1lbnQuXG4vLyAtIFskc3Bhbl0gICA6IDxzZXR0aW5ncz5cbkBtaXhpbiBndXR0ZXJzKFxuICAkc3BhbjogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgOiAkc3BhbjtcbiAgJHNwYW4gICAgIDogcGFyc2UtZ3V0dGVycygkc3Bhbik7XG4gICRfZ3V0dGVycyA6IGdldC1ndXR0ZXJzKCRzcGFuKTtcblxuICAkX291dHB1dDogKFxuICAgIGJlZm9yZTogbWFwLWdldCgkX2d1dHRlcnMsIGJlZm9yZSksXG4gICAgYWZ0ZXI6IG1hcC1nZXQoJF9ndXR0ZXJzLCBhZnRlciksXG4gICAgZmxvdzogc3VzeS1nZXQoZmxvdywgJHNwYW4pLFxuICApO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChndXR0ZXJzLCAkaW5zcGVjdCk7XG5cbiAgQGlmIGlzLWluc2lkZSgkc3Bhbikge1xuICAgIEBpbmNsdWRlIHBhZGRpbmctb3V0cHV0KCRfb3V0cHV0Li4uKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgbWFyZ2luLW91dHB1dCgkX291dHB1dC4uLik7XG4gIH1cbn1cblxuQG1peGluIGd1dHRlcihcbiAgJHNwYW46ICRzdXN5XG4pIHtcbiAgQGluY2x1ZGUgZ3V0dGVycygkc3Bhbik7XG59XG5cblxuLy8gR3V0dGVyXG4vLyAtLS0tLS1cbi8vIFJldHVybiB0aGUgd2lkdGggb2YgYSBndXR0ZXIuXG4vLyAtIFskc3Bhbl0gICA6IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBndXR0ZXIoXG4gICRzcGFuOiAkc3VzeVxuKSB7XG4gICRzcGFuOiBwYXJzZS1ndXR0ZXJzKCRzcGFuKTtcblxuICAkX2d1dHRlcnM6IGdldC1ndXR0ZXJzKCRzcGFuKTtcbiAgJF9ndXR0ZXJzOiBtYXAtZ2V0KCRfZ3V0dGVycywgYmVmb3JlKSBvciBtYXAtZ2V0KCRfZ3V0dGVycywgYWZ0ZXIpO1xuXG4gIEByZXR1cm4gJF9ndXR0ZXJzO1xufVxuXG5AZnVuY3Rpb24gZ3V0dGVycyhcbiAgJHNwYW46ICRzdXN5XG4pIHtcbiAgQHJldHVybiBndXR0ZXIoJHNwYW4pO1xufVxuXG5cbi8vIEdldCBHdXR0ZXIgV2lkdGhcbi8vIC0tLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiBndXR0ZXIgd2lkdGguXG4vLyAtIFskY29udGV4dF06IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGdldC1ndXR0ZXItd2lkdGgoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRjb250ZXh0ICA6IHBhcnNlLWd1dHRlcnMoJGNvbnRleHQpO1xuXG4gICRfZ3V0dGVycyA6IHN1c3ktZ2V0KGd1dHRlcnMsICRjb250ZXh0KTtcbiAgJF9ndXR0ZXIgIDogc3VzeS1nZXQoZ3V0dGVyLW92ZXJyaWRlLCAkY29udGV4dCk7XG5cbiAgQGlmICRfZ3V0dGVycyBhbmQgKCRfZ3V0dGVycyA+IDApIGFuZCBub3QoJF9ndXR0ZXIpIHtcbiAgICAkX2NvbHVtbi13aWR0aDogc3VzeS1nZXQoY29sdW1uLXdpZHRoLCAkY29udGV4dCk7XG4gICAgJF9tYXRoOiBndXR0ZXItbWF0aCgkY29udGV4dCk7XG4gICAgQGlmICRfbWF0aCA9PSBzdGF0aWMge1xuICAgICAgJF9ndXR0ZXI6ICRfZ3V0dGVycyAqIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF9jb2x1bW5zIDogc3VzeS1nZXQoY29sdW1ucywgJGNvbnRleHQpO1xuICAgICAgJF9zcHJlYWQgIDogaWYoaXMtc3BsaXQoJGNvbnRleHQpLCB3aWRlLCBzdXN5LWdldChzcHJlYWQsICRjb250ZXh0KSk7XG4gICAgICAkX2d1dHRlciAgOiBwZXJjZW50YWdlKCRfZ3V0dGVycyAvIHN1c3ktc3VtKCRfY29sdW1ucywgJF9ndXR0ZXJzLCAkX3NwcmVhZCkpO1xuICAgIH1cbiAgfVxuXG4gICRfZ3V0dGVyOiBpZigkX2d1dHRlciA9PSAnbm8tZ3V0dGVycycgb3IgJF9ndXR0ZXIgPT0gJ25vLWd1dHRlcicsIG51bGwsICRfZ3V0dGVyKTtcblxuICBAcmV0dXJuICRfZ3V0dGVyO1xufVxuXG5cbi8vIEdldCBHdXR0ZXJzXG4vLyAtLS0tLS0tLS0tLVxuLy8gUmV0dXJuIGJlZm9yZSBhbmQgYWZ0ZXIgZ3V0dGVyIHZhbHVlcy5cbi8vIC0gWyRjb250ZXh0XTogPGNvbnRleHQ+XG5AZnVuY3Rpb24gZ2V0LWd1dHRlcnMoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRjb250ZXh0ICAgICAgICAgICAgOiBwYXJzZS1ndXR0ZXJzKCRjb250ZXh0KTtcblxuICAkX2d1dHRlci1wb3NpdGlvbiAgIDogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkY29udGV4dCk7XG4gICRfZ3V0dGVyICAgICAgICAgICAgOiBnZXQtZ3V0dGVyLXdpZHRoKCRjb250ZXh0KTtcblxuICAkX3JldHVybiAgICAgICAgICAgIDogKGJlZm9yZTogbnVsbCwgYWZ0ZXI6IG51bGwpO1xuXG4gIEBpZiBpcy1zcGxpdCgkY29udGV4dCkgYW5kICRfZ3V0dGVyIHtcbiAgICAkX2d1dHRlcjogJF9ndXR0ZXIgLyAyO1xuICAgICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sIChiZWZvcmU6ICRfZ3V0dGVyLCBhZnRlcjogJF9ndXR0ZXIpKTtcbiAgfSBAZWxzZSB7XG4gICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgKCRfZ3V0dGVyLXBvc2l0aW9uOiAkX2d1dHRlcikpO1xuICB9XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cblxuXG4vLyBJcyBJbnNpZGVcbi8vIC0tLS0tLS0tLVxuLy8gUmV0dXJucyB0cnVlIGlmIGd1dHRlcnMgYXJlIGluc2lkZS5cbi8vICRjb250ZXh0OiA8Y29udGV4dD5cbkBmdW5jdGlvbiBpcy1pbnNpZGUoXG4gICRjb250ZXh0XG4pIHtcbiAgJF9pbnNpZGU6IGluc2lkZSBpbnNpZGUtc3RhdGljO1xuICAkX2d1dHRlci1wb3NpdGlvbjogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkY29udGV4dCk7XG5cbiAgQHJldHVybiBpZihpbmRleCgkX2luc2lkZSwgJF9ndXR0ZXItcG9zaXRpb24pLCB0cnVlLCBmYWxzZSk7XG59XG5cblxuLy8gSXMgU3BsaXRcbi8vIC0tLS0tLS0tXG4vLyBSZXR1cm5zIHRydWUgaWYgZ3V0dGVycyBhcmUgc3BsaXQuXG4vLyAkY29udGV4dDogPGNvbnRleHQ+XG5AZnVuY3Rpb24gaXMtc3BsaXQoXG4gICRjb250ZXh0XG4pIHtcbiAgJF9zcGxpdDogc3BsaXQgaW5zaWRlIGluc2lkZS1zdGF0aWM7XG4gICRfZ3V0dGVyLXBvc2l0aW9uOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcblxuICBAcmV0dXJuIGlmKGluZGV4KCRfc3BsaXQsICRfZ3V0dGVyLXBvc2l0aW9uKSwgdHJ1ZSwgZmFsc2UpO1xufVxuXG5cbi8vIEd1dHRlciBNYXRoXG4vLyAtLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSBtYXRoIHRvIHVzZSBmb3IgZ3V0dGVyIGNhbGN1bGF0aW9uc1xuLy8gJGNvbnRleHQ6IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGd1dHRlci1tYXRoKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICAkX3JldHVybiAgOiBzdXN5LWdldChtYXRoLCAkY29udGV4dCk7XG4gICRfcmV0dXJuICA6IGlmKHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGNvbnRleHQpID09IGluc2lkZS1zdGF0aWMsIHN0YXRpYywgJF9yZXR1cm4pO1xuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvLyBMYXlvdXRcbi8vXG4vLyBTaWRlYmFycyBSZWdpb24gU3R5bGluZ1xuLy9cbi8vIE1hcmt1cDogc2lkZWJhcnMudHdpZ1xuLy9cbi8vIFN0eWxlIGd1aWRlOiBsYXlvdXQuc2lkZWJhcnNcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gU2lkZWJhciBGaXJzdCAvLy8vLy8vLy8vLy8vLy8vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLmJvZHktc2lkZWJhcnMtZmlyc3Qge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCR1cC1zbSkge1xuICAgIGFzaWRlLnNpZGViYXItZmlyc3Qge1xuICAgICAgQGluY2x1ZGUgc3BhbigzIG9mIDEyKTtcblxuICAgICAgPiAqIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIHNlY3Rpb24jY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBzcGFuKDkgb2YgMTIgbGFzdCk7XG5cbiAgICAgID4gKiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBTaWRlYmFyIFNlY29uZCAvLy8vLy8vLy8vLy8vLy8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4uYm9keS1zaWRlYmFycy1zZWNvbmQge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCR1cC1zbSkge1xuICAgIGFzaWRlLnNpZGViYXItc2Vjb25kIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4oMyBvZiAxMiBsYXN0KTtcblxuICAgICAgPiAqIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZWN0aW9uI2NvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgc3Bhbig5IG9mIDEyKTtcblxuICAgICAgPiAqIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gU2lkZWJhciBCb3RoIC8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLmJvZHktc2lkZWJhcnMtYm90aCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHVwLXNtKSB7XG4gICAgYXNpZGUuc2lkZWJhci1maXJzdCB7XG4gICAgICBAaW5jbHVkZSBzcGFuKDIgb2YgMTIpO1xuXG4gICAgICA+ICoge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYXNpZGUuc2lkZWJhci1zZWNvbmQge1xuICAgICAgQGluY2x1ZGUgc3BhbigyIG9mIDEyIGxhc3QpO1xuXG4gICAgICA+ICoge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIHNlY3Rpb24jY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBzcGFuKDggb2YgMTIpO1xuXG4gICAgICA+ICoge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gU2lkZWJhciBOb25lIC8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLmJvZHktc2lkZWJhcnMtbm9uZSB7XG4gIHNlY3Rpb24jY29udGVudCB7XG4gICAgQGluY2x1ZGUgc3BhbigxMiBvZiAxMik7XG5cbiAgICA+ICoge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICB9XG4gIH1cbn1cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEdlbmVyYWwgU2lkZWJhciBSdWxlcyAvLy8vLy8vLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbmFzaWRlLnNpZGViYXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuIiwiLy8gU2lkZWJhciBCbG9ja1xuLy9cbi8vIFNpZGViYXIgYmxvY2sgc3R5bGluZy5cbi8vXG4vLyBNYXJrdXA6IGJsb2NrLnR3aWdcbi8vXG4vLyBTdHlsZSBndWlkZTogY29tcG9uZW50cy5ibG9ja1xuYXNpZGUgLmJsb2NrIHtcbiAgQGV4dGVuZCAuYmxvY2tlZC1zdHlsZTtcblxuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IDE3NSU7XG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gIH1cbn1cbiIsIi5yZWdpb24tYnJhbmRpbmcge1xuICAuYmxvY2stc3lzdGVtLW1lbnVibG9jayB1bC5tZW51IHtcbiAgICBAZXh0ZW5kIC5uby11bC1saXN0O1xuICB9XG59XG5cbi5zaXRlLWJyYW5kaW5nLXRleHQge1xuICBwYWRkaW5nOiAzMHB4IDEwcHggMTBweDtcbiAgZm9udC1zaXplOiAxMzUlO1xufVxuLy8gbG9nbyB2YWx1ZXNcbmRpdi5zaXRlLWJyYW5kaW5nIGEubG9nbyB7XG4gIHdpZHRoOiAxMDVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDVweCA1cHggMDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbiIsIm5hdi5icmVhZGNydW1iIHtcbiAgQGV4dGVuZCAuYmxvY2tlZC1zdHlsZTtcblxuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGNvbG9yOiAkZGFyay1ncmF5O1xuXG4gIG9sIHtcbiAgICBAZXh0ZW5kIC5uby11bC1saXN0O1xuXG4gICAgbGk6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnLyc7XG4gICAgICBwYWRkaW5nOiAwIDNweCAwIDAuNXB4O1xuICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgfVxuXG4gICAgbGk6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub3JtYWw7XG4gICAgfVxuICB9XG59XG4iLCIucmVnaW9uLWZvb3RlciB7XG4gIEBpbmNsdWRlIHJlZ2lvbi1zcGFjZXIoJGxpZ2h0LWdyYXksIHRvcCk7XG5cbiAgLmJsb2NrLW1lbnUgdWwubWVudSB7XG4gICAgQGV4dGVuZCAubm8tdWwtbGlzdDtcbiAgfVxufVxuIiwiLy8gSGVhZGVyIE1haW4gTWVudVxuLy9cbi8vIEhlYWRlciBtZW51cyBzdHlsaW5nIGZvciBtYWluIG5hdlxuLy9cbi8vIE1hcmt1cDogaGVhZGVyLnR3aWdcbi8vXG4vLyBTdHlsZSBndWlkZTogY29tcG9uZW50cy5oZWFkZXJcblxuLnJlZ2lvbi1oZWFkZXIge1xuICBAaW5jbHVkZSByZWdpb24tc3BhY2VyKCRsaWdodC1ncmF5KTtcbn1cbiIsIi5kcnVwYWwtbWVzc2FnZXMge1xuICBwYWRkaW5nOiAxNXB4O1xuICBtYXJnaW46IDE1cHggMDtcbiAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG5cbiAgQGluY2x1ZGUgYm9yZGVycmFkaXVzKCk7XG5cbiAgQGV4dGVuZCAudG1wLXNoYWRvdztcblxuICBvbCB7XG4gICAgQGV4dGVuZCAubm8tdWwtbGlzdDtcbiAgfVxuXG4gICYubWVzc2FnZXMtLXN0YXR1cyB7XG4gICAgYmFja2dyb3VuZDogJG9mZi13aGl0ZTtcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgfVxuXG4gICYubWVzc2FnZXMtLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJHllbGxvdywgMC4zKTtcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgfVxuXG4gICYubWVzc2FnZXMtLWVycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRyZWQsIDAuMyk7XG4gICAgY29sb3I6ICRyZWQ7XG4gIH1cbn1cbiIsIi8vIFByaW1hcnkgVGFic1xuLy9cbi8vIFNpbXBsZSB0YWJzIHN0eWxpbmcuXG4vL1xuLy8gTWFya3VwOiB0YWJzLnR3aWdcbi8vXG4vLyBTdHlsZSBndWlkZTogY29tcG9uZW50cy50YWJzXG4uYmxvY2stdGFicyB7XG4gIG1hcmdpbjogMS41ZW0gMDtcblxuICB1bCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgYSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMC40ZW07XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEV4YW1wbGUgQnV0dG9uXG4vL1xuLy8gVGhpcyBpcyBhbiBleGFtcGxlIHN0eWxlZ3VpZGUgZW50cnkuIFRvIHNlZSB0aGUgY29kZSB0aGF0IGdlbmVyYXRlcyB0aGlzIGVudHJ5LCBnbyB0byB0aGUgYHNhc3MvY29tcG9uZW50cy9leGFtcGxlYCBmb2xkZXIgaW4geW91ciB0aGVtZSBhbmQgdmlldyB0aGUgYGV4YW1wbGVfYnV0dG9uLnNjc3NgLCBgZXhhbXBsZV9idXR0b24udHdpZ2AsIGFuZCBgZXhhbXBsZV9idXR0b24uanNvbmAgZmlsZXMgdG8gc2VlIHdoYXQgdGhleSBkby5cbi8vXG4vLyA6aG92ZXIgICAtIFRleHQgdHVybnMgcmVkIG9uIGhvdmVyLlxuLy8gLnJvdW5kZWQgICAtIFdvdyEgU28gcm91bmQhXG4vL1xuLy8gTWFya3VwOiBleGFtcGxlX2J1dHRvbi50d2lnXG4vL1xuLy8gU3R5bGUgZ3VpZGU6IGNvbXBvbmVudHMuZXhhbXBsZV9idXR0b25cbi5idXR0b24ge1xuICBjb2xvcjogYmx1ZTtcbn1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xufVxuXG5idXR0b246aG92ZXIge1xuICBjb2xvcjogcmVkO1xufVxuIiwiLy8vIEV4YW1wbGUgZ2xvYmFsIHN0YXRlLyogY29kZSAvLy8vLy8vLy8vLy8vXG4vLy8gU2VlIGh0dHBzOi8vc21hY3NzLmNvbS9ib29rL3R5cGUtc3RhdGVcbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4uaXMtY29sbGFwc2VkIHtcblxufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIl19 */
