@charset "UTF-8";
/*
$base-bg:                #ffffff !default;
$base-bg-darker:         #eeeeee !default;
$base-bg-dark:           #f9f9f9 !default;
$base-border:            #d9d9d9 !default;
$base-color:             #202020 !default;
*/
/*
$base-bg:                #ffffff !default;
$base-bg-darker:         #eeeeee !default;
$base-bg-dark:           #f9f9f9 !default;
$base-border:            #d9d9d9 !default;
$base-color:             #202020 !default;
*/
@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i&subset=cyrillic,cyrillic-ext,latin-ext");
/*!
 * Bootstrap v3.3.5 (http://getbootstrap.com)
 * Copyright 2011-2015 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
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,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

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

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

small {
  font-size: 80%;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

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

figure {
  margin: 1em 40px;
}

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

pre {
  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] {
  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;
  box-sizing: content-box;
}

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

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: inherit;
}

td,
th {
  padding: 0;
}

/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .navbar {
    display: none;
  }
  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important;
  }
  .label {
    border: 1px solid #000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table td,
  .table th {
    background-color: #fff !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important;
  }
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

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

html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
  font-family: "Open Sans", sans-serif;
  font-size: 12px;
  line-height: 1.428571429;
  color: #f1f5f9;
  background-color: #334155;
}

input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

a {
  color: #2563eb;
  text-decoration: none;
}
a:hover, a:focus {
  color: rgb(6.4425770308%, 26.4145658263%, 70.2240896359%);
  text-decoration: underline;
}
a:focus {
  /*
  // Default
  outline: thin dotted;
  // WebKit
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
  */
  text-decoration: none;
  outline: 0;
}

figure {
  margin: 0;
}

img {
  vertical-align: middle;
}

.img-responsive {
  display: block;
  max-width: 100%;
  height: auto;
}

.img-rounded {
  border-radius: 8px;
}

.img-thumbnail {
  padding: 3px;
  line-height: 1.428571429;
  background-color: #0f172a;
  border: 1px solid #334155;
  border-radius: 4px;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}

.img-circle {
  border-radius: 50%;
}

hr {
  margin-top: 17px;
  margin-bottom: 17px;
  border: 0;
  border-top: 1px solid #222222;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}

[role=button] {
  cursor: pointer;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit;
}
h1 small,
h1 .small, h2 small,
h2 .small, h3 small,
h3 .small, h4 small,
h4 .small, h5 small,
h5 .small, h6 small,
h6 .small,
.h1 small,
.h1 .small, .h2 small,
.h2 .small, .h3 small,
.h3 .small, .h4 small,
.h4 .small, .h5 small,
.h5 .small, .h6 small,
.h6 .small {
  font-weight: normal;
  line-height: 1;
  color: #444444;
}

h1, .h1,
h2, .h2,
h3, .h3 {
  margin-top: 17px;
  margin-bottom: 8.5px;
}
h1 small,
h1 .small, .h1 small,
.h1 .small,
h2 small,
h2 .small, .h2 small,
.h2 .small,
h3 small,
h3 .small, .h3 small,
.h3 .small {
  font-size: 65%;
}

h4, .h4,
h5, .h5,
h6, .h6 {
  margin-top: 8.5px;
  margin-bottom: 8.5px;
}
h4 small,
h4 .small, .h4 small,
.h4 .small,
h5 small,
h5 .small, .h5 small,
.h5 .small,
h6 small,
h6 .small, .h6 small,
.h6 .small {
  font-size: 75%;
}

h1, .h1 {
  font-size: 31px;
}

h2, .h2 {
  font-size: 25px;
}

h3, .h3 {
  font-size: 21px;
}

h4, .h4 {
  font-size: 15px;
}

h5, .h5 {
  font-size: 12px;
}

h6, .h6 {
  font-size: 11px;
}

p {
  margin: 0 0 8.5px;
}

.lead {
  margin-bottom: 17px;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .lead {
    font-size: 18px;
  }
}

small,
.small {
  font-size: 91%;
}

mark,
.mark {
  background-color: #fcf8e3;
  padding: 0.2em;
}

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

.text-right, .action-block {
  text-align: right;
}

.text-center, .plan .plan-footer, .plan .plan-title {
  text-align: center;
}

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

.text-nowrap {
  white-space: nowrap;
}

.text-lowercase {
  text-transform: lowercase;
}

.text-uppercase, .initialism {
  text-transform: uppercase;
}

.text-capitalize {
  text-transform: capitalize;
}

.text-muted {
  color: #444444;
}

.text-primary {
  color: #2563eb;
}

a.text-primary:hover,
a.text-primary:focus {
  color: rgb(7.2829131653%, 29.8599439776%, 79.3837535014%);
}

.text-success {
  color: #3c763d;
}

a.text-success:hover,
a.text-success:focus {
  color: rgb(16.787838731%, 33.0160828376%, 17.0676360432%);
}

.text-info {
  color: #31708f;
}

a.text-info:hover,
a.text-info:focus {
  color: rgb(14.1115196078%, 32.2549019608%, 41.1825980392%);
}

.text-warning {
  color: #8a6d3b;
}

a.text-warning:hover,
a.text-warning:focus {
  color: rgb(40.1074947746%, 31.6791081915%, 17.1474071862%);
}

.text-danger {
  color: #a94442;
}

a.text-danger:hover,
a.text-danger:focus {
  color: rgb(51.8915310805%, 20.8794326241%, 20.2653316646%);
}

.bg-primary {
  color: #fff;
}

.bg-primary {
  background-color: #2563eb;
}

a.bg-primary:hover,
a.bg-primary:focus {
  background-color: rgb(7.2829131653%, 29.8599439776%, 79.3837535014%);
}

.bg-success {
  background-color: #dff0d8;
}

a.bg-success:hover,
a.bg-success:focus {
  background-color: rgb(75.5991285403%, 88.5620915033%, 70.2614379085%);
}

.bg-info {
  background-color: #d9edf7;
}

a.bg-info:hover,
a.bg-info:focus {
  background-color: rgb(68.5763000853%, 85.1150895141%, 93.3844842285%);
}

.bg-warning {
  background-color: #fcf8e3;
}

a.bg-warning:hover,
a.bg-warning:focus {
  background-color: rgb(96.8880455408%, 92.7387729285%, 70.9550917141%);
}

.bg-danger {
  background-color: #f2dede;
}

a.bg-danger:hover,
a.bg-danger:focus {
  background-color: rgb(89.2497868713%, 72.7109974425%, 72.7109974425%);
}

.page-header {
  padding-bottom: 7.5px;
  margin: 34px 0 17px;
  border-bottom: 1px solid #222222;
}

ul,
ol {
  margin-top: 0;
  margin-bottom: 8.5px;
}
ul ul,
ul ol,
ol ul,
ol ol {
  margin-bottom: 0;
}

.list-unstyled {
  padding-left: 0;
  list-style: none;
}

.list-inline {
  padding-left: 0;
  list-style: none;
  margin-left: -5px;
}
.list-inline > li {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
}

dl {
  margin-top: 0;
  margin-bottom: 17px;
}

dt,
dd {
  line-height: 1.428571429;
}

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

.dl-horizontal dd:before, .dl-horizontal dd:after {
  content: " ";
  display: table;
}
.dl-horizontal dd:after {
  clear: both;
}
@media (min-width: 768px) {
  .dl-horizontal dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dl-horizontal dd {
    margin-left: 180px;
  }
}

abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #444444;
}

.initialism {
  font-size: 90%;
}

blockquote {
  padding: 8.5px 17px;
  margin: 0 0 17px;
  font-size: 15px;
  border-left: 5px solid #222222;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
  margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
  display: block;
  font-size: 80%;
  line-height: 1.428571429;
  color: #444444;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: "— ";
}

.blockquote-reverse,
blockquote.pull-right,
.nav-pagination blockquote.pagination {
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #222222;
  border-left: 0;
  text-align: right;
}
.blockquote-reverse footer:before,
.blockquote-reverse small:before,
.blockquote-reverse .small:before,
blockquote.pull-right footer:before,
.nav-pagination blockquote.pagination footer:before,
blockquote.pull-right small:before,
.nav-pagination blockquote.pagination small:before,
blockquote.pull-right .small:before,
.nav-pagination blockquote.pagination .small:before {
  content: "";
}
.blockquote-reverse footer:after,
.blockquote-reverse small:after,
.blockquote-reverse .small:after,
blockquote.pull-right footer:after,
.nav-pagination blockquote.pagination footer:after,
blockquote.pull-right small:after,
.nav-pagination blockquote.pagination small:after,
blockquote.pull-right .small:after,
.nav-pagination blockquote.pagination .small:after {
  content: " —";
}

address {
  margin-bottom: 17px;
  font-style: normal;
  line-height: 1.428571429;
}

.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}
.container:before, .container:after {
  content: " ";
  display: table;
}
.container:after {
  clear: both;
}
@media (min-width: 768px) {
  .container {
    width: 750px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 970px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }
}

.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}
.container-fluid:before, .container-fluid:after {
  content: " ";
  display: table;
}
.container-fluid:after {
  clear: both;
}

.row, .plans, .checkboxes {
  margin-left: -15px;
  margin-right: -15px;
}
.row:before, .plans:before, .checkboxes:before, .row:after, .plans:after, .checkboxes:after {
  content: " ";
  display: table;
}
.row:after, .plans:after, .checkboxes:after {
  clear: both;
}

.col-xs-1, .col-sm-1, .col-md-1, .table-icon .item, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .plan-col, .col-lg-3, .col-xs-4, .col-sm-4, .lang-list .lang-item, .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner > li[data-original-index], .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li[data-original-index], .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list > li[data-original-index], .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li[data-original-index][data-optgroup], .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .checkboxes .checkbox, .col-sm-6, .bootstrap-select.form-control.multiexpand.half .dropdown-menu.inner li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.half .dropdown-menu.inner li[data-original-index], .bootstrap-select.form-control.multiexpand.half .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.half .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers .bootstrap-select.form-control.multiexpand.half .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.half .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand.half .inner.leaflet-control-layers-list li[data-original-index], .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .bootstrap-select.form-control.multiexpand.full .dropdown-menu.inner li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.full .dropdown-menu.inner li[data-original-index], .bootstrap-select.form-control.multiexpand.full .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.full .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers .bootstrap-select.form-control.multiexpand.full .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.full .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand.full .inner.leaflet-control-layers-list li[data-original-index], .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li, .bootstrap-select.form-control .dropdown-menu.inner > li[data-original-index][data-optgroup], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .dropdown-menu.inner > li[data-original-index][data-optgroup], .bootstrap-select.form-control .leaflet-control-layers .inner.leaflet-control-layers-list > li[data-original-index][data-optgroup], .leaflet-control-layers .bootstrap-select.form-control .inner.leaflet-control-layers-list > li[data-original-index][data-optgroup], .bootstrap-select.form-control .dropdown-menu.inner > li, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .dropdown-menu.inner > li, .bootstrap-select.form-control .leaflet-control-layers .inner.leaflet-control-layers-list > li, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .leaflet-control-layers .inner.leaflet-control-layers-list > li, .leaflet-control-layers .bootstrap-select.form-control .inner.leaflet-control-layers-list > li, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .inner.leaflet-control-layers-list > li, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select .inner.leaflet-control-layers-list > li, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}

.col-xs-1, .col-xs-2, .col-xs-3, .table-icon .item, .col-xs-4, .col-xs-5, .col-xs-6, .checkboxes .checkbox, .lang-list .lang-item, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, .plan-col {
  float: left;
}

.col-xs-1 {
  width: 8.3333333333%;
}

.col-xs-2 {
  width: 16.6666666667%;
}

.col-xs-3, .table-icon .item {
  width: 25%;
}

.col-xs-4 {
  width: 33.3333333333%;
}

.col-xs-5 {
  width: 41.6666666667%;
}

.col-xs-6, .checkboxes .checkbox, .lang-list .lang-item {
  width: 50%;
}

.col-xs-7 {
  width: 58.3333333333%;
}

.col-xs-8 {
  width: 66.6666666667%;
}

.col-xs-9 {
  width: 75%;
}

.col-xs-10 {
  width: 83.3333333333%;
}

.col-xs-11 {
  width: 91.6666666667%;
}

.col-xs-12, .plan-col {
  width: 100%;
}

.col-xs-pull-0 {
  right: auto;
}

.col-xs-pull-1 {
  right: 8.3333333333%;
}

.col-xs-pull-2 {
  right: 16.6666666667%;
}

.col-xs-pull-3 {
  right: 25%;
}

.col-xs-pull-4 {
  right: 33.3333333333%;
}

.col-xs-pull-5 {
  right: 41.6666666667%;
}

.col-xs-pull-6 {
  right: 50%;
}

.col-xs-pull-7 {
  right: 58.3333333333%;
}

.col-xs-pull-8 {
  right: 66.6666666667%;
}

.col-xs-pull-9 {
  right: 75%;
}

.col-xs-pull-10 {
  right: 83.3333333333%;
}

.col-xs-pull-11 {
  right: 91.6666666667%;
}

.col-xs-pull-12 {
  right: 100%;
}

.col-xs-push-0 {
  left: auto;
}

.col-xs-push-1 {
  left: 8.3333333333%;
}

.col-xs-push-2 {
  left: 16.6666666667%;
}

.col-xs-push-3 {
  left: 25%;
}

.col-xs-push-4 {
  left: 33.3333333333%;
}

.col-xs-push-5 {
  left: 41.6666666667%;
}

.col-xs-push-6 {
  left: 50%;
}

.col-xs-push-7 {
  left: 58.3333333333%;
}

.col-xs-push-8 {
  left: 66.6666666667%;
}

.col-xs-push-9 {
  left: 75%;
}

.col-xs-push-10 {
  left: 83.3333333333%;
}

.col-xs-push-11 {
  left: 91.6666666667%;
}

.col-xs-push-12 {
  left: 100%;
}

.col-xs-offset-0 {
  margin-left: 0%;
}

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

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

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

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

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

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

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

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

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

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

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

.col-xs-offset-12 {
  margin-left: 100%;
}

@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .table-icon .item, .col-sm-3, .col-sm-4, .plan-col, .lang-list .lang-item, .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner > li[data-original-index], .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li[data-original-index], .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list > li[data-original-index], .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li[data-original-index][data-optgroup], .col-sm-5, .col-sm-6, .checkboxes .checkbox, .bootstrap-select.form-control.multiexpand.half .dropdown-menu.inner li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.half .dropdown-menu.inner li[data-original-index], .bootstrap-select.form-control.multiexpand.half .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.half .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers .bootstrap-select.form-control.multiexpand.half .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.half .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand.half .inner.leaflet-control-layers-list li[data-original-index], .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .bootstrap-select.form-control.multiexpand.full .dropdown-menu.inner li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.full .dropdown-menu.inner li[data-original-index], .bootstrap-select.form-control.multiexpand.full .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.full .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers .bootstrap-select.form-control.multiexpand.full .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.full .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand.full .inner.leaflet-control-layers-list li[data-original-index], .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li, .bootstrap-select.form-control .dropdown-menu.inner > li[data-original-index][data-optgroup], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .dropdown-menu.inner > li[data-original-index][data-optgroup], .bootstrap-select.form-control .leaflet-control-layers .inner.leaflet-control-layers-list > li[data-original-index][data-optgroup], .leaflet-control-layers .bootstrap-select.form-control .inner.leaflet-control-layers-list > li[data-original-index][data-optgroup], .bootstrap-select.form-control .dropdown-menu.inner > li, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .dropdown-menu.inner > li, .bootstrap-select.form-control .leaflet-control-layers .inner.leaflet-control-layers-list > li, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .leaflet-control-layers .inner.leaflet-control-layers-list > li, .leaflet-control-layers .bootstrap-select.form-control .inner.leaflet-control-layers-list > li, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .inner.leaflet-control-layers-list > li, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select .inner.leaflet-control-layers-list > li {
    float: left;
  }
  .col-sm-1 {
    width: 8.3333333333%;
  }
  .col-sm-2, .table-icon .item {
    width: 16.6666666667%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-4, .plan-col, .lang-list .lang-item, .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner > li[data-original-index], .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li[data-original-index], .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list > li[data-original-index], .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li[data-original-index], div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li[data-original-index], .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li[data-original-index][data-optgroup] {
    width: 33.3333333333%;
  }
  .col-sm-5 {
    width: 41.6666666667%;
  }
  .col-sm-6, .checkboxes .checkbox, .bootstrap-select.form-control.multiexpand.half .dropdown-menu.inner li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.half .dropdown-menu.inner li[data-original-index], .bootstrap-select.form-control.multiexpand.half .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.half .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers .bootstrap-select.form-control.multiexpand.half .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.half .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand.half .inner.leaflet-control-layers-list li[data-original-index] {
    width: 50%;
  }
  .col-sm-7 {
    width: 58.3333333333%;
  }
  .col-sm-8 {
    width: 66.6666666667%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-10 {
    width: 83.3333333333%;
  }
  .col-sm-11 {
    width: 91.6666666667%;
  }
  .col-sm-12, .bootstrap-select.form-control.multiexpand.full .dropdown-menu.inner li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.full .dropdown-menu.inner li[data-original-index], .bootstrap-select.form-control.multiexpand.full .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.full .leaflet-control-layers .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers .bootstrap-select.form-control.multiexpand.full .inner.leaflet-control-layers-list li[data-original-index], .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand.full .inner.leaflet-control-layers-list li[data-original-index], div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand.full .inner.leaflet-control-layers-list li[data-original-index], .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li, .bootstrap-select.form-control .dropdown-menu.inner > li[data-original-index][data-optgroup], div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .dropdown-menu.inner > li[data-original-index][data-optgroup], .bootstrap-select.form-control .leaflet-control-layers .inner.leaflet-control-layers-list > li[data-original-index][data-optgroup], .leaflet-control-layers .bootstrap-select.form-control .inner.leaflet-control-layers-list > li[data-original-index][data-optgroup], .bootstrap-select.form-control .dropdown-menu.inner > li, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .dropdown-menu.inner > li, .bootstrap-select.form-control .leaflet-control-layers .inner.leaflet-control-layers-list > li, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .leaflet-control-layers .inner.leaflet-control-layers-list > li, .leaflet-control-layers .bootstrap-select.form-control .inner.leaflet-control-layers-list > li, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .inner.leaflet-control-layers-list > li, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select .inner.leaflet-control-layers-list > li {
    width: 100%;
  }
  .col-sm-pull-0 {
    right: auto;
  }
  .col-sm-pull-1 {
    right: 8.3333333333%;
  }
  .col-sm-pull-2 {
    right: 16.6666666667%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-4 {
    right: 33.3333333333%;
  }
  .col-sm-pull-5 {
    right: 41.6666666667%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-7 {
    right: 58.3333333333%;
  }
  .col-sm-pull-8 {
    right: 66.6666666667%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-10 {
    right: 83.3333333333%;
  }
  .col-sm-pull-11 {
    right: 91.6666666667%;
  }
  .col-sm-pull-12 {
    right: 100%;
  }
  .col-sm-push-0 {
    left: auto;
  }
  .col-sm-push-1 {
    left: 8.3333333333%;
  }
  .col-sm-push-2 {
    left: 16.6666666667%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-4 {
    left: 33.3333333333%;
  }
  .col-sm-push-5 {
    left: 41.6666666667%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-7 {
    left: 58.3333333333%;
  }
  .col-sm-push-8 {
    left: 66.6666666667%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-10 {
    left: 83.3333333333%;
  }
  .col-sm-push-11 {
    left: 91.6666666667%;
  }
  .col-sm-push-12 {
    left: 100%;
  }
  .col-sm-offset-0 {
    margin-left: 0%;
  }
  .col-sm-offset-1 {
    margin-left: 8.3333333333%;
  }
  .col-sm-offset-2 {
    margin-left: 16.6666666667%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-4 {
    margin-left: 33.3333333333%;
  }
  .col-sm-offset-5 {
    margin-left: 41.6666666667%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-7 {
    margin-left: 58.3333333333%;
  }
  .col-sm-offset-8 {
    margin-left: 66.6666666667%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-10 {
    margin-left: 83.3333333333%;
  }
  .col-sm-offset-11 {
    margin-left: 91.6666666667%;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
}
@media (min-width: 992px) {
  .col-md-1, .table-icon .item, .col-md-2, .col-md-3, .plan-col, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left;
  }
  .col-md-1, .table-icon .item {
    width: 8.3333333333%;
  }
  .col-md-2 {
    width: 16.6666666667%;
  }
  .col-md-3, .plan-col {
    width: 25%;
  }
  .col-md-4 {
    width: 33.3333333333%;
  }
  .col-md-5 {
    width: 41.6666666667%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-7 {
    width: 58.3333333333%;
  }
  .col-md-8 {
    width: 66.6666666667%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-10 {
    width: 83.3333333333%;
  }
  .col-md-11 {
    width: 91.6666666667%;
  }
  .col-md-12 {
    width: 100%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-pull-1 {
    right: 8.3333333333%;
  }
  .col-md-pull-2 {
    right: 16.6666666667%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-4 {
    right: 33.3333333333%;
  }
  .col-md-pull-5 {
    right: 41.6666666667%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-7 {
    right: 58.3333333333%;
  }
  .col-md-pull-8 {
    right: 66.6666666667%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-10 {
    right: 83.3333333333%;
  }
  .col-md-pull-11 {
    right: 91.6666666667%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .col-md-push-1 {
    left: 8.3333333333%;
  }
  .col-md-push-2 {
    left: 16.6666666667%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-4 {
    left: 33.3333333333%;
  }
  .col-md-push-5 {
    left: 41.6666666667%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-7 {
    left: 58.3333333333%;
  }
  .col-md-push-8 {
    left: 66.6666666667%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-10 {
    left: 83.3333333333%;
  }
  .col-md-push-11 {
    left: 91.6666666667%;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-offset-0 {
    margin-left: 0%;
  }
  .col-md-offset-1 {
    margin-left: 8.3333333333%;
  }
  .col-md-offset-2 {
    margin-left: 16.6666666667%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-4 {
    margin-left: 33.3333333333%;
  }
  .col-md-offset-5 {
    margin-left: 41.6666666667%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-7 {
    margin-left: 58.3333333333%;
  }
  .col-md-offset-8 {
    margin-left: 66.6666666667%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-10 {
    margin-left: 83.3333333333%;
  }
  .col-md-offset-11 {
    margin-left: 91.6666666667%;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
}
@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }
  .col-lg-1 {
    width: 8.3333333333%;
  }
  .col-lg-2 {
    width: 16.6666666667%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-4 {
    width: 33.3333333333%;
  }
  .col-lg-5 {
    width: 41.6666666667%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-7 {
    width: 58.3333333333%;
  }
  .col-lg-8 {
    width: 66.6666666667%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-10 {
    width: 83.3333333333%;
  }
  .col-lg-11 {
    width: 91.6666666667%;
  }
  .col-lg-12 {
    width: 100%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-pull-1 {
    right: 8.3333333333%;
  }
  .col-lg-pull-2 {
    right: 16.6666666667%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-4 {
    right: 33.3333333333%;
  }
  .col-lg-pull-5 {
    right: 41.6666666667%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-7 {
    right: 58.3333333333%;
  }
  .col-lg-pull-8 {
    right: 66.6666666667%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-10 {
    right: 83.3333333333%;
  }
  .col-lg-pull-11 {
    right: 91.6666666667%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .col-lg-push-1 {
    left: 8.3333333333%;
  }
  .col-lg-push-2 {
    left: 16.6666666667%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-4 {
    left: 33.3333333333%;
  }
  .col-lg-push-5 {
    left: 41.6666666667%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-7 {
    left: 58.3333333333%;
  }
  .col-lg-push-8 {
    left: 66.6666666667%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-10 {
    left: 83.3333333333%;
  }
  .col-lg-push-11 {
    left: 91.6666666667%;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-offset-0 {
    margin-left: 0%;
  }
  .col-lg-offset-1 {
    margin-left: 8.3333333333%;
  }
  .col-lg-offset-2 {
    margin-left: 16.6666666667%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-4 {
    margin-left: 33.3333333333%;
  }
  .col-lg-offset-5 {
    margin-left: 41.6666666667%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-7 {
    margin-left: 58.3333333333%;
  }
  .col-lg-offset-8 {
    margin-left: 66.6666666667%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-10 {
    margin-left: 83.3333333333%;
  }
  .col-lg-offset-11 {
    margin-left: 91.6666666667%;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
}
table {
  background-color: transparent;
}

caption {
  padding-top: 12px;
  padding-bottom: 12px;
  color: #444444;
  text-align: left;
}

th {
  text-align: left;
}

.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 17px;
}
.table > thead > tr > th,
.table > thead > tr > td,
.table > tbody > tr > th,
.table > tbody > tr > td,
.table > tfoot > tr > th,
.table > tfoot > tr > td {
  padding: 12px;
  line-height: 1.428571429;
  vertical-align: top;
  border-top: 1px solid #334155;
}
.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #334155;
}
.table > caption + thead > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > th,
.table > thead:first-child > tr:first-child > td {
  border-top: 0;
}
.table > tbody + tbody {
  border-top: 2px solid #334155;
}
.table .table {
  background-color: #334155;
}

.table-condensed > thead > tr > th, #widgets .table > thead > tr > th, .table.table-list > thead > tr > th,
.table-condensed > thead > tr > td,
#widgets .table > thead > tr > td,
.table.table-list > thead > tr > td,
.table-condensed > tbody > tr > th,
#widgets .table > tbody > tr > th,
.table.table-list > tbody > tr > th,
.table-condensed > tbody > tr > td,
#widgets .table > tbody > tr > td,
.table.table-list > tbody > tr > td,
.table-condensed > tfoot > tr > th,
#widgets .table > tfoot > tr > th,
.table.table-list > tfoot > tr > th,
.table-condensed > tfoot > tr > td,
#widgets .table > tfoot > tr > td,
.table.table-list > tfoot > tr > td {
  padding: 3px;
}

.table-bordered {
  border: 1px solid #334155;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > th,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > th,
.table-bordered > tfoot > tr > td {
  border: 1px solid #334155;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
  border-bottom-width: 2px;
}

.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: #334155;
}

.table-hover > tbody > tr:hover, .table.table-list > tbody > tr:hover {
  background-color: #0f172a;
}

table col[class*=col-] {
  position: static;
  float: none;
  display: table-column;
}

table td[class*=col-],
table th[class*=col-] {
  position: static;
  float: none;
  display: table-cell;
}

.table > thead > tr > td.active,
.table > thead > tr > th.active, .table > thead > tr.active > td, .table > thead > tr.active > th,
.table > tbody > tr > td.active,
.table > tbody > tr > th.active,
.table > tbody > tr.active > td,
.table > tbody > tr.active > th,
.table > tfoot > tr > td.active,
.table > tfoot > tr > th.active,
.table > tfoot > tr.active > td,
.table > tfoot > tr.active > th {
  background-color: #0f172a;
}

.table-hover > tbody > tr > td.active:hover, .table.table-list > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table.table-list > tbody > tr > th.active:hover, .table-hover > tbody > tr.active:hover > td, .table.table-list > tbody > tr.active:hover > td, .table-hover > tbody > tr:hover > .active, .table.table-list > tbody > tr:hover > .active, .table-hover > tbody > tr.active:hover > th, .table.table-list > tbody > tr.active:hover > th {
  background-color: rgb(3.2507739938%, 4.9845201238%, 9.1021671827%);
}

.table > thead > tr > td.success,
.table > thead > tr > th.success, .table > thead > tr.success > td, .table > thead > tr.success > th,
.table > tbody > tr > td.success,
.table > tbody > tr > th.success,
.table > tbody > tr.success > td,
.table > tbody > tr.success > th,
.table > tfoot > tr > td.success,
.table > tfoot > tr > th.success,
.table > tfoot > tr.success > td,
.table > tfoot > tr.success > th {
  background-color: #dff0d8;
}

.table-hover > tbody > tr > td.success:hover, .table.table-list > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table.table-list > tbody > tr > th.success:hover, .table-hover > tbody > tr.success:hover > td, .table.table-list > tbody > tr.success:hover > td, .table-hover > tbody > tr:hover > .success, .table.table-list > tbody > tr:hover > .success, .table-hover > tbody > tr.success:hover > th, .table.table-list > tbody > tr.success:hover > th {
  background-color: rgb(81.5250544662%, 91.339869281%, 77.4836601307%);
}

.table > thead > tr > td.info,
.table > thead > tr > th.info, .table > thead > tr.info > td, .table > thead > tr.info > th,
.table > tbody > tr > td.info,
.table > tbody > tr > th.info,
.table > tbody > tr.info > td,
.table > tbody > tr.info > th,
.table > tfoot > tr > td.info,
.table > tfoot > tr > th.info,
.table > tfoot > tr.info > td,
.table > tfoot > tr.info > th {
  background-color: #d9edf7;
}

.table-hover > tbody > tr > td.info:hover, .table.table-list > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table.table-list > tbody > tr > th.info:hover, .table-hover > tbody > tr.info:hover > td, .table.table-list > tbody > tr.info:hover > td, .table-hover > tbody > tr:hover > .info, .table.table-list > tbody > tr:hover > .info, .table-hover > tbody > tr.info:hover > th, .table.table-list > tbody > tr.info:hover > th {
  background-color: rgb(76.8371696505%, 89.0281329923%, 95.1236146633%);
}

.table > thead > tr > td.warning,
.table > thead > tr > th.warning, .table > thead > tr.warning > td, .table > thead > tr.warning > th,
.table > tbody > tr > td.warning,
.table > tbody > tr > th.warning,
.table > tbody > tr.warning > td,
.table > tbody > tr.warning > th,
.table > tfoot > tr > td.warning,
.table > tfoot > tr > th.warning,
.table > tfoot > tr.warning > td,
.table > tfoot > tr.warning > th {
  background-color: #fcf8e3;
}

.table-hover > tbody > tr > td.warning:hover, .table.table-list > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table.table-list > tbody > tr > th.warning:hover, .table-hover > tbody > tr.warning:hover > td, .table.table-list > tbody > tr.warning:hover > td, .table-hover > tbody > tr:hover > .warning, .table.table-list > tbody > tr:hover > .warning, .table-hover > tbody > tr.warning:hover > th, .table.table-list > tbody > tr.warning:hover > th {
  background-color: rgb(97.8557874763%, 94.9968374447%, 79.9873497786%);
}

.table > thead > tr > td.danger,
.table > thead > tr > th.danger, .table > thead > tr.danger > td, .table > thead > tr.danger > th,
.table > tbody > tr > td.danger,
.table > tbody > tr > th.danger,
.table > tbody > tr.danger > td,
.table > tbody > tr.danger > th,
.table > tfoot > tr > td.danger,
.table > tfoot > tr > th.danger,
.table > tfoot > tr.danger > td,
.table > tfoot > tr.danger > th {
  background-color: #f2dede;
}

.table-hover > tbody > tr > td.danger:hover, .table.table-list > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table.table-list > tbody > tr > th.danger:hover, .table-hover > tbody > tr.danger:hover > td, .table.table-list > tbody > tr.danger:hover > td, .table-hover > tbody > tr:hover > .danger, .table.table-list > tbody > tr:hover > .danger, .table-hover > tbody > tr.danger:hover > th, .table.table-list > tbody > tr.danger:hover > th {
  background-color: rgb(92.0758738278%, 79.8849104859%, 79.8849104859%);
}

.table-responsive {
  overflow-x: auto;
  min-height: 0.01%;
}
@media screen and (max-width: 767px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 12.75px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #334155;
  }
  .table-responsive > .table {
    margin-bottom: 0;
  }
  .table-responsive > .table > thead > tr > th,
  .table-responsive > .table > thead > tr > td,
  .table-responsive > .table > tbody > tr > th,
  .table-responsive > .table > tbody > tr > td,
  .table-responsive > .table > tfoot > tr > th,
  .table-responsive > .table > tfoot > tr > td {
    white-space: nowrap;
  }
  .table-responsive > .table-bordered {
    border: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:first-child,
  .table-responsive > .table-bordered > thead > tr > td:first-child,
  .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
    border-left: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:last-child,
  .table-responsive > .table-bordered > thead > tr > td:last-child,
  .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
    border-right: 0;
  }
  .table-responsive > .table-bordered > tbody > tr:last-child > th,
  .table-responsive > .table-bordered > tbody > tr:last-child > td,
  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
    border-bottom: 0;
  }
}

fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}

legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 17px;
  font-size: 18px;
  line-height: inherit;
  color: #777777;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}

label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}

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

input[type=radio],
input[type=checkbox] {
  margin: 4px 0 0;
  margin-top: 1px \9 ;
  line-height: normal;
}

input[type=file] {
  display: block;
}

input[type=range] {
  display: block;
  width: 100%;
}

select[multiple],
select[size] {
  height: auto;
}

input[type=file]:focus,
input[type=radio]:focus,
input[type=checkbox]:focus {
  /*
  // Default
  outline: thin dotted;
  // WebKit
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
  */
  text-decoration: none;
  outline: 0;
}

output {
  display: block;
  padding-top: 7px;
  font-size: 12px;
  line-height: 1.428571429;
  color: #e2e8f0;
}

.form-control, div.dataTables_wrapper div.dataTables_filter input {
  display: block;
  width: 100%;
  height: 31px;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.428571429;
  color: #e2e8f0;
  background-color: #0f172a;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 6px;
  -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}
.form-control:focus, div.dataTables_wrapper div.dataTables_filter input:focus {
  color: #ffffff;
  background-color: #111111;
  border-color: #334155;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(51, 65, 85, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(51, 65, 85, 0.6);
}
.form-control::-moz-placeholder, div.dataTables_wrapper div.dataTables_filter input::-moz-placeholder {
  color: #cbd5e1;
  opacity: 1;
}
.form-control:-ms-input-placeholder, div.dataTables_wrapper div.dataTables_filter input:-ms-input-placeholder {
  color: #cbd5e1;
}
.form-control::-webkit-input-placeholder, div.dataTables_wrapper div.dataTables_filter input::-webkit-input-placeholder {
  color: #cbd5e1;
}
.form-control[disabled], div.dataTables_wrapper div.dataTables_filter input[disabled], .form-control[readonly], div.dataTables_wrapper div.dataTables_filter input[readonly], fieldset[disabled] .form-control, fieldset[disabled] div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter fieldset[disabled] input {
  background-color: #334155;
  opacity: 1;
}
.form-control[disabled], div.dataTables_wrapper div.dataTables_filter input[disabled], fieldset[disabled] .form-control, fieldset[disabled] div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter fieldset[disabled] input {
  cursor: not-allowed;
}

textarea.form-control {
  height: auto;
}

input[type=search] {
  -webkit-appearance: none;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type=date].form-control, div.dataTables_wrapper div.dataTables_filter input[type=date],
  input[type=time].form-control,
  div.dataTables_wrapper div.dataTables_filter input[type=time],
  input[type=datetime-local].form-control,
  div.dataTables_wrapper div.dataTables_filter input[type=datetime-local],
  input[type=month].form-control,
  div.dataTables_wrapper div.dataTables_filter input[type=month] {
    line-height: 31px;
  }
  input[type=date].input-sm,
  .input-group-sm > .input-group-btn > input[type=date].btn, .input-group-sm input[type=date],
  input[type=time].input-sm,
  .input-group-sm > .input-group-btn > input[type=time].btn,
  .input-group-sm input[type=time],
  input[type=datetime-local].input-sm,
  .input-group-sm > .input-group-btn > input[type=datetime-local].btn,
  .input-group-sm input[type=datetime-local],
  input[type=month].input-sm,
  .input-group-sm > .input-group-btn > input[type=month].btn,
  .input-group-sm input[type=month] {
    line-height: 28px;
  }
  input[type=date].input-lg,
  .input-group-lg > .input-group-btn > input[type=date].btn, .input-group-lg input[type=date],
  input[type=time].input-lg,
  .input-group-lg > .input-group-btn > input[type=time].btn,
  .input-group-lg input[type=time],
  input[type=datetime-local].input-lg,
  .input-group-lg > .input-group-btn > input[type=datetime-local].btn,
  .input-group-lg input[type=datetime-local],
  input[type=month].input-lg,
  .input-group-lg > .input-group-btn > input[type=month].btn,
  .input-group-lg input[type=month] {
    line-height: 40px;
  }
}
.form-group {
  margin-bottom: 10px;
}

.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}
.radio label,
.checkbox label {
  min-height: 17px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: normal;
  cursor: pointer;
}

.radio input[type=radio],
.radio-inline input[type=radio],
.checkbox input[type=checkbox],
.checkbox-inline input[type=checkbox] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9 ;
}

.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px;
}

.radio-inline,
.checkbox-inline,
.group .checkbox,
.table .checkbox {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer;
}

.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline,
.group .checkbox + .checkbox-inline,
.group .checkbox-inline + .checkbox,
.group .checkbox + .checkbox,
.table .checkbox + .checkbox-inline,
.table .checkbox-inline + .checkbox,
.table .checkbox + .checkbox {
  margin-top: 0;
  margin-left: 10px;
}

input[type=radio][disabled], input[type=radio].disabled, fieldset[disabled] input[type=radio],
input[type=checkbox][disabled],
input[type=checkbox].disabled,
fieldset[disabled] input[type=checkbox] {
  cursor: not-allowed;
}

.radio-inline.disabled, fieldset[disabled] .radio-inline,
.checkbox-inline.disabled,
.group .disabled.checkbox,
.table .disabled.checkbox,
fieldset[disabled] .checkbox-inline,
fieldset[disabled] .group .checkbox,
.group fieldset[disabled] .checkbox,
fieldset[disabled] .table .checkbox,
.table fieldset[disabled] .checkbox {
  cursor: not-allowed;
}

.radio.disabled label, fieldset[disabled] .radio label,
.checkbox.disabled label,
fieldset[disabled] .checkbox label {
  cursor: not-allowed;
}

.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 29px;
}
.form-control-static.input-lg, .input-group-lg > .form-control-static.form-control, div.dataTables_wrapper div.dataTables_filter .input-group-lg > input.form-control-static,
.input-group-lg > .form-control-static.input-group-addon,
.input-group-lg > .input-group-btn > .form-control-static.btn, .form-control-static.input-sm, .input-group-sm > .form-control-static.form-control, div.dataTables_wrapper div.dataTables_filter .input-group-sm > input.form-control-static,
.input-group-sm > .form-control-static.input-group-addon,
.input-group-sm > .input-group-btn > .form-control-static.btn {
  padding-left: 0;
  padding-right: 0;
}

.input-sm, .input-group-sm > .form-control, div.dataTables_wrapper div.dataTables_filter .input-group-sm > input,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 28px;
  padding: 5px 10px;
  font-size: 11px;
  line-height: 1.5;
  border-radius: 4px;
}

select.input-sm, .input-group-sm > select.form-control,
.input-group-sm > select.input-group-addon,
.input-group-sm > .input-group-btn > select.btn {
  height: 28px;
  line-height: 28px;
}

textarea.input-sm, .input-group-sm > textarea.form-control,
.input-group-sm > textarea.input-group-addon,
.input-group-sm > .input-group-btn > textarea.btn,
select[multiple].input-sm,
.input-group-sm > select[multiple].form-control,
.input-group-sm > select[multiple].input-group-addon,
.input-group-sm > .input-group-btn > select[multiple].btn {
  height: auto;
}

.form-group-sm .form-control, .form-group-sm div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .form-group-sm input {
  height: 28px;
  padding: 5px 10px;
  font-size: 11px;
  line-height: 1.5;
  border-radius: 4px;
}
.form-group-sm select.form-control {
  height: 28px;
  line-height: 28px;
}
.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto;
}
.form-group-sm .form-control-static {
  height: 28px;
  min-height: 28px;
  padding: 6px 10px;
  font-size: 11px;
  line-height: 1.5;
}

.input-lg, .input-group-lg > .form-control, div.dataTables_wrapper div.dataTables_filter .input-group-lg > input,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  height: 40px;
  padding: 10px 16px;
  font-size: 13px;
  line-height: 1.3333333;
  border-radius: 8px;
}

select.input-lg, .input-group-lg > select.form-control,
.input-group-lg > select.input-group-addon,
.input-group-lg > .input-group-btn > select.btn {
  height: 40px;
  line-height: 40px;
}

textarea.input-lg, .input-group-lg > textarea.form-control,
.input-group-lg > textarea.input-group-addon,
.input-group-lg > .input-group-btn > textarea.btn,
select[multiple].input-lg,
.input-group-lg > select[multiple].form-control,
.input-group-lg > select[multiple].input-group-addon,
.input-group-lg > .input-group-btn > select[multiple].btn {
  height: auto;
}

.form-group-lg .form-control, .form-group-lg div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .form-group-lg input {
  height: 40px;
  padding: 10px 16px;
  font-size: 13px;
  line-height: 1.3333333;
  border-radius: 8px;
}
.form-group-lg select.form-control {
  height: 40px;
  line-height: 40px;
}
.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto;
}
.form-group-lg .form-control-static {
  height: 40px;
  min-height: 30px;
  padding: 11px 16px;
  font-size: 13px;
  line-height: 1.3333333;
}

.has-feedback {
  position: relative;
}
.has-feedback .form-control, .has-feedback div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .has-feedback input {
  padding-right: 31px;
}

.form-control-feedback, .form-group.search:before,
.bs-searchbox:before {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 31px;
  height: 31px;
  line-height: 31px;
  text-align: center;
  pointer-events: none;
}

.input-lg + .form-control-feedback, .input-lg + .form-group.search:before,
.input-lg + .bs-searchbox:before, .input-group-lg > .form-control + .form-control-feedback, div.dataTables_wrapper div.dataTables_filter .input-group-lg > input + .form-control-feedback, .input-group-lg > .form-control + .form-group.search:before, div.dataTables_wrapper div.dataTables_filter .input-group-lg > input + .form-group.search:before,
.input-group-lg > .form-control + .bs-searchbox:before,
div.dataTables_wrapper div.dataTables_filter .input-group-lg > input + .bs-searchbox:before,
.input-group-lg > .input-group-addon + .form-control-feedback,
.input-group-lg > .input-group-addon + .form-group.search:before,
.input-group-lg > .input-group-addon + .bs-searchbox:before,
.input-group-lg > .input-group-btn > .btn + .form-control-feedback,
.input-group-lg > .input-group-btn > .btn + .form-group.search:before,
.input-group-lg > .input-group-btn > .btn + .bs-searchbox:before,
.input-group-lg + .form-control-feedback,
.input-group-lg + .form-group.search:before,
.input-group-lg + .bs-searchbox:before,
.form-group-lg .form-control + .form-control-feedback,
.form-group-lg div.dataTables_wrapper div.dataTables_filter input + .form-control-feedback,
div.dataTables_wrapper div.dataTables_filter .form-group-lg input + .form-control-feedback,
.form-group-lg .form-control + .form-group.search:before,
.form-group-lg div.dataTables_wrapper div.dataTables_filter input + .form-group.search:before,
div.dataTables_wrapper div.dataTables_filter .form-group-lg input + .form-group.search:before,
.form-group-lg .form-control + .bs-searchbox:before,
.form-group-lg div.dataTables_wrapper div.dataTables_filter input + .bs-searchbox:before,
div.dataTables_wrapper div.dataTables_filter .form-group-lg input + .bs-searchbox:before {
  width: 40px;
  height: 40px;
  line-height: 40px;
}

.input-sm + .form-control-feedback, .input-sm + .form-group.search:before,
.input-sm + .bs-searchbox:before, .input-group-sm > .form-control + .form-control-feedback, div.dataTables_wrapper div.dataTables_filter .input-group-sm > input + .form-control-feedback, .input-group-sm > .form-control + .form-group.search:before, div.dataTables_wrapper div.dataTables_filter .input-group-sm > input + .form-group.search:before,
.input-group-sm > .form-control + .bs-searchbox:before,
div.dataTables_wrapper div.dataTables_filter .input-group-sm > input + .bs-searchbox:before,
.input-group-sm > .input-group-addon + .form-control-feedback,
.input-group-sm > .input-group-addon + .form-group.search:before,
.input-group-sm > .input-group-addon + .bs-searchbox:before,
.input-group-sm > .input-group-btn > .btn + .form-control-feedback,
.input-group-sm > .input-group-btn > .btn + .form-group.search:before,
.input-group-sm > .input-group-btn > .btn + .bs-searchbox:before,
.input-group-sm + .form-control-feedback,
.input-group-sm + .form-group.search:before,
.input-group-sm + .bs-searchbox:before,
.form-group-sm .form-control + .form-control-feedback,
.form-group-sm div.dataTables_wrapper div.dataTables_filter input + .form-control-feedback,
div.dataTables_wrapper div.dataTables_filter .form-group-sm input + .form-control-feedback,
.form-group-sm .form-control + .form-group.search:before,
.form-group-sm div.dataTables_wrapper div.dataTables_filter input + .form-group.search:before,
div.dataTables_wrapper div.dataTables_filter .form-group-sm input + .form-group.search:before,
.form-group-sm .form-control + .bs-searchbox:before,
.form-group-sm div.dataTables_wrapper div.dataTables_filter input + .bs-searchbox:before,
div.dataTables_wrapper div.dataTables_filter .form-group-sm input + .bs-searchbox:before {
  width: 28px;
  height: 28px;
  line-height: 28px;
}

.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline, .has-success.radio label, .has-success.checkbox label, .has-success.radio-inline label, .has-success.checkbox-inline label {
  color: #3c763d;
}
.has-success .form-control.bootstrap-select,
.has-success .form-control,
.has-success div.dataTables_wrapper div.dataTables_filter input,
div.dataTables_wrapper div.dataTables_filter .has-success input {
  border-color: #3c763d;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control.bootstrap-select:focus,
.has-success .form-control:focus,
.has-success div.dataTables_wrapper div.dataTables_filter input:focus,
div.dataTables_wrapper div.dataTables_filter .has-success input:focus {
  border-color: rgb(16.787838731%, 33.0160828376%, 17.0676360432%);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(40.2070940736%, 69.596827495%, 40.7138136153%);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(40.2070940736%, 69.596827495%, 40.7138136153%);
}
.has-success .input-group-addon {
  color: #3c763d;
  border-color: #3c763d;
  background-color: #dff0d8;
}
.has-success .form-control-feedback, .has-success .form-group.search:before,
.has-success .bs-searchbox:before {
  color: #3c763d;
}

.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline, .has-warning.radio label, .has-warning.checkbox label, .has-warning.radio-inline label, .has-warning.checkbox-inline label {
  color: #8a6d3b;
}
.has-warning .form-control.bootstrap-select,
.has-warning .form-control,
.has-warning div.dataTables_wrapper div.dataTables_filter input,
div.dataTables_wrapper div.dataTables_filter .has-warning input {
  border-color: #8a6d3b;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control.bootstrap-select:focus,
.has-warning .form-control:focus,
.has-warning div.dataTables_wrapper div.dataTables_filter input:focus,
div.dataTables_wrapper div.dataTables_filter .has-warning input:focus {
  border-color: rgb(40.1074947746%, 31.6791081915%, 17.1474071862%);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(75.2184731761%, 63.0377227033%, 42.0364287847%);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(75.2184731761%, 63.0377227033%, 42.0364287847%);
}
.has-warning .input-group-addon {
  color: #8a6d3b;
  border-color: #8a6d3b;
  background-color: #fcf8e3;
}
.has-warning .form-control-feedback, .has-warning .form-group.search:before,
.has-warning .bs-searchbox:before {
  color: #8a6d3b;
}

.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline, .has-error.radio label, .has-error.checkbox label, .has-error.radio-inline label, .has-error.checkbox-inline label {
  color: #a94442;
}
.has-error .form-control.bootstrap-select,
.has-error .form-control,
.has-error div.dataTables_wrapper div.dataTables_filter input,
div.dataTables_wrapper div.dataTables_filter .has-error input {
  border-color: #a94442;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control.bootstrap-select:focus,
.has-error .form-control:focus,
.has-error div.dataTables_wrapper div.dataTables_filter input:focus,
div.dataTables_wrapper div.dataTables_filter .has-error input:focus {
  border-color: rgb(51.8915310805%, 20.8794326241%, 20.2653316646%);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(80.9461827284%, 51.7880684189%, 51.2106800167%);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(80.9461827284%, 51.7880684189%, 51.2106800167%);
}
.has-error .input-group-addon {
  color: #a94442;
  border-color: #a94442;
  background-color: #f2dede;
}
.has-error .form-control-feedback, .has-error .form-group.search:before,
.has-error .bs-searchbox:before {
  color: #a94442;
}

.has-feedback label ~ .form-control-feedback, .has-feedback label ~ .form-group.search:before,
.has-feedback label ~ .bs-searchbox:before {
  top: 22px;
}
.has-feedback label.sr-only ~ .form-control-feedback, .has-feedback label.sr-only ~ .form-group.search:before,
.has-feedback label.sr-only ~ .bs-searchbox:before {
  top: 0;
}

.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: white;
}

@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .form-control, .form-inline div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .form-inline input {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-static {
    display: inline-block;
  }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .form-inline .input-group .input-group-addon,
  .form-inline .input-group .input-group-btn,
  .form-inline .input-group .form-control,
  .form-inline .input-group div.dataTables_wrapper div.dataTables_filter input,
  div.dataTables_wrapper div.dataTables_filter .form-inline .input-group input {
    width: auto;
  }
  .form-inline .input-group > .form-control, .form-inline div.dataTables_wrapper div.dataTables_filter .input-group > input, div.dataTables_wrapper div.dataTables_filter .form-inline .input-group > input {
    width: 100%;
  }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-left: 0;
  }
  .form-inline .radio input[type=radio],
  .form-inline .checkbox input[type=checkbox] {
    position: relative;
    margin-left: 0;
  }
  .form-inline .has-feedback .form-control-feedback, .form-inline .has-feedback .form-group.search:before,
  .form-inline .has-feedback .bs-searchbox:before {
    top: 0;
  }
}

.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 24px;
}
.form-horizontal .form-group {
  margin-left: -15px;
  margin-right: -15px;
}
.form-horizontal .form-group:before, .form-horizontal .form-group:after {
  content: " ";
  display: table;
}
.form-horizontal .form-group:after {
  clear: both;
}
@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px;
  }
}
.form-horizontal .has-feedback .form-control-feedback, .form-horizontal .has-feedback .form-group.search:before,
.form-horizontal .has-feedback .bs-searchbox:before {
  right: 15px;
}
@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 14.333333px;
    font-size: 13px;
  }
}
@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 11px;
  }
}

.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.428571429;
  border-radius: 6px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.btn:focus, .btn.focus, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus {
  /*
  // Default
  outline: thin dotted;
  // WebKit
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
  */
  text-decoration: none;
  outline: 0;
}
.btn:hover, .btn:focus, .btn.focus {
  color: #cbd5e1;
  text-decoration: none;
}
.btn:active, .btn.active {
  outline: 0;
  background-image: none;
}
.btn.disabled, .btn[disabled], fieldset[disabled] .btn {
  cursor: not-allowed;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  box-shadow: none;
}

a.btn.disabled, fieldset[disabled] a.btn {
  pointer-events: none;
}

.btn-default {
  color: #cbd5e1;
  background-color: #334155;
  border-color: #334155;
}
.btn-default:focus, .btn-default.focus {
  color: #cbd5e1;
  background-color: rgb(12.5%, 15.931372549%, 20.8333333333%);
  border-color: rgb(1.25%, 1.5931372549%, 2.0833333333%);
}
.btn-default:hover {
  color: #cbd5e1;
  background-color: rgb(12.5%, 15.931372549%, 20.8333333333%);
  border-color: rgb(11%, 14.0196078431%, 18.3333333333%);
}
.btn-default:active, .btn-default.active, .open > .btn-default.dropdown-toggle {
  color: #cbd5e1;
  background-color: rgb(12.5%, 15.931372549%, 20.8333333333%);
  border-color: rgb(11%, 14.0196078431%, 18.3333333333%);
}
.btn-default:active:hover, .btn-default:active:focus, .btn-default:active.focus, .btn-default.active:hover, .btn-default.active:focus, .btn-default.active.focus, .open > .btn-default.dropdown-toggle:hover, .open > .btn-default.dropdown-toggle:focus, .open > .btn-default.dropdown-toggle.focus {
  color: #cbd5e1;
  background-color: rgb(7.25%, 9.2401960784%, 12.0833333333%);
  border-color: rgb(1.25%, 1.5931372549%, 2.0833333333%);
}
.btn-default:active, .btn-default.active, .open > .btn-default.dropdown-toggle {
  background-image: none;
}
.btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled.focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled].focus, .btn-default[disabled]:active, .btn-default[disabled].active, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default.focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default.active {
  background-color: #334155;
  border-color: #334155;
}
.btn-default .badge {
  color: #334155;
  background-color: #cbd5e1;
}

.btn-primary, .btn-action {
  color: #fff;
  background-color: #2563eb;
  border-color: rgb(8.1232492997%, 33.3053221289%, 88.5434173669%);
}
.btn-primary:focus, .btn-action:focus, .btn-primary.focus, .focus.btn-action {
  color: #fff;
  background-color: rgb(7.2829131653%, 29.8599439776%, 79.3837535014%);
  border-color: #0a296d;
}
.btn-primary:hover, .btn-action:hover {
  color: #fff;
  background-color: rgb(7.2829131653%, 29.8599439776%, 79.3837535014%);
  border-color: rgb(6.106442577%, 25.0364145658%, 66.5602240896%);
}
.btn-primary:active, .btn-action:active, .btn-primary.active, .active.btn-action, .open > .btn-primary.dropdown-toggle, .open > .dropdown-toggle.btn-action {
  color: #fff;
  background-color: rgb(7.2829131653%, 29.8599439776%, 79.3837535014%);
  border-color: rgb(6.106442577%, 25.0364145658%, 66.5602240896%);
}
.btn-primary:active:hover, .btn-action:active:hover, .btn-primary:active:focus, .btn-action:active:focus, .btn-primary:active.focus, .btn-action:active.focus, .btn-primary.active:hover, .active.btn-action:hover, .btn-primary.active:focus, .active.btn-action:focus, .btn-primary.active.focus, .active.focus.btn-action, .open > .btn-primary.dropdown-toggle:hover, .open > .dropdown-toggle.btn-action:hover, .open > .btn-primary.dropdown-toggle:focus, .open > .dropdown-toggle.btn-action:focus, .open > .btn-primary.dropdown-toggle.focus, .open > .dropdown-toggle.focus.btn-action {
  color: #fff;
  background-color: rgb(6.106442577%, 25.0364145658%, 66.5602240896%);
  border-color: #0a296d;
}
.btn-primary:active, .btn-action:active, .btn-primary.active, .active.btn-action, .open > .btn-primary.dropdown-toggle, .open > .dropdown-toggle.btn-action {
  background-image: none;
}
.btn-primary.disabled, .disabled.btn-action, .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary.disabled:active, .btn-primary.disabled.active, .btn-primary[disabled], [disabled].btn-action, .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled].focus, .btn-primary[disabled]:active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-action, fieldset[disabled] .btn-primary:hover, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary.focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary.active {
  background-color: #2563eb;
  border-color: rgb(8.1232492997%, 33.3053221289%, 88.5434173669%);
}
.btn-primary .badge, .btn-action .badge {
  color: #2563eb;
  background-color: #fff;
}

.btn-success {
  color: #fff;
  background-color: #5cb85c;
  border-color: rgb(29.8064353947%, 68.428858723%, 29.8064353947%);
}
.btn-success:focus, .btn-success.focus {
  color: #fff;
  background-color: rgb(26.7722473605%, 61.4630467572%, 26.7722473605%);
  border-color: rgb(14.6354952237%, 33.5997988939%, 14.6354952237%);
}
.btn-success:hover {
  color: #fff;
  background-color: rgb(26.7722473605%, 61.4630467572%, 26.7722473605%);
  border-color: rgb(22.5243841126%, 51.710910005%, 22.5243841126%);
}
.btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle {
  color: #fff;
  background-color: rgb(26.7722473605%, 61.4630467572%, 26.7722473605%);
  border-color: rgb(22.5243841126%, 51.710910005%, 22.5243841126%);
}
.btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus, .open > .btn-success.dropdown-toggle:hover, .open > .btn-success.dropdown-toggle:focus, .open > .btn-success.dropdown-toggle.focus {
  color: #fff;
  background-color: rgb(22.5243841126%, 51.710910005%, 22.5243841126%);
  border-color: rgb(14.6354952237%, 33.5997988939%, 14.6354952237%);
}
.btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle {
  background-image: none;
}
.btn-success.disabled, .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success.disabled:active, .btn-success.disabled.active, .btn-success[disabled], .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled].focus, .btn-success[disabled]:active, .btn-success[disabled].active, fieldset[disabled] .btn-success, fieldset[disabled] .btn-success:hover, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success.focus, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success.active {
  background-color: #5cb85c;
  border-color: rgb(29.8064353947%, 68.428858723%, 29.8064353947%);
}
.btn-success .badge {
  color: #5cb85c;
  background-color: #fff;
}

.btn-info {
  color: #fff;
  background-color: #5bc0de;
  border-color: rgb(27.3614014134%, 72.0961481039%, 85.3836966259%);
}
.btn-info:focus, .btn-info.focus {
  color: #fff;
  background-color: rgb(19.0365283169%, 68.8981785608%, 83.7085697223%);
  border-color: rgb(10.5106001792%, 42.6794067881%, 52.2344978601%);
}
.btn-info:hover {
  color: #fff;
  background-color: rgb(19.0365283169%, 68.8981785608%, 83.7085697223%);
  border-color: rgb(14.8659301284%, 60.3646859759%, 73.8791679108%);
}
.btn-info:active, .btn-info.active, .open > .btn-info.dropdown-toggle {
  color: #fff;
  background-color: rgb(19.0365283169%, 68.8981785608%, 83.7085697223%);
  border-color: rgb(14.8659301284%, 60.3646859759%, 73.8791679108%);
}
.btn-info:active:hover, .btn-info:active:focus, .btn-info:active.focus, .btn-info.active:hover, .btn-info.active:focus, .btn-info.active.focus, .open > .btn-info.dropdown-toggle:hover, .open > .btn-info.dropdown-toggle:focus, .open > .btn-info.dropdown-toggle.focus {
  color: #fff;
  background-color: rgb(14.8659301284%, 60.3646859759%, 73.8791679108%);
  border-color: rgb(10.5106001792%, 42.6794067881%, 52.2344978601%);
}
.btn-info:active, .btn-info.active, .open > .btn-info.dropdown-toggle {
  background-image: none;
}
.btn-info.disabled, .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info.disabled:active, .btn-info.disabled.active, .btn-info[disabled], .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled].focus, .btn-info[disabled]:active, .btn-info[disabled].active, fieldset[disabled] .btn-info, fieldset[disabled] .btn-info:hover, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info.focus, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info.active {
  background-color: #5bc0de;
  border-color: rgb(27.3614014134%, 72.0961481039%, 85.3836966259%);
}
.btn-info .badge {
  color: #5bc0de;
  background-color: #fff;
}

.btn-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: rgb(93.3363970588%, 63.5723039216%, 21.3694852941%);
}
.btn-warning:focus, .btn-warning.focus {
  color: #fff;
  background-color: rgb(92.5551470588%, 59.3014705882%, 12.1507352941%);
  border-color: rgb(59.6507352941%, 37.0710784314%, 5.0551470588%);
}
.btn-warning:hover {
  color: #fff;
  background-color: rgb(92.5551470588%, 59.3014705882%, 12.1507352941%);
  border-color: rgb(83.6194852941%, 51.9669117647%, 7.0863970588%);
}
.btn-warning:active, .btn-warning.active, .open > .btn-warning.dropdown-toggle {
  color: #fff;
  background-color: rgb(92.5551470588%, 59.3014705882%, 12.1507352941%);
  border-color: rgb(83.6194852941%, 51.9669117647%, 7.0863970588%);
}
.btn-warning:active:hover, .btn-warning:active:focus, .btn-warning:active.focus, .btn-warning.active:hover, .btn-warning.active:focus, .btn-warning.active.focus, .open > .btn-warning.dropdown-toggle:hover, .open > .btn-warning.dropdown-toggle:focus, .open > .btn-warning.dropdown-toggle.focus {
  color: #fff;
  background-color: rgb(83.6194852941%, 51.9669117647%, 7.0863970588%);
  border-color: rgb(59.6507352941%, 37.0710784314%, 5.0551470588%);
}
.btn-warning:active, .btn-warning.active, .open > .btn-warning.dropdown-toggle {
  background-image: none;
}
.btn-warning.disabled, .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning.disabled:active, .btn-warning.disabled.active, .btn-warning[disabled], .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled].focus, .btn-warning[disabled]:active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-warning:hover, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning.focus, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning.active {
  background-color: #f0ad4e;
  border-color: rgb(93.3363970588%, 63.5723039216%, 21.3694852941%);
}
.btn-warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}

.btn-danger {
  color: #fff;
  background-color: #d9534f;
  border-color: rgb(83.3223382811%, 24.5116364303%, 22.7560930914%);
}
.btn-danger:focus, .btn-danger.focus {
  color: #fff;
  background-color: rgb(79.0177753344%, 18.8565145684%, 17.0606560381%);
  border-color: rgb(46.1205790728%, 11.0060472787%, 9.9578522998%);
}
.btn-danger:hover {
  color: #fff;
  background-color: rgb(79.0177753344%, 18.8565145684%, 17.0606560381%);
  border-color: rgb(67.5037566428%, 16.108851017%, 14.5746747297%);
}
.btn-danger:active, .btn-danger.active, .open > .btn-danger.dropdown-toggle {
  color: #fff;
  background-color: rgb(79.0177753344%, 18.8565145684%, 17.0606560381%);
  border-color: rgb(67.5037566428%, 16.108851017%, 14.5746747297%);
}
.btn-danger:active:hover, .btn-danger:active:focus, .btn-danger:active.focus, .btn-danger.active:hover, .btn-danger.active:focus, .btn-danger.active.focus, .open > .btn-danger.dropdown-toggle:hover, .open > .btn-danger.dropdown-toggle:focus, .open > .btn-danger.dropdown-toggle.focus {
  color: #fff;
  background-color: rgb(67.5037566428%, 16.108851017%, 14.5746747297%);
  border-color: rgb(46.1205790728%, 11.0060472787%, 9.9578522998%);
}
.btn-danger:active, .btn-danger.active, .open > .btn-danger.dropdown-toggle {
  background-image: none;
}
.btn-danger.disabled, .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger.disabled:active, .btn-danger.disabled.active, .btn-danger[disabled], .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled].focus, .btn-danger[disabled]:active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger, fieldset[disabled] .btn-danger:hover, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger.focus, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger.active {
  background-color: #d9534f;
  border-color: rgb(83.3223382811%, 24.5116364303%, 22.7560930914%);
}
.btn-danger .badge {
  color: #d9534f;
  background-color: #fff;
}

.btn-link {
  color: #2563eb;
  font-weight: normal;
  border-radius: 0;
}
.btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled], fieldset[disabled] .btn-link {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active {
  border-color: transparent;
}
.btn-link:hover, .btn-link:focus {
  color: rgb(6.4425770308%, 26.4145658263%, 70.2240896359%);
  text-decoration: underline;
  background-color: transparent;
}
.btn-link[disabled]:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:hover, fieldset[disabled] .btn-link:focus {
  color: #444444;
  text-decoration: none;
}

.btn-lg, .btn-group-lg > .btn {
  padding: 10px 16px;
  font-size: 13px;
  line-height: 1.3333333;
  border-radius: 8px;
}

.btn-sm, .action-block .btn, .btn-group-sm > .btn {
  padding: 5px 10px;
  font-size: 11px;
  line-height: 1.5;
  border-radius: 4px;
}

.btn-xs, .btn-group-xs > .btn {
  padding: 1px 5px;
  font-size: 11px;
  line-height: 1.5;
  border-radius: 4px;
}

.btn-block {
  display: block;
  width: 100%;
}

.btn-block + .btn-block {
  margin-top: 5px;
}

input[type=submit].btn-block,
input[type=reset].btn-block,
input[type=button].btn-block {
  width: 100%;
}

.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}
.fade.in {
  opacity: 1;
}

.collapse {
  display: none;
}
.collapse.in {
  display: block;
}

tr.collapse.in {
  display: table-row;
}

tbody.collapse.in {
  display: table-row-group;
}

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height, visibility;
  transition-property: height, visibility;
  -webkit-transition-duration: 0.35s;
  transition-duration: 0.35s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}

.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-top: 4px solid \9 ;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}

.dropup,
.dropdown {
  position: relative;
}

.dropdown-toggle:focus {
  outline: 0;
}

.dropdown-menu, .leaflet-control-layers .leaflet-control-layers-list {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 12px;
  text-align: left;
  background-color: #1e293b;
  border: 1px solid #334155;
  border: 1px solid #334155;
  border-radius: 6px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box;
}
.dropdown-menu.pull-right, .nav-pagination .dropdown-menu.pagination, .leaflet-control-layers .pull-right.leaflet-control-layers-list, .leaflet-control-layers .nav-pagination .leaflet-control-layers-list.pagination, .nav-pagination .leaflet-control-layers .leaflet-control-layers-list.pagination {
  right: 0;
  left: auto;
}
.dropdown-menu .divider, .leaflet-control-layers .leaflet-control-layers-list .divider {
  height: 1px;
  margin: 7.5px 0;
  overflow: hidden;
  background-color: #334155;
}
.dropdown-menu > li > a, .leaflet-control-layers .leaflet-control-layers-list > li > a {
  display: block;
  padding: 6px 13px;
  clear: both;
  font-weight: normal;
  line-height: 1.428571429;
  color: #cbd5e1;
  white-space: nowrap;
}

.dropdown-menu > li > a:hover, .leaflet-control-layers .leaflet-control-layers-list > li > a:hover, .dropdown-menu > li > a:focus, .leaflet-control-layers .leaflet-control-layers-list > li > a:focus {
  text-decoration: none;
  color: #ffffff;
  background-color: #0f172a;
}

.dropdown-menu > .active > a, .leaflet-control-layers .leaflet-control-layers-list > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {
  color: #ffffff;
  text-decoration: none;
  outline: 0;
  background-color: #0f172a;
}

.dropdown-menu > .disabled > a, .leaflet-control-layers .leaflet-control-layers-list > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {
  color: #cbd5e1;
}
.dropdown-menu > .disabled > a:hover, .leaflet-control-layers .leaflet-control-layers-list > .disabled > a:hover, .dropdown-menu > .disabled > a:focus, .leaflet-control-layers .leaflet-control-layers-list > .disabled > a:focus {
  text-decoration: none;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  cursor: not-allowed;
}

.open > .dropdown-menu, .leaflet-control-layers .open > .leaflet-control-layers-list {
  display: block;
}
.open > a {
  outline: 0;
}

.dropdown-menu-right {
  left: auto;
  right: 0;
}

.dropdown-menu-left {
  left: 0;
  right: auto;
}

.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 11px;
  line-height: 1.428571429;
  color: #cbd5e1;
  white-space: nowrap;
}

.dropdown-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 990;
}

.pull-right > .dropdown-menu, .nav-pagination .pagination > .dropdown-menu, .leaflet-control-layers .pull-right > .leaflet-control-layers-list, .leaflet-control-layers .nav-pagination .pagination > .leaflet-control-layers-list, .nav-pagination .leaflet-control-layers .pagination > .leaflet-control-layers-list {
  right: 0;
  left: auto;
}

.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px dashed;
  border-bottom: 4px solid \9 ;
  content: "";
}
.dropup .dropdown-menu, .dropup .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers .dropup .leaflet-control-layers-list,
.navbar-fixed-bottom .dropdown .dropdown-menu,
.navbar-fixed-bottom .dropdown .leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers .navbar-fixed-bottom .dropdown .leaflet-control-layers-list {
  top: auto;
  bottom: 100%;
  margin-bottom: 2px;
}

@media (min-width: 768px) {
  .navbar-right .dropdown-menu, .navbar-right .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers .navbar-right .leaflet-control-layers-list {
    right: 0;
    left: auto;
  }
  .navbar-right .dropdown-menu-left {
    left: 0;
    right: auto;
  }
}
.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  float: left;
}
.btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 2;
}

.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-left: -1px;
}

.btn-toolbar {
  margin-left: -5px;
}
.btn-toolbar:before, .btn-toolbar:after {
  content: " ";
  display: table;
}
.btn-toolbar:after {
  clear: both;
}
.btn-toolbar .btn,
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
  float: left;
}
.btn-toolbar > .btn,
.btn-toolbar > .btn-group,
.btn-toolbar > .input-group {
  margin-left: 5px;
}

.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
  border-radius: 0;
}

.btn-group > .btn:first-child {
  margin-left: 0;
}
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

.btn-group > .btn-group {
  float: left;
}

.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}

.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0;
}

.btn-group > .btn + .dropdown-toggle {
  padding-left: 8px;
  padding-right: 8px;
}

.btn-group > .btn-lg + .dropdown-toggle, .btn-group.btn-group-lg > .btn + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 12px;
}

.btn-group.open .dropdown-toggle {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.open .dropdown-toggle.btn-link {
  -webkit-box-shadow: none;
  box-shadow: none;
}

.btn .caret {
  margin-left: 0;
}

.btn-lg .caret, .btn-group-lg > .btn .caret {
  border-width: 5px 5px 0;
  border-bottom-width: 0;
}

.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret {
  border-width: 0 5px 5px;
}

.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
}
.btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after {
  content: " ";
  display: table;
}
.btn-group-vertical > .btn-group:after {
  clear: both;
}
.btn-group-vertical > .btn-group > .btn {
  float: none;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
  margin-top: -1px;
  margin-left: 0;
}

.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.btn-group-vertical > .btn:first-child:not(:last-child) {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:last-child:not(:first-child) {
  border-bottom-left-radius: 6px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}

.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

.btn-group-justified {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
}
.btn-group-justified > .btn,
.btn-group-justified > .btn-group {
  float: none;
  display: table-cell;
  width: 1%;
}
.btn-group-justified > .btn-group .btn {
  width: 100%;
}
.btn-group-justified > .btn-group .dropdown-menu, .btn-group-justified > .btn-group .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers .btn-group-justified > .btn-group .leaflet-control-layers-list {
  left: auto;
}

[data-toggle=buttons] > .btn input[type=radio],
[data-toggle=buttons] > .btn input[type=checkbox],
[data-toggle=buttons] > .btn-group > .btn input[type=radio],
[data-toggle=buttons] > .btn-group > .btn input[type=checkbox] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}

.input-group {
  position: relative;
  display: table;
  border-collapse: separate;
}
.input-group[class*=col-] {
  float: none;
  padding-left: 0;
  padding-right: 0;
}
.input-group .form-control, .input-group div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .input-group input {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
}

.input-group-addon,
.input-group-btn,
.input-group .form-control,
.input-group div.dataTables_wrapper div.dataTables_filter input,
div.dataTables_wrapper div.dataTables_filter .input-group input {
  display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child),
.input-group div.dataTables_wrapper div.dataTables_filter input:not(:first-child):not(:last-child),
div.dataTables_wrapper div.dataTables_filter .input-group input:not(:first-child):not(:last-child) {
  border-radius: 0;
}

.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}

.input-group-addon {
  padding: 6px 12px;
  font-size: 12px;
  font-weight: normal;
  line-height: 1;
  color: #e2e8f0;
  text-align: center;
  background-color: #0f172a;
  border: 1px solid transparent;
  border-radius: 6px;
}
.input-group-addon.input-sm,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .input-group-addon.btn {
  padding: 5px 10px;
  font-size: 11px;
  border-radius: 4px;
}
.input-group-addon.input-lg,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .input-group-addon.btn {
  padding: 10px 16px;
  font-size: 13px;
  border-radius: 8px;
}
.input-group-addon input[type=radio],
.input-group-addon input[type=checkbox] {
  margin-top: 0;
}

.input-group .form-control:first-child, .input-group div.dataTables_wrapper div.dataTables_filter input:first-child, div.dataTables_wrapper div.dataTables_filter .input-group input:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

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

.input-group .form-control:last-child, .input-group div.dataTables_wrapper div.dataTables_filter input:last-child, div.dataTables_wrapper div.dataTables_filter .input-group input:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

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

.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}
.input-group-btn > .btn {
  position: relative;
}
.input-group-btn > .btn + .btn {
  margin-left: -1px;
}
.input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active {
  z-index: 2;
}
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group {
  margin-right: -1px;
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
  z-index: 2;
  margin-left: -1px;
}

.nav {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
.nav:before, .nav:after {
  content: " ";
  display: table;
}
.nav:after {
  clear: both;
}
.nav > li {
  position: relative;
  display: block;
}
.nav > li > a {
  position: relative;
  display: block;
  padding: 10px 15px;
}
.nav > li > a:hover {
  text-decoration: none;
  background-color: #1e293b;
}
.nav > li.disabled > a {
  color: #cbd5e1;
}
.nav > li.disabled > a:hover {
  color: #cbd5e1;
  text-decoration: none;
  background-color: transparent;
  cursor: not-allowed;
}
.nav .open > a, .nav .open > a:hover {
  background-color: #1e293b;
  border-color: #2563eb;
}
.nav .nav-divider {
  height: 1px;
  margin: 7.5px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.nav > li > a > img {
  max-width: none;
}

.nav-tabs {
  border-bottom: 1px solid transparent;
}
.nav-tabs > li {
  float: left;
  margin-bottom: -1px;
}
.nav-tabs > li > a {
  margin-right: 2px;
  line-height: 1.428571429;
  border: 1px solid transparent;
  border-radius: 6px 6px 0 0;
}
.nav-tabs > li > a:hover {
  border-color: #1e293b #1e293b transparent;
}
.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
  color: #f1f5f9;
  background-color: #1e293b;
  border: 1px solid #1e293b;
  border-bottom-color: transparent;
  cursor: default;
}
.nav-pills > li {
  float: left;
}
.nav-pills > li > a {
  border-radius: 6px;
}
.nav-pills > li + li {
  margin-left: 2px;
}
.nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus {
  color: #ffffff;
  background-color: #2563eb;
}

.nav-stacked > li {
  float: none;
}
.nav-stacked > li + li {
  margin-top: 2px;
  margin-left: 0;
}

.nav-justified, .nav-tabs.nav-justified {
  width: 100%;
}
.nav-justified > li, .nav-tabs.nav-justified > li {
  float: none;
}
.nav-justified > li > a, .nav-tabs.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-justified > .dropdown .dropdown-menu, .nav-justified > .dropdown .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers .nav-justified > .dropdown .leaflet-control-layers-list {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-justified > li, .nav-tabs.nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-justified > li > a, .nav-tabs.nav-justified > li > a {
    margin-bottom: 0;
  }
}

.nav-tabs-justified, .nav-tabs.nav-justified {
  border-bottom: 0;
}
.nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {
  margin-right: 0;
  border-radius: 6px;
}
.nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
  border: 1px solid #334155;
}
@media (min-width: 768px) {
  .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {
    border-bottom: 1px solid #334155;
    border-radius: 6px 6px 0 0;
  }
  .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a,
  .nav-tabs-justified > .active > a:hover,
  .nav-tabs-justified > .active > a:focus {
    border-bottom-color: #1e293b;
  }
}

.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}

.nav-tabs .dropdown-menu, .nav-tabs .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers .nav-tabs .leaflet-control-layers-list {
  margin-top: -1px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

.navbar {
  position: relative;
  min-height: 42px;
  margin-bottom: 0;
  border: 1px solid transparent;
}
.navbar:before, .navbar:after {
  content: " ";
  display: table;
}
.navbar:after {
  clear: both;
}
@media (min-width: 768px) {
  .navbar {
    border-radius: 0;
  }
}

.navbar-header:before, .navbar-header:after {
  content: " ";
  display: table;
}
.navbar-header:after {
  clear: both;
}
@media (min-width: 768px) {
  .navbar-header {
    float: left;
  }
}

.navbar-collapse {
  overflow-x: visible;
  padding-right: 15px;
  padding-left: 15px;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.navbar-collapse:before, .navbar-collapse:after {
  content: " ";
  display: table;
}
.navbar-collapse:after {
  clear: both;
}
.navbar-collapse {
  -webkit-overflow-scrolling: touch;
}
.navbar-collapse.in {
  overflow-y: auto;
}
@media (min-width: 768px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
  }
  .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }
  .navbar-collapse.in {
    overflow-y: visible;
  }
  .navbar-fixed-top .navbar-collapse, #header .main-navbar .navbar-collapse, .navbar-static-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse {
    padding-left: 0;
    padding-right: 0;
  }
}

.navbar-fixed-top .navbar-collapse, #header .main-navbar .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px;
}
@media (max-device-width: 480px) and (orientation: landscape) {
  .navbar-fixed-top .navbar-collapse, #header .main-navbar .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    max-height: 200px;
  }
}

.container > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-header,
.container-fluid > .navbar-collapse {
  margin-right: -15px;
  margin-left: -15px;
}
@media (min-width: 768px) {
  .container > .navbar-header,
  .container > .navbar-collapse,
  .container-fluid > .navbar-header,
  .container-fluid > .navbar-collapse {
    margin-right: 0;
    margin-left: 0;
  }
}

.navbar-static-top {
  z-index: 1000;
  border-width: 0 0 1px;
}
@media (min-width: 768px) {
  .navbar-static-top {
    border-radius: 0;
  }
}

.navbar-fixed-top, #header .main-navbar,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
}
@media (min-width: 768px) {
  .navbar-fixed-top, #header .main-navbar,
  .navbar-fixed-bottom {
    border-radius: 0;
  }
}

.navbar-fixed-top, #header .main-navbar {
  top: 0;
  border-width: 0 0 1px;
}

.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0;
}

.navbar-brand {
  float: left;
  padding: 12.5px 15px;
  font-size: 13px;
  line-height: 17px;
  height: 42px;
}
.navbar-brand:hover, .navbar-brand:focus {
  text-decoration: none;
}
.navbar-brand > img {
  display: block;
}
@media (min-width: 768px) {
  .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand {
    margin-left: -15px;
  }
}

.navbar-toggle {
  position: relative;
  float: right;
  margin-right: 15px;
  padding: 9px 10px;
  margin-top: 0px;
  margin-bottom: 0px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 6px;
}
.navbar-toggle:focus {
  outline: 0;
}
.navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
}
.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 4px;
}
@media (min-width: 768px) {
  .navbar-toggle {
    display: none;
  }
}

.navbar-nav {
  margin: 6.25px -15px;
}
.navbar-nav > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 17px;
}
@media (max-width: 767px) {
  .navbar-nav .open .dropdown-menu, .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers .navbar-nav .open .leaflet-control-layers-list {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    box-shadow: none;
  }
  .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a, .leaflet-control-layers .navbar-nav .open .leaflet-control-layers-list > li > a,
  .navbar-nav .open .dropdown-menu .dropdown-header,
  .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list .dropdown-header,
  .leaflet-control-layers .navbar-nav .open .leaflet-control-layers-list .dropdown-header {
    padding: 5px 15px 5px 25px;
  }
  .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a, .leaflet-control-layers .navbar-nav .open .leaflet-control-layers-list > li > a {
    line-height: 17px;
  }
  .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a:hover, .leaflet-control-layers .navbar-nav .open .leaflet-control-layers-list > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus, .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a:focus, .leaflet-control-layers .navbar-nav .open .leaflet-control-layers-list > li > a:focus {
    background-image: none;
  }
}
@media (min-width: 768px) {
  .navbar-nav {
    float: left;
    margin: 0;
  }
  .navbar-nav > li {
    float: left;
  }
  .navbar-nav > li > a {
    padding-top: 12.5px;
    padding-bottom: 12.5px;
  }
}

.navbar-form {
  margin-left: -15px;
  margin-right: -15px;
  padding: 10px 15px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
}
@media (min-width: 768px) {
  .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .form-control, .navbar-form div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .navbar-form input {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .navbar-form .form-control-static {
    display: inline-block;
  }
  .navbar-form .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .navbar-form .input-group .input-group-addon,
  .navbar-form .input-group .input-group-btn,
  .navbar-form .input-group .form-control,
  .navbar-form .input-group div.dataTables_wrapper div.dataTables_filter input,
  div.dataTables_wrapper div.dataTables_filter .navbar-form .input-group input {
    width: auto;
  }
  .navbar-form .input-group > .form-control, .navbar-form div.dataTables_wrapper div.dataTables_filter .input-group > input, div.dataTables_wrapper div.dataTables_filter .navbar-form .input-group > input {
    width: 100%;
  }
  .navbar-form .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio,
  .navbar-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio label,
  .navbar-form .checkbox label {
    padding-left: 0;
  }
  .navbar-form .radio input[type=radio],
  .navbar-form .checkbox input[type=checkbox] {
    position: relative;
    margin-left: 0;
  }
  .navbar-form .has-feedback .form-control-feedback, .navbar-form .has-feedback .form-group.search:before,
  .navbar-form .has-feedback .bs-searchbox:before {
    top: 0;
  }
}
@media (max-width: 767px) {
  .navbar-form .form-group {
    margin-bottom: 5px;
  }
  .navbar-form .form-group:last-child {
    margin-bottom: 0;
  }
}
.navbar-form {
  margin-top: 5.5px;
  margin-bottom: 5.5px;
}
@media (min-width: 768px) {
  .navbar-form {
    width: auto;
    border: 0;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
}

.navbar-nav > li > .dropdown-menu, .leaflet-control-layers .navbar-nav > li > .leaflet-control-layers-list {
  margin-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu, .navbar-fixed-bottom .leaflet-control-layers .navbar-nav > li > .leaflet-control-layers-list, .leaflet-control-layers .navbar-fixed-bottom .navbar-nav > li > .leaflet-control-layers-list {
  margin-bottom: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.navbar-btn {
  margin-top: 5.5px;
  margin-bottom: 5.5px;
}
.navbar-btn.btn-sm, .action-block .navbar-btn.btn, .btn-group-sm > .navbar-btn.btn {
  margin-top: 7px;
  margin-bottom: 7px;
}
.navbar-btn.btn-xs, .btn-group-xs > .navbar-btn.btn {
  margin-top: 10px;
  margin-bottom: 10px;
}

.navbar-text {
  margin-top: 12.5px;
  margin-bottom: 12.5px;
}
@media (min-width: 768px) {
  .navbar-text {
    float: left;
    margin-left: 15px;
    margin-right: 15px;
  }
}

@media (min-width: 768px) {
  .navbar-left {
    float: left !important;
  }
  .navbar-right {
    float: right !important;
    margin-right: -15px;
  }
  .navbar-right ~ .navbar-right {
    margin-right: 0;
  }
}
.navbar-default {
  background-color: #1e293b;
  border-color: #334155;
}
.navbar-default .navbar-brand {
  color: #f1f5f9;
}
.navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus {
  color: #2563eb;
  background-color: #1e293b;
}
.navbar-default .navbar-text {
  color: #f1f5f9;
}
.navbar-default .navbar-nav > li > a {
  color: #f1f5f9;
}
.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {
  color: #2563eb;
  background-color: #0f172a;
}
.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {
  color: #2563eb;
  background-color: #0f172a;
}
.navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus {
  color: #ccc;
  background-color: transparent;
}
.navbar-default .navbar-toggle {
  border-color: #334155;
}
.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
  background-color: #0f172a;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #2563eb;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #334155;
}
.navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus {
  background-color: #0f172a;
  color: #2563eb;
}
@media (max-width: 767px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a, .navbar-default .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a, .leaflet-control-layers .navbar-default .navbar-nav .open .leaflet-control-layers-list > li > a {
    color: #f1f5f9;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a:hover, .leaflet-control-layers .navbar-default .navbar-nav .open .leaflet-control-layers-list > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus, .navbar-default .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a:focus, .leaflet-control-layers .navbar-default .navbar-nav .open .leaflet-control-layers-list > li > a:focus {
    color: #2563eb;
    background-color: #0f172a;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > .active > a, .leaflet-control-layers .navbar-default .navbar-nav .open .leaflet-control-layers-list > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #2563eb;
    background-color: #0f172a;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > .disabled > a, .leaflet-control-layers .navbar-default .navbar-nav .open .leaflet-control-layers-list > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #ccc;
    background-color: transparent;
  }
}
.navbar-default .navbar-link {
  color: #f1f5f9;
}
.navbar-default .navbar-link:hover {
  color: #2563eb;
}
.navbar-default .btn-link {
  color: #f1f5f9;
}
.navbar-default .btn-link:hover, .navbar-default .btn-link:focus {
  color: #2563eb;
}
.navbar-default .btn-link[disabled]:hover, .navbar-default .btn-link[disabled]:focus, fieldset[disabled] .navbar-default .btn-link:hover, fieldset[disabled] .navbar-default .btn-link:focus {
  color: #ccc;
}

.navbar-inverse {
  background-color: #222;
  border-color: rgb(3.3333333333%, 3.3333333333%, 3.3333333333%);
}
.navbar-inverse .navbar-brand {
  color: rgb(41.6666666667%, 41.6666666667%, 41.6666666667%);
}
.navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-text {
  color: rgb(41.6666666667%, 41.6666666667%, 41.6666666667%);
}
.navbar-inverse .navbar-nav > li > a {
  color: rgb(41.6666666667%, 41.6666666667%, 41.6666666667%);
}
.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus {
  color: #fff;
  background-color: rgb(3.3333333333%, 3.3333333333%, 3.3333333333%);
}
.navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus {
  color: #444;
  background-color: transparent;
}
.navbar-inverse .navbar-toggle {
  border-color: #333;
}
.navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus {
  background-color: #333;
}
.navbar-inverse .navbar-toggle .icon-bar {
  background-color: #fff;
}
.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
  border-color: rgb(6.3333333333%, 6.3333333333%, 6.3333333333%);
}
.navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus {
  background-color: rgb(3.3333333333%, 3.3333333333%, 3.3333333333%);
  color: #fff;
}
@media (max-width: 767px) {
  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header, .navbar-inverse .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > .dropdown-header, .leaflet-control-layers .navbar-inverse .navbar-nav .open .leaflet-control-layers-list > .dropdown-header {
    border-color: rgb(3.3333333333%, 3.3333333333%, 3.3333333333%);
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu .divider, .navbar-inverse .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list .divider, .leaflet-control-layers .navbar-inverse .navbar-nav .open .leaflet-control-layers-list .divider {
    background-color: rgb(3.3333333333%, 3.3333333333%, 3.3333333333%);
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a, .navbar-inverse .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a, .leaflet-control-layers .navbar-inverse .navbar-nav .open .leaflet-control-layers-list > li > a {
    color: rgb(41.6666666667%, 41.6666666667%, 41.6666666667%);
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a:hover, .leaflet-control-layers .navbar-inverse .navbar-nav .open .leaflet-control-layers-list > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus, .navbar-inverse .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a:focus, .leaflet-control-layers .navbar-inverse .navbar-nav .open .leaflet-control-layers-list > li > a:focus {
    color: #fff;
    background-color: transparent;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > .active > a, .leaflet-control-layers .navbar-inverse .navbar-nav .open .leaflet-control-layers-list > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #fff;
    background-color: rgb(3.3333333333%, 3.3333333333%, 3.3333333333%);
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > .disabled > a, .leaflet-control-layers .navbar-inverse .navbar-nav .open .leaflet-control-layers-list > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #444;
    background-color: transparent;
  }
}
.navbar-inverse .navbar-link {
  color: rgb(41.6666666667%, 41.6666666667%, 41.6666666667%);
}
.navbar-inverse .navbar-link:hover {
  color: #fff;
}
.navbar-inverse .btn-link {
  color: rgb(41.6666666667%, 41.6666666667%, 41.6666666667%);
}
.navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus {
  color: #fff;
}
.navbar-inverse .btn-link[disabled]:hover, .navbar-inverse .btn-link[disabled]:focus, fieldset[disabled] .navbar-inverse .btn-link:hover, fieldset[disabled] .navbar-inverse .btn-link:focus {
  color: #444;
}

.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 17px 0;
  border-radius: 6px;
}
.pagination > li {
  display: inline;
}
.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  line-height: 1.428571429;
  text-decoration: none;
  color: #f1f5f9;
  background-color: #1e293b;
  border: 1px solid transparent;
  margin-left: -1px;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
  border-bottom-left-radius: 6px;
  border-top-left-radius: 6px;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-bottom-right-radius: 6px;
  border-top-right-radius: 6px;
}
.pagination > li > a:hover, .pagination > li > a:focus,
.pagination > li > span:hover,
.pagination > li > span:focus {
  z-index: 3;
  color: #f1f5f9;
  background-color: #0f172a;
  border-color: transparent;
}
.pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus,
.pagination > .active > span,
.pagination > .active > span:hover,
.pagination > .active > span:focus {
  z-index: 2;
  color: #2563eb;
  background-color: #0f172a;
  border-color: transparent;
  cursor: default;
}
.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  color: #cbd5e1;
  background-color: #1e293b;
  border-color: transparent;
  cursor: not-allowed;
}

.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 13px;
  line-height: 1.3333333;
}
.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-bottom-left-radius: 8px;
  border-top-left-radius: 8px;
}
.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-bottom-right-radius: 8px;
  border-top-right-radius: 8px;
}

.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 11px;
  line-height: 1.5;
}
.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px;
}
.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-bottom-right-radius: 4px;
  border-top-right-radius: 4px;
}

.label {
  display: inline;
  padding: 0.2em 0.6em 0.3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25em;
}
.label:empty {
  display: none;
}
.btn .label {
  position: relative;
  top: -1px;
}

a.label:hover, a.label:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}

.label-default {
  background-color: #444444;
}
.label-default[href]:hover, .label-default[href]:focus {
  background-color: rgb(16.6666666667%, 16.6666666667%, 16.6666666667%);
}

.label-primary {
  background-color: #2563eb;
}
.label-primary[href]:hover, .label-primary[href]:focus {
  background-color: rgb(7.2829131653%, 29.8599439776%, 79.3837535014%);
}

.label-success {
  background-color: #5cb85c;
}
.label-success[href]:hover, .label-success[href]:focus {
  background-color: rgb(26.7722473605%, 61.4630467572%, 26.7722473605%);
}

.label-info {
  background-color: #5bc0de;
}
.label-info[href]:hover, .label-info[href]:focus {
  background-color: rgb(19.0365283169%, 68.8981785608%, 83.7085697223%);
}

.label-warning {
  background-color: #f0ad4e;
}
.label-warning[href]:hover, .label-warning[href]:focus {
  background-color: rgb(92.5551470588%, 59.3014705882%, 12.1507352941%);
}

.label-danger {
  background-color: #d9534f;
}
.label-danger[href]:hover, .label-danger[href]:focus {
  background-color: rgb(79.0177753344%, 18.8565145684%, 17.0606560381%);
}

.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 11px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  background-color: #444444;
  border-radius: 10px;
}
.badge:empty {
  display: none;
}
.btn .badge {
  position: relative;
  top: -1px;
}
.btn-xs .badge, .btn-group-xs > .btn .badge {
  top: 0;
  padding: 1px 5px;
}
.list-group-item.active > .badge, .list-group > li.active > .badge, .nav-pills > .active > a > .badge {
  color: #2563eb;
  background-color: #fff;
}
.list-group-item > .badge, .list-group > li > .badge {
  float: right;
}
.list-group-item > .badge + .badge, .list-group > li > .badge + .badge {
  margin-right: 5px;
}
.nav-pills > li > a > .badge {
  margin-left: 3px;
}

a.badge:hover, a.badge:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}

.thumbnail {
  display: block;
  padding: 3px;
  margin-bottom: 17px;
  line-height: 1.428571429;
  background-color: #0f172a;
  border: 1px solid #334155;
  border-radius: 4px;
  -webkit-transition: border 0.2s ease-in-out;
  -o-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out;
}
.thumbnail > img,
.thumbnail a > img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}
.thumbnail .caption {
  padding: 9px;
  color: #f1f5f9;
}

a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #2563eb;
}

.alert, .help-block {
  padding: 15px;
  margin-bottom: 17px;
  border: 1px solid transparent;
  border-radius: 6px;
}
.alert h4, .help-block h4 {
  margin-top: 0;
  color: inherit;
}
.alert .alert-link, .help-block .alert-link {
  font-weight: bold;
}
.alert > p, .help-block > p,
.alert > ul,
.help-block > ul {
  margin-bottom: 0;
}
.alert > p + p, .help-block > p + p {
  margin-top: 5px;
}

.alert-dismissable,
.alert-dismissible {
  padding-right: 35px;
}
.alert-dismissable .close, .alert-dismissable button.ui-dialog-titlebar-close,
.alert-dismissible .close,
.alert-dismissible button.ui-dialog-titlebar-close {
  position: relative;
  top: -2px;
  right: -21px;
  color: inherit;
}

.alert-success {
  background-color: #dff0d8;
  border-color: rgb(83.834422658%, 91.339869281%, 77.4836601307%);
  color: #3c763d;
}
.alert-success hr {
  border-top-color: rgb(78.6492374728%, 88.5620915033%, 70.2614379085%);
}
.alert-success .alert-link {
  color: rgb(16.787838731%, 33.0160828376%, 17.0676360432%);
}

.alert-info {
  background-color: #d9edf7;
  border-color: rgb(73.5328218244%, 90.9454390452%, 94.4279624893%);
  color: #31708f;
}
.alert-info hr {
  border-top-color: rgb(65.2719522592%, 88.1193520887%, 92.6888320546%);
}
.alert-info .alert-link {
  color: rgb(14.1115196078%, 32.2549019608%, 41.1825980392%);
}

.alert-warning {
  background-color: #fcf8e3;
  border-color: rgb(97.8557874763%, 92.018764495%, 79.9873497786%);
  color: #8a6d3b;
}
.alert-warning hr {
  border-top-color: rgb(96.8880455408%, 88.4166139574%, 70.9550917141%);
}
.alert-warning .alert-link {
  color: rgb(40.1074947746%, 31.6791081915%, 17.1474071862%);
}

.alert-danger, .help-block.error {
  background-color: #f2dede;
  border-color: rgb(92.0758738278%, 79.8849104859%, 81.9167377096%);
  color: #a94442;
}
.alert-danger hr, .help-block.error hr {
  border-top-color: rgb(89.2497868713%, 72.7109974425%, 75.4674623473%);
}
.alert-danger .alert-link, .help-block.error .alert-link {
  color: rgb(51.8915310805%, 20.8794326241%, 20.2653316646%);
}

@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  overflow: hidden;
  height: 17px;
  margin-bottom: 17px;
  background-color: #f5f5f5;
  border-radius: 6px;
  -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);
}

.progress-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 11px;
  line-height: 17px;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  text-shadow: -1px 0 #2563eb, 0 1px #2563eb, 1px 0 #2563eb, 0 -1px #2563eb;
  background-color: #2563eb;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease;
}

.progress-striped .progress-bar,
.progress-bar-striped {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 40px 40px;
}

.progress.active .progress-bar,
.progress-bar.active {
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  -o-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite;
}

.progress-bar-success {
  background-color: #5cb85c;
}
.progress-striped .progress-bar-success {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.progress-bar-info {
  background-color: #5bc0de;
}
.progress-striped .progress-bar-info {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.progress-bar-warning {
  background-color: #f0ad4e;
}
.progress-striped .progress-bar-warning {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.progress-bar-danger {
  background-color: #d9534f;
}
.progress-striped .progress-bar-danger {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.media {
  margin-top: 15px;
}
.media:first-child {
  margin-top: 0;
}

.media,
.media-body {
  zoom: 1;
  overflow: hidden;
}

.media-body {
  width: 10000px;
}

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

.media-right,
.media > .pull-right,
.nav-pagination .media > .pagination {
  padding-left: 10px;
}

.media-left,
.media > .pull-left {
  padding-right: 10px;
}

.media-left,
.media-right,
.media-body {
  display: table-cell;
  vertical-align: top;
}

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

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

.media-heading {
  margin-top: 0;
  margin-bottom: 5px;
}

.media-list {
  padding-left: 0;
  list-style: none;
}

.list-group {
  margin-bottom: 20px;
  padding-left: 0;
}

.list-group-item, .list-group > li {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #1e293b;
  border: 1px solid #334155;
}
.list-group-item:first-child, .list-group > li:first-child {
  border-top-right-radius: 6px;
  border-top-left-radius: 6px;
}
.list-group-item:last-child, .list-group > li:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 6px;
  border-bottom-left-radius: 6px;
}

a.list-group-item,
button.list-group-item {
  color: #e2e8f0;
}
a.list-group-item .list-group-item-heading,
button.list-group-item .list-group-item-heading {
  color: #f1f5f9;
}
a.list-group-item:hover, a.list-group-item:focus,
button.list-group-item:hover,
button.list-group-item:focus {
  text-decoration: none;
  color: #e2e8f0;
  background-color: #0f172a;
}

button.list-group-item {
  width: 100%;
  text-align: left;
}

.list-group-item.disabled, .list-group > li.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus {
  background-color: #222222;
  color: #444444;
  cursor: not-allowed;
}
.list-group-item.disabled .list-group-item-heading, .list-group > li.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading {
  color: inherit;
}
.list-group-item.disabled .list-group-item-text, .list-group > li.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text {
  color: #444444;
}
.list-group-item.active, .list-group > li.active, .list-group-item.active:hover, .list-group-item.active:focus {
  z-index: 2;
  color: #ffffff;
  background-color: #2563eb;
  border-color: #2563eb;
}
.list-group-item.active .list-group-item-heading, .list-group > li.active .list-group-item-heading,
.list-group-item.active .list-group-item-heading > small,
.list-group > li.active .list-group-item-heading > small,
.list-group-item.active .list-group-item-heading > .small,
.list-group > li.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading > small,
.list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading > small,
.list-group-item.active:focus .list-group-item-heading > .small {
  color: inherit;
}
.list-group-item.active .list-group-item-text, .list-group > li.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text {
  color: rgb(87.7871148459%, 91.2605042017%, 98.8795518207%);
}

.list-group-item-success {
  color: #3c763d;
  background-color: #dff0d8;
}

a.list-group-item-success,
button.list-group-item-success {
  color: #3c763d;
}
a.list-group-item-success .list-group-item-heading,
button.list-group-item-success .list-group-item-heading {
  color: inherit;
}
a.list-group-item-success:hover, a.list-group-item-success:focus,
button.list-group-item-success:hover,
button.list-group-item-success:focus {
  color: #3c763d;
  background-color: rgb(81.5250544662%, 91.339869281%, 77.4836601307%);
}
a.list-group-item-success.active, a.list-group-item-success.active:hover, a.list-group-item-success.active:focus,
button.list-group-item-success.active,
button.list-group-item-success.active:hover,
button.list-group-item-success.active:focus {
  color: #fff;
  background-color: #3c763d;
  border-color: #3c763d;
}

.list-group-item-info {
  color: #31708f;
  background-color: #d9edf7;
}

a.list-group-item-info,
button.list-group-item-info {
  color: #31708f;
}
a.list-group-item-info .list-group-item-heading,
button.list-group-item-info .list-group-item-heading {
  color: inherit;
}
a.list-group-item-info:hover, a.list-group-item-info:focus,
button.list-group-item-info:hover,
button.list-group-item-info:focus {
  color: #31708f;
  background-color: rgb(76.8371696505%, 89.0281329923%, 95.1236146633%);
}
a.list-group-item-info.active, a.list-group-item-info.active:hover, a.list-group-item-info.active:focus,
button.list-group-item-info.active,
button.list-group-item-info.active:hover,
button.list-group-item-info.active:focus {
  color: #fff;
  background-color: #31708f;
  border-color: #31708f;
}

.list-group-item-warning {
  color: #8a6d3b;
  background-color: #fcf8e3;
}

a.list-group-item-warning,
button.list-group-item-warning {
  color: #8a6d3b;
}
a.list-group-item-warning .list-group-item-heading,
button.list-group-item-warning .list-group-item-heading {
  color: inherit;
}
a.list-group-item-warning:hover, a.list-group-item-warning:focus,
button.list-group-item-warning:hover,
button.list-group-item-warning:focus {
  color: #8a6d3b;
  background-color: rgb(97.8557874763%, 94.9968374447%, 79.9873497786%);
}
a.list-group-item-warning.active, a.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus,
button.list-group-item-warning.active,
button.list-group-item-warning.active:hover,
button.list-group-item-warning.active:focus {
  color: #fff;
  background-color: #8a6d3b;
  border-color: #8a6d3b;
}

.list-group-item-danger {
  color: #a94442;
  background-color: #f2dede;
}

a.list-group-item-danger,
button.list-group-item-danger {
  color: #a94442;
}
a.list-group-item-danger .list-group-item-heading,
button.list-group-item-danger .list-group-item-heading {
  color: inherit;
}
a.list-group-item-danger:hover, a.list-group-item-danger:focus,
button.list-group-item-danger:hover,
button.list-group-item-danger:focus {
  color: #a94442;
  background-color: rgb(92.0758738278%, 79.8849104859%, 79.8849104859%);
}
a.list-group-item-danger.active, a.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus,
button.list-group-item-danger.active,
button.list-group-item-danger.active:hover,
button.list-group-item-danger.active:focus {
  color: #fff;
  background-color: #a94442;
  border-color: #a94442;
}

.list-group-item-heading {
  margin-top: 0;
  margin-bottom: 5px;
}

.list-group-item-text {
  margin-bottom: 0;
  line-height: 1.3;
}

.panel, .plan {
  margin-bottom: 17px;
  background-color: #1e293b;
  border: 1px solid transparent;
  border-radius: 10px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}

.panel-body, .plan .plan-body, #widgets .widget-body {
  padding: 15px;
}
.panel-body:before, .plan .plan-body:before, #widgets .widget-body:before, .panel-body:after, .plan .plan-body:after, #widgets .widget-body:after {
  content: " ";
  display: table;
}
.panel-body:after, .plan .plan-body:after, #widgets .widget-body:after {
  clear: both;
}

.panel-heading, .plan .plan-heading, #widgets .widget-heading {
  padding: 9px 15px;
  border-bottom: 1px solid transparent;
  border-top-right-radius: 9px;
  border-top-left-radius: 9px;
}
.panel-heading > .dropdown .dropdown-toggle, .plan .plan-heading > .dropdown .dropdown-toggle, #widgets .widget-heading > .dropdown .dropdown-toggle {
  color: inherit;
}

.panel-title, .plan .plan-title, #widgets .widget-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 14px;
  color: inherit;
}
.panel-title > a, .plan .plan-title > a, #widgets .widget-title > a,
.panel-title > small,
.plan .plan-title > small,
#widgets .widget-title > small,
.panel-title > .small,
.plan .plan-title > .small,
#widgets .widget-title > .small,
.panel-title > small > a,
.plan .plan-title > small > a,
#widgets .widget-title > small > a,
.panel-title > .small > a,
.plan .plan-title > .small > a,
#widgets .widget-title > .small > a {
  color: inherit;
}

.panel-footer, .plan .plan-footer {
  padding: 9px 15px;
  background-color: #0f172a;
  border-top: 1px solid #334155;
  border-bottom-right-radius: 9px;
  border-bottom-left-radius: 9px;
}

.panel > .list-group, .plan > .list-group,
.panel > .panel-collapse > .list-group,
.plan > .panel-collapse > .list-group {
  margin-bottom: 0;
}
.panel > .list-group .list-group-item, .plan > .list-group .list-group-item, .panel > .list-group > li, .plan > .list-group > li,
.panel > .panel-collapse > .list-group .list-group-item,
.plan > .panel-collapse > .list-group .list-group-item,
.panel > .panel-collapse > .list-group > li,
.plan > .panel-collapse > .list-group > li {
  border-width: 1px 0;
  border-radius: 0;
}
.panel > .list-group:first-child .list-group-item:first-child, .plan > .list-group:first-child .list-group-item:first-child, .panel > .list-group:first-child .list-group > li:first-child, .plan > .list-group:first-child .list-group > li:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child,
.plan > .panel-collapse > .list-group:first-child .list-group-item:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group > li:first-child,
.plan > .panel-collapse > .list-group:first-child .list-group > li:first-child {
  border-top: 0;
  border-top-right-radius: 9px;
  border-top-left-radius: 9px;
}
.panel > .list-group:last-child .list-group-item:last-child, .plan > .list-group:last-child .list-group-item:last-child, .panel > .list-group:last-child .list-group > li:last-child, .plan > .list-group:last-child .list-group > li:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child,
.plan > .panel-collapse > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group > li:last-child,
.plan > .panel-collapse > .list-group:last-child .list-group > li:last-child {
  border-bottom: 0;
  border-bottom-right-radius: 9px;
  border-bottom-left-radius: 9px;
}
.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child, .plan .panel > .plan-heading + .panel-collapse > .list-group .list-group-item:first-child, .plan > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child, .plan > .plan-heading + .panel-collapse > .list-group .list-group-item:first-child, #widgets .panel > .widget-heading + .panel-collapse > .list-group .list-group-item:first-child, #widgets .plan > .widget-heading + .panel-collapse > .list-group .list-group-item:first-child, .panel > .panel-heading + .panel-collapse > .list-group > li:first-child, .plan .panel > .plan-heading + .panel-collapse > .list-group > li:first-child, .plan > .panel-heading + .panel-collapse > .list-group > li:first-child, .plan > .plan-heading + .panel-collapse > .list-group > li:first-child, #widgets .panel > .widget-heading + .panel-collapse > .list-group > li:first-child, #widgets .plan > .widget-heading + .panel-collapse > .list-group > li:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

.panel-heading + .list-group .list-group-item:first-child, .plan .plan-heading + .list-group .list-group-item:first-child, #widgets .widget-heading + .list-group .list-group-item:first-child, .panel-heading + .list-group > li:first-child, .plan .plan-heading + .list-group > li:first-child, #widgets .widget-heading + .list-group > li:first-child {
  border-top-width: 0;
}

.list-group + .panel-footer, .plan .list-group + .plan-footer {
  border-top-width: 0;
}

.panel > .table, .plan > .table,
.panel > .table-responsive > .table,
.plan > .table-responsive > .table,
.panel > .panel-collapse > .table,
.plan > .panel-collapse > .table {
  margin-bottom: 0;
}
.panel > .table caption, .plan > .table caption,
.panel > .table-responsive > .table caption,
.plan > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption,
.plan > .panel-collapse > .table caption {
  padding-left: 15px;
  padding-right: 15px;
}
.panel > .table:first-child, .plan > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child,
.plan > .table-responsive:first-child > .table:first-child {
  border-top-right-radius: 9px;
  border-top-left-radius: 9px;
}
.panel > .table:first-child > thead:first-child > tr:first-child, .plan > .table:first-child > thead:first-child > tr:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child,
.plan > .table:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.plan > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child,
.plan > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
  border-top-left-radius: 9px;
  border-top-right-radius: 9px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, .plan > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.plan > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.plan > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.plan > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.plan > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.plan > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.plan > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.plan > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
  border-top-left-radius: 9px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, .plan > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.plan > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.plan > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.plan > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.plan > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.plan > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.plan > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.plan > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
  border-top-right-radius: 9px;
}
.panel > .table:last-child, .plan > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child,
.plan > .table-responsive:last-child > .table:last-child {
  border-bottom-right-radius: 9px;
  border-bottom-left-radius: 9px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child, .plan > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child,
.plan > .table:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.plan > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child,
.plan > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
  border-bottom-left-radius: 9px;
  border-bottom-right-radius: 9px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, .plan > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.plan > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.plan > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.plan > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.plan > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.plan > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.plan > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.plan > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
  border-bottom-left-radius: 9px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, .plan > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.plan > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.plan > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.plan > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.plan > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.plan > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.plan > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.plan > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
  border-bottom-right-radius: 9px;
}
.panel > .panel-body + .table, .plan .panel > .plan-body + .table, .plan > .panel-body + .table, .plan > .plan-body + .table, #widgets .panel > .widget-body + .table, #widgets .plan > .widget-body + .table,
.panel > .panel-body + .table-responsive,
.plan .panel > .plan-body + .table-responsive,
.plan > .panel-body + .table-responsive,
.plan > .plan-body + .table-responsive,
#widgets .panel > .widget-body + .table-responsive,
#widgets .plan > .widget-body + .table-responsive,
.panel > .table + .panel-body,
.plan .panel > .table + .plan-body,
.plan > .table + .panel-body,
.plan > .table + .plan-body,
#widgets .panel > .table + .widget-body,
#widgets .plan > .table + .widget-body,
.panel > .table-responsive + .panel-body,
.plan .panel > .table-responsive + .plan-body,
.plan > .table-responsive + .panel-body,
.plan > .table-responsive + .plan-body,
#widgets .panel > .table-responsive + .widget-body,
#widgets .plan > .table-responsive + .widget-body {
  border-top: 1px solid #334155;
}
.panel > .table > tbody:first-child > tr:first-child th, .plan > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td,
.plan > .table > tbody:first-child > tr:first-child td {
  border-top: 0;
}
.panel > .table-bordered, .plan > .table-bordered,
.panel > .table-responsive > .table-bordered,
.plan > .table-responsive > .table-bordered {
  border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child, .plan > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.plan > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.plan > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.plan > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.plan > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.plan > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.plan > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.plan > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.plan > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.plan > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.plan > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child,
.plan > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
  border-left: 0;
}
.panel > .table-bordered > thead > tr > th:last-child, .plan > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.plan > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.plan > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.plan > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.plan > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.plan > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.plan > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.plan > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.plan > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.plan > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.plan > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child,
.plan > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
  border-right: 0;
}
.panel > .table-bordered > thead > tr:first-child > td, .plan > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.plan > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > td,
.plan > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > th,
.plan > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.plan > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.plan > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.plan > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th,
.plan > .table-responsive > .table-bordered > tbody > tr:first-child > th {
  border-bottom: 0;
}
.panel > .table-bordered > tbody > tr:last-child > td, .plan > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.plan > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > td,
.plan > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > th,
.plan > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.plan > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.plan > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.plan > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th,
.plan > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
  border-bottom: 0;
}
.panel > .table-responsive, .plan > .table-responsive {
  border: 0;
  margin-bottom: 0;
}

.panel-group {
  margin-bottom: 17px;
}
.panel-group .panel, .panel-group .plan {
  margin-bottom: 0;
  border-radius: 10px;
}
.panel-group .panel + .panel, .panel-group .plan + .panel, .panel-group .panel + .plan, .panel-group .plan + .plan {
  margin-top: 5px;
}
.panel-group .panel-heading, .panel-group .plan .plan-heading, .plan .panel-group .plan-heading, .panel-group #widgets .widget-heading, #widgets .panel-group .widget-heading {
  border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse > .panel-body, .panel-group .plan .panel-heading + .panel-collapse > .plan-body, .plan .panel-group .panel-heading + .panel-collapse > .plan-body, .panel-group .plan .plan-heading + .panel-collapse > .panel-body, .panel-group .plan .plan-heading + .panel-collapse > .plan-body, .plan .panel-group .plan-heading + .panel-collapse > .panel-body, .plan .panel-group .plan-heading + .panel-collapse > .plan-body, .panel-group #widgets .panel-heading + .panel-collapse > .widget-body, .panel-group #widgets .plan .plan-heading + .panel-collapse > .widget-body, .plan .panel-group #widgets .plan-heading + .panel-collapse > .widget-body, #widgets .panel-group .panel-heading + .panel-collapse > .widget-body, #widgets .panel-group .plan .plan-heading + .panel-collapse > .widget-body, .plan #widgets .panel-group .plan-heading + .panel-collapse > .widget-body, .panel-group #widgets .widget-heading + .panel-collapse > .panel-body, .panel-group #widgets .plan .widget-heading + .panel-collapse > .plan-body, .plan .panel-group #widgets .widget-heading + .panel-collapse > .plan-body, .panel-group #widgets .widget-heading + .panel-collapse > .widget-body, #widgets .panel-group .widget-heading + .panel-collapse > .panel-body, #widgets .panel-group .plan .widget-heading + .panel-collapse > .plan-body, .plan #widgets .panel-group .widget-heading + .panel-collapse > .plan-body, #widgets .panel-group .widget-heading + .panel-collapse > .widget-body,
.panel-group .panel-heading + .panel-collapse > .list-group,
.panel-group .plan .plan-heading + .panel-collapse > .list-group,
.plan .panel-group .plan-heading + .panel-collapse > .list-group,
.panel-group #widgets .widget-heading + .panel-collapse > .list-group,
#widgets .panel-group .widget-heading + .panel-collapse > .list-group {
  border-top: 1px solid #334155;
}
.panel-group .panel-footer, .panel-group .plan .plan-footer, .plan .panel-group .plan-footer {
  border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body, .panel-group .plan .plan-footer + .panel-collapse .panel-body, .plan .panel-group .plan-footer + .panel-collapse .panel-body, .panel-group .panel-footer + .panel-collapse .plan .plan-body, .panel-group .plan .plan-footer + .panel-collapse .plan .plan-body, .plan .panel-group .panel-footer + .panel-collapse .plan-body, .plan .panel-group .plan-footer + .panel-collapse .plan-body, .panel-group .panel-footer + .panel-collapse #widgets .widget-body, .panel-group .plan .plan-footer + .panel-collapse #widgets .widget-body, .plan .panel-group .plan-footer + .panel-collapse #widgets .widget-body, #widgets .panel-group .panel-footer + .panel-collapse .widget-body, #widgets .panel-group .plan .plan-footer + .panel-collapse .widget-body, .plan #widgets .panel-group .plan-footer + .panel-collapse .widget-body {
  border-bottom: 1px solid #334155;
}

.panel-default, .plan, #widgets .widget {
  border-color: #334155;
}
.panel-default > .panel-heading, .plan .panel-default > .plan-heading, .plan > .panel-heading, .plan > .plan-heading, #widgets .panel-default > .widget-heading, #widgets .plan > .widget-heading, #widgets .widget > .panel-heading, #widgets .plan .widget > .plan-heading, .plan #widgets .widget > .plan-heading, #widgets .widget > .widget-heading {
  color: #f1f5f9;
  background-color: #0f172a;
  border-color: #334155;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body, .plan .panel-default > .panel-heading + .panel-collapse > .plan-body, .plan .panel-default > .plan-heading + .panel-collapse > .panel-body, .plan .panel-default > .plan-heading + .panel-collapse > .plan-body, .plan > .panel-heading + .panel-collapse > .panel-body, .plan > .panel-heading + .panel-collapse > .plan-body, .plan > .plan-heading + .panel-collapse > .panel-body, .plan > .plan-heading + .panel-collapse > .plan-body, #widgets .panel-default > .panel-heading + .panel-collapse > .widget-body, #widgets .plan .panel-default > .plan-heading + .panel-collapse > .widget-body, .plan #widgets .panel-default > .plan-heading + .panel-collapse > .widget-body, #widgets .plan > .panel-heading + .panel-collapse > .widget-body, #widgets .plan > .plan-heading + .panel-collapse > .widget-body, #widgets .panel-default > .widget-heading + .panel-collapse > .panel-body, #widgets .plan .panel-default > .widget-heading + .panel-collapse > .plan-body, .plan #widgets .panel-default > .widget-heading + .panel-collapse > .plan-body, #widgets .plan > .widget-heading + .panel-collapse > .panel-body, #widgets .plan > .widget-heading + .panel-collapse > .plan-body, #widgets .panel-default > .widget-heading + .panel-collapse > .widget-body, #widgets .plan > .widget-heading + .panel-collapse > .widget-body, #widgets .widget > .panel-heading + .panel-collapse > .panel-body, #widgets .plan .widget > .panel-heading + .panel-collapse > .plan-body, .plan #widgets .widget > .panel-heading + .panel-collapse > .plan-body, #widgets .plan .widget > .plan-heading + .panel-collapse > .panel-body, #widgets .plan .widget > .plan-heading + .panel-collapse > .plan-body, .plan #widgets .widget > .plan-heading + .panel-collapse > .panel-body, .plan #widgets .widget > .plan-heading + .panel-collapse > .plan-body, #widgets .widget > .panel-heading + .panel-collapse > .widget-body, #widgets .plan .widget > .plan-heading + .panel-collapse > .widget-body, .plan #widgets .widget > .plan-heading + .panel-collapse > .widget-body, #widgets .widget > .widget-heading + .panel-collapse > .panel-body, #widgets .plan .widget > .widget-heading + .panel-collapse > .plan-body, .plan #widgets .widget > .widget-heading + .panel-collapse > .plan-body, #widgets .widget > .widget-heading + .panel-collapse > .widget-body {
  border-top-color: #334155;
}
.panel-default > .panel-heading .badge, .plan .panel-default > .plan-heading .badge, .plan > .panel-heading .badge, .plan > .plan-heading .badge, #widgets .panel-default > .widget-heading .badge, #widgets .plan > .widget-heading .badge, #widgets .widget > .panel-heading .badge, #widgets .plan .widget > .plan-heading .badge, .plan #widgets .widget > .plan-heading .badge, #widgets .widget > .widget-heading .badge {
  color: #0f172a;
  background-color: #f1f5f9;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body, .plan .panel-default > .plan-footer + .panel-collapse > .panel-body, .plan .panel-default > .panel-footer + .panel-collapse > .plan-body, .plan .panel-default > .plan-footer + .panel-collapse > .plan-body, .plan > .panel-footer + .panel-collapse > .panel-body, .plan > .plan-footer + .panel-collapse > .panel-body, .plan > .panel-footer + .panel-collapse > .plan-body, .plan > .plan-footer + .panel-collapse > .plan-body, #widgets .panel-default > .panel-footer + .panel-collapse > .widget-body, #widgets .plan .panel-default > .plan-footer + .panel-collapse > .widget-body, .plan #widgets .panel-default > .plan-footer + .panel-collapse > .widget-body, #widgets .plan > .panel-footer + .panel-collapse > .widget-body, #widgets .plan > .plan-footer + .panel-collapse > .widget-body, #widgets .widget > .panel-footer + .panel-collapse > .panel-body, #widgets .plan .widget > .plan-footer + .panel-collapse > .panel-body, .plan #widgets .widget > .plan-footer + .panel-collapse > .panel-body, #widgets .plan .widget > .panel-footer + .panel-collapse > .plan-body, #widgets .plan .widget > .plan-footer + .panel-collapse > .plan-body, .plan #widgets .widget > .panel-footer + .panel-collapse > .plan-body, .plan #widgets .widget > .plan-footer + .panel-collapse > .plan-body, #widgets .widget > .panel-footer + .panel-collapse > .widget-body, #widgets .plan .widget > .plan-footer + .panel-collapse > .widget-body, .plan #widgets .widget > .plan-footer + .panel-collapse > .widget-body {
  border-bottom-color: #334155;
}

.panel-primary {
  border-color: #2563eb;
}
.panel-primary > .panel-heading, .plan .panel-primary > .plan-heading, #widgets .panel-primary > .widget-heading {
  color: #fff;
  background-color: #2563eb;
  border-color: #2563eb;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body, .plan .panel-primary > .panel-heading + .panel-collapse > .plan-body, .plan .panel-primary > .plan-heading + .panel-collapse > .panel-body, .plan .panel-primary > .plan-heading + .panel-collapse > .plan-body, #widgets .panel-primary > .panel-heading + .panel-collapse > .widget-body, #widgets .plan .panel-primary > .plan-heading + .panel-collapse > .widget-body, .plan #widgets .panel-primary > .plan-heading + .panel-collapse > .widget-body, #widgets .panel-primary > .widget-heading + .panel-collapse > .panel-body, #widgets .plan .panel-primary > .widget-heading + .panel-collapse > .plan-body, .plan #widgets .panel-primary > .widget-heading + .panel-collapse > .plan-body, #widgets .panel-primary > .widget-heading + .panel-collapse > .widget-body {
  border-top-color: #2563eb;
}
.panel-primary > .panel-heading .badge, .plan .panel-primary > .plan-heading .badge, #widgets .panel-primary > .widget-heading .badge {
  color: #2563eb;
  background-color: #fff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body, .plan .panel-primary > .plan-footer + .panel-collapse > .panel-body, .plan .panel-primary > .panel-footer + .panel-collapse > .plan-body, .plan .panel-primary > .plan-footer + .panel-collapse > .plan-body, #widgets .panel-primary > .panel-footer + .panel-collapse > .widget-body, #widgets .plan .panel-primary > .plan-footer + .panel-collapse > .widget-body, .plan #widgets .panel-primary > .plan-footer + .panel-collapse > .widget-body {
  border-bottom-color: #2563eb;
}

.panel-success {
  border-color: rgb(83.834422658%, 91.339869281%, 77.4836601307%);
}
.panel-success > .panel-heading, .plan .panel-success > .plan-heading, #widgets .panel-success > .widget-heading {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: rgb(83.834422658%, 91.339869281%, 77.4836601307%);
}
.panel-success > .panel-heading + .panel-collapse > .panel-body, .plan .panel-success > .panel-heading + .panel-collapse > .plan-body, .plan .panel-success > .plan-heading + .panel-collapse > .panel-body, .plan .panel-success > .plan-heading + .panel-collapse > .plan-body, #widgets .panel-success > .panel-heading + .panel-collapse > .widget-body, #widgets .plan .panel-success > .plan-heading + .panel-collapse > .widget-body, .plan #widgets .panel-success > .plan-heading + .panel-collapse > .widget-body, #widgets .panel-success > .widget-heading + .panel-collapse > .panel-body, #widgets .plan .panel-success > .widget-heading + .panel-collapse > .plan-body, .plan #widgets .panel-success > .widget-heading + .panel-collapse > .plan-body, #widgets .panel-success > .widget-heading + .panel-collapse > .widget-body {
  border-top-color: rgb(83.834422658%, 91.339869281%, 77.4836601307%);
}
.panel-success > .panel-heading .badge, .plan .panel-success > .plan-heading .badge, #widgets .panel-success > .widget-heading .badge {
  color: #dff0d8;
  background-color: #3c763d;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body, .plan .panel-success > .plan-footer + .panel-collapse > .panel-body, .plan .panel-success > .panel-footer + .panel-collapse > .plan-body, .plan .panel-success > .plan-footer + .panel-collapse > .plan-body, #widgets .panel-success > .panel-footer + .panel-collapse > .widget-body, #widgets .plan .panel-success > .plan-footer + .panel-collapse > .widget-body, .plan #widgets .panel-success > .plan-footer + .panel-collapse > .widget-body {
  border-bottom-color: rgb(83.834422658%, 91.339869281%, 77.4836601307%);
}

.panel-info {
  border-color: rgb(73.5328218244%, 90.9454390452%, 94.4279624893%);
}
.panel-info > .panel-heading, .plan .panel-info > .plan-heading, #widgets .panel-info > .widget-heading {
  color: #31708f;
  background-color: #d9edf7;
  border-color: rgb(73.5328218244%, 90.9454390452%, 94.4279624893%);
}
.panel-info > .panel-heading + .panel-collapse > .panel-body, .plan .panel-info > .panel-heading + .panel-collapse > .plan-body, .plan .panel-info > .plan-heading + .panel-collapse > .panel-body, .plan .panel-info > .plan-heading + .panel-collapse > .plan-body, #widgets .panel-info > .panel-heading + .panel-collapse > .widget-body, #widgets .plan .panel-info > .plan-heading + .panel-collapse > .widget-body, .plan #widgets .panel-info > .plan-heading + .panel-collapse > .widget-body, #widgets .panel-info > .widget-heading + .panel-collapse > .panel-body, #widgets .plan .panel-info > .widget-heading + .panel-collapse > .plan-body, .plan #widgets .panel-info > .widget-heading + .panel-collapse > .plan-body, #widgets .panel-info > .widget-heading + .panel-collapse > .widget-body {
  border-top-color: rgb(73.5328218244%, 90.9454390452%, 94.4279624893%);
}
.panel-info > .panel-heading .badge, .plan .panel-info > .plan-heading .badge, #widgets .panel-info > .widget-heading .badge {
  color: #d9edf7;
  background-color: #31708f;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body, .plan .panel-info > .plan-footer + .panel-collapse > .panel-body, .plan .panel-info > .panel-footer + .panel-collapse > .plan-body, .plan .panel-info > .plan-footer + .panel-collapse > .plan-body, #widgets .panel-info > .panel-footer + .panel-collapse > .widget-body, #widgets .plan .panel-info > .plan-footer + .panel-collapse > .widget-body, .plan #widgets .panel-info > .plan-footer + .panel-collapse > .widget-body {
  border-bottom-color: rgb(73.5328218244%, 90.9454390452%, 94.4279624893%);
}

.panel-warning {
  border-color: rgb(97.8557874763%, 92.018764495%, 79.9873497786%);
}
.panel-warning > .panel-heading, .plan .panel-warning > .plan-heading, #widgets .panel-warning > .widget-heading {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: rgb(97.8557874763%, 92.018764495%, 79.9873497786%);
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body, .plan .panel-warning > .panel-heading + .panel-collapse > .plan-body, .plan .panel-warning > .plan-heading + .panel-collapse > .panel-body, .plan .panel-warning > .plan-heading + .panel-collapse > .plan-body, #widgets .panel-warning > .panel-heading + .panel-collapse > .widget-body, #widgets .plan .panel-warning > .plan-heading + .panel-collapse > .widget-body, .plan #widgets .panel-warning > .plan-heading + .panel-collapse > .widget-body, #widgets .panel-warning > .widget-heading + .panel-collapse > .panel-body, #widgets .plan .panel-warning > .widget-heading + .panel-collapse > .plan-body, .plan #widgets .panel-warning > .widget-heading + .panel-collapse > .plan-body, #widgets .panel-warning > .widget-heading + .panel-collapse > .widget-body {
  border-top-color: rgb(97.8557874763%, 92.018764495%, 79.9873497786%);
}
.panel-warning > .panel-heading .badge, .plan .panel-warning > .plan-heading .badge, #widgets .panel-warning > .widget-heading .badge {
  color: #fcf8e3;
  background-color: #8a6d3b;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body, .plan .panel-warning > .plan-footer + .panel-collapse > .panel-body, .plan .panel-warning > .panel-footer + .panel-collapse > .plan-body, .plan .panel-warning > .plan-footer + .panel-collapse > .plan-body, #widgets .panel-warning > .panel-footer + .panel-collapse > .widget-body, #widgets .plan .panel-warning > .plan-footer + .panel-collapse > .widget-body, .plan #widgets .panel-warning > .plan-footer + .panel-collapse > .widget-body {
  border-bottom-color: rgb(97.8557874763%, 92.018764495%, 79.9873497786%);
}

.panel-danger {
  border-color: rgb(92.0758738278%, 79.8849104859%, 81.9167377096%);
}
.panel-danger > .panel-heading, .plan .panel-danger > .plan-heading, #widgets .panel-danger > .widget-heading {
  color: #a94442;
  background-color: #f2dede;
  border-color: rgb(92.0758738278%, 79.8849104859%, 81.9167377096%);
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body, .plan .panel-danger > .panel-heading + .panel-collapse > .plan-body, .plan .panel-danger > .plan-heading + .panel-collapse > .panel-body, .plan .panel-danger > .plan-heading + .panel-collapse > .plan-body, #widgets .panel-danger > .panel-heading + .panel-collapse > .widget-body, #widgets .plan .panel-danger > .plan-heading + .panel-collapse > .widget-body, .plan #widgets .panel-danger > .plan-heading + .panel-collapse > .widget-body, #widgets .panel-danger > .widget-heading + .panel-collapse > .panel-body, #widgets .plan .panel-danger > .widget-heading + .panel-collapse > .plan-body, .plan #widgets .panel-danger > .widget-heading + .panel-collapse > .plan-body, #widgets .panel-danger > .widget-heading + .panel-collapse > .widget-body {
  border-top-color: rgb(92.0758738278%, 79.8849104859%, 81.9167377096%);
}
.panel-danger > .panel-heading .badge, .plan .panel-danger > .plan-heading .badge, #widgets .panel-danger > .widget-heading .badge {
  color: #f2dede;
  background-color: #a94442;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body, .plan .panel-danger > .plan-footer + .panel-collapse > .panel-body, .plan .panel-danger > .panel-footer + .panel-collapse > .plan-body, .plan .panel-danger > .plan-footer + .panel-collapse > .plan-body, #widgets .panel-danger > .panel-footer + .panel-collapse > .widget-body, #widgets .plan .panel-danger > .plan-footer + .panel-collapse > .widget-body, .plan #widgets .panel-danger > .plan-footer + .panel-collapse > .widget-body {
  border-bottom-color: rgb(92.0758738278%, 79.8849104859%, 81.9167377096%);
}

.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  border: 0;
}

.embed-responsive-16by9 {
  padding-bottom: 56.25%;
}

.embed-responsive-4by3 {
  padding-bottom: 75%;
}

.close, button.ui-dialog-titlebar-close {
  float: right;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-shadow: 0 1px 0 #000;
  opacity: 0.2;
  filter: alpha(opacity=20);
}
.close:hover, button.ui-dialog-titlebar-close:hover, .close:focus, button.ui-dialog-titlebar-close:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.5;
  filter: alpha(opacity=50);
}

button.close, button.ui-dialog-titlebar-close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}

.modal-open {
  overflow: hidden;
}

.modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}
.modal.fade .modal-dialog {
  -webkit-transform: translate(0, -25%);
  -ms-transform: translate(0, -25%);
  -o-transform: translate(0, -25%);
  transform: translate(0, -25%);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  -moz-transition: -moz-transform 0.3s ease-out;
  -o-transition: -o-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
}
.modal.in .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}

.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px;
}

.modal-content {
  position: relative;
  background-color: #1e293b;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
  outline: 0;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
  filter: alpha(opacity=0);
}
.modal-backdrop.in {
  opacity: 0.5;
  filter: alpha(opacity=50);
}

.modal-header, .ui-dialog-titlebar.ui-widget-header {
  padding: 15px;
  border-bottom: 1px solid transparent;
  min-height: 16.428571429px;
}

.modal-header .close, .modal-header button.ui-dialog-titlebar-close, .ui-dialog-titlebar.ui-widget-header .close, .ui-dialog-titlebar.ui-widget-header button.ui-dialog-titlebar-close {
  margin-top: -2px;
}

.modal-title, .ui-dialog-title {
  margin: 0;
  line-height: 1.428571429;
}

.modal-body {
  position: relative;
  padding: 15px;
}

.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid transparent;
}
.modal-footer:before, .modal-footer:after {
  content: " ";
  display: table;
}
.modal-footer:after {
  clear: both;
}
.modal-footer .btn + .btn {
  margin-left: 5px;
  margin-bottom: 0;
}
.modal-footer .btn-group .btn + .btn {
  margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
  margin-left: 0;
}

.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}

@media (min-width: 768px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto;
  }
  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }
  .modal-sm {
    width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg {
    width: 900px;
  }
}
.tooltip {
  position: absolute;
  z-index: 2100;
  display: block;
  font-family: "Open Sans", sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.428571429;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 11px;
  opacity: 0;
  filter: alpha(opacity=0);
}
.tooltip.in {
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.tooltip.top {
  margin-top: -3px;
  padding: 5px 0;
}
.tooltip.right {
  margin-left: 3px;
  padding: 0 5px;
}
.tooltip.bottom {
  margin-top: 3px;
  padding: 5px 0;
}
.tooltip.left {
  margin-left: -3px;
  padding: 0 5px;
}

.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 6px;
}

.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}

.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000;
}
.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000;
}
.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}

.clearfix:before, .lang-list:before, .clearfix:after, .lang-list:after {
  content: " ";
  display: table;
}
.clearfix:after, .lang-list:after {
  clear: both;
}

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

.pull-right, .nav-pagination .pagination {
  float: right !important;
}

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

.hide {
  display: none !important;
}

.show {
  display: block !important;
}

.invisible {
  visibility: hidden;
}

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

.hidden {
  display: none !important;
}

.affix {
  position: fixed;
}

@-ms-viewport {
  width: device-width;
}
.visible-xs {
  display: none !important;
}

.visible-sm {
  display: none !important;
}

.visible-md {
  display: none !important;
}

.visible-lg {
  display: none !important;
}

.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}

@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}

@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}

@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}

@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important;
  }
}

@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important;
  }
}

@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}

@media (max-width: 767px) {
  .hidden-xs, .banner {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}

@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}
.visible-print-block {
  display: none !important;
}
@media print {
  .visible-print-block {
    display: block !important;
  }
}

.visible-print-inline {
  display: none !important;
}
@media print {
  .visible-print-inline {
    display: inline !important;
  }
}

.visible-print-inline-block {
  display: none !important;
}
@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}

@media print {
  .hidden-print {
    display: none !important;
  }
}
/*! jQuery UI - v1.12.1 - 2017-06-12
* http://jqueryui.com
* Includes: core.css, resizable.css, sortable.css, theme.css
* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif
* Copyright jQuery Foundation and other contributors; Licensed MIT */
/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
  display: none;
}

.ui-helper-hidden-accessible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.ui-helper-reset {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  line-height: 1.3;
  text-decoration: none;
  font-size: 100%;
  list-style: none;
}

.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
  content: "";
  display: table;
  border-collapse: collapse;
}

.ui-helper-clearfix:after {
  clear: both;
}

.ui-helper-zfix {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  opacity: 0;
  filter: Alpha(Opacity=0); /* support: IE8 */
}

.ui-front {
  z-index: 100;
}

/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
  cursor: default !important;
  pointer-events: none;
}

/* Icons
----------------------------------*/
.ui-icon {
  display: inline-block;
  vertical-align: middle;
  margin-top: -0.25em;
  position: relative;
  text-indent: -99999px;
  overflow: hidden;
  background-repeat: no-repeat;
}

.ui-widget-icon-block {
  left: 50%;
  margin-left: -8px;
  display: block;
}

/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ui-resizable {
  position: relative;
}

.ui-resizable-handle {
  position: absolute;
  font-size: 0.1px;
  display: block;
  -ms-touch-action: none;
  touch-action: none;
}

.ui-resizable-disabled .ui-resizable-handle,
.ui-resizable-autohide .ui-resizable-handle {
  display: none;
}

.ui-resizable-n {
  cursor: n-resize;
  height: 7px;
  width: 100%;
  top: -5px;
  left: 0;
}

.ui-resizable-s {
  cursor: s-resize;
  height: 7px;
  width: 100%;
  bottom: -5px;
  left: 0;
}

.ui-resizable-e {
  cursor: e-resize;
  width: 7px;
  right: -5px;
  top: 0;
  height: 100%;
}

.ui-resizable-w {
  cursor: w-resize;
  width: 7px;
  left: -5px;
  top: 0;
  height: 100%;
}

.ui-resizable-se {
  cursor: se-resize;
  width: 12px;
  height: 12px;
  right: 1px;
  bottom: 1px;
}

.ui-resizable-sw {
  cursor: sw-resize;
  width: 9px;
  height: 9px;
  left: -5px;
  bottom: -5px;
}

.ui-resizable-nw {
  cursor: nw-resize;
  width: 9px;
  height: 9px;
  left: -5px;
  top: -5px;
}

.ui-resizable-ne {
  cursor: ne-resize;
  width: 9px;
  height: 9px;
  right: -5px;
  top: -5px;
}

.ui-sortable-handle {
  -ms-touch-action: none;
  touch-action: none;
}

/* Component containers
----------------------------------*/
.ui-widget {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em;
}

.ui-widget .ui-widget {
  font-size: 1em;
}

.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em;
}

.ui-widget.ui-widget-content {
  border: 1px solid #c5c5c5;
}

.ui-widget-content {
  border: 1px solid #dddddd;
  background: #ffffff;
  color: #333333;
}

.ui-widget-content a {
  color: #333333;
}

.ui-widget-header {
  border: 1px solid #dddddd;
  background: #e9e9e9;
  color: #333333;
  font-weight: bold;
}

.ui-widget-header a {
  color: #333333;
}

/* Interaction states
----------------------------------*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active {
  border: 1px solid #c5c5c5;
  background: #f6f6f6;
  font-weight: normal;
  color: #454545;
}

.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited,
a.ui-button,
a:link.ui-button,
a:visited.ui-button,
.ui-button {
  color: #454545;
  text-decoration: none;
}

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus,
.ui-button:hover,
.ui-button:focus {
  border: 1px solid #cccccc;
  background: #ededed;
  font-weight: normal;
  color: #2b2b2b;
}

.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited,
.ui-state-focus a,
.ui-state-focus a:hover,
.ui-state-focus a:link,
.ui-state-focus a:visited,
a.ui-button:hover,
a.ui-button:focus {
  color: #2b2b2b;
  text-decoration: none;
}

.ui-visual-focus {
  box-shadow: 0 0 3px 1px rgb(94, 158, 214);
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
  border: 1px solid #003eff;
  background: #007fff;
  font-weight: normal;
  color: #ffffff;
}

.ui-icon-background,
.ui-state-active .ui-icon-background {
  border: #003eff;
  background-color: #ffffff;
}

.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
  color: #ffffff;
  text-decoration: none;
}

/* Interaction Cues
----------------------------------*/
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
  border: 1px solid #dad55e;
  background: #fffa90;
  color: #777620;
}

.ui-state-checked {
  border: 1px solid #dad55e;
  background: #fffa90;
}

.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
  color: #777620;
}

.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
  border: 1px solid #f1a899;
  background: #fddfdf;
  color: #5f3f3f;
}

.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
  color: #5f3f3f;
}

.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
  color: #5f3f3f;
}

.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
  font-weight: bold;
}

.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
  opacity: 0.7;
  filter: Alpha(Opacity=70); /* support: IE8 */
  font-weight: normal;
}

.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
  opacity: 0.35;
  filter: Alpha(Opacity=35); /* support: IE8 */
  background-image: none;
}

.ui-state-disabled .ui-icon {
  filter: Alpha(Opacity=35); /* support: IE8 - See #6059 */
}

/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
  width: 16px;
  height: 16px;
}

.ui-icon,
.ui-widget-content .ui-icon {
  background-image: url("images/ui-icons_444444_256x240.png");
}

.ui-widget-header .ui-icon {
  background-image: url("images/ui-icons_444444_256x240.png");
}

.ui-state-hover .ui-icon,
.ui-state-focus .ui-icon,
.ui-button:hover .ui-icon,
.ui-button:focus .ui-icon {
  background-image: url("images/ui-icons_555555_256x240.png");
}

.ui-state-active .ui-icon,
.ui-button:active .ui-icon {
  background-image: url("images/ui-icons_ffffff_256x240.png");
}

.ui-state-highlight .ui-icon,
.ui-button .ui-state-highlight.ui-icon {
  background-image: url("images/ui-icons_777620_256x240.png");
}

.ui-state-error .ui-icon,
.ui-state-error-text .ui-icon {
  background-image: url("images/ui-icons_cc0000_256x240.png");
}

.ui-button .ui-icon {
  background-image: url("images/ui-icons_777777_256x240.png");
}

/* positioning */
.ui-icon-blank {
  background-position: 16px 16px;
}

.ui-icon-caret-1-n {
  background-position: 0 0;
}

.ui-icon-caret-1-ne {
  background-position: -16px 0;
}

.ui-icon-caret-1-e {
  background-position: -32px 0;
}

.ui-icon-caret-1-se {
  background-position: -48px 0;
}

.ui-icon-caret-1-s {
  background-position: -65px 0;
}

.ui-icon-caret-1-sw {
  background-position: -80px 0;
}

.ui-icon-caret-1-w {
  background-position: -96px 0;
}

.ui-icon-caret-1-nw {
  background-position: -112px 0;
}

.ui-icon-caret-2-n-s {
  background-position: -128px 0;
}

.ui-icon-caret-2-e-w {
  background-position: -144px 0;
}

.ui-icon-triangle-1-n {
  background-position: 0 -16px;
}

.ui-icon-triangle-1-ne {
  background-position: -16px -16px;
}

.ui-icon-triangle-1-e {
  background-position: -32px -16px;
}

.ui-icon-triangle-1-se {
  background-position: -48px -16px;
}

.ui-icon-triangle-1-s {
  background-position: -65px -16px;
}

.ui-icon-triangle-1-sw {
  background-position: -80px -16px;
}

.ui-icon-triangle-1-w {
  background-position: -96px -16px;
}

.ui-icon-triangle-1-nw {
  background-position: -112px -16px;
}

.ui-icon-triangle-2-n-s {
  background-position: -128px -16px;
}

.ui-icon-triangle-2-e-w {
  background-position: -144px -16px;
}

.ui-icon-arrow-1-n {
  background-position: 0 -32px;
}

.ui-icon-arrow-1-ne {
  background-position: -16px -32px;
}

.ui-icon-arrow-1-e {
  background-position: -32px -32px;
}

.ui-icon-arrow-1-se {
  background-position: -48px -32px;
}

.ui-icon-arrow-1-s {
  background-position: -65px -32px;
}

.ui-icon-arrow-1-sw {
  background-position: -80px -32px;
}

.ui-icon-arrow-1-w {
  background-position: -96px -32px;
}

.ui-icon-arrow-1-nw {
  background-position: -112px -32px;
}

.ui-icon-arrow-2-n-s {
  background-position: -128px -32px;
}

.ui-icon-arrow-2-ne-sw {
  background-position: -144px -32px;
}

.ui-icon-arrow-2-e-w {
  background-position: -160px -32px;
}

.ui-icon-arrow-2-se-nw {
  background-position: -176px -32px;
}

.ui-icon-arrowstop-1-n {
  background-position: -192px -32px;
}

.ui-icon-arrowstop-1-e {
  background-position: -208px -32px;
}

.ui-icon-arrowstop-1-s {
  background-position: -224px -32px;
}

.ui-icon-arrowstop-1-w {
  background-position: -240px -32px;
}

.ui-icon-arrowthick-1-n {
  background-position: 1px -48px;
}

.ui-icon-arrowthick-1-ne {
  background-position: -16px -48px;
}

.ui-icon-arrowthick-1-e {
  background-position: -32px -48px;
}

.ui-icon-arrowthick-1-se {
  background-position: -48px -48px;
}

.ui-icon-arrowthick-1-s {
  background-position: -64px -48px;
}

.ui-icon-arrowthick-1-sw {
  background-position: -80px -48px;
}

.ui-icon-arrowthick-1-w {
  background-position: -96px -48px;
}

.ui-icon-arrowthick-1-nw {
  background-position: -112px -48px;
}

.ui-icon-arrowthick-2-n-s {
  background-position: -128px -48px;
}

.ui-icon-arrowthick-2-ne-sw {
  background-position: -144px -48px;
}

.ui-icon-arrowthick-2-e-w {
  background-position: -160px -48px;
}

.ui-icon-arrowthick-2-se-nw {
  background-position: -176px -48px;
}

.ui-icon-arrowthickstop-1-n {
  background-position: -192px -48px;
}

.ui-icon-arrowthickstop-1-e {
  background-position: -208px -48px;
}

.ui-icon-arrowthickstop-1-s {
  background-position: -224px -48px;
}

.ui-icon-arrowthickstop-1-w {
  background-position: -240px -48px;
}

.ui-icon-arrowreturnthick-1-w {
  background-position: 0 -64px;
}

.ui-icon-arrowreturnthick-1-n {
  background-position: -16px -64px;
}

.ui-icon-arrowreturnthick-1-e {
  background-position: -32px -64px;
}

.ui-icon-arrowreturnthick-1-s {
  background-position: -48px -64px;
}

.ui-icon-arrowreturn-1-w {
  background-position: -64px -64px;
}

.ui-icon-arrowreturn-1-n {
  background-position: -80px -64px;
}

.ui-icon-arrowreturn-1-e {
  background-position: -96px -64px;
}

.ui-icon-arrowreturn-1-s {
  background-position: -112px -64px;
}

.ui-icon-arrowrefresh-1-w {
  background-position: -128px -64px;
}

.ui-icon-arrowrefresh-1-n {
  background-position: -144px -64px;
}

.ui-icon-arrowrefresh-1-e {
  background-position: -160px -64px;
}

.ui-icon-arrowrefresh-1-s {
  background-position: -176px -64px;
}

.ui-icon-arrow-4 {
  background-position: 0 -80px;
}

.ui-icon-arrow-4-diag {
  background-position: -16px -80px;
}

.ui-icon-extlink {
  background-position: -32px -80px;
}

.ui-icon-newwin {
  background-position: -48px -80px;
}

.ui-icon-refresh {
  background-position: -64px -80px;
}

.ui-icon-shuffle {
  background-position: -80px -80px;
}

.ui-icon-transfer-e-w {
  background-position: -96px -80px;
}

.ui-icon-transferthick-e-w {
  background-position: -112px -80px;
}

.ui-icon-folder-collapsed {
  background-position: 0 -96px;
}

.ui-icon-folder-open {
  background-position: -16px -96px;
}

.ui-icon-document {
  background-position: -32px -96px;
}

.ui-icon-document-b {
  background-position: -48px -96px;
}

.ui-icon-note {
  background-position: -64px -96px;
}

.ui-icon-mail-closed {
  background-position: -80px -96px;
}

.ui-icon-mail-open {
  background-position: -96px -96px;
}

.ui-icon-suitcase {
  background-position: -112px -96px;
}

.ui-icon-comment {
  background-position: -128px -96px;
}

.ui-icon-person {
  background-position: -144px -96px;
}

.ui-icon-print {
  background-position: -160px -96px;
}

.ui-icon-trash {
  background-position: -176px -96px;
}

.ui-icon-locked {
  background-position: -192px -96px;
}

.ui-icon-unlocked {
  background-position: -208px -96px;
}

.ui-icon-bookmark {
  background-position: -224px -96px;
}

.ui-icon-tag {
  background-position: -240px -96px;
}

.ui-icon-home {
  background-position: 0 -112px;
}

.ui-icon-flag {
  background-position: -16px -112px;
}

.ui-icon-calendar {
  background-position: -32px -112px;
}

.ui-icon-cart {
  background-position: -48px -112px;
}

.ui-icon-pencil {
  background-position: -64px -112px;
}

.ui-icon-clock {
  background-position: -80px -112px;
}

.ui-icon-disk {
  background-position: -96px -112px;
}

.ui-icon-calculator {
  background-position: -112px -112px;
}

.ui-icon-zoomin {
  background-position: -128px -112px;
}

.ui-icon-zoomout {
  background-position: -144px -112px;
}

.ui-icon-search {
  background-position: -160px -112px;
}

.ui-icon-wrench {
  background-position: -176px -112px;
}

.ui-icon-gear {
  background-position: -192px -112px;
}

.ui-icon-heart {
  background-position: -208px -112px;
}

.ui-icon-star {
  background-position: -224px -112px;
}

.ui-icon-link {
  background-position: -240px -112px;
}

.ui-icon-cancel {
  background-position: 0 -128px;
}

.ui-icon-plus {
  background-position: -16px -128px;
}

.ui-icon-plusthick {
  background-position: -32px -128px;
}

.ui-icon-minus {
  background-position: -48px -128px;
}

.ui-icon-minusthick {
  background-position: -64px -128px;
}

.ui-icon-close {
  background-position: -80px -128px;
}

.ui-icon-closethick {
  background-position: -96px -128px;
}

.ui-icon-key {
  background-position: -112px -128px;
}

.ui-icon-lightbulb {
  background-position: -128px -128px;
}

.ui-icon-scissors {
  background-position: -144px -128px;
}

.ui-icon-clipboard {
  background-position: -160px -128px;
}

.ui-icon-copy {
  background-position: -176px -128px;
}

.ui-icon-contact {
  background-position: -192px -128px;
}

.ui-icon-image {
  background-position: -208px -128px;
}

.ui-icon-video {
  background-position: -224px -128px;
}

.ui-icon-script {
  background-position: -240px -128px;
}

.ui-icon-alert {
  background-position: 0 -144px;
}

.ui-icon-info {
  background-position: -16px -144px;
}

.ui-icon-notice {
  background-position: -32px -144px;
}

.ui-icon-help {
  background-position: -48px -144px;
}

.ui-icon-check {
  background-position: -64px -144px;
}

.ui-icon-bullet {
  background-position: -80px -144px;
}

.ui-icon-radio-on {
  background-position: -96px -144px;
}

.ui-icon-radio-off {
  background-position: -112px -144px;
}

.ui-icon-pin-w {
  background-position: -128px -144px;
}

.ui-icon-pin-s {
  background-position: -144px -144px;
}

.ui-icon-play {
  background-position: 0 -160px;
}

.ui-icon-pause {
  background-position: -16px -160px;
}

.ui-icon-seek-next {
  background-position: -32px -160px;
}

.ui-icon-seek-prev {
  background-position: -48px -160px;
}

.ui-icon-seek-end {
  background-position: -64px -160px;
}

.ui-icon-seek-start {
  background-position: -80px -160px;
}

/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first {
  background-position: -80px -160px;
}

.ui-icon-stop {
  background-position: -96px -160px;
}

.ui-icon-eject {
  background-position: -112px -160px;
}

.ui-icon-volume-off {
  background-position: -128px -160px;
}

.ui-icon-volume-on {
  background-position: -144px -160px;
}

.ui-icon-power {
  background-position: 0 -176px;
}

.ui-icon-signal-diag {
  background-position: -16px -176px;
}

.ui-icon-signal {
  background-position: -32px -176px;
}

.ui-icon-battery-0 {
  background-position: -48px -176px;
}

.ui-icon-battery-1 {
  background-position: -64px -176px;
}

.ui-icon-battery-2 {
  background-position: -80px -176px;
}

.ui-icon-battery-3 {
  background-position: -96px -176px;
}

.ui-icon-circle-plus {
  background-position: 0 -192px;
}

.ui-icon-circle-minus {
  background-position: -16px -192px;
}

.ui-icon-circle-close {
  background-position: -32px -192px;
}

.ui-icon-circle-triangle-e {
  background-position: -48px -192px;
}

.ui-icon-circle-triangle-s {
  background-position: -64px -192px;
}

.ui-icon-circle-triangle-w {
  background-position: -80px -192px;
}

.ui-icon-circle-triangle-n {
  background-position: -96px -192px;
}

.ui-icon-circle-arrow-e {
  background-position: -112px -192px;
}

.ui-icon-circle-arrow-s {
  background-position: -128px -192px;
}

.ui-icon-circle-arrow-w {
  background-position: -144px -192px;
}

.ui-icon-circle-arrow-n {
  background-position: -160px -192px;
}

.ui-icon-circle-zoomin {
  background-position: -176px -192px;
}

.ui-icon-circle-zoomout {
  background-position: -192px -192px;
}

.ui-icon-circle-check {
  background-position: -208px -192px;
}

.ui-icon-circlesmall-plus {
  background-position: 0 -208px;
}

.ui-icon-circlesmall-minus {
  background-position: -16px -208px;
}

.ui-icon-circlesmall-close {
  background-position: -32px -208px;
}

.ui-icon-squaresmall-plus {
  background-position: -48px -208px;
}

.ui-icon-squaresmall-minus {
  background-position: -64px -208px;
}

.ui-icon-squaresmall-close {
  background-position: -80px -208px;
}

.ui-icon-grip-dotted-vertical {
  background-position: 0 -224px;
}

.ui-icon-grip-dotted-horizontal {
  background-position: -16px -224px;
}

.ui-icon-grip-solid-vertical {
  background-position: -32px -224px;
}

.ui-icon-grip-solid-horizontal {
  background-position: -48px -224px;
}

.ui-icon-gripsmall-diagonal-se {
  background-position: -64px -224px;
}

.ui-icon-grip-diagonal-se {
  background-position: -80px -224px;
}

/* Misc visuals
----------------------------------*/
/* Corner radius */
.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
  border-top-left-radius: 3px;
}

.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
  border-top-right-radius: 3px;
}

.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
  border-bottom-left-radius: 3px;
}

.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
  border-bottom-right-radius: 3px;
}

/* Overlays */
.ui-widget-overlay {
  background: #aaaaaa;
  opacity: 0.3;
  filter: Alpha(Opacity=30); /* support: IE8 */
}

.ui-widget-shadow {
  -webkit-box-shadow: 0px 0px 5px #666666;
  box-shadow: 0px 0px 5px #666666;
}

.animated, #widgets .widget-streetview .widget-body img, #widgets .widget-sensors .table, #widgets .widget-driver .table,
#widgets .widget-services .table,
#widgets .widget-device .table,
#widgets .widget-locking .table,
#widgets .widget-gprs-command .table,
#widgets .widget-recent-events .table, .tab-pane, #sidebar [data-device=speed] {
  animation-duration: 1s;
  animation-fill-mode: both;
}
.animated.infinite, #widgets .widget-streetview .widget-body img.infinite, #widgets .widget-sensors .infinite.table, #widgets .widget-driver .infinite.table,
#widgets .widget-services .infinite.table,
#widgets .widget-device .infinite.table,
#widgets .widget-locking .infinite.table,
#widgets .widget-gprs-command .infinite.table,
#widgets .widget-recent-events .infinite.table, .infinite.tab-pane, #sidebar .infinite[data-device=speed] {
  animation-iteration-count: infinite;
}
.animated.hinge, #widgets .widget-streetview .widget-body img.hinge, #widgets .widget-sensors .hinge.table, #widgets .widget-driver .hinge.table,
#widgets .widget-services .hinge.table,
#widgets .widget-device .hinge.table,
#widgets .widget-locking .hinge.table,
#widgets .widget-gprs-command .hinge.table,
#widgets .widget-recent-events .hinge.table, .hinge.tab-pane, #sidebar .hinge[data-device=speed] {
  animation-duration: 2s;
}
.animated.flipOutX, #widgets .widget-streetview .widget-body img.flipOutX, #widgets .widget-sensors .flipOutX.table, #widgets .widget-driver .flipOutX.table,
#widgets .widget-services .flipOutX.table,
#widgets .widget-device .flipOutX.table,
#widgets .widget-locking .flipOutX.table,
#widgets .widget-gprs-command .flipOutX.table,
#widgets .widget-recent-events .flipOutX.table, .flipOutX.tab-pane, #sidebar .flipOutX[data-device=speed] {
  animation-duration: 0.75s;
}
.animated.flipOutY, #widgets .widget-streetview .widget-body img.flipOutY, #widgets .widget-sensors .flipOutY.table, #widgets .widget-driver .flipOutY.table,
#widgets .widget-services .flipOutY.table,
#widgets .widget-device .flipOutY.table,
#widgets .widget-locking .flipOutY.table,
#widgets .widget-gprs-command .flipOutY.table,
#widgets .widget-recent-events .flipOutY.table, .flipOutY.tab-pane, #sidebar .flipOutY[data-device=speed] {
  animation-duration: 0.75s;
}
.animated.bounceIn, #widgets .widget-streetview .widget-body img.bounceIn, #widgets .widget-sensors .bounceIn.table, #widgets .widget-driver .bounceIn.table,
#widgets .widget-services .bounceIn.table,
#widgets .widget-device .bounceIn.table,
#widgets .widget-locking .bounceIn.table,
#widgets .widget-gprs-command .bounceIn.table,
#widgets .widget-recent-events .bounceIn.table, .bounceIn.tab-pane, #sidebar .bounceIn[data-device=speed] {
  animation-duration: 0.75s;
}
.animated.bounceOut, #widgets .widget-streetview .widget-body img.bounceOut, #widgets .widget-sensors .bounceOut.table, #widgets .widget-driver .bounceOut.table,
#widgets .widget-services .bounceOut.table,
#widgets .widget-device .bounceOut.table,
#widgets .widget-locking .bounceOut.table,
#widgets .widget-gprs-command .bounceOut.table,
#widgets .widget-recent-events .bounceOut.table, .bounceOut.tab-pane, #sidebar .bounceOut[data-device=speed] {
  animation-duration: 0.75s;
}
.animated.flip, #widgets .widget-streetview .widget-body img.flip, #widgets .widget-sensors .flip.table, #widgets .widget-driver .flip.table,
#widgets .widget-services .flip.table,
#widgets .widget-device .flip.table,
#widgets .widget-locking .flip.table,
#widgets .widget-gprs-command .flip.table,
#widgets .widget-recent-events .flip.table, .flip.tab-pane, #sidebar .flip[data-device=speed] {
  backface-visibility: visible;
  animation-name: flip;
}

@-webkit-keyframes bounce {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  20% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  53% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  80% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  43% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
@keyframes bounce {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  20% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  53% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  80% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  43% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
.bounce {
  animation-name: bounce;
  transform-origin: center bottom;
}

@-webkit-keyframes flash {
  from {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  to {
    opacity: 1;
  }
  25% {
    opacity: 0;
  }
  75% {
    opacity: 0;
  }
}
@keyframes flash {
  from {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  to {
    opacity: 1;
  }
  25% {
    opacity: 0;
  }
  75% {
    opacity: 0;
  }
}
.flash {
  animation-name: flash;
}

@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.pulse {
  animation-name: pulse;
}

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.rubberBand, #sidebar [data-device=speed] {
  animation-name: rubberBand;
}

@-webkit-keyframes shake {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  30% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  70% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  40% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  60% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
@keyframes shake {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  30% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  70% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  40% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  60% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
.shake {
  animation-name: shake;
}

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  0.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }
  1.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }
  2.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }
  3.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }
}
@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  0.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }
  1.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }
  2.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }
  3.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }
}
.headShake {
  animation-timing-function: ease-in-out;
  animation-name: headShake;
}

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
.swing {
  transform-origin: top center;
  animation-name: swing;
}

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  50% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  70% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  50% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  70% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.tada {
  animation-name: tada;
}

@-webkit-keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none;
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none;
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
.wobble {
  animation-name: wobble;
}

@-webkit-keyframes jello {
  from {
    -webkit-transform: none;
    transform: none;
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
  0.1% {
    -webkit-transform: none;
    transform: none;
  }
  1.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  2.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  3.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  4.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  5.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  6.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  7.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
@keyframes jello {
  from {
    -webkit-transform: none;
    transform: none;
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
  0.1% {
    -webkit-transform: none;
    transform: none;
  }
  1.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  2.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  3.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  4.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  5.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  6.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  7.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
.jello {
  animation-name: jello;
  transform-origin: center;
}

@-webkit-keyframes bounceIn {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  20% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
@keyframes bounceIn {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  20% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
.bounceIn {
  animation-name: bounceIn;
}

@-webkit-keyframes bounceInDown {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  60% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: none;
    transform: none;
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
}
@keyframes bounceInDown {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  60% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: none;
    transform: none;
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
}
.bounceInDown {
  animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  60% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: none;
    transform: none;
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
}
@keyframes bounceInLeft {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  60% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: none;
    transform: none;
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
}
.bounceInLeft {
  animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes bounceInRight {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: none;
    transform: none;
  }
}
.bounceInRight {
  animation-name: bounceInRight;
}

@-webkit-keyframes bounceInUp {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInUp {
  from {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.bounceInUp {
  animation-name: bounceInUp;
}

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
.bounceOut {
  animation-name: bounceOut;
}

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  40% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  40% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
.bounceOutDown {
  animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
.bounceOutLeft {
  animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
.bounceOutRight {
  animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  40% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  40% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
.bounceOutUp {
  animation-name: bounceOutUp;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn, #widgets .widget-streetview .widget-body img, #widgets .widget-sensors .table, #widgets .widget-driver .table,
#widgets .widget-services .table,
#widgets .widget-device .table,
#widgets .widget-locking .table,
#widgets .widget-gprs-command .table,
#widgets .widget-recent-events .table, .tab-pane {
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInDown {
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInDownBig {
  animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInLeft {
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInLeftBig {
  animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInRight {
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInRightBig {
  animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInUp {
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInUpBig {
  animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.fadeOut {
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.fadeOutDown {
  animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
.fadeOutDownBig {
  animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
.fadeOutLeft {
  animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
.fadeOutLeftBig {
  animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.fadeOutRight {
  animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
.fadeOutRightBig {
  animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.fadeOutUp {
  animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
.fadeOutUpBig {
  animation-name: fadeOutUpBig;
}

@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    animation-timing-function: ease-in;
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    animation-timing-function: ease-in;
  }
}
@keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    animation-timing-function: ease-in;
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    animation-timing-function: ease-in;
  }
}
@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.flipInX {
  backface-visibility: visible !important;
  animation-name: flipInX;
}

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.flipInY {
  backface-visibility: visible !important;
  animation-name: flipInY;
}

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
.flipOutX {
  animation-name: flipOutX;
  backface-visibility: visible !important;
}

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
.flipOutY {
  backface-visibility: visible !important;
  animation-name: flipOutY;
}

@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.lightSpeedIn {
  animation-name: lightSpeedIn;
  animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
@keyframes lightSpeedOut {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
.lightSpeedOut {
  animation-name: lightSpeedOut;
  animation-timing-function: ease-in;
}

@-webkit-keyframes rotateIn {
  from {
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateIn {
  from {
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateIn {
  animation-name: rotateIn;
}

@-webkit-keyframes rotateInDownLeft {
  from {
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInDownLeft {
  from {
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInDownLeft {
  animation-name: rotateInDownLeft;
}

@-webkit-keyframes rotateInDownRight {
  from {
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInDownRight {
  from {
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInDownRight {
  animation-name: rotateInDownRight;
}

@-webkit-keyframes rotateInUpLeft {
  from {
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInUpLeft {
  from {
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInUpLeft {
  animation-name: rotateInUpLeft;
}

@-webkit-keyframes rotateInUpRight {
  from {
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInUpRight {
  from {
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInUpRight {
  animation-name: rotateInUpRight;
}

@-webkit-keyframes rotateOut {
  from {
    transform-origin: center;
    opacity: 1;
  }
  to {
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
@keyframes rotateOut {
  from {
    transform-origin: center;
    opacity: 1;
  }
  to {
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
.rotateOut {
  animation-name: rotateOut;
}

@-webkit-keyframes rotateOutDownLeft {
  from {
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownLeft {
  from {
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
.rotateOutDownLeft {
  animation-name: rotateOutDownLeft;
}

@-webkit-keyframes rotateOutDownRight {
  from {
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownRight {
  from {
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutDownRight {
  animation-name: rotateOutDownRight;
}

@-webkit-keyframes rotateOutUpLeft {
  from {
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpLeft {
  from {
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutUpLeft {
  animation-name: rotateOutUpLeft;
}

@-webkit-keyframes rotateOutUpRight {
  from {
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpRight {
  from {
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
.rotateOutUpRight {
  animation-name: rotateOutUpRight;
}

@-webkit-keyframes hinge {
  0% {
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
@keyframes hinge {
  0% {
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
.hinge {
  animation-name: hinge;
}

@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.rollIn {
  animation-name: rollIn;
}

@-webkit-keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
@keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
.rollOut {
  animation-name: rollOut;
}

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
.zoomIn {
  animation-name: zoomIn;
}

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInDown {
  animation-name: zoomInDown;
}

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInLeft {
  animation-name: zoomInLeft;
}

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInRight {
  animation-name: zoomInRight;
}

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInUp {
  animation-name: zoomInUp;
}

@-webkit-keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
@keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
.zoomOut {
  animation-name: zoomOut;
}

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutDown {
  animation-name: zoomOutDown;
}

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform-origin: left center;
  }
}
@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform-origin: left center;
  }
}
.zoomOutLeft {
  animation-name: zoomOutLeft;
}

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    transform-origin: right center;
  }
}
@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    transform-origin: right center;
  }
}
.zoomOutRight {
  animation-name: zoomOutRight;
}

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutUp {
  animation-name: zoomOutUp;
}

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInDown {
  animation-name: slideInDown;
}

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInLeft {
  animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInRight {
  animation-name: slideInRight;
}

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInUp {
  animation-name: slideInUp;
}

@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.slideOutDown {
  animation-name: slideOutDown;
}

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
.slideOutLeft {
  animation-name: slideOutLeft;
}

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.slideOutRight {
  animation-name: slideOutRight;
}

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.slideOutUp {
  animation-name: slideOutUp;
}

/*!
 *  Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: "FontAwesome";
  src: url("../fonts/fontawesome-webfont.eot?v=4.4.0");
  src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.4.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff2?v=4.4.0") format("woff2"), url("../fonts/fontawesome-webfont.woff?v=4.4.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.4.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal;
}
.fa, .form-group.search:before,
.bs-searchbox:before, .caret, .dropup .caret, .navbar-fixed-bottom .dropdown .caret {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: inherit;
}

/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.3333333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}

.fa-2x {
  font-size: 2em;
}

.fa-3x {
  font-size: 3em;
}

.fa-4x {
  font-size: 4em;
}

.fa-5x {
  font-size: 5em;
}

.fa-fw {
  width: 1.2857142857em;
  text-align: center;
}

.fa-ul {
  padding-left: 0;
  margin-left: 2.1428571429em;
  list-style-type: none;
}
.fa-ul > li {
  position: relative;
}

.fa-li {
  position: absolute;
  left: -2.1428571429em;
  width: 2.1428571429em;
  top: 0.1428571429em;
  text-align: center;
}
.fa-li.fa-lg {
  left: -1.8571428571em;
}

.fa-border {
  padding: 0.2em 0.25em 0.15em;
  border: solid 0.08em #eee;
  border-radius: 0.1em;
}

.fa-pull-left {
  float: left;
}

.fa-pull-right {
  float: right;
}

.fa.fa-pull-left, .fa-pull-left.form-group.search:before,
.fa-pull-left.bs-searchbox:before, .fa-pull-left.caret, .navbar-fixed-bottom .dropdown .fa-pull-left.caret {
  margin-right: 0.3em;
}
.fa.fa-pull-right, .fa-pull-right.form-group.search:before,
.fa-pull-right.bs-searchbox:before, .fa-pull-right.caret, .navbar-fixed-bottom .dropdown .fa-pull-right.caret {
  margin-left: 0.3em;
}

/* Deprecated as of 4.4.0 */
.pull-right, .nav-pagination .pagination {
  float: right;
}

.pull-left {
  float: left;
}

.fa.pull-left, .pull-left.form-group.search:before,
.pull-left.bs-searchbox:before, .pull-left.caret, .navbar-fixed-bottom .dropdown .pull-left.caret {
  margin-right: 0.3em;
}
.fa.pull-right, .nav-pagination .fa.pagination, .pull-right.form-group.search:before, .nav-pagination .form-group.search.pagination:before,
.pull-right.bs-searchbox:before,
.nav-pagination .bs-searchbox.pagination:before, .pull-right.caret, .nav-pagination .caret.pagination, .navbar-fixed-bottom .dropdown .pull-right.caret {
  margin-left: 0.3em;
}

.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}

.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8);
}

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.fa-rotate-180 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.fa-rotate-270 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}

.fa-flip-horizontal {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0);
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

.fa-flip-vertical {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1);
}

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none;
}

.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}

.fa-stack-1x, .fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}

.fa-stack-1x {
  line-height: inherit;
}

.fa-stack-2x {
  font-size: 2em;
}

.fa-inverse {
  color: #fff;
}

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: "\f000";
}

.fa-music:before {
  content: "\f001";
}

.fa-search:before {
  content: "\f002";
}

.fa-envelope-o:before {
  content: "\f003";
}

.fa-heart:before {
  content: "\f004";
}

.fa-star:before {
  content: "\f005";
}

.fa-star-o:before {
  content: "\f006";
}

.fa-user:before, .icon.driver:before {
  content: "\f007";
}

.fa-film:before {
  content: "\f008";
}

.fa-th-large:before {
  content: "\f009";
}

.fa-th:before {
  content: "\f00a";
}

.fa-th-list:before {
  content: "\f00b";
}

.fa-check:before {
  content: "\f00c";
}

.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "\f00d";
}

.fa-search-plus:before {
  content: "\f00e";
}

.fa-search-minus:before {
  content: "\f010";
}

.fa-power-off:before {
  content: "\f011";
}

.fa-signal:before {
  content: "\f012";
}

.fa-gear:before,
.fa-cog:before {
  content: "\f013";
}

.fa-trash-o:before {
  content: "\f014";
}

.fa-home:before {
  content: "\f015";
}

.fa-file-o:before {
  content: "\f016";
}

.fa-clock-o:before, .icon.time:before {
  content: "\f017";
}

.fa-road:before, .icon.device-distance:before {
  content: "\f018";
}

.fa-download:before {
  content: "\f019";
}

.fa-arrow-circle-o-down:before {
  content: "\f01a";
}

.fa-arrow-circle-o-up:before {
  content: "\f01b";
}

.fa-inbox:before {
  content: "\f01c";
}

.fa-play-circle-o:before {
  content: "\f01d";
}

.fa-rotate-right:before,
.fa-repeat:before,
.icon.reset:before {
  content: "\f01e";
}

.fa-refresh:before, .icon.restart:before {
  content: "\f021";
}

.fa-list-alt:before {
  content: "\f022";
}

.fa-lock:before, .icon.lock:before {
  content: "\f023";
}

.fa-flag:before {
  content: "\f024";
}

.fa-headphones:before {
  content: "\f025";
}

.fa-volume-off:before {
  content: "\f026";
}

.fa-volume-down:before {
  content: "\f027";
}

.fa-volume-up:before {
  content: "\f028";
}

.fa-qrcode:before, .icon.qrcode:before {
  content: "\f029";
}

.fa-barcode:before, .icon.vin:before {
  content: "\f02a";
}

.fa-tag:before {
  content: "\f02b";
}

.fa-tags:before {
  content: "\f02c";
}

.fa-book:before {
  content: "\f02d";
}

.fa-bookmark:before {
  content: "\f02e";
}

.fa-print:before {
  content: "\f02f";
}

.fa-camera:before {
  content: "\f030";
}

.fa-font:before {
  content: "\f031";
}

.fa-bold:before {
  content: "\f032";
}

.fa-italic:before {
  content: "\f033";
}

.fa-text-height:before {
  content: "\f034";
}

.fa-text-width:before {
  content: "\f035";
}

.fa-align-left:before {
  content: "\f036";
}

.fa-align-center:before {
  content: "\f037";
}

.fa-align-right:before {
  content: "\f038";
}

.fa-align-justify:before {
  content: "\f039";
}

.fa-list:before, .icon.external-link:before {
  content: "\f03a";
}

.fa-dedent:before,
.fa-outdent:before {
  content: "\f03b";
}

.fa-indent:before {
  content: "\f03c";
}

.fa-video-camera:before {
  content: "\f03d";
}

.fa-photo:before, .icon.photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "\f03e";
}

.fa-pencil:before {
  content: "\f040";
}

.fa-map-marker:before {
  content: "\f041";
}

.fa-adjust:before {
  content: "\f042";
}

.fa-tint:before {
  content: "\f043";
}

.fa-edit:before,
.fa-pencil-square-o:before {
  content: "\f044";
}

.fa-share-square-o:before {
  content: "\f045";
}

.fa-check-square-o:before {
  content: "\f046";
}

.fa-arrows:before {
  content: "\f047";
}

.fa-step-backward:before {
  content: "\f048";
}

.fa-fast-backward:before {
  content: "\f049";
}

.fa-backward:before {
  content: "\f04a";
}

.fa-play:before, .icon.play:before {
  content: "\f04b";
}

.fa-pause:before, .icon.pause:before {
  content: "\f04c";
}

.fa-stop:before, .icon.stop:before {
  content: "\f04d";
}

.fa-forward:before {
  content: "\f04e";
}

.fa-fast-forward:before {
  content: "\f050";
}

.fa-step-forward:before {
  content: "\f051";
}

.fa-eject:before {
  content: "\f052";
}

.fa-chevron-left:before {
  content: "\f053";
}

.fa-chevron-right:before {
  content: "\f054";
}

.fa-plus-circle:before {
  content: "\f055";
}

.fa-minus-circle:before {
  content: "\f056";
}

.fa-times-circle:before {
  content: "\f057";
}

.fa-check-circle:before {
  content: "\f058";
}

.fa-question-circle:before {
  content: "\f059";
}

.fa-info-circle:before {
  content: "\f05a";
}

.fa-crosshairs:before {
  content: "\f05b";
}

.fa-times-circle-o:before {
  content: "\f05c";
}

.fa-check-circle-o:before {
  content: "\f05d";
}

.fa-ban:before {
  content: "\f05e";
}

.fa-arrow-left:before {
  content: "\f060";
}

.fa-arrow-right:before {
  content: "\f061";
}

.fa-arrow-up:before {
  content: "\f062";
}

.fa-arrow-down:before {
  content: "\f063";
}

.fa-mail-forward:before,
.fa-share:before,
.icon.forwards:before {
  content: "\f064";
}

.fa-expand:before {
  content: "\f065";
}

.fa-compress:before {
  content: "\f066";
}

.fa-plus:before {
  content: "\f067";
}

.fa-minus:before {
  content: "\f068";
}

.fa-asterisk:before {
  content: "\f069";
}

.fa-exclamation-circle:before {
  content: "\f06a";
}

.fa-gift:before {
  content: "\f06b";
}

.fa-leaf:before {
  content: "\f06c";
}

.fa-fire:before {
  content: "\f06d";
}

.fa-eye:before, .icon.eye:before {
  content: "\f06e";
}

.fa-eye-slash:before {
  content: "\f070";
}

.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "\f071";
}

.fa-plane:before {
  content: "\f072";
}

.fa-calendar:before, .icon.calendar:before {
  content: "\f073";
}

.fa-random:before {
  content: "\f074";
}

.fa-comment:before {
  content: "\f075";
}

.fa-magnet:before {
  content: "\f076";
}

.fa-chevron-up:before {
  content: "\f077";
}

.fa-chevron-down:before {
  content: "\f078";
}

.fa-retweet:before {
  content: "\f079";
}

.fa-shopping-cart:before {
  content: "\f07a";
}

.fa-folder:before {
  content: "\f07b";
}

.fa-folder-open:before {
  content: "\f07c";
}

.fa-arrows-v:before {
  content: "\f07d";
}

.fa-arrows-h:before {
  content: "\f07e";
}

.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "\f080";
}

.fa-twitter-square:before {
  content: "\f081";
}

.fa-facebook-square:before {
  content: "\f082";
}

.fa-camera-retro:before {
  content: "\f083";
}

.fa-key:before, .icon.logout:before {
  content: "\f084";
}

.fa-gears:before,
.fa-cogs:before,
.icon.admin:before,
.icon.multi-edit:before {
  content: "\f085";
}

.fa-comments:before {
  content: "\f086";
}

.fa-thumbs-o-up:before {
  content: "\f087";
}

.fa-thumbs-o-down:before {
  content: "\f088";
}

.fa-star-half:before {
  content: "\f089";
}

.fa-heart-o:before {
  content: "\f08a";
}

.fa-sign-out:before {
  content: "\f08b";
}

.fa-linkedin-square:before {
  content: "\f08c";
}

.fa-thumb-tack:before {
  content: "\f08d";
}

.fa-external-link:before {
  content: "\f08e";
}

.fa-sign-in:before {
  content: "\f090";
}

.fa-trophy:before {
  content: "\f091";
}

.fa-github-square:before {
  content: "\f092";
}

.fa-upload:before {
  content: "\f093";
}

.fa-lemon-o:before {
  content: "\f094";
}

.fa-phone:before, .icon.call_action:before {
  content: "\f095";
}

.fa-square-o:before {
  content: "\f096";
}

.fa-bookmark-o:before {
  content: "\f097";
}

.fa-phone-square:before {
  content: "\f098";
}

.fa-twitter:before {
  content: "\f099";
}

.fa-facebook-f:before,
.fa-facebook:before {
  content: "\f09a";
}

.fa-github:before {
  content: "\f09b";
}

.fa-unlock:before, .icon.unlock:before {
  content: "\f09c";
}

.fa-credit-card:before, .icon.rfid:before {
  content: "\f09d";
}

.fa-feed:before,
.fa-rss:before {
  content: "\f09e";
}

.fa-hdd-o:before {
  content: "\f0a0";
}

.fa-bullhorn:before {
  content: "\f0a1";
}

.fa-bell:before {
  content: "\f0f3";
}

.fa-certificate:before {
  content: "\f0a3";
}

.fa-hand-o-right:before {
  content: "\f0a4";
}

.fa-hand-o-left:before {
  content: "\f0a5";
}

.fa-hand-o-up:before {
  content: "\f0a6";
}

.fa-hand-o-down:before {
  content: "\f0a7";
}

.fa-arrow-circle-left:before {
  content: "\f0a8";
}

.fa-arrow-circle-right:before {
  content: "\f0a9";
}

.fa-arrow-circle-up:before {
  content: "\f0aa";
}

.fa-arrow-circle-down:before {
  content: "\f0ab";
}

.fa-globe:before, .icon.globe:before {
  content: "\f0ac";
}

.fa-wrench:before {
  content: "\f0ad";
}

.fa-tasks:before, .icon.checklist:before {
  content: "\f0ae";
}

.fa-filter:before, .icon.filter:before {
  content: "\f0b0";
}

.fa-briefcase:before, .icon.route_type:before {
  content: "\f0b1";
}

.fa-arrows-alt:before, .icon.map-expand:before {
  content: "\f0b2";
}

.fa-group:before,
.fa-users:before {
  content: "\f0c0";
}

.fa-chain:before,
.fa-link:before {
  content: "\f0c1";
}

.fa-cloud:before {
  content: "\f0c2";
}

.fa-flask:before {
  content: "\f0c3";
}

.fa-cut:before,
.fa-scissors:before {
  content: "\f0c4";
}

.fa-copy:before,
.fa-files-o:before {
  content: "\f0c5";
}

.fa-paperclip:before {
  content: "\f0c6";
}

.fa-save:before,
.fa-floppy-o:before {
  content: "\f0c7";
}

.fa-square:before {
  content: "\f0c8";
}

.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "\f0c9";
}

.fa-list-ul:before {
  content: "\f0ca";
}

.fa-list-ol:before {
  content: "\f0cb";
}

.fa-strikethrough:before {
  content: "\f0cc";
}

.fa-underline:before {
  content: "\f0cd";
}

.fa-table:before, .icon.lookup:before {
  content: "\f0ce";
}

.fa-magic:before {
  content: "\f0d0";
}

.fa-truck:before {
  content: "\f0d1";
}

.fa-pinterest:before {
  content: "\f0d2";
}

.fa-pinterest-square:before {
  content: "\f0d3";
}

.fa-google-plus-square:before {
  content: "\f0d4";
}

.fa-google-plus:before {
  content: "\f0d5";
}

.fa-money:before, .icon.money:before {
  content: "\f0d6";
}

.fa-caret-down:before {
  content: "\f0d7";
}

.fa-caret-up:before {
  content: "\f0d8";
}

.fa-caret-left:before {
  content: "\f0d9";
}

.fa-caret-right:before {
  content: "\f0da";
}

.fa-columns:before {
  content: "\f0db";
}

.fa-unsorted:before,
.fa-sort:before {
  content: "\f0dc";
}

.fa-sort-down:before,
.fa-sort-desc:before {
  content: "\f0dd";
}

.fa-sort-up:before,
.fa-sort-asc:before {
  content: "\f0de";
}

.fa-envelope:before, .icon.email:before {
  content: "\f0e0";
}

.fa-linkedin:before {
  content: "\f0e1";
}

.fa-rotate-left:before,
.fa-undo:before {
  content: "\f0e2";
}

.fa-legal:before,
.fa-gavel:before {
  content: "\f0e3";
}

.fa-dashboard:before, .icon.dashboard:before,
.fa-tachometer:before {
  content: "\f0e4";
}

.fa-comment-o:before {
  content: "\f0e5";
}

.fa-comments-o:before, .icon.chat:before {
  content: "\f0e6";
}

.fa-flash:before,
.fa-bolt:before {
  content: "\f0e7";
}

.fa-sitemap:before {
  content: "\f0e8";
}

.fa-umbrella:before {
  content: "\f0e9";
}

.fa-paste:before,
.fa-clipboard:before,
.icon.pre-checklist:before {
  content: "\f0ea";
}

.fa-lightbulb-o:before {
  content: "\f0eb";
}

.fa-exchange:before {
  content: "\f0ec";
}

.fa-cloud-download:before {
  content: "\f0ed";
}

.fa-cloud-upload:before {
  content: "\f0ee";
}

.fa-user-md:before {
  content: "\f0f0";
}

.fa-stethoscope:before {
  content: "\f0f1";
}

.fa-suitcase:before {
  content: "\f0f2";
}

.fa-bell-o:before {
  content: "\f0a2";
}

.fa-coffee:before {
  content: "\f0f4";
}

.fa-cutlery:before {
  content: "\f0f5";
}

.fa-file-text-o:before {
  content: "\f0f6";
}

.fa-building-o:before {
  content: "\f0f7";
}

.fa-hospital-o:before {
  content: "\f0f8";
}

.fa-ambulance:before {
  content: "\f0f9";
}

.fa-medkit:before {
  content: "\f0fa";
}

.fa-fighter-jet:before {
  content: "\f0fb";
}

.fa-beer:before {
  content: "\f0fc";
}

.fa-h-square:before {
  content: "\f0fd";
}

.fa-plus-square:before {
  content: "\f0fe";
}

.fa-angle-double-left:before {
  content: "\f100";
}

.fa-angle-double-right:before {
  content: "\f101";
}

.fa-angle-double-up:before {
  content: "\f102";
}

.fa-angle-double-down:before {
  content: "\f103";
}

.fa-angle-left:before {
  content: "\f104";
}

.fa-angle-right:before {
  content: "\f105";
}

.fa-angle-up:before {
  content: "\f106";
}

.fa-angle-down:before, .caret:before, .dropup .caret:before, .navbar-fixed-bottom .dropdown .caret:before {
  content: "\f107";
}

.fa-desktop:before {
  content: "\f108";
}

.fa-laptop:before {
  content: "\f109";
}

.fa-tablet:before {
  content: "\f10a";
}

.fa-mobile-phone:before,
.fa-mobile:before {
  content: "\f10b";
}

.fa-circle-o:before {
  content: "\f10c";
}

.fa-quote-left:before {
  content: "\f10d";
}

.fa-quote-right:before {
  content: "\f10e";
}

.fa-spinner:before {
  content: "\f110";
}

.fa-circle:before {
  content: "\f111";
}

.fa-mail-reply:before,
.fa-reply:before {
  content: "\f112";
}

.fa-github-alt:before {
  content: "\f113";
}

.fa-folder-o:before {
  content: "\f114";
}

.fa-folder-open-o:before {
  content: "\f115";
}

.fa-smile-o:before {
  content: "\f118";
}

.fa-frown-o:before {
  content: "\f119";
}

.fa-meh-o:before {
  content: "\f11a";
}

.fa-gamepad:before {
  content: "\f11b";
}

.fa-keyboard-o:before {
  content: "\f11c";
}

.fa-flag-o:before {
  content: "\f11d";
}

.fa-flag-checkered:before {
  content: "\f11e";
}

.fa-terminal:before {
  content: "\f120";
}

.fa-code:before {
  content: "\f121";
}

.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "\f122";
}

.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "\f123";
}

.fa-location-arrow:before {
  content: "\f124";
}

.fa-crop:before {
  content: "\f125";
}

.fa-code-fork:before {
  content: "\f126";
}

.fa-unlink:before,
.fa-chain-broken:before {
  content: "\f127";
}

.fa-question:before {
  content: "\f128";
}

.fa-info:before {
  content: "\f129";
}

.fa-exclamation:before {
  content: "\f12a";
}

.fa-superscript:before {
  content: "\f12b";
}

.fa-subscript:before {
  content: "\f12c";
}

.fa-eraser:before {
  content: "\f12d";
}

.fa-puzzle-piece:before {
  content: "\f12e";
}

.fa-microphone:before {
  content: "\f130";
}

.fa-microphone-slash:before {
  content: "\f131";
}

.fa-shield:before {
  content: "\f132";
}

.fa-calendar-o:before {
  content: "\f133";
}

.fa-fire-extinguisher:before {
  content: "\f134";
}

.fa-rocket:before {
  content: "\f135";
}

.fa-maxcdn:before {
  content: "\f136";
}

.fa-chevron-circle-left:before {
  content: "\f137";
}

.fa-chevron-circle-right:before {
  content: "\f138";
}

.fa-chevron-circle-up:before {
  content: "\f139";
}

.fa-chevron-circle-down:before {
  content: "\f13a";
}

.fa-html5:before {
  content: "\f13b";
}

.fa-css3:before {
  content: "\f13c";
}

.fa-anchor:before {
  content: "\f13d";
}

.fa-unlock-alt:before {
  content: "\f13e";
}

.fa-bullseye:before {
  content: "\f140";
}

.fa-ellipsis-h:before {
  content: "\f141";
}

.fa-ellipsis-v:before {
  content: "\f142";
}

.fa-rss-square:before {
  content: "\f143";
}

.fa-play-circle:before {
  content: "\f144";
}

.fa-ticket:before {
  content: "\f145";
}

.fa-minus-square:before {
  content: "\f146";
}

.fa-minus-square-o:before {
  content: "\f147";
}

.fa-level-up:before {
  content: "\f148";
}

.fa-level-down:before {
  content: "\f149";
}

.fa-check-square:before {
  content: "\f14a";
}

.fa-pencil-square:before {
  content: "\f14b";
}

.fa-external-link-square:before {
  content: "\f14c";
}

.fa-share-square:before {
  content: "\f14d";
}

.fa-compass:before {
  content: "\f14e";
}

.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "\f150";
}

.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "\f151";
}

.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "\f152";
}

.fa-euro:before,
.fa-eur:before {
  content: "\f153";
}

.fa-gbp:before {
  content: "\f154";
}

.fa-dollar:before,
.fa-usd:before {
  content: "\f155";
}

.fa-rupee:before,
.fa-inr:before {
  content: "\f156";
}

.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "\f157";
}

.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "\f158";
}

.fa-won:before,
.fa-krw:before {
  content: "\f159";
}

.fa-bitcoin:before,
.fa-btc:before {
  content: "\f15a";
}

.fa-file:before {
  content: "\f15b";
}

.fa-file-text:before {
  content: "\f15c";
}

.fa-sort-alpha-asc:before {
  content: "\f15d";
}

.fa-sort-alpha-desc:before {
  content: "\f15e";
}

.fa-sort-amount-asc:before {
  content: "\f160";
}

.fa-sort-amount-desc:before {
  content: "\f161";
}

.fa-sort-numeric-asc:before {
  content: "\f162";
}

.fa-sort-numeric-desc:before {
  content: "\f163";
}

.fa-thumbs-up:before {
  content: "\f164";
}

.fa-thumbs-down:before {
  content: "\f165";
}

.fa-youtube-square:before {
  content: "\f166";
}

.fa-youtube:before {
  content: "\f167";
}

.fa-xing:before {
  content: "\f168";
}

.fa-xing-square:before {
  content: "\f169";
}

.fa-youtube-play:before {
  content: "\f16a";
}

.fa-dropbox:before {
  content: "\f16b";
}

.fa-stack-overflow:before {
  content: "\f16c";
}

.fa-instagram:before {
  content: "\f16d";
}

.fa-flickr:before {
  content: "\f16e";
}

.fa-adn:before {
  content: "\f170";
}

.fa-bitbucket:before {
  content: "\f171";
}

.fa-bitbucket-square:before {
  content: "\f172";
}

.fa-tumblr:before {
  content: "\f173";
}

.fa-tumblr-square:before {
  content: "\f174";
}

.fa-long-arrow-down:before {
  content: "\f175";
}

.fa-long-arrow-up:before {
  content: "\f176";
}

.fa-long-arrow-left:before {
  content: "\f177";
}

.fa-long-arrow-right:before {
  content: "\f178";
}

.fa-apple:before {
  content: "\f179";
}

.fa-windows:before {
  content: "\f17a";
}

.fa-android:before {
  content: "\f17b";
}

.fa-linux:before {
  content: "\f17c";
}

.fa-dribbble:before {
  content: "\f17d";
}

.fa-skype:before {
  content: "\f17e";
}

.fa-foursquare:before {
  content: "\f180";
}

.fa-trello:before {
  content: "\f181";
}

.fa-female:before {
  content: "\f182";
}

.fa-male:before {
  content: "\f183";
}

.fa-gittip:before,
.fa-gratipay:before {
  content: "\f184";
}

.fa-sun-o:before {
  content: "\f185";
}

.fa-moon-o:before {
  content: "\f186";
}

.fa-archive:before {
  content: "\f187";
}

.fa-bug:before {
  content: "\f188";
}

.fa-vk:before {
  content: "\f189";
}

.fa-weibo:before {
  content: "\f18a";
}

.fa-renren:before {
  content: "\f18b";
}

.fa-pagelines:before {
  content: "\f18c";
}

.fa-stack-exchange:before {
  content: "\f18d";
}

.fa-arrow-circle-o-right:before {
  content: "\f18e";
}

.fa-arrow-circle-o-left:before {
  content: "\f190";
}

.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "\f191";
}

.fa-dot-circle-o:before {
  content: "\f192";
}

.fa-wheelchair:before {
  content: "\f193";
}

.fa-vimeo-square:before {
  content: "\f194";
}

.fa-turkish-lira:before,
.fa-try:before {
  content: "\f195";
}

.fa-plus-square-o:before {
  content: "\f196";
}

.fa-space-shuttle:before {
  content: "\f197";
}

.fa-slack:before {
  content: "\f198";
}

.fa-envelope-square:before {
  content: "\f199";
}

.fa-wordpress:before {
  content: "\f19a";
}

.fa-openid:before {
  content: "\f19b";
}

.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "\f19c";
}

.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "\f19d";
}

.fa-yahoo:before {
  content: "\f19e";
}

.fa-google:before {
  content: "\f1a0";
}

.fa-reddit:before {
  content: "\f1a1";
}

.fa-reddit-square:before {
  content: "\f1a2";
}

.fa-stumbleupon-circle:before {
  content: "\f1a3";
}

.fa-stumbleupon:before {
  content: "\f1a4";
}

.fa-delicious:before {
  content: "\f1a5";
}

.fa-digg:before {
  content: "\f1a6";
}

.fa-pied-piper:before {
  content: "\f1a7";
}

.fa-pied-piper-alt:before {
  content: "\f1a8";
}

.fa-drupal:before {
  content: "\f1a9";
}

.fa-joomla:before {
  content: "\f1aa";
}

.fa-language:before {
  content: "\f1ab";
}

.fa-fax:before {
  content: "\f1ac";
}

.fa-building:before {
  content: "\f1ad";
}

.fa-child:before {
  content: "\f1ae";
}

.fa-paw:before {
  content: "\f1b0";
}

.fa-spoon:before {
  content: "\f1b1";
}

.fa-cube:before {
  content: "\f1b2";
}

.fa-cubes:before {
  content: "\f1b3";
}

.fa-behance:before {
  content: "\f1b4";
}

.fa-behance-square:before {
  content: "\f1b5";
}

.fa-steam:before {
  content: "\f1b6";
}

.fa-steam-square:before {
  content: "\f1b7";
}

.fa-recycle:before {
  content: "\f1b8";
}

.fa-automobile:before,
.fa-car:before {
  content: "\f1b9";
}

.fa-cab:before,
.fa-taxi:before {
  content: "\f1ba";
}

.fa-tree:before {
  content: "\f1bb";
}

.fa-spotify:before {
  content: "\f1bc";
}

.fa-deviantart:before {
  content: "\f1bd";
}

.fa-soundcloud:before {
  content: "\f1be";
}

.fa-database:before {
  content: "\f1c0";
}

.fa-file-pdf-o:before {
  content: "\f1c1";
}

.fa-file-word-o:before {
  content: "\f1c2";
}

.fa-file-excel-o:before {
  content: "\f1c3";
}

.fa-file-powerpoint-o:before {
  content: "\f1c4";
}

.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "\f1c5";
}

.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "\f1c6";
}

.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "\f1c7";
}

.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "\f1c8";
}

.fa-file-code-o:before {
  content: "\f1c9";
}

.fa-vine:before {
  content: "\f1ca";
}

.fa-codepen:before {
  content: "\f1cb";
}

.fa-jsfiddle:before {
  content: "\f1cc";
}

.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "\f1cd";
}

.fa-circle-o-notch:before {
  content: "\f1ce";
}

.fa-ra:before,
.fa-rebel:before {
  content: "\f1d0";
}

.fa-ge:before,
.fa-empire:before {
  content: "\f1d1";
}

.fa-git-square:before {
  content: "\f1d2";
}

.fa-git:before {
  content: "\f1d3";
}

.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
  content: "\f1d4";
}

.fa-tencent-weibo:before {
  content: "\f1d5";
}

.fa-qq:before {
  content: "\f1d6";
}

.fa-wechat:before,
.fa-weixin:before {
  content: "\f1d7";
}

.fa-send:before,
.fa-paper-plane:before {
  content: "\f1d8";
}

.fa-send-o:before, .icon.send:before,
.fa-paper-plane-o:before {
  content: "\f1d9";
}

.fa-history:before {
  content: "\f1da";
}

.fa-circle-thin:before {
  content: "\f1db";
}

.fa-header:before {
  content: "\f1dc";
}

.fa-paragraph:before {
  content: "\f1dd";
}

.fa-sliders:before {
  content: "\f1de";
}

.fa-share-alt:before, .icon.sharing:before {
  content: "\f1e0";
}

.fa-share-alt-square:before {
  content: "\f1e1";
}

.fa-bomb:before {
  content: "\f1e2";
}

.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "\f1e3";
}

.fa-tty:before {
  content: "\f1e4";
}

.fa-binoculars:before {
  content: "\f1e5";
}

.fa-plug:before {
  content: "\f1e6";
}

.fa-slideshare:before {
  content: "\f1e7";
}

.fa-twitch:before {
  content: "\f1e8";
}

.fa-yelp:before {
  content: "\f1e9";
}

.fa-newspaper-o:before {
  content: "\f1ea";
}

.fa-wifi:before {
  content: "\f1eb";
}

.fa-calculator:before {
  content: "\f1ec";
}

.fa-paypal:before {
  content: "\f1ed";
}

.fa-google-wallet:before {
  content: "\f1ee";
}

.fa-cc-visa:before {
  content: "\f1f0";
}

.fa-cc-mastercard:before {
  content: "\f1f1";
}

.fa-cc-discover:before {
  content: "\f1f2";
}

.fa-cc-amex:before {
  content: "\f1f3";
}

.fa-cc-paypal:before {
  content: "\f1f4";
}

.fa-cc-stripe:before {
  content: "\f1f5";
}

.fa-bell-slash:before {
  content: "\f1f6";
}

.fa-bell-slash-o:before {
  content: "\f1f7";
}

.fa-trash:before, .icon.trash:before {
  content: "\f1f8";
}

.fa-copyright:before {
  content: "\f1f9";
}

.fa-at:before {
  content: "\f1fa";
}

.fa-eyedropper:before {
  content: "\f1fb";
}

.fa-paint-brush:before {
  content: "\f1fc";
}

.fa-birthday-cake:before {
  content: "\f1fd";
}

.fa-area-chart:before {
  content: "\f1fe";
}

.fa-pie-chart:before {
  content: "\f200";
}

.fa-line-chart:before {
  content: "\f201";
}

.fa-lastfm:before {
  content: "\f202";
}

.fa-lastfm-square:before {
  content: "\f203";
}

.fa-toggle-off:before {
  content: "\f204";
}

.fa-toggle-on:before {
  content: "\f205";
}

.fa-bicycle:before {
  content: "\f206";
}

.fa-bus:before {
  content: "\f207";
}

.fa-ioxhost:before {
  content: "\f208";
}

.fa-angellist:before {
  content: "\f209";
}

.fa-cc:before {
  content: "\f20a";
}

.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "\f20b";
}

.fa-meanpath:before {
  content: "\f20c";
}

.fa-buysellads:before {
  content: "\f20d";
}

.fa-connectdevelop:before {
  content: "\f20e";
}

.fa-dashcube:before {
  content: "\f210";
}

.fa-forumbee:before {
  content: "\f211";
}

.fa-leanpub:before {
  content: "\f212";
}

.fa-sellsy:before {
  content: "\f213";
}

.fa-shirtsinbulk:before {
  content: "\f214";
}

.fa-simplybuilt:before {
  content: "\f215";
}

.fa-skyatlas:before {
  content: "\f216";
}

.fa-cart-plus:before {
  content: "\f217";
}

.fa-cart-arrow-down:before {
  content: "\f218";
}

.fa-diamond:before {
  content: "\f219";
}

.fa-ship:before {
  content: "\f21a";
}

.fa-user-secret:before {
  content: "\f21b";
}

.fa-motorcycle:before {
  content: "\f21c";
}

.fa-street-view:before {
  content: "\f21d";
}

.fa-heartbeat:before {
  content: "\f21e";
}

.fa-venus:before {
  content: "\f221";
}

.fa-mars:before {
  content: "\f222";
}

.fa-mercury:before {
  content: "\f223";
}

.fa-intersex:before,
.fa-transgender:before {
  content: "\f224";
}

.fa-transgender-alt:before {
  content: "\f225";
}

.fa-venus-double:before {
  content: "\f226";
}

.fa-mars-double:before {
  content: "\f227";
}

.fa-venus-mars:before {
  content: "\f228";
}

.fa-mars-stroke:before {
  content: "\f229";
}

.fa-mars-stroke-v:before {
  content: "\f22a";
}

.fa-mars-stroke-h:before {
  content: "\f22b";
}

.fa-neuter:before {
  content: "\f22c";
}

.fa-genderless:before {
  content: "\f22d";
}

.fa-facebook-official:before {
  content: "\f230";
}

.fa-pinterest-p:before {
  content: "\f231";
}

.fa-whatsapp:before {
  content: "\f232";
}

.fa-server:before {
  content: "\f233";
}

.fa-user-plus:before {
  content: "\f234";
}

.fa-user-times:before {
  content: "\f235";
}

.fa-hotel:before,
.fa-bed:before {
  content: "\f236";
}

.fa-viacoin:before {
  content: "\f237";
}

.fa-train:before {
  content: "\f238";
}

.fa-subway:before {
  content: "\f239";
}

.fa-medium:before {
  content: "\f23a";
}

.fa-yc:before,
.fa-y-combinator:before {
  content: "\f23b";
}

.fa-optin-monster:before {
  content: "\f23c";
}

.fa-opencart:before {
  content: "\f23d";
}

.fa-expeditedssl:before {
  content: "\f23e";
}

.fa-battery-4:before,
.fa-battery-full:before {
  content: "\f240";
}

.fa-battery-3:before,
.fa-battery-three-quarters:before {
  content: "\f241";
}

.fa-battery-2:before,
.fa-battery-half:before {
  content: "\f242";
}

.fa-battery-1:before,
.fa-battery-quarter:before {
  content: "\f243";
}

.fa-battery-0:before,
.fa-battery-empty:before {
  content: "\f244";
}

.fa-mouse-pointer:before {
  content: "\f245";
}

.fa-i-cursor:before {
  content: "\f246";
}

.fa-object-group:before, .icon.custom-field:before {
  content: "\f247";
}

.fa-object-ungroup:before {
  content: "\f248";
}

.fa-sticky-note:before {
  content: "\f249";
}

.fa-sticky-note-o:before {
  content: "\f24a";
}

.fa-cc-jcb:before {
  content: "\f24b";
}

.fa-cc-diners-club:before {
  content: "\f24c";
}

.fa-clone:before {
  content: "\f24d";
}

.fa-balance-scale:before {
  content: "\f24e";
}

.fa-hourglass-o:before {
  content: "\f250";
}

.fa-hourglass-1:before,
.fa-hourglass-start:before {
  content: "\f251";
}

.fa-hourglass-2:before,
.fa-hourglass-half:before {
  content: "\f252";
}

.fa-hourglass-3:before,
.fa-hourglass-end:before {
  content: "\f253";
}

.fa-hourglass:before {
  content: "\f254";
}

.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
  content: "\f255";
}

.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
  content: "\f256";
}

.fa-hand-scissors-o:before {
  content: "\f257";
}

.fa-hand-lizard-o:before {
  content: "\f258";
}

.fa-hand-spock-o:before {
  content: "\f259";
}

.fa-hand-pointer-o:before {
  content: "\f25a";
}

.fa-hand-peace-o:before {
  content: "\f25b";
}

.fa-trademark:before {
  content: "\f25c";
}

.fa-registered:before {
  content: "\f25d";
}

.fa-creative-commons:before {
  content: "\f25e";
}

.fa-gg:before {
  content: "\f260";
}

.fa-gg-circle:before {
  content: "\f261";
}

.fa-tripadvisor:before {
  content: "\f262";
}

.fa-odnoklassniki:before {
  content: "\f263";
}

.fa-odnoklassniki-square:before {
  content: "\f264";
}

.fa-get-pocket:before {
  content: "\f265";
}

.fa-wikipedia-w:before {
  content: "\f266";
}

.fa-safari:before {
  content: "\f267";
}

.fa-chrome:before {
  content: "\f268";
}

.fa-firefox:before {
  content: "\f269";
}

.fa-opera:before {
  content: "\f26a";
}

.fa-internet-explorer:before {
  content: "\f26b";
}

.fa-tv:before,
.fa-television:before {
  content: "\f26c";
}

.fa-contao:before {
  content: "\f26d";
}

.fa-500px:before {
  content: "\f26e";
}

.fa-amazon:before {
  content: "\f270";
}

.fa-calendar-plus-o:before {
  content: "\f271";
}

.fa-calendar-minus-o:before {
  content: "\f272";
}

.fa-calendar-times-o:before {
  content: "\f273";
}

.fa-calendar-check-o:before {
  content: "\f274";
}

.fa-industry:before {
  content: "\f275";
}

.fa-map-pin:before {
  content: "\f276";
}

.fa-map-signs:before {
  content: "\f277";
}

.fa-map-o:before, .icon.map-change:before {
  content: "\f278";
}

.fa-map:before {
  content: "\f279";
}

.fa-commenting:before {
  content: "\f27a";
}

.fa-commenting-o:before {
  content: "\f27b";
}

.fa-houzz:before {
  content: "\f27c";
}

.fa-vimeo:before {
  content: "\f27d";
}

.fa-black-tie:before {
  content: "\f27e";
}

.fa-fonticons:before {
  content: "\f280";
}

@font-face {
  font-family: "icomoon";
  src: url("../fonts/icomoon.eot?1ro3tw");
  src: url("../fonts/icomoon.eot?1ro3tw#iefix") format("embedded-opentype"), url("../fonts/icomoon.woff2?1ro3tw") format("woff2"), url("../fonts/icomoon.ttf?1ro3tw") format("truetype"), url("../fonts/icomoon.woff?1ro3tw") format("woff"), url("../fonts/icomoon.svg?1ro3tw#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}
.ico, .group-heading > .group-title:after, .table.table-list .sorting:before, .table.table-list .sorting:after,
.table.table-list .sorting_desc:before,
.table.table-list .sorting_desc:after,
.table.table-list .sorting_asc:before,
.table.table-list .sorting_asc:after, .btn-collapse i, .icon {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: inherit;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.ico-show-names:before {
  content: "\e900";
}

.ico-object-arrow-border:before {
  content: "\e93b";
}

.ico-object-arrow:before {
  content: "\e93d";
}

.ico-arrow-left:before, .btn-collapse.collapse-left i:before, .sidebar .btn-collapse i:before, .btn-collapse.collapsed.collapse-right i:before, #widgets.collapsed .btn-collapse.collapse-right i:before, .sidebar.collapsed #widgets.btn-collapse .btn-collapse.collapse-right i:before, .sidebar.collapsed .btn-collapse.collapse-right i:before {
  content: "\e926";
}

.ico-arrow-right:before, .btn-collapse.collapse-right i:before, .btn-collapse.collapsed.collapse-left i:before, #widgets.collapsed .btn-collapse.collapse-left i:before, .sidebar .btn-collapse.collapsed i:before, .sidebar #widgets.collapsed .btn-collapse i:before, #widgets.collapsed .sidebar .btn-collapse i:before, .sidebar.collapsed #widgets.btn-collapse .btn-collapse i:before, .sidebar.collapsed .btn-collapse i:before, .icon.send-command:before {
  content: "\e944";
}

.ico-arrow-up:before, .btn-collapse.collapse-bottom i:before, .btn-collapse.collapsed.collapse-top i:before, #widgets .btn-collapse.collapsed i:before, #widgets.collapsed .btn-collapse i:before, .sidebar.collapsed .btn-collapse.collapse-top i:before, .sidebar.collapsed #widgets .btn-collapse i:before, #widgets .sidebar.collapsed .btn-collapse i:before {
  content: "\e954";
}

.ico-arrow-down:before, .btn-collapse.collapse-top i:before, #widgets .btn-collapse i:before, .btn-collapse.collapsed.collapse-bottom i:before, #widgets.collapsed .btn-collapse.collapse-bottom i:before, .sidebar.collapsed .btn-collapse.collapse-bottom i:before {
  content: "\e910";
}

.ico-arrow-up-down:before, .icon.unit-altitude:before {
  content: "\e955";
}

.ico-arrow-left-right:before, .icon.unit-distance:before {
  content: "\e927";
}

.ico-arrow-arr-right-btn:before {
  content: "\e902";
}

.ico-plus:before, .icon.add:before, .icon.plus:before {
  content: "\e901";
}

.ico-minus:before, .icon.zoomOut:before, .icon.minus:before {
  content: "\e92e";
}

.ico-zoom:before, .icon.zoomIn:before {
  content: "\e92d";
}

.ico-check:before, .icon.complete:before, .icon.task:before, .icon.check:before {
  content: "\e90b";
}

.ico-x:before, .icon.incomplete:before, .icon.history-clean:before, .icon.remove:before, .icon.delete:before, .icon.remove-all:before {
  content: "\e95b";
}

.ico-download:before, .icon.download:before, .icon.history-export:before {
  content: "\e911";
}

.ico-upload:before, .icon.upload:before, .icon.task-import:before, .icon.import:before {
  content: "\e956";
}

.ico-gear:before, .icon.edit:before {
  content: "\e912";
}

.ico-search:before, .icon.search:before {
  content: "\e949";
}

.ico-watch:before {
  content: "\e95a";
}

.ico-warning:before {
  content: "\e959";
}

.ico-location:before, .icon.map:before {
  content: "\e929";
}

.ico-camera:before, .icon.streetview:before, .icon.camera:before {
  content: "\e90a";
}

.ico-street:before, .icon.route-import:before, .icon.routes:before {
  content: "\e94f";
}

.ico-reports:before, .icon.reports:before {
  content: "\e943";
}

.ico-filter:before {
  content: "\e914";
}

.ico-graph:before {
  content: "\e921";
}

.ico-follow:before, .icon.follow:before {
  content: "\e915";
}

.ico-traffic:before, .icon.traffic:before {
  content: "\e92c";
}

.ico-save:before {
  content: "\e948";
}

.ico-tool:before, .icon.services:before, .icon.tools:before {
  content: "\e937";
}

.ico-ruler:before {
  content: "\e946";
}

.ico-ruler-o:before, .icon.ruler:before {
  content: "\e947";
}

.ico-gear-o:before, .icon.settings:before, .icon.setting:before, .icon.setup:before {
  content: "\e936";
}

.ico-sensor:before, .icon.sensors:before {
  content: "\e930";
}

.ico-signal:before, .icon.satellites:before {
  content: "\e918";
}

.ico-house:before, .icon.address:before {
  content: "\e94b";
}

.ico-point:before, .icon.point:before {
  content: "\e94d";
}

.ico-logs:before, .icon.logs:before {
  content: "\e932";
}

.ico-options-h:before {
  content: "\e93a";
}

.ico-options-v:before, .icon.options:before {
  content: "\e941";
}

.ico-stylize-1:before, .icon.stylize-1:before {
  content: "\e950";
}

.ico-stylize-2:before {
  content: "\e951";
}

.ico-details:before, .icon.list:before, .icon.content:before {
  content: "\e90e";
}

.ico-account:before, .icon.account:before {
  content: "\e939";
}

.ico-user:before, .icon.user:before, .icon.users:before, .icon.membership:before {
  content: "\e938";
}

.ico-user-add:before, .icon.user-add:before {
  content: "\e957";
}

.ico-user-settings:before, .icon.user-edit:before, .icon.password:before {
  content: "\e958";
}

.ico-object-o:before, .icon.devices:before {
  content: "\e92a";
}

.ico-object:before, .icon.device:before {
  content: "\e934";
}

.ico-object-add:before, .icon.device-add:before {
  content: "\e93e";
}

.ico-object-import:before, .icon.device-import:before {
  content: "\e960";
}

.ico-show-names2:before, .icon.show-name:before {
  content: "\e94c";
}

.ico-show-trail:before, .icon.show-tail:before {
  content: "\e903";
}

.ico-fitbounds:before, .icon.fitBounds:before {
  content: "\e935";
}

.ico-grouping:before, .icon.group-devices:before {
  content: "\e93c";
}

.ico-poi:before, .icon.poi:before, .icon.pois:before {
  content: "\e933";
}

.ico-poi-import:before, .icon.poi-import:before {
  content: "\e917";
}

.ico-add-event:before, .icon.event-add:before {
  content: "\e904";
}

.ico-event:before, .icon.event:before, .icon.events:before, .icon.alerts:before, .icon.alert:before, .icon.help-block:before {
  content: "\e931";
}

.ico-event-add:before {
  content: "\e905";
}

.ico-geofence:before, .icon.geofence:before, .icon.geofences:before {
  content: "\e92b";
}

.ico-geofence-import:before, .icon.geofence-import:before {
  content: "\e925";
}

.ico-parking:before, .icon.parking:before {
  content: "\e940";
}

.ico-time-today:before, .icon.today:before {
  content: "\e91f";
}

.ico-time-hour:before, .icon.last-hour:before {
  content: "\e922";
}

.ico-time-yesterday:before, .icon.yesterday:before {
  content: "\e923";
}

.ico-gsm-0:before {
  content: "\e919";
}

.ico-gsm-1:before {
  content: "\e91a";
}

.ico-gsm-2:before {
  content: "\e91b";
}

.ico-gsm-3:before {
  content: "\e91c";
}

.ico-gsm-4:before {
  content: "\e91d";
}

.ico-gsm-5:before {
  content: "\e91e";
}

.ico-battery-0:before {
  content: "\e906";
}

.ico-battery-1:before {
  content: "\e907";
}

.ico-battery-2:before {
  content: "\e908";
}

.ico-battery-3:before {
  content: "\e909";
}

.ico-battery-4:before {
  content: "\e90c";
}

.ico-battery-5:before {
  content: "\e90d";
}

.ico-engine:before, .icon.detect_engine:before, .icon.engine:before {
  content: "\e913";
}

.ico-ignition:before, .icon.acc:before, .icon.ignition:before {
  content: "\e924";
}

.ico-fuel:before, .icon.fuel_tank_consumption:before, .icon.fuel_consumption:before, .icon.fuel_tank_calibration:before, .icon.fuel_tank:before, .icon.fuel:before, .icon.unit-capacity:before {
  content: "\e916";
}

.ico-odometer:before, .icon.numerical:before, .icon.counter:before, .icon.odometer:before {
  content: "\e93f";
}

.ico-battery:before {
  content: "\e90f";
}

.ico-rpm:before, .icon.tachometer:before {
  content: "\e945";
}

.ico-speed:before, .icon.speed_ecm:before, .icon.speed:before {
  content: "\e94e";
}

.ico-tachometer:before {
  content: "\e952";
}

.ico-temp:before, .icon.temperature:before, .icon.temperature_calibration:before {
  content: "\e953";
}

.ico-doors:before, .icon.door:before, .icon.doors:before {
  content: "\e920";
}

.ico-cpu:before {
  content: "\e928";
}

.ico-db:before {
  content: "\e92f";
}

.ico-ram:before {
  content: "\e942";
}

.ico-connected:before {
  content: "\e94a";
}

.ico-disconnected:before {
  content: "\e95c";
}

.ico-sos:before {
  content: "\e95d";
}

.ico-zonein:before {
  content: "\e95e";
}

.ico-zoneout:before {
  content: "\e95f";
}

.ico-logical:before, .icon.logical:before, .icon.plugged:before {
  content: "\e961";
}

.ico-engine-hours:before, .icon.engine_hours:before {
  content: "\e962";
}

.ico-seatbelt:before, .icon.seatbelt:before {
  content: "\e963";
}

.ico-textual:before, .icon.textual:before {
  content: "\e964";
}

.ico-load:before, .icon.load:before, .icon.load_calibration:before {
  content: "\e965";
}

.checkbox {
  line-height: 1;
  position: relative;
  padding-left: 0;
}
.checkbox label {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  padding-left: 0;
  margin-bottom: 0;
  font-weight: normal;
}
.checkbox label::before {
  content: "";
  position: relative;
  z-index: 1;
  left: 0;
  width: 15px;
  height: 15px;
  display: inline-block;
  vertical-align: middle;
  color: transparent;
  background-color: #0f172a;
  margin: 1px;
  margin-right: 5px;
  padding: 3px;
  font-size: 10px;
  font-weight: normal;
  line-height: 1;
  border-radius: 4px;
  -webkit-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
  -o-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
  transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
}
.checkbox label::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  content: "�";
  color: transparent;
  border: 1px solid #334155;
  border-radius: 4px;
}
.checkbox input[type=checkbox],
.checkbox input[type=radio] {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
  opacity: 0;
}
.checkbox input[type=checkbox]:focus + label::before,
.checkbox input[type=radio]:focus + label::before {
  outline: 0;
}
.checkbox input[type=checkbox]:checked + label::before,
.checkbox input[type=radio]:checked + label::before {
  font-family: "icomoon";
  content: "\e90b";
}
.checkbox input[type=checkbox]:checked:disabled + label::before,
.checkbox input[type=radio]:checked:disabled + label::before {
  background-color: inherit;
}
.checkbox input[type=checkbox]:disabled + label,
.checkbox input[type=radio]:disabled + label {
  opacity: 0.45;
}
.checkbox input[type=checkbox]:disabled + label::before,
.checkbox input[type=radio]:disabled + label::before {
  background-color: #334155;
  cursor: not-allowed;
}
.checkbox.checkbox-inline, .group .checkbox, .table .checkbox {
  margin-top: 0;
}

.checkbox-inline, .group .checkbox, .table .checkbox {
  line-height: 1;
  position: relative;
  padding-left: 0;
}
.checkbox-inline label, .group .checkbox label, .table .checkbox label {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  padding-left: 0;
  margin-bottom: 0;
  font-weight: normal;
}
.checkbox-inline label::before, .group .checkbox label::before, .table .checkbox label::before {
  content: "";
  position: relative;
  z-index: 1;
  left: 0;
  width: 15px;
  height: 15px;
  display: inline-block;
  vertical-align: middle;
  color: transparent;
  background-color: #0f172a;
  margin: 1px;
  margin-right: 5px;
  padding: 3px;
  font-size: 10px;
  font-weight: normal;
  line-height: 1;
  border-radius: 4px;
  -webkit-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
  -o-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
  transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
}
.checkbox-inline label::after, .group .checkbox label::after, .table .checkbox label::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  content: "�";
  color: transparent;
  border: 1px solid #334155;
  border-radius: 4px;
}
.checkbox-inline input[type=checkbox], .group .checkbox input[type=checkbox], .table .checkbox input[type=checkbox],
.checkbox-inline input[type=radio],
.group .checkbox input[type=radio],
.table .checkbox input[type=radio] {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
  opacity: 0;
}
.checkbox-inline input[type=checkbox]:focus + label::before, .group .checkbox input[type=checkbox]:focus + label::before, .table .checkbox input[type=checkbox]:focus + label::before,
.checkbox-inline input[type=radio]:focus + label::before,
.group .checkbox input[type=radio]:focus + label::before,
.table .checkbox input[type=radio]:focus + label::before {
  outline: 0;
}
.checkbox-inline input[type=checkbox]:checked + label::before, .group .checkbox input[type=checkbox]:checked + label::before, .table .checkbox input[type=checkbox]:checked + label::before,
.checkbox-inline input[type=radio]:checked + label::before,
.group .checkbox input[type=radio]:checked + label::before,
.table .checkbox input[type=radio]:checked + label::before {
  font-family: "icomoon";
  content: "\e90b";
}
.checkbox-inline input[type=checkbox]:checked:disabled + label::before, .group .checkbox input[type=checkbox]:checked:disabled + label::before, .table .checkbox input[type=checkbox]:checked:disabled + label::before,
.checkbox-inline input[type=radio]:checked:disabled + label::before,
.group .checkbox input[type=radio]:checked:disabled + label::before,
.table .checkbox input[type=radio]:checked:disabled + label::before {
  background-color: inherit;
}
.checkbox-inline input[type=checkbox]:disabled + label, .group .checkbox input[type=checkbox]:disabled + label, .table .checkbox input[type=checkbox]:disabled + label,
.checkbox-inline input[type=radio]:disabled + label,
.group .checkbox input[type=radio]:disabled + label,
.table .checkbox input[type=radio]:disabled + label {
  opacity: 0.45;
}
.checkbox-inline input[type=checkbox]:disabled + label::before, .group .checkbox input[type=checkbox]:disabled + label::before, .table .checkbox input[type=checkbox]:disabled + label::before,
.checkbox-inline input[type=radio]:disabled + label::before,
.group .checkbox input[type=radio]:disabled + label::before,
.table .checkbox input[type=radio]:disabled + label::before {
  background-color: #334155;
  cursor: not-allowed;
}
.checkbox-inline.checkbox-inline, .group .checkbox, .table .checkbox {
  margin-top: 0;
}

.checkbox-inline input[type=checkbox]:checked + label::before, .group .checkbox input[type=checkbox]:checked + label::before, .table .checkbox input[type=checkbox]:checked + label::before,
.checkbox-inline input[type=radio]:checked + label::before,
.group .checkbox input[type=radio]:checked + label::before,
.table .checkbox input[type=radio]:checked + label::before {
  color: #ffffff;
  background-color: #2563eb;
}
.checkbox-inline input[type=checkbox]:checked + label::after, .group .checkbox input[type=checkbox]:checked + label::after, .table .checkbox input[type=checkbox]:checked + label::after,
.checkbox-inline input[type=radio]:checked + label::after,
.group .checkbox input[type=radio]:checked + label::after,
.table .checkbox input[type=radio]:checked + label::after {
  background-color: #2563eb;
  border-color: #2563eb;
}

.checkbox input[type=checkbox]:checked + label::before,
.checkbox input[type=radio]:checked + label::before {
  color: #ffffff;
  background-color: #2563eb;
}
.checkbox input[type=checkbox]:checked + label::after,
.checkbox input[type=radio]:checked + label::after {
  background-color: #2563eb;
  border-color: #2563eb;
}

.checkbox-primary input[type=checkbox]:checked + label::before,
.checkbox-primary input[type=radio]:checked + label::before {
  color: #ffffff;
  background-color: #2563eb;
}
.checkbox-primary input[type=checkbox]:checked + label::after,
.checkbox-primary input[type=radio]:checked + label::after {
  background-color: #2563eb;
  border-color: #2563eb;
}

.checkbox-danger input[type=checkbox]:checked + label::before,
.checkbox-danger input[type=radio]:checked + label::before {
  color: #ffffff;
  background-color: #d9534f;
}
.checkbox-danger input[type=checkbox]:checked + label::after,
.checkbox-danger input[type=radio]:checked + label::after {
  background-color: #d9534f;
  border-color: #d9534f;
}

.checkbox-info input[type=checkbox]:checked + label::before,
.checkbox-info input[type=radio]:checked + label::before {
  color: #ffffff;
  background-color: #5bc0de;
}
.checkbox-info input[type=checkbox]:checked + label::after,
.checkbox-info input[type=radio]:checked + label::after {
  background-color: #5bc0de;
  border-color: #5bc0de;
}

.checkbox-warning input[type=checkbox]:checked + label::before,
.checkbox-warning input[type=radio]:checked + label::before {
  color: #ffffff;
  background-color: #f0ad4e;
}
.checkbox-warning input[type=checkbox]:checked + label::after,
.checkbox-warning input[type=radio]:checked + label::after {
  background-color: #f0ad4e;
  border-color: #f0ad4e;
}

.checkbox-success input[type=checkbox]:checked + label::before,
.checkbox-success input[type=radio]:checked + label::before {
  color: #ffffff;
  background-color: #5cb85c;
}
.checkbox-success input[type=checkbox]:checked + label::after,
.checkbox-success input[type=radio]:checked + label::after {
  background-color: #5cb85c;
  border-color: #5cb85c;
}

.checkbox.checkbox-lg label::before,
.checkbox-inline.checkbox-lg label::before {
  width: 26px;
  height: 26px;
  font-size: 20px;
  font-weight: normal;
}
.checkbox.checkbox-lg label::after,
.checkbox-inline.checkbox-lg label::after {
  width: 28px;
  height: 28px;
}

.radio,
.radio-inline {
  line-height: 1;
  position: relative;
  padding-left: 0;
}
.radio label,
.radio-inline label {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  padding-left: 0px;
}
.radio label::before,
.radio-inline label::before {
  content: " ";
  position: relative;
  z-index: 1;
  left: 0;
  width: 12px;
  height: 12px;
  display: inline-block;
  vertical-align: middle;
  color: transparent;
  background-color: #0f172a;
  border-radius: 50%;
  margin: 3px;
  margin-right: 5px;
  -webkit-transition: -webkit-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  -moz-transition: -moz-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  -o-transition: -o-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
}
.radio label::after,
.radio-inline label::after {
  display: inline-block;
  position: absolute;
  content: " ";
  width: 18px;
  height: 18px;
  left: 0;
  top: 0;
  border-radius: 50%;
  border: 1px solid #334155;
  background-color: #0f172a;
  -webkit-transition: border 0.15s ease-in-out;
  -o-transition: border 0.15s ease-in-out;
  transition: border 0.15s ease-in-out;
}
.radio input[type=radio],
.radio-inline input[type=radio] {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
  opacity: 0;
}
.radio input[type=radio]:focus + label::before,
.radio-inline input[type=radio]:focus + label::before {
  outline: 0;
}
.radio input[type=radio]:disabled + label,
.radio-inline input[type=radio]:disabled + label {
  opacity: 0.65;
}
.radio input[type=radio]:disabled + label::before,
.radio-inline input[type=radio]:disabled + label::before {
  cursor: not-allowed;
}
.radio.radio-inline,
.radio-inline.radio-inline {
  margin-top: 0;
}

.radio-inline input[type=radio]:checked + label::before {
  background-color: #2563eb;
}
.radio-inline input[type=radio]:checked + label::after {
  border-color: #2563eb;
}

.radio input[type=radio]:checked + label::before {
  background-color: #2563eb;
}
.radio input[type=radio]:checked + label::after {
  border-color: #2563eb;
}

.radio-primary input[type=radio]:checked + label::before {
  background-color: #2563eb;
}
.radio-primary input[type=radio]:checked + label::after {
  border-color: #2563eb;
}

.radio-danger input[type=radio]:checked + label::before {
  background-color: #d9534f;
}
.radio-danger input[type=radio]:checked + label::after {
  border-color: #d9534f;
}

.radio-info input[type=radio]:checked + label::before {
  background-color: #5bc0de;
}
.radio-info input[type=radio]:checked + label::after {
  border-color: #5bc0de;
}

.radio-warning input[type=radio]:checked + label::before {
  background-color: #f0ad4e;
}
.radio-warning input[type=radio]:checked + label::after {
  border-color: #f0ad4e;
}

.radio-success input[type=radio]:checked + label::before {
  background-color: #5cb85c;
}
.radio-success input[type=radio]:checked + label::after {
  border-color: #5cb85c;
}

/*!
 * Datepicker for Bootstrap
 *
 * Copyright 2012 Stefan Petre
 * Improvements by Ashley Novak
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 */
.datepicker {
  border-radius: 6px;
}
.datepicker.datepicker-inline {
  width: 220px;
}
.datepicker.datepicker-dropdown {
  position: absolute;
  left: auto;
  z-index: 9999;
}
.datepicker.datepicker-dropdown:before {
  content: "";
  display: inline-block;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #334155;
  border-top: 0;
  border-bottom-color: #334155;
  position: absolute;
}
.datepicker.datepicker-dropdown:after {
  content: "";
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #1e293b;
  border-top: 0;
  position: absolute;
}
.datepicker.datepicker-dropdown.datepicker-orient-left:before {
  left: 6px;
}
.datepicker.datepicker-dropdown.datepicker-orient-left:after {
  left: 7px;
}
.datepicker.datepicker-dropdown.datepicker-orient-right:before {
  right: 6px;
}
.datepicker.datepicker-dropdown.datepicker-orient-right:after {
  right: 7px;
}
.datepicker.datepicker-dropdown.datepicker-orient-bottom:before {
  top: -7px;
}
.datepicker.datepicker-dropdown.datepicker-orient-bottom:after {
  top: -6px;
}
.datepicker.datepicker-dropdown.datepicker-orient-top:before {
  bottom: -7px;
  border-bottom: 0;
  border-top: 7px solid #334155;
}
.datepicker.datepicker-dropdown.datepicker-orient-top:after {
  bottom: -6px;
  border-bottom: 0;
  border-top: 6px solid #1e293b;
}
.datepicker.days div.datepicker-days {
  display: block;
}
.datepicker.months div.datepicker-months {
  display: block;
}
.datepicker.years div.datepicker-years {
  display: block;
}
.datepicker table {
  margin: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.datepicker table tr td, .datepicker table tr th {
  text-align: center;
  width: 30px;
  height: 30px;
  border-radius: 6px;
  border: none;
}
.table-striped .datepicker table tr td, .table-striped .datepicker table tr th {
  background-color: transparent;
}
.datepicker table tr td.day:hover, .datepicker table tr td.day.focused {
  background: #222222;
  cursor: pointer;
}
.datepicker table tr td.old, .datepicker table tr td.new {
  color: #444444;
}
.datepicker table tr td.disabled, .datepicker table tr td.disabled:hover {
  background: none;
  color: #444444;
  cursor: default;
}
.datepicker table tr td.today, .datepicker table tr td.today:hover, .datepicker table tr td.today.disabled, .datepicker table tr td.today.disabled:hover {
  color: #777777;
  background-color: #5bc0de;
  border-color: rgb(13.8608539863%, 56.2834677018%, 68.884244053%);
}
.datepicker table tr td.today:focus, .datepicker table tr td.today:active, .datepicker table tr td.today.active, .datepicker table tr td.today:hover:focus, .datepicker table tr td.today:hover:active, .datepicker table tr td.today:hover.active, .datepicker table tr td.today.disabled:focus, .datepicker table tr td.today.disabled:active, .datepicker table tr td.today.disabled.active, .datepicker table tr td.today.disabled:hover:focus, .datepicker table tr td.today.disabled:hover:active, .datepicker table tr td.today.disabled:hover.active {
  color: #777777;
  background-color: #5bc0de;
  border-color: rgb(9.8405494177%, 39.9585946054%, 48.9045486215%);
}
.datepicker table tr td.today:hover, .datepicker table tr td.today:hover:hover, .datepicker table tr td.today.disabled:hover, .datepicker table tr td.today.disabled:hover:hover {
  color: #777777;
  background-color: rgb(22.3664775555%, 70.177366378%, 84.3786204837%);
  border-color: rgb(9.8405494177%, 39.9585946054%, 48.9045486215%);
}
.datepicker table tr td.today:hover:hover {
  color: #000;
}
.datepicker table tr td.today.active:hover {
  color: #fff;
}
.datepicker table tr td.range, .datepicker table tr td.range:hover, .datepicker table tr td.range.disabled, .datepicker table tr td.range.disabled:hover {
  background: #222222;
  border-radius: 0;
}
.datepicker table tr td.range.today, .datepicker table tr td.range.today:hover, .datepicker table tr td.range.today.disabled, .datepicker table tr td.range.today.disabled:hover {
  color: #000;
  background-color: #5bc0de;
  border-color: rgb(13.8608539863%, 56.2834677018%, 68.884244053%);
}
.datepicker table tr td.range.today:focus, .datepicker table tr td.range.today:active, .datepicker table tr td.range.today.active, .datepicker table tr td.range.today:hover:focus, .datepicker table tr td.range.today:hover:active, .datepicker table tr td.range.today:hover.active, .datepicker table tr td.range.today.disabled:focus, .datepicker table tr td.range.today.disabled:active, .datepicker table tr td.range.today.disabled.active, .datepicker table tr td.range.today.disabled:hover:focus, .datepicker table tr td.range.today.disabled:hover:active, .datepicker table tr td.range.today.disabled:hover.active {
  color: #000;
  background-color: #5bc0de;
  border-color: rgb(9.8405494177%, 39.9585946054%, 48.9045486215%);
}
.datepicker table tr td.range.today:hover, .datepicker table tr td.range.today:hover:hover, .datepicker table tr td.range.today.disabled:hover, .datepicker table tr td.range.today.disabled:hover:hover {
  color: #000;
  background-color: rgb(22.3664775555%, 70.177366378%, 84.3786204837%);
  border-color: rgb(9.8405494177%, 39.9585946054%, 48.9045486215%);
}
.datepicker table tr td.range.today, .datepicker table tr td.range.today:hover, .datepicker table tr td.range.today.disabled, .datepicker table tr td.range.today.disabled:hover {
  border-radius: 0;
}
.datepicker table tr td.selected, .datepicker table tr td.selected:hover, .datepicker table tr td.selected.disabled, .datepicker table tr td.selected.disabled:hover {
  color: #fff;
  background-color: #444444;
  border-color: #363636;
}
.datepicker table tr td.selected:focus, .datepicker table tr td.selected:active, .datepicker table tr td.selected.active, .datepicker table tr td.selected:hover:focus, .datepicker table tr td.selected:hover:active, .datepicker table tr td.selected:hover.active, .datepicker table tr td.selected.disabled:focus, .datepicker table tr td.selected.disabled:active, .datepicker table tr td.selected.disabled.active, .datepicker table tr td.selected.disabled:hover:focus, .datepicker table tr td.selected.disabled:hover:active, .datepicker table tr td.selected.disabled:hover.active {
  color: #fff;
  background-color: #444444;
  border-color: rgb(9.1764705882%, 9.1764705882%, 9.1764705882%);
}
.datepicker table tr td.selected:hover, .datepicker table tr td.selected:hover:hover, .datepicker table tr td.selected.disabled:hover, .datepicker table tr td.selected.disabled:hover:hover {
  color: #fff;
  background-color: rgb(18.6666666667%, 18.6666666667%, 18.6666666667%);
  border-color: rgb(9.1764705882%, 9.1764705882%, 9.1764705882%);
}
.datepicker table tr td.selected, .datepicker table tr td.selected:hover, .datepicker table tr td.selected.disabled, .datepicker table tr td.selected.disabled:hover {
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.active, .datepicker table tr td.active:hover, .datepicker table tr td.active.disabled, .datepicker table tr td.active.disabled:hover {
  color: #fff;
  background-color: #2563eb;
  border-color: #2563eb;
}
.datepicker table tr td.active:focus, .datepicker table tr td.active:active, .datepicker table tr td.active.active, .datepicker table tr td.active:hover:focus, .datepicker table tr td.active:hover:active, .datepicker table tr td.active:hover.active, .datepicker table tr td.active.disabled:focus, .datepicker table tr td.active.disabled:active, .datepicker table tr td.active.disabled.active, .datepicker table tr td.active.disabled:hover:focus, .datepicker table tr td.active.disabled:hover:active, .datepicker table tr td.active.disabled:hover.active {
  color: #fff;
  background-color: #2563eb;
  border-color: rgb(6.9467787115%, 28.4817927171%, 75.7198879552%);
}
.datepicker table tr td.active:hover, .datepicker table tr td.active:hover:hover, .datepicker table tr td.active.disabled:hover, .datepicker table tr td.active.disabled:hover:hover {
  color: #fff;
  background-color: rgb(7.619047619%, 31.2380952381%, 83.0476190476%);
  border-color: rgb(6.9467787115%, 28.4817927171%, 75.7198879552%);
}
.datepicker table tr td.active, .datepicker table tr td.active:hover, .datepicker table tr td.active.disabled, .datepicker table tr td.active.disabled:hover {
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td span {
  display: block;
  width: 23%;
  height: 54px;
  line-height: 54px;
  float: left;
  margin: 1%;
  cursor: pointer;
  border-radius: 6px;
}
.datepicker table tr td span:hover {
  background: #222222;
}
.datepicker table tr td span.disabled, .datepicker table tr td span.disabled:hover {
  background: none;
  color: #444444;
  cursor: default;
}
.datepicker table tr td span.active, .datepicker table tr td span.active:hover, .datepicker table tr td span.active.disabled, .datepicker table tr td span.active.disabled:hover {
  color: #fff;
  background-color: #2563eb;
  border-color: rgb(8.1232492997%, 33.3053221289%, 88.5434173669%);
}
.datepicker table tr td span.active:focus, .datepicker table tr td span.active:active, .datepicker table tr td span.active.active, .datepicker table tr td span.active:hover:focus, .datepicker table tr td span.active:hover:active, .datepicker table tr td span.active:hover.active, .datepicker table tr td span.active.disabled:focus, .datepicker table tr td span.active.disabled:active, .datepicker table tr td span.active.disabled.active, .datepicker table tr td span.active.disabled:hover:focus, .datepicker table tr td span.active.disabled:hover:active, .datepicker table tr td span.active.disabled:hover.active {
  color: #fff;
  background-color: #2563eb;
  border-color: rgb(6.106442577%, 25.0364145658%, 66.5602240896%);
}
.datepicker table tr td span.active:hover, .datepicker table tr td span.active:hover:hover, .datepicker table tr td span.active.disabled:hover, .datepicker table tr td span.active.disabled:hover:hover {
  color: #fff;
  background-color: rgb(7.619047619%, 31.2380952381%, 83.0476190476%);
  border-color: rgb(6.106442577%, 25.0364145658%, 66.5602240896%);
}
.datepicker table tr td span.active, .datepicker table tr td span.active:hover, .datepicker table tr td span.active.disabled, .datepicker table tr td span.active.disabled:hover {
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td span.old, .datepicker table tr td span.new {
  color: #444444;
}
.datepicker th.datepicker-switch {
  width: 145px;
}
.datepicker .datepicker-switch,
.datepicker .next,
.datepicker .prev,
.datepicker tfoot tr th {
  cursor: pointer;
}
.datepicker .datepicker-switch:hover,
.datepicker .next:hover,
.datepicker .prev:hover,
.datepicker tfoot tr th:hover {
  background: #222222;
}
.datepicker thead tr:first-child th,
.datepicker tfoot tr th {
  cursor: pointer;
  color: #2563eb;
}
.datepicker thead tr:first-child th:hover,
.datepicker tfoot tr th:hover {
  background: #222222;
}
.datepicker {
  /*.dow {
    border-top: 1px solid #ddd !important;
  }*/
}
.datepicker .cw {
  font-size: 10px;
  width: 12px;
  padding: 0 2px 0 5px;
  vertical-align: middle;
}
.datepicker thead tr:first-child th.cw {
  cursor: default;
  background-color: transparent;
}

.input-group.date .input-group-addon i {
  cursor: pointer;
  width: 16px;
  height: 16px;
}

.input-daterange input {
  text-align: center;
}
.input-daterange input:first-child {
  border-radius: 3px 0 0 3px;
}
.input-daterange input:last-child {
  border-radius: 0 3px 3px 0;
}
.input-daterange .input-group-addon {
  width: auto;
  min-width: 16px;
  padding: 4px 5px;
  font-weight: normal;
  line-height: 1.428571429;
  text-align: center;
  text-shadow: 0 1px 0 #fff;
  vertical-align: middle;
  background-color: #0f172a;
  border: solid transparent;
  border-width: 1px 0;
  margin-left: -5px;
  margin-right: -5px;
}

.datetimepicker {
  white-space: normal;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  direction: ltr;
}
.datetimepicker:not(.form-control) {
  padding: 4px;
  margin-top: 1px;
}
.datetimepicker.datetimepicker-rtl {
  direction: rtl;
}
.datetimepicker.datetimepicker-rtl table tr td span {
  float: right;
}
.datetimepicker > div {
  display: none;
}
.datetimepicker.minutes div.datetimepicker-minutes {
  display: block;
}
.datetimepicker.hours div.datetimepicker-hours {
  display: block;
}
.datetimepicker.days div.datetimepicker-days {
  display: block;
}
.datetimepicker.months div.datetimepicker-months {
  display: block;
}
.datetimepicker.years div.datetimepicker-years {
  display: block;
}
.datetimepicker table {
  margin: 0;
}
.datetimepicker table tr td.minute:hover {
  background: #222222;
  cursor: pointer;
}
.datetimepicker table tr td.hour:hover {
  background: #222222;
  cursor: pointer;
}
.datetimepicker table tr td.day:hover {
  background: #222222;
  cursor: pointer;
}
.datetimepicker table tr td span {
  display: block;
  width: 23%;
  height: 54px;
  line-height: 54px;
  float: left;
  margin: 1%;
  cursor: pointer;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
}
.datetimepicker table tr td span:hover {
  background: #222222;
}
.datetimepicker table tr td span.old {
  color: #444444;
}
.datetimepicker .datetimepicker-hours span {
  height: 26px;
  line-height: 26px;
}
.datetimepicker .datetimepicker-minutes span {
  height: 26px;
  line-height: 26px;
}
.datetimepicker th.switch {
  width: 145px;
}

.datetimepicker-inline {
  width: 220px;
}

.datetimepicker-dropdown, .datetimepicker-dropdown-left {
  top: 0;
  left: 0;
}

[class*=datetimepicker-dropdown]:before {
  content: "";
  display: inline-block;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #334155;
  position: absolute;
}

[class*=datetimepicker-dropdown]:after {
  content: "";
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #1e293b;
  position: absolute;
}

[class*=datetimepicker-dropdown-top]:before {
  content: "";
  display: inline-block;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 7px solid #334155;
  border-bottom: 0;
}

[class*=datetimepicker-dropdown-top]:after {
  content: "";
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #1e293b;
  border-bottom: 0;
}

.datetimepicker-dropdown-bottom-left:before {
  top: -7px;
  right: 6px;
}
.datetimepicker-dropdown-bottom-left:after {
  top: -6px;
  right: 7px;
}

.datetimepicker-dropdown-bottom-right:before {
  top: -7px;
  left: 6px;
}
.datetimepicker-dropdown-bottom-right:after {
  top: -6px;
  left: 7px;
}

.datetimepicker-dropdown-top-left:before {
  bottom: -7px;
  right: 6px;
}
.datetimepicker-dropdown-top-left:after {
  bottom: -6px;
  right: 7px;
}

.datetimepicker-dropdown-top-right:before {
  bottom: -7px;
  left: 6px;
}
.datetimepicker-dropdown-top-right:after {
  bottom: -6px;
  left: 7px;
}

.datetimepicker td,
.datetimepicker th {
  text-align: center;
  width: 30px;
  height: 30px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  border: none;
}

.table-striped .datetimepicker table tr td,
.table-striped .datetimepicker table tr th {
  background-color: transparent;
}

.datetimepicker table tr td.old,
.datetimepicker table tr td.new {
  color: #444444;
}

.datetimepicker table tr td.disabled,
.datetimepicker table tr td.disabled:hover {
  background: none;
  color: #444444;
  cursor: default;
}

.datetimepicker table tr td.today,
.datetimepicker table tr td.today:hover,
.datetimepicker table tr td.today.disabled,
.datetimepicker table tr td.today.disabled:hover {
  background-color: #5bc0de;
  background-image: -moz-linear-gradient(top, #5bc0de, #5bc0de);
  background-image: -ms-linear-gradient(top, #5bc0de, #5bc0de);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#5bc0de));
  background-image: -webkit-linear-gradient(top, #5bc0de, #5bc0de);
  background-image: -o-linear-gradient(top, #5bc0de, #5bc0de);
  background-image: linear-gradient(top, #5bc0de, #5bc0de);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='$dtp-today-bg', endColorstr='$dtp-today-bg', GradientType=0);
  border-color: #5bc0de #5bc0de #5bc0de;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}

.datetimepicker table tr td.today:hover,
.datetimepicker table tr td.today:hover:hover,
.datetimepicker table tr td.today.disabled:hover,
.datetimepicker table tr td.today.disabled:hover:hover,
.datetimepicker table tr td.today:active,
.datetimepicker table tr td.today:hover:active,
.datetimepicker table tr td.today.disabled:active,
.datetimepicker table tr td.today.disabled:hover:active,
.datetimepicker table tr td.today.active,
.datetimepicker table tr td.today:hover.active,
.datetimepicker table tr td.today.disabled.active,
.datetimepicker table tr td.today.disabled:hover.active,
.datetimepicker table tr td.today.disabled,
.datetimepicker table tr td.today:hover.disabled,
.datetimepicker table tr td.today.disabled.disabled,
.datetimepicker table tr td.today.disabled:hover.disabled,
.datetimepicker table tr td.today[disabled],
.datetimepicker table tr td.today:hover[disabled],
.datetimepicker table tr td.today.disabled[disabled],
.datetimepicker table tr td.today.disabled:hover[disabled] {
  background-color: #5bc0de;
}

.datetimepicker table tr td.today:active,
.datetimepicker table tr td.today:hover:active,
.datetimepicker table tr td.today.disabled:active,
.datetimepicker table tr td.today.disabled:hover:active,
.datetimepicker table tr td.today.active,
.datetimepicker table tr td.today:hover.active,
.datetimepicker table tr td.today.disabled.active,
.datetimepicker table tr td.today.disabled:hover.active {
  background-color: #5bc0de \9 ;
}

.datetimepicker table tr td.active,
.datetimepicker table tr td.active:hover,
.datetimepicker table tr td.active.disabled,
.datetimepicker table tr td.active.disabled:hover {
  background-color: #2563eb;
  background-image: -moz-linear-gradient(top, #2563eb, #2563eb);
  background-image: -ms-linear-gradient(top, #2563eb, #2563eb);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#2563eb), to(#2563eb));
  background-image: -webkit-linear-gradient(top, #2563eb, #2563eb);
  background-image: -o-linear-gradient(top, #2563eb, #2563eb);
  background-image: linear-gradient(top, #2563eb, #2563eb);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='$btn-primary-bg', endColorstr='$btn-primary-bg', GradientType=0);
  border-color: #2563eb #2563eb #2563eb;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}

.datetimepicker table tr td.active:hover,
.datetimepicker table tr td.active:hover:hover,
.datetimepicker table tr td.active.disabled:hover,
.datetimepicker table tr td.active.disabled:hover:hover,
.datetimepicker table tr td.active:active,
.datetimepicker table tr td.active:hover:active,
.datetimepicker table tr td.active.disabled:active,
.datetimepicker table tr td.active.disabled:hover:active,
.datetimepicker table tr td.active.active,
.datetimepicker table tr td.active:hover.active,
.datetimepicker table tr td.active.disabled.active,
.datetimepicker table tr td.active.disabled:hover.active,
.datetimepicker table tr td.active.disabled,
.datetimepicker table tr td.active:hover.disabled,
.datetimepicker table tr td.active.disabled.disabled,
.datetimepicker table tr td.active.disabled:hover.disabled,
.datetimepicker table tr td.active[disabled],
.datetimepicker table tr td.active:hover[disabled],
.datetimepicker table tr td.active.disabled[disabled],
.datetimepicker table tr td.active.disabled:hover[disabled] {
  background-color: #2563eb;
}

.datetimepicker table tr td.active:active,
.datetimepicker table tr td.active:hover:active,
.datetimepicker table tr td.active.disabled:active,
.datetimepicker table tr td.active.disabled:hover:active,
.datetimepicker table tr td.active.active,
.datetimepicker table tr td.active:hover.active,
.datetimepicker table tr td.active.disabled.active,
.datetimepicker table tr td.active.disabled:hover.active {
  background-color: #2563eb \9 ;
}

.datetimepicker .datetimepicker-hours table tr td span.hour_am,
.datetimepicker .datetimepicker-hours table tr td span.hour_pm {
  width: 14.6%;
}

.datetimepicker .datetimepicker-hours fieldset legend,
.datetimepicker .datetimepicker-minutes fieldset legend {
  margin-bottom: inherit;
  line-height: 30px;
}

.datetimepicker table tr td span.disabled,
.datetimepicker table tr td span.disabled:hover {
  background: none;
  color: #444444;
  cursor: default;
}

.datetimepicker table tr td span.active,
.datetimepicker table tr td span.active:hover,
.datetimepicker table tr td span.active.disabled,
.datetimepicker table tr td span.active.disabled:hover {
  background-color: #2563eb;
  background-image: -moz-linear-gradient(top, #2563eb, #2563eb);
  background-image: -ms-linear-gradient(top, #2563eb, #2563eb);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#2563eb), to(#2563eb));
  background-image: -webkit-linear-gradient(top, #2563eb, #2563eb);
  background-image: -o-linear-gradient(top, #2563eb, #2563eb);
  background-image: linear-gradient(top, #2563eb, #2563eb);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='$btn-primary-bg', endColorstr='$btn-primary-bg', GradientType=0);
  border-color: #2563eb #2563eb #2563eb;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}

.datetimepicker table tr td span.active:hover,
.datetimepicker table tr td span.active:hover:hover,
.datetimepicker table tr td span.active.disabled:hover,
.datetimepicker table tr td span.active.disabled:hover:hover,
.datetimepicker table tr td span.active:active,
.datetimepicker table tr td span.active:hover:active,
.datetimepicker table tr td span.active.disabled:active,
.datetimepicker table tr td span.active.disabled:hover:active,
.datetimepicker table tr td span.active.active,
.datetimepicker table tr td span.active:hover.active,
.datetimepicker table tr td span.active.disabled.active,
.datetimepicker table tr td span.active.disabled:hover.active,
.datetimepicker table tr td span.active.disabled,
.datetimepicker table tr td span.active:hover.disabled,
.datetimepicker table tr td span.active.disabled.disabled,
.datetimepicker table tr td span.active.disabled:hover.disabled,
.datetimepicker table tr td span.active[disabled],
.datetimepicker table tr td span.active:hover[disabled],
.datetimepicker table tr td span.active.disabled[disabled],
.datetimepicker table tr td span.active.disabled:hover[disabled] {
  background-color: #2563eb;
}

.datetimepicker table tr td span.active:active,
.datetimepicker table tr td span.active:hover:active,
.datetimepicker table tr td span.active.disabled:active,
.datetimepicker table tr td span.active.disabled:hover:active,
.datetimepicker table tr td span.active.active,
.datetimepicker table tr td span.active:hover.active,
.datetimepicker table tr td span.active.disabled.active,
.datetimepicker table tr td span.active.disabled:hover.active {
  background-color: #2563eb \9 ;
}

.datetimepicker thead tr:first-child th,
.datetimepicker tfoot tr:first-child th {
  cursor: pointer;
}

.datetimepicker thead tr:first-child th:hover,
.datetimepicker tfoot tr:first-child th:hover {
  background: #222222;
}

.input-append.date .add-on i,
.input-prepend.date .add-on i {
  cursor: pointer;
  width: 14px;
  height: 14px;
}

.bootstrap-select {
  width: 220px \0 ; /*IE9 and below*/
}
.bootstrap-select > .dropdown-toggle {
  width: 100%;
  padding-right: 25px;
  z-index: 1;
}
.bootstrap-select > .dropdown-toggle.bs-placeholder, .bootstrap-select > .dropdown-toggle.bs-placeholder:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder:active {
  color: #cbd5e1;
}
.bootstrap-select > select {
  position: absolute !important;
  bottom: 0;
  left: 50%;
  display: block !important;
  width: 0.5px !important;
  height: 100% !important;
  padding: 0 !important;
  opacity: 0 !important;
  border: none;
}
.bootstrap-select > select.mobile-device {
  top: 0;
  left: 0;
  display: block !important;
  width: 100% !important;
  z-index: 2;
}
.has-error .bootstrap-select .dropdown-toggle, .error .bootstrap-select .dropdown-toggle {
  border-color: rgb(185, 74, 72);
}
.bootstrap-select.fit-width {
  width: auto !important;
}
.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn) {
  width: 220px;
}
.bootstrap-select .dropdown-toggle:focus:focus {
  color: #ffffff;
  background-color: #111111;
  border-color: #334155;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(51, 65, 85, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(51, 65, 85, 0.6);
}
.bootstrap-select .dropdown-toggle:focus {
  /*
  outline: thin dotted #333333 !important;
  outline: 5px auto -webkit-focus-ring-color !important;
  outline-offset: -2px;
  */
}

select.bs-select-hidden,
select.selectpicker,
select.form-control {
  display: none !important;
}

.bootstrap-select.form-control, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select {
  margin-bottom: 0;
  padding: 0;
  border: none;
}
.bootstrap-select.form-control:not([class*=col-]), div.dataTables_wrapper div.dataTables_filter input.bootstrap-select:not([class*=col-]) {
  width: 100%;
}
.bootstrap-select.form-control.input-group-btn, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.input-group-btn {
  z-index: auto;
}
.bootstrap-select.form-control.input-group-btn:not(:first-child):not(:last-child) > .btn, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.input-group-btn:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}

.input-group > .input-group-btn.bootstrap-select.btn-group > .btn {
  margin-left: 0;
}

.bootstrap-select.btn-group:not(.input-group-btn), .bootstrap-select.btn-group[class*=col-] {
  float: none;
  display: inline-block;
  margin-left: 0;
}
.bootstrap-select.btn-group.dropdown-menu-right, .bootstrap-select.btn-group[class*=col-].dropdown-menu-right, .row .bootstrap-select.btn-group[class*=col-].dropdown-menu-right {
  float: right;
}
.form-inline .bootstrap-select.btn-group, .form-horizontal .bootstrap-select.btn-group, .form-group .bootstrap-select.btn-group {
  margin-bottom: 0;
}
.form-group-lg .bootstrap-select.btn-group.form-control, .form-group-lg div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.btn-group, div.dataTables_wrapper div.dataTables_filter .form-group-lg input.bootstrap-select.btn-group, .form-group-sm .bootstrap-select.btn-group.form-control, .form-group-sm div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.btn-group, div.dataTables_wrapper div.dataTables_filter .form-group-sm input.bootstrap-select.btn-group {
  padding: 0;
}
.form-group-lg .bootstrap-select.btn-group.form-control .dropdown-toggle, .form-group-lg div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.btn-group .dropdown-toggle, div.dataTables_wrapper div.dataTables_filter .form-group-lg input.bootstrap-select.btn-group .dropdown-toggle, .form-group-sm .bootstrap-select.btn-group.form-control .dropdown-toggle, .form-group-sm div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.btn-group .dropdown-toggle, div.dataTables_wrapper div.dataTables_filter .form-group-sm input.bootstrap-select.btn-group .dropdown-toggle {
  height: 100%;
  font-size: inherit;
  line-height: inherit;
  border-radius: inherit;
}
.form-inline .bootstrap-select.btn-group .form-control, .form-inline .bootstrap-select.btn-group div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .form-inline .bootstrap-select.btn-group input {
  width: 100%;
}
.bootstrap-select.btn-group.disabled,
.bootstrap-select.btn-group > .disabled {
  cursor: not-allowed;
}
.bootstrap-select.btn-group.disabled:focus,
.bootstrap-select.btn-group > .disabled:focus {
  outline: none !important;
}
.bootstrap-select.btn-group.bs-container {
  position: absolute;
  height: 0 !important;
  padding: 0 !important;
}
.bootstrap-select.btn-group.bs-container .dropdown-menu, .bootstrap-select.btn-group.bs-container .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers .bootstrap-select.btn-group.bs-container .leaflet-control-layers-list {
  z-index: 2000;
}
.bootstrap-select.btn-group .dropdown-toggle .filter-option {
  display: inline-block;
  overflow: hidden;
  width: 100%;
  text-align: left;
}
.bootstrap-select.btn-group .dropdown-toggle .caret {
  position: absolute;
  top: 50%;
  right: 12px;
  margin-top: -7px;
  vertical-align: middle;
}
.bootstrap-select.btn-group[class*=col-] .dropdown-toggle {
  width: 100%;
}
.bootstrap-select.btn-group .dropdown-menu, .bootstrap-select.btn-group .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers .bootstrap-select.btn-group .leaflet-control-layers-list {
  min-width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.bootstrap-select.btn-group .dropdown-menu.inner, .bootstrap-select.btn-group .leaflet-control-layers .inner.leaflet-control-layers-list, .leaflet-control-layers .bootstrap-select.btn-group .inner.leaflet-control-layers-list {
  position: static;
  float: none;
  border: 0;
  padding: 0;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
}
.bootstrap-select.btn-group .dropdown-menu li, .bootstrap-select.btn-group .leaflet-control-layers .leaflet-control-layers-list li, .leaflet-control-layers .bootstrap-select.btn-group .leaflet-control-layers-list li {
  position: relative;
}
.bootstrap-select.btn-group .dropdown-menu li.active small, .bootstrap-select.btn-group .leaflet-control-layers .leaflet-control-layers-list li.active small, .leaflet-control-layers .bootstrap-select.btn-group .leaflet-control-layers-list li.active small {
  color: #fff;
}
.bootstrap-select.btn-group .dropdown-menu li.disabled a, .bootstrap-select.btn-group .leaflet-control-layers .leaflet-control-layers-list li.disabled a, .leaflet-control-layers .bootstrap-select.btn-group .leaflet-control-layers-list li.disabled a {
  cursor: not-allowed;
}
.bootstrap-select.btn-group .dropdown-menu li a, .bootstrap-select.btn-group .leaflet-control-layers .leaflet-control-layers-list li a, .leaflet-control-layers .bootstrap-select.btn-group .leaflet-control-layers-list li a {
  cursor: pointer;
  user-select: none;
}
.bootstrap-select.btn-group .dropdown-menu li a.opt, .bootstrap-select.btn-group .leaflet-control-layers .leaflet-control-layers-list li a.opt, .leaflet-control-layers .bootstrap-select.btn-group .leaflet-control-layers-list li a.opt {
  position: relative;
  padding-left: 2.25em;
}
.bootstrap-select.btn-group .dropdown-menu li a span.check-mark, .bootstrap-select.btn-group .leaflet-control-layers .leaflet-control-layers-list li a span.check-mark, .leaflet-control-layers .bootstrap-select.btn-group .leaflet-control-layers-list li a span.check-mark {
  display: none;
}
.bootstrap-select.btn-group .dropdown-menu li a span.text, .bootstrap-select.btn-group .leaflet-control-layers .leaflet-control-layers-list li a span.text, .leaflet-control-layers .bootstrap-select.btn-group .leaflet-control-layers-list li a span.text {
  display: inline-block;
}
.bootstrap-select.btn-group .dropdown-menu li small, .bootstrap-select.btn-group .leaflet-control-layers .leaflet-control-layers-list li small, .leaflet-control-layers .bootstrap-select.btn-group .leaflet-control-layers-list li small {
  padding-left: 0.5em;
}
.bootstrap-select.btn-group .dropdown-menu .notify, .bootstrap-select.btn-group .leaflet-control-layers .leaflet-control-layers-list .notify, .leaflet-control-layers .bootstrap-select.btn-group .leaflet-control-layers-list .notify {
  position: absolute;
  bottom: 5px;
  width: 96%;
  margin: 0 2%;
  min-height: 26px;
  padding: 3px 5px;
  background: rgb(245, 245, 245);
  border: 1px solid rgb(227, 227, 227);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  pointer-events: none;
  opacity: 0.9;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.bootstrap-select.btn-group .no-results {
  padding: 3px;
  background: #0f172a;
  margin: 0 5px;
  white-space: nowrap;
}
.bootstrap-select.btn-group.fit-width .dropdown-toggle .filter-option {
  position: static;
}
.bootstrap-select.btn-group.fit-width .dropdown-toggle {
  /*
  .caret {
    position: static;
    top: auto;
    margin-top: -1px;
  }
  */
}
.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list li.selected a span.check-mark, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list li.selected a span.check-mark {
  position: absolute;
  display: inline-block;
  right: 15px;
  margin-top: 5px;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list li a span.text, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list li a span.text {
  margin-right: 34px;
}

.bootstrap-select.show-menu-arrow.open > .dropdown-toggle, .bootstrap-select.open > .dropdown-toggle {
  z-index: 2001;
}
.bootstrap-select.show-menu-arrow .dropdown-toggle:before, .bootstrap-select .dropdown-toggle:before {
  content: "";
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #334155;
  position: absolute;
  bottom: -4px;
  left: 9px;
  display: none;
}
.bootstrap-select.show-menu-arrow .dropdown-toggle:after, .bootstrap-select .dropdown-toggle:after {
  content: "";
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #1e293b;
  position: absolute;
  bottom: -4px;
  left: 10px;
  display: none;
}
.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before, .bootstrap-select.dropup .dropdown-toggle:before {
  bottom: auto;
  top: -3px;
  border-top: 7px solid #334155;
  border-bottom: 0;
}
.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after, .bootstrap-select.dropup .dropdown-toggle:after {
  bottom: auto;
  top: -3px;
  border-top: 6px solid #1e293b;
  border-bottom: 0;
}
.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before, .bootstrap-select.pull-right .dropdown-toggle:before, .nav-pagination .bootstrap-select.pagination .dropdown-toggle:before {
  right: 12px;
  left: auto;
}
.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after, .bootstrap-select.pull-right .dropdown-toggle:after, .nav-pagination .bootstrap-select.pagination .dropdown-toggle:after {
  right: 13px;
  left: auto;
}
.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:before, .bootstrap-select.open > .dropdown-toggle:before, .bootstrap-select.show-menu-arrow.open > .dropdown-toggle:after, .bootstrap-select.open > .dropdown-toggle:after {
  display: block;
}

.bs-searchbox,
.bs-actionsbox,
.bs-donebutton {
  margin: 6px 13px;
}

.bs-actionsbox {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.bs-actionsbox .btn-group button {
  width: 50%;
}

.bs-donebutton {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.bs-donebutton .btn-group button {
  width: 100%;
}

.bs-searchbox .form-control, .bs-searchbox div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .bs-searchbox input {
  margin-bottom: 0;
  width: 100%;
  float: none;
}

.bs-input {
  padding: 0;
  margin: 0;
  border: 0;
  height: inherit;
  background-color: inherit;
}
.bs-input:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
  background-color: inherit;
}

.bootstrap-select.form-control .dropdown-menu.inner > li, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .dropdown-menu.inner > li, .bootstrap-select.form-control .leaflet-control-layers .inner.leaflet-control-layers-list > li, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .leaflet-control-layers .inner.leaflet-control-layers-list > li, .leaflet-control-layers .bootstrap-select.form-control .inner.leaflet-control-layers-list > li, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .inner.leaflet-control-layers-list > li, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select .inner.leaflet-control-layers-list > li {
  padding: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bootstrap-select.form-control .dropdown-menu.inner > li.dropdown-header, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .dropdown-menu.inner > li.dropdown-header, .bootstrap-select.form-control .leaflet-control-layers .inner.leaflet-control-layers-list > li.dropdown-header, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .leaflet-control-layers .inner.leaflet-control-layers-list > li.dropdown-header, .leaflet-control-layers .bootstrap-select.form-control .inner.leaflet-control-layers-list > li.dropdown-header, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .inner.leaflet-control-layers-list > li.dropdown-header, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select .inner.leaflet-control-layers-list > li.dropdown-header {
  background: #0f172a;
  padding: 6px 12px;
  margin: 0;
}
.bootstrap-select.form-control .dropdown-menu.inner > li.divider, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .dropdown-menu.inner > li.divider, .bootstrap-select.form-control .leaflet-control-layers .inner.leaflet-control-layers-list > li.divider, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .leaflet-control-layers .inner.leaflet-control-layers-list > li.divider, .leaflet-control-layers .bootstrap-select.form-control .inner.leaflet-control-layers-list > li.divider, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select .inner.leaflet-control-layers-list > li.divider, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select .inner.leaflet-control-layers-list > li.divider {
  display: none;
}

.bootstrap-select.form-control.multiexpand, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand {
  height: auto;
}
.bootstrap-select.form-control.multiexpand > .dropdown-toggle, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand > .dropdown-toggle {
  display: none;
}
.bootstrap-select.form-control.multiexpand > .dropdown-menu, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand > .dropdown-menu, .leaflet-control-layers .bootstrap-select.form-control.multiexpand > .leaflet-control-layers-list, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand > .leaflet-control-layers-list, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand > .leaflet-control-layers-list {
  display: block;
  position: relative;
  box-shadow: none;
}
.bootstrap-select.form-control.multiexpand .dropdown-menu, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .leaflet-control-layers-list, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .leaflet-control-layers-list, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers-list, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .leaflet-control-layers-list {
  max-width: 100%;
  z-index: 1;
}
.bootstrap-select.form-control.multiexpand .dropdown-menu.inner, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list {
  min-height: 160px;
  max-height: 160px;
  overflow: auto;
}
.bootstrap-select.form-control.multiexpand .dropdown-menu.inner:before, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner:before, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list:before, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list:before, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list:before, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list:before, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list:before, .bootstrap-select.form-control.multiexpand .dropdown-menu.inner:after, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner:after, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list:after, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list:after, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list:after, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list:after, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list:after {
  content: " ";
  display: table;
}
.bootstrap-select.form-control.multiexpand .dropdown-menu.inner:after, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner:after, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list:after, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list:after, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list:after, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list:after, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list:after {
  clear: both;
}
.bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner > li, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list > li, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li {
  padding: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li > a, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner > li > a, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li > a, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li > a, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list > li > a, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li > a, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li > a {
  width: 100%;
  min-width: 1px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li.no-results, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner > li.no-results, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li.no-results, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li.no-results, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list > li.no-results, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li.no-results, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li.no-results, .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li.dropdown-header, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner > li.dropdown-header, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li.dropdown-header, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li.dropdown-header, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list > li.dropdown-header, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li.dropdown-header, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li.dropdown-header {
  background: #0f172a;
  padding: 6px 12px;
  margin: 0;
}
.bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li.divider, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner > li.divider, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li.divider, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li.divider, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list > li.divider, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li.divider, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list > li.divider {
  display: none;
}
.bootstrap-select.form-control.multiexpand .bs-donebutton, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .bs-donebutton {
  display: none;
}
.bootstrap-select.form-control.multiexpand .bs-searchbox, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .bs-searchbox,
.bootstrap-select.form-control.multiexpand .bs-actionsbox,
div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .bs-actionsbox {
  width: 50%;
  float: right;
  margin: 0;
}
.bootstrap-select.form-control.multiexpand .bs-actionsbox, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .bs-actionsbox {
  float: left;
}
.bootstrap-select.form-control.multiexpand .bs-actionsbox .btn, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .bs-actionsbox .btn {
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.428571429;
  border-radius: 6px;
}

/*!
 * Bootstrap Colorpicker v2.5.1
 * https://itsjavi.com/bootstrap-colorpicker/
 *
 * Originally written by (c) 2012 Stefan Petre
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0.txt
 *
 */
.colorpicker-saturation {
  width: 100px;
  height: 100px;
  background-image: url("../images/bootstrap-colorpicker/saturation.png");
  cursor: crosshair;
  float: left;
}
.colorpicker-saturation i {
  display: block;
  height: 5px;
  width: 5px;
  border: 1px solid #000;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  position: absolute;
  top: 0;
  left: 0;
  margin: -4px 0 0 -4px;
}
.colorpicker-saturation i b {
  display: block;
  height: 5px;
  width: 5px;
  border: 1px solid #fff;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}

.colorpicker-hue,
.colorpicker-alpha {
  width: 15px;
  height: 100px;
  float: left;
  cursor: row-resize;
  margin-left: 4px;
  margin-bottom: 4px;
}

.colorpicker-hue i,
.colorpicker-alpha i {
  display: block;
  height: 1px;
  background: #000;
  border-top: 1px solid #fff;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin-top: -1px;
}

.colorpicker-hue {
  background-image: url("../images/bootstrap-colorpicker/hue.png");
}

.colorpicker-alpha {
  background-image: url("../images/bootstrap-colorpicker/alpha.png");
  display: none;
}

.colorpicker-saturation,
.colorpicker-hue,
.colorpicker-alpha {
  background-size: contain;
}

.colorpicker {
  padding: 4px;
  min-width: 130px;
  margin-top: 1px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  z-index: 2500;
}

.colorpicker:before,
.colorpicker:after {
  display: table;
  content: "";
  line-height: 0;
}

.colorpicker:after {
  clear: both;
}

.colorpicker:before {
  content: "";
  display: inline-block;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #ccc;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  position: absolute;
  top: -7px;
  left: 6px;
}

.colorpicker:after {
  content: "";
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #ffffff;
  position: absolute;
  top: -6px;
  left: 7px;
}

.colorpicker div {
  position: relative;
}

.colorpicker.colorpicker-with-alpha {
  min-width: 140px;
}

.colorpicker.colorpicker-with-alpha .colorpicker-alpha {
  display: block;
}

.colorpicker-color {
  height: 10px;
  margin-top: 5px;
  clear: both;
  background-image: url("../images/bootstrap-colorpicker/alpha.png");
  background-position: 0 100%;
}

.colorpicker-color div {
  height: 10px;
}

.colorpicker-selectors {
  display: none;
  height: 10px;
  margin-top: 5px;
  clear: both;
}

.colorpicker-selectors i {
  cursor: pointer;
  float: left;
  height: 10px;
  width: 10px;
}

.colorpicker-selectors i + i {
  margin-left: 3px;
}

.colorpicker-element .input-group-addon i,
.colorpicker-element .add-on i {
  display: inline-block;
  cursor: pointer;
  height: 16px;
  vertical-align: text-top;
  width: 16px;
}

.colorpicker.colorpicker-inline {
  position: relative;
  display: inline-block;
  float: none;
  z-index: auto;
}

.colorpicker.colorpicker-horizontal {
  width: 110px;
  min-width: 110px;
  height: auto;
}

.colorpicker.colorpicker-horizontal .colorpicker-saturation {
  margin-bottom: 4px;
}

.colorpicker.colorpicker-horizontal .colorpicker-color {
  width: 100px;
}

.colorpicker.colorpicker-horizontal .colorpicker-hue,
.colorpicker.colorpicker-horizontal .colorpicker-alpha {
  width: 100px;
  height: 15px;
  float: left;
  cursor: col-resize;
  margin-left: 0px;
  margin-bottom: 4px;
}

.colorpicker.colorpicker-horizontal .colorpicker-hue i,
.colorpicker.colorpicker-horizontal .colorpicker-alpha i {
  display: block;
  height: 15px;
  background: #ffffff;
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  border: none;
  margin-top: 0px;
}

.colorpicker.colorpicker-horizontal .colorpicker-hue {
  background-image: url("../images/bootstrap-colorpicker/hue-horizontal.png");
}

.colorpicker.colorpicker-horizontal .colorpicker-alpha {
  background-image: url("../images/bootstrap-colorpicker/alpha-horizontal.png");
}

.colorpicker-right:before {
  left: auto;
  right: 6px;
}

.colorpicker-right:after {
  left: auto;
  right: 7px;
}

.colorpicker-no-arrow:before {
  border-right: 0;
  border-left: 0;
}

.colorpicker-no-arrow:after {
  border-right: 0;
  border-left: 0;
}

.colorpicker.colorpicker-visible,
.colorpicker-alpha.colorpicker-visible,
.colorpicker-saturation.colorpicker-visible,
.colorpicker-hue.colorpicker-visible,
.colorpicker-selectors.colorpicker-visible {
  display: block;
}

.colorpicker.colorpicker-hidden,
.colorpicker-alpha.colorpicker-hidden,
.colorpicker-saturation.colorpicker-hidden,
.colorpicker-hue.colorpicker-hidden,
.colorpicker-selectors.colorpicker-hidden {
  display: none;
}

.colorpicker-inline.colorpicker-visible {
  display: inline-block;
}

.toast-title {
  font-weight: bold;
}

.toast-message {
  -ms-word-wrap: break-word;
  word-wrap: break-word;
}
.toast-message a,
.toast-message label {
  color: #FFFFFF;
}
.toast-message a:hover {
  color: #CCCCCC;
  text-decoration: none;
}

.toast-close-button {
  position: relative;
  right: -0.3em;
  top: -0.3em;
  float: right;
  font-size: 20px;
  font-weight: bold;
  color: #FFFFFF;
  -webkit-text-shadow: 0 1px 0 rgb(255, 255, 255);
  text-shadow: 0 1px 0 rgb(255, 255, 255);
  opacity: 0.8;
  filter: alpha(opacity=80);
}
.toast-close-button:hover, .toast-close-button:focus {
  color: #000000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.4;
  filter: alpha(opacity=40);
}

/*Additional properties for button version
 iOS requires the button element instead of an anchor tag.
 If you want the anchor version, it requires `href="#"`.*/
button.toast-close-button {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}

.toast-top-full-width {
  top: 0;
  right: 0;
  width: 100%;
}

.toast-bottom-full-width {
  bottom: 0;
  right: 0;
  width: 100%;
}

.toast-top-left {
  top: 12px;
  left: 12px;
}

.toast-top-right {
  top: 48px;
  right: 37px;
}

.toast-bottom-right {
  right: 12px;
  bottom: 12px;
}

.toast-bottom-left {
  bottom: 12px;
  left: 12px;
}

#toast-container {
  position: fixed;
  z-index: 1100;
}
#toast-container * {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#toast-container > div {
  margin: 0 0 6px;
  padding: 15px 15px 15px 50px;
  width: 300px;
  background-position: 15px center;
  background-repeat: no-repeat;
  color: #FFFFFF;
  -moz-border-radius: 3px 3px 3px 3px;
  -webkit-border-radius: 3px 3px 3px 3px;
  border-radius: 3px 3px 3px 3px;
  -moz-box-shadow: 0 0 12px #999999;
  -webkit-box-shadow: 0 0 12px #999999;
  box-shadow: 0 0 12px #999999;
  opacity: 0.8;
  filter: alpha(opacity=80);
}
#toast-container > :hover {
  -moz-box-shadow: 0 0 12px #000000;
  -webkit-box-shadow: 0 0 12px #000000;
  box-shadow: 0 0 12px #000000;
  opacity: 1;
  filter: alpha(opacity=100);
  cursor: pointer;
}
#toast-container > .toast-info {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important;
}
#toast-container > .toast-error {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important;
}
#toast-container > .toast-success {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important;
}
#toast-container > .toast-warning {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important;
}
#toast-container {
  /*overrides*/
}
#toast-container.toast-top-full-width > div, #toast-container.toast-bottom-full-width > div {
  width: 96%;
  margin: auto;
}

.toast {
  background-color: #030303;
}

.toast-success {
  background-color: #51A351;
}

.toast-error {
  background-color: #BD362F;
}

.toast-info {
  background-color: #2F96B4;
}

.toast-warning {
  background-color: #F89406;
}

/*Responsive Design*/
@media all and (max-width: 240px) {
  #toast-container > div {
    padding: 8px 8px 8px 50px;
    width: 11em;
  }
  #toast-container .toast-close-button {
    right: -0.2em;
    top: -0.2em;
  }
}
@media all and (min-width: 241px) and (max-width: 480px) {
  #toast-container > div {
    padding: 8px 8px 8px 50px;
    width: 18em;
  }
  #toast-container .toast-close-button {
    right: -0.2em;
    top: -0.2em;
  }
}
@media all and (min-width: 481px) and (max-width: 768px) {
  #toast-container > div {
    padding: 15px 15px 15px 50px;
    width: 25em;
  }
}
.leaflet-layer, .leaflet-image-layer, .leaflet-zoom-box, .leaflet-tile-container, .leaflet-marker-shadow, .leaflet-marker-icon, .leaflet-tile, .leaflet-pane > canvas, .leaflet-pane > svg, .leaflet-pane {
  position: absolute;
  left: 0;
  top: 0;
}

.leaflet-bottom, .leaflet-top {
  position: absolute;
  z-index: 900;
  pointer-events: none;
}

.leaflet-bar a:hover, .leaflet-bar a {
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  width: 26px;
  height: 26px;
  line-height: 26px;
  display: block;
  text-align: center;
  text-decoration: none;
  color: black;
}

.leaflet-bar a {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  display: block;
}

.leaflet-popup-tip {
  background: #1e293b;
  color: #333;
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4);
}

.leaflet-tooltip-right:before, .leaflet-tooltip-left:before, .leaflet-tooltip-bottom:before, .leaflet-tooltip-top:before {
  position: absolute;
  pointer-events: none;
  border: 6px solid transparent;
  background: transparent;
  content: "";
}

.leaflet-pane {
  z-index: 400;
}
.leaflet-pane > svg path {
  pointer-events: none;
}
.leaflet-pane > svg path.leaflet-interactive {
  pointer-events: visiblePainted;
  pointer-events: auto;
}
.leaflet-tile {
  user-select: none;
  filter: inherit;
  visibility: hidden;
}

.leaflet-marker-icon {
  user-select: none;
  display: block;
  pointer-events: none;
}
.leaflet-marker-icon.leaflet-interactive {
  pointer-events: visiblePainted;
  pointer-events: auto;
}

.leaflet-marker-shadow {
  user-select: none;
  display: block;
  pointer-events: none;
}

.leaflet-tile-container {
  pointer-events: none;
}

.leaflet-zoom-box {
  width: 0;
  height: 0;
  box-sizing: border-box;
  z-index: 800;
  border: 2px dotted #38f;
  background: rgba(255, 255, 255, 0.5);
}

.leaflet-image-layer {
  pointer-events: none;
}
.leaflet-image-layer.leaflet-interactive {
  pointer-events: visiblePainted;
  pointer-events: auto;
}

.leaflet-container {
  overflow: hidden;
  background: #ddd;
  outline: 0;
  font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
}
.leaflet-container.leaflet-touch-zoom {
  touch-action: pan-x pan-y;
}
.leaflet-container a {
  color: #0078a8;
}
.leaflet-container a.leaflet-active {
  outline: 2px solid orange;
}
.leaflet-container a {
  /*
  &.leaflet-popup-close-button {
  	position: absolute;
  	top: 0;
  	right: 0;
  	padding: 4px 4px 0 0;
  	border: none;
  	text-align: center;
  	width: 18px;
  	height: 14px;
  	font: 16px/14px $font_3, $font_4, $font_5;
  	color: $color_pale_slate_approx;
  	text-decoration: none;
  	font-weight: bold;
  	background: transparent;
  	&:hover {
  		color: $color_mountain_mist_approx;
  	}
  }
   */
}
.leaflet-container .leaflet-control-attribution {
  background: #fff;
  background: rgba(255, 255, 255, 0.7);
  margin: 0;
  font-size: 11px;
}
.leaflet-container .leaflet-control-scale {
  font-size: 11px;
}
.leaflet-container .leaflet-overlay-pane svg {
  max-width: none !important;
}
.leaflet-container .leaflet-marker-pane img {
  max-width: none !important;
}
.leaflet-container .leaflet-shadow-pane img {
  max-width: none !important;
}
.leaflet-container .leaflet-tile-pane img {
  max-width: none !important;
}
.leaflet-container img.leaflet-image-layer {
  max-width: none !important;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
  touch-action: none;
}

.leaflet-safari .leaflet-tile-container {
  width: 1600px;
  height: 1600px;
}

.leaflet-tile-loaded {
  visibility: inherit;
}

.leaflet-overlay-pane {
  z-index: 400;
}
.leaflet-tile-pane {
  z-index: 200;
}

.leaflet-shadow-pane {
  z-index: 500;
}

.leaflet-marker-pane {
  z-index: 600;
}

.leaflet-tooltip-pane {
  z-index: 650;
}

.leaflet-popup-pane {
  z-index: 700;
  cursor: auto;
}

.leaflet-map-pane canvas {
  z-index: 100;
}
.leaflet-map-pane svg {
  z-index: 200;
}

.leaflet-vml-shape {
  width: 1px;
  height: 1px;
}

.lvml {
  behavior: url(#default#VML);
  display: inline-block;
  position: absolute;
}

.leaflet-control {
  position: relative;
  z-index: 800;
  pointer-events: visiblePainted;
  pointer-events: auto;
  float: left;
  clear: both;
  cursor: auto;
}

.leaflet-top {
  top: 0;
}
.leaflet-top .leaflet-control {
  margin-top: 10px;
}

.leaflet-bottom {
  bottom: 0;
}
.leaflet-bottom .leaflet-control {
  margin-bottom: 10px;
}
.leaflet-bottom .leaflet-control-scale {
  margin-bottom: 5px;
}

.leaflet-right {
  right: 0;
}
.leaflet-right .leaflet-control {
  margin-right: 10px;
}

.leaflet-left {
  left: 0;
}
.leaflet-left .leaflet-control {
  margin-left: 10px;
}
.leaflet-left .leaflet-control-scale {
  margin-left: 5px;
}

.leaflet-fade-anim .leaflet-tile {
  will-change: opacity;
}
.leaflet-fade-anim .leaflet-popup {
  opacity: 0;
  transition: opacity 0.2s linear;
}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
  opacity: 1;
}

.leaflet-zoom-animated {
  transform-origin: 0 0;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
  will-change: transform;
  transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1);
}
.leaflet-zoom-anim .leaflet-tile {
  transition: none;
}
.leaflet-zoom-anim .leaflet-zoom-hide {
  visibility: hidden;
}

.leaflet-interactive {
  cursor: pointer;
}

.leaflet-crosshair {
  cursor: crosshair;
}
.leaflet-crosshair .leaflet-interactive {
  cursor: crosshair;
}

.leaflet-dragging .leaflet-grab {
  cursor: move;
}
.leaflet-dragging .leaflet-grab .leaflet-interactive {
  cursor: move;
}
.leaflet-dragging .leaflet-marker-draggable {
  cursor: move;
}

.leaflet-bar {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);
  border-radius: 4px;
}
.leaflet-bar a:hover {
  background-color: #f4f4f4;
}
.leaflet-bar a:first-child {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}
.leaflet-bar a:last-child {
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  border-bottom: none;
}
.leaflet-bar a.leaflet-disabled {
  cursor: default;
  background-color: #f4f4f4;
  color: #bbb;
}

.leaflet-control-layers-toggle {
  display: none;
}

.leaflet-touch .leaflet-bar {
  box-shadow: none;
  border: 2px solid rgba(0, 0, 0, 0.2);
  background-clip: padding-box;
}
.leaflet-touch .leaflet-bar a {
  width: 30px;
  height: 30px;
  line-height: 30px;
}
.leaflet-touch .leaflet-control-zoom-in {
  font-size: 22px;
}
.leaflet-touch .leaflet-control-zoom-out {
  font-size: 24px;
}
.leaflet-touch .leaflet-control-attribution {
  box-shadow: none;
}
.leaflet-touch .leaflet-control-layers {
  box-shadow: none;
  border: 2px solid rgba(0, 0, 0, 0.2);
  background-clip: padding-box;
}

.leaflet-control-zoom-in {
  font: bold 18px Lucida Console, Monaco, monospace;
  text-indent: 1px;
}

.leaflet-control-zoom-out {
  font: bold 18px Lucida Console, Monaco, monospace;
  text-indent: 1px;
  font-size: 20px;
}

/*
.leaflet-control-layers {
	@extend .droparrow;
	@extend .dropright;
	position: relative;

	.leaflet-control-layers-list {
		display: none;
		@extend .dropdown-menu;
	}
	label {
		display: block;
		margin: 0;

		@include checkbox('div', 'span');
		@include checkbox-variant('div', $brand-primary, 'span');

		div {
			padding: $dropdown-padding-vertical $dropdown-padding-horizontal;
		}
	}
}

.leaflet-control-layers-expanded {
	.leaflet-control-layers-list {
		display: block;
	}
}
*/
.leaflet-control-layers-scrollbar {
  overflow-y: scroll;
  padding-right: 5px;
}

.leaflet-control-layers-selector {
  margin-top: 2px;
  position: relative;
  top: 1px;
}

.leaflet-control-layers-separator {
  height: 0;
  border-top: 1px solid #ddd;
  margin: 5px -10px 5px -6px;
}

.leaflet-default-icon-path {
  background-image: url(../images/marker-icon.png);
}

.leaflet-control-attribution {
  padding: 0 5px;
  color: #333;
}
.leaflet-control-attribution a {
  text-decoration: none;
}
.leaflet-control-attribution a:hover {
  text-decoration: underline;
}

.leaflet-control-scale-line {
  padding: 0 5px;
  color: #333;
  border: 2px solid #777;
  border-top: none;
  line-height: 1.1;
  padding: 2px 5px 1px;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  box-sizing: border-box;
  background: #fff;
  background: rgba(255, 255, 255, 0.5);
}
.leaflet-control-scale-line:not(:first-child) {
  border-top: 2px solid #777;
  border-bottom: none;
  margin-top: -2px;
}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
  border-bottom: 2px solid #777;
}

.leaflet-popup {
  position: absolute;
  text-align: center;
  margin-bottom: 20px;
}

.leaflet-popup-content-wrapper {
  text-align: left;
  border-radius: 5px;
}

.leaflet-popup-tip-container {
  width: 40px;
  height: 20px;
  position: absolute;
  left: 50%;
  margin-left: -20px;
  overflow: hidden;
  pointer-events: none;
}

.leaflet-popup-tip {
  width: 17px;
  height: 17px;
  padding: 1px;
  margin: -10px auto 0;
  transform: rotate(45deg);
}

.leaflet-popup-scrolled {
  overflow: auto;
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
}

.leaflet-oldie .leaflet-popup-content-wrapper {
  zoom: 1;
  border: 1px solid #999;
}
.leaflet-oldie .leaflet-popup-tip {
  width: 24px;
  margin: 0 auto;
  filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
  border: 1px solid #999;
}
.leaflet-oldie .leaflet-popup-tip-container {
  margin-top: -1px;
}
.leaflet-oldie .leaflet-control-zoom {
  border: 1px solid #999;
}
.leaflet-oldie .leaflet-control-layers {
  border: 1px solid #999;
}

.leaflet-div-icon {
  background: #fff;
  border: 1px solid #666;
}

.leaflet-tooltip {
  position: absolute;
  padding: 6px;
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 3px;
  color: #222;
  white-space: nowrap;
  user-select: none;
  pointer-events: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}
.leaflet-tooltip.leaflet-clickable {
  cursor: pointer;
  pointer-events: auto;
}

.leaflet-tooltip-top {
  margin-top: -6px;
}
.leaflet-tooltip-top:before {
  left: 50%;
  margin-left: -6px;
  bottom: 0;
  margin-bottom: -12px;
  border-top-color: #fff;
}

.leaflet-tooltip-bottom {
  margin-top: 6px;
}
.leaflet-tooltip-bottom:before {
  left: 50%;
  margin-left: -6px;
  top: 0;
  margin-top: -12px;
  margin-left: -6px;
  border-bottom-color: #fff;
}

.leaflet-tooltip-left {
  margin-left: -6px;
}
.leaflet-tooltip-left:before {
  top: 50%;
  margin-top: -6px;
  right: 0;
  margin-right: -12px;
  border-left-color: #fff;
}

.leaflet-tooltip-right {
  margin-left: 6px;
}
.leaflet-tooltip-right:before {
  top: 50%;
  margin-top: -6px;
  left: 0;
  margin-left: -12px;
  border-right-color: #fff;
}

.leaflet-pan-anim .leaflet-tile {
  transition: none;
}

.leaf-device-marker .ico, .leaf-device-marker .group-heading > .group-title:after, .leaf-device-marker .table.table-list .sorting:before, .table.table-list .leaf-device-marker .sorting:before, .leaf-device-marker .table.table-list .sorting:after, .table.table-list .leaf-device-marker .sorting:after,
.leaf-device-marker .table.table-list .sorting_desc:before,
.table.table-list .leaf-device-marker .sorting_desc:before,
.leaf-device-marker .table.table-list .sorting_desc:after,
.table.table-list .leaf-device-marker .sorting_desc:after,
.leaf-device-marker .table.table-list .sorting_asc:before,
.table.table-list .leaf-device-marker .sorting_asc:before,
.leaf-device-marker .table.table-list .sorting_asc:after,
.table.table-list .leaf-device-marker .sorting_asc:after, .leaf-device-marker .btn-collapse i, .btn-collapse .leaf-device-marker i, .leaf-device-marker .icon {
  display: block;
}
.leaf-device-marker .name {
  display: block;
  position: absolute;
  bottom: 100%;
  margin-bottom: 5px;
  -webkit-transform: translateX(-40%);
  transform: translateX(-40%);
}
.leaf-device-marker .name:before, .leaf-device-marker .name:after {
  content: "";
  display: inline-block;
  position: absolute;
}
.leaf-device-marker .name:before {
  border: 11px solid transparent;
  left: calc(50% - 11px);
  bottom: -10px;
  border-bottom: 0;
  border-top-color: #334155;
}
.leaf-device-marker .name:after {
  border: 10px solid transparent;
  left: calc(50% - 10px);
  bottom: -9px;
  border-bottom: 0;
  border-top-color: #1e293b;
}
.leaf-device-marker .name i {
  font-style: normal;
  display: inline-block;
  white-space: nowrap;
  background: #1e293b;
  padding: 4px 8px;
  border: 1px solid #334155;
  border-radius: 4px;
}
.leaf-device-marker.leaf-device-selected {
  z-index: 9999999999 !important;
}
.leaf-device-marker.leaf-device-selected .name {
  font-weight: bold;
}

.leaflet-history-marker svg text {
  font-size: 12px;
  font-weight: 700;
  fill: white;
  text-anchor: middle;
  dominant-baseline: middle;
}

.leaflet-popup-geofence .name {
  display: block;
  white-space: nowrap;
  color: #ffffff;
  padding: 4px;
  border: 1px solid #334155;
  opacity: 0.8;
  text-shadow: 1px 1px 1px #000;
}
.leaflet-popup-geofence .leaflet-popup-tip-container {
  display: none;
}

.leaflet-popup-route .name {
  display: block;
  white-space: nowrap;
  color: #ffffff;
  padding: 4px;
  border: 1px solid #334155;
  opacity: 0.8;
}
.leaflet-popup-route .leaflet-popup-tip-container {
  display: none;
}

.leaflet-popup-event,
.leaflet-popup-history {
  min-width: 270px;
}

.leaflet-control-layers .leaflet-control-layers-list {
  display: none;
}
.leaflet-control-layers label {
  display: block;
  margin: 0;
}
.leaflet-control-layers label div {
  line-height: 1;
  position: relative;
  padding-left: 0;
}
.leaflet-control-layers label div span {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  padding-left: 0;
  margin-bottom: 0;
  font-weight: normal;
}
.leaflet-control-layers label div span::before {
  content: "";
  position: relative;
  z-index: 1;
  left: 0;
  width: 15px;
  height: 15px;
  display: inline-block;
  vertical-align: middle;
  color: transparent;
  background-color: #0f172a;
  margin: 1px;
  margin-right: 5px;
  padding: 3px;
  font-size: 10px;
  font-weight: normal;
  line-height: 1;
  border-radius: 4px;
  -webkit-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
  -o-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
  transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
}
.leaflet-control-layers label div span::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  content: "�";
  color: transparent;
  border: 1px solid #334155;
  border-radius: 4px;
}
.leaflet-control-layers label div input[type=checkbox],
.leaflet-control-layers label div input[type=radio] {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
  opacity: 0;
}
.leaflet-control-layers label div input[type=checkbox]:focus + span::before,
.leaflet-control-layers label div input[type=radio]:focus + span::before {
  outline: 0;
}
.leaflet-control-layers label div input[type=checkbox]:checked + span::before,
.leaflet-control-layers label div input[type=radio]:checked + span::before {
  font-family: "icomoon";
  content: "\e90b";
}
.leaflet-control-layers label div input[type=checkbox]:checked:disabled + span::before,
.leaflet-control-layers label div input[type=radio]:checked:disabled + span::before {
  background-color: inherit;
}
.leaflet-control-layers label div input[type=checkbox]:disabled + span,
.leaflet-control-layers label div input[type=radio]:disabled + span {
  opacity: 0.45;
}
.leaflet-control-layers label div input[type=checkbox]:disabled + span::before,
.leaflet-control-layers label div input[type=radio]:disabled + span::before {
  background-color: #334155;
  cursor: not-allowed;
}
.leaflet-control-layers label div.checkbox-inline, .leaflet-control-layers label .group div.checkbox, .group .leaflet-control-layers label div.checkbox, .leaflet-control-layers label .table div.checkbox, .table .leaflet-control-layers label div.checkbox {
  margin-top: 0;
}
.leaflet-control-layers label div input[type=checkbox]:checked + span::before,
.leaflet-control-layers label div input[type=radio]:checked + span::before {
  color: #ffffff;
  background-color: #2563eb;
}
.leaflet-control-layers label div input[type=checkbox]:checked + span::after,
.leaflet-control-layers label div input[type=radio]:checked + span::after {
  background-color: #2563eb;
  border-color: #2563eb;
}
.leaflet-control-layers label div {
  padding: 6px 13px;
}

.leaflet-control-layers-expanded .leaflet-control-layers-list {
  display: block;
}

.map-controls.top-right .leaflet-control-layers {
  position: relative;
}
.map-controls.top-left .leaflet-control-layers {
  position: relative;
}
.map-controls.bottom-right .leaflet-control-layers {
  position: relative;
}

.cluster .cluster-inner {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
}
.cluster .cluster-inner:after, .cluster .cluster-inner:before {
  content: " ";
  display: block;
  position: absolute;
  border: 3px solid;
  border-color: green green transparent green;
  border-radius: 50%;
}
.cluster .cluster-inner:before {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.cluster .cluster-inner:after {
  left: 7px;
  top: 7px;
  width: 44px;
  width: -webkit-calc(100%-14px);
  width: -moz-calc(100%-14px);
  width: -o-calc(100%-14px);
  width: calc(100%-14px);
  height: 44px;
  height: -webkit-calc(100%-14px);
  height: -moz-calc(100%-14px);
  height: -o-calc(100%-14px);
  height: calc(100%-14px);
  border-color: #2563eb #2563eb transparent #2563eb;
}
.cluster .cluster-inner b {
  color: #ffffff;
  display: block;
  position: absolute;
  background: #2563eb;
  border-radius: 50%;
  line-height: 30px;
  left: 14px;
  top: 14px;
  width: 30px;
  width: -webkit-calc(100%-28px);
  width: -moz-calc(100%-28px);
  width: -o-calc(100%-28px);
  width: calc(100%-28px);
  height: 30px;
  height: -webkit-calc(100%-28px);
  height: -moz-calc(100%-28px);
  height: -o-calc(100%-28px);
  height: calc(100%-28px);
}
.cluster.cluster-large .cluster-inner:before {
  border-color: #2563eb #2563eb transparent #2563eb;
}
.cluster.cluster-large .cluster-inner:after {
  border-color: green green transparent green;
}
.cluster.cluster-large .cluster-inner b {
  background: green;
}

.leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {
  -webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-in;
  -moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-in;
  -o-transition: -o-transform 0.3s ease-out, opacity 0.3s ease-in;
  transition: transform 0.3s ease-out, opacity 0.3s ease-in;
}

.leaflet-cluster-spider-leg {
  /* stroke-dashoffset (duration and function) should match with leaflet-marker-icon transform in order to track it exactly */
  -webkit-transition: -webkit-stroke-dashoffset 0.3s ease-out, -webkit-stroke-opacity 0.3s ease-in;
  -moz-transition: -moz-stroke-dashoffset 0.3s ease-out, -moz-stroke-opacity 0.3s ease-in;
  -o-transition: -o-stroke-dashoffset 0.3s ease-out, -o-stroke-opacity 0.3s ease-in;
  transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
}

/* ================================================================== */
/* Toolbars
/* ================================================================== */
.leaflet-draw-section {
  position: relative;
}

.leaflet-draw-toolbar {
  margin-top: 12px;
}

.leaflet-draw-toolbar-top {
  margin-top: 0;
}

.leaflet-draw-toolbar-notop a:first-child {
  border-top-right-radius: 0;
}

.leaflet-draw-toolbar-nobottom a:last-child {
  border-bottom-right-radius: 0;
}

.leaflet-draw-toolbar a {
  background-image: url("../images/spritesheet.png");
  background-image: linear-gradient(transparent, transparent), url("images/spritesheet.svg");
  background-repeat: no-repeat;
  background-size: 270px 30px;
  background-clip: padding-box;
}

.leaflet-retina .leaflet-draw-toolbar a {
  background-image: url("../images/spritesheet-2x.png");
  background-image: linear-gradient(transparent, transparent), url("images/spritesheet.svg");
}

.leaflet-draw a {
  display: block;
  text-align: center;
  text-decoration: none;
}

.leaflet-draw a .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* ================================================================== */
/* Toolbar actions menu
/* ================================================================== */
.leaflet-draw-actions {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  left: 26px; /* leaflet-draw-toolbar.left + leaflet-draw-toolbar.width */
  top: 0;
  white-space: nowrap;
}

.leaflet-touch .leaflet-draw-actions {
  left: 32px;
}

.leaflet-right .leaflet-draw-actions {
  right: 26px;
  left: auto;
}

.leaflet-touch .leaflet-right .leaflet-draw-actions {
  right: 32px;
  left: auto;
}

.leaflet-draw-actions li {
  display: inline-block;
}

.leaflet-draw-actions li:first-child a {
  border-left: none;
}

.leaflet-draw-actions li:last-child a {
  -webkit-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
}

.leaflet-right .leaflet-draw-actions li:last-child a {
  -webkit-border-radius: 0;
  border-radius: 0;
}

.leaflet-right .leaflet-draw-actions li:first-child a {
  -webkit-border-radius: 4px 0 0 4px;
  border-radius: 4px 0 0 4px;
}

.leaflet-draw-actions a {
  background-color: #919187;
  border-left: 1px solid #AAA;
  color: #FFF;
  font: 11px/19px "Helvetica Neue", Arial, Helvetica, sans-serif;
  line-height: 28px;
  text-decoration: none;
  padding-left: 10px;
  padding-right: 10px;
  height: 28px;
}

.leaflet-touch .leaflet-draw-actions a {
  font-size: 12px;
  line-height: 30px;
  height: 30px;
}

.leaflet-draw-actions-bottom {
  margin-top: 0;
}

.leaflet-draw-actions-top {
  margin-top: 1px;
}

.leaflet-draw-actions-top a,
.leaflet-draw-actions-bottom a {
  height: 27px;
  line-height: 27px;
}

.leaflet-draw-actions a:hover {
  background-color: #A0A098;
}

.leaflet-draw-actions-top.leaflet-draw-actions-bottom a {
  height: 26px;
  line-height: 26px;
}

/* ================================================================== */
/* Draw toolbar
/* ================================================================== */
.leaflet-draw-toolbar .leaflet-draw-draw-polyline {
  background-position: -2px -2px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polyline {
  background-position: 0 -1px;
}

.leaflet-draw-toolbar .leaflet-draw-draw-polygon {
  background-position: -31px -2px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polygon {
  background-position: -29px -1px;
}

.leaflet-draw-toolbar .leaflet-draw-draw-rectangle {
  background-position: -62px -2px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-rectangle {
  background-position: -60px -1px;
}

.leaflet-draw-toolbar .leaflet-draw-draw-circle {
  background-position: -92px -2px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circle {
  background-position: -90px -1px;
}

.leaflet-draw-toolbar .leaflet-draw-draw-marker {
  background-position: -122px -2px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-marker {
  background-position: -120px -1px;
}

/* ================================================================== */
/* Edit toolbar
/* ================================================================== */
.leaflet-draw-toolbar .leaflet-draw-edit-edit {
  background-position: -152px -2px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit {
  background-position: -150px -1px;
}

.leaflet-draw-toolbar .leaflet-draw-edit-remove {
  background-position: -182px -2px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove {
  background-position: -180px -1px;
}

.leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled {
  background-position: -212px -2px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled {
  background-position: -210px -1px;
}

.leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled {
  background-position: -242px -2px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled {
  background-position: -240px -2px;
}

/* ================================================================== */
/* Drawing styles
/* ================================================================== */
.leaflet-mouse-marker {
  background-color: #fff;
  cursor: crosshair;
}

.leaflet-draw-tooltip {
  background: rgb(54, 54, 54);
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid transparent;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  color: #fff;
  font: 12px/18px "Helvetica Neue", Arial, Helvetica, sans-serif;
  margin-left: 20px;
  margin-top: -21px;
  padding: 4px 8px;
  position: absolute;
  visibility: hidden;
  white-space: nowrap;
  z-index: 6;
}

.leaflet-draw-tooltip:before {
  border-right: 6px solid black;
  border-right-color: rgba(0, 0, 0, 0.5);
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  content: "";
  position: absolute;
  top: 7px;
  left: -7px;
}

.leaflet-error-draw-tooltip {
  background-color: #F2DEDE;
  border: 1px solid #E6B6BD;
  color: #B94A48;
}

.leaflet-error-draw-tooltip:before {
  border-right-color: #E6B6BD;
}

.leaflet-draw-tooltip-single {
  margin-top: -12px;
}

.leaflet-draw-tooltip-subtext {
  color: #f8d5e4;
}

.leaflet-draw-guide-dash {
  font-size: 1%;
  opacity: 0.6;
  position: absolute;
  width: 5px;
  height: 5px;
}

/* ================================================================== */
/* Edit styles
/* ================================================================== */
.leaflet-edit-marker-selected {
  background-color: rgba(254, 87, 161, 0.1);
  border: 4px dashed rgba(254, 87, 161, 0.6);
  -webkit-border-radius: 4px;
  border-radius: 4px;
  box-sizing: content-box;
}

.leaflet-edit-move {
  cursor: move;
}

.leaflet-edit-resize {
  cursor: pointer;
}

/* ================================================================== */
/* Old IE styles
/* ================================================================== */
.leaflet-oldie .leaflet-draw-toolbar {
  border: 1px solid #999;
}

#gps-device-parameters-view {
  width: 300px;
  max-width: 100%;
}
#gps-device-parameters-view span[data-device=streetview] {
  min-height: 125px;
}

#gps-device-street-view-large {
  width: auto;
  max-width: 100%;
}
#gps-device-street-view-large span[data-device=streetview] {
  min-height: 261px;
}
#gps-device-street-view-large img {
  max-width: none;
}

.leaflet-popup-map-icon {
  width: 200px;
}

.leaflet-popup-content {
  background: #1e293b;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}
.leaflet-popup-content img {
  max-height: 100%;
  max-width: 100%;
}

.popup-header:before, .popup-header:after {
  content: " ";
  display: table;
}
.popup-header:after {
  clear: both;
}
.popup-header {
  background: #0f172a;
}
.popup-header .nav-tabs {
  float: right;
}
.popup-header .popup-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  color: #f1f5f9;
  padding: 10px;
}

.popup-body {
  background: #1e293b;
  padding: 8px;
  color: #cbd5e1;
  font-size: 11px;
}
.popup-body > .nav {
  margin: -8px;
  margin-bottom: 8px;
}
.popup-body .table {
  margin-bottom: 0;
}
.popup-body .table tbody > tr > th {
  font-weight: normal;
  width: 35%;
}
.popup-body .table tbody > tr > td,
.popup-body .table tbody > tr > th {
  border: 0;
}

.autocomplete-suggestions {
  border: 1px solid #334155;
  background: #1e293b;
  overflow: auto;
}

.autocomplete-suggestion {
  padding: 2px 5px;
  white-space: nowrap;
  overflow: hidden;
}

.autocomplete-selected {
  background: #0f172a;
}

.autocomplete-suggestions strong {
  font-weight: normal;
  color: #ffffff;
}

.autocomplete-group {
  padding: 2px 5px;
}

.autocomplete-group strong {
  display: block;
  border-bottom: 1px solid;
}

.form-group .iti {
  width: 100%;
}

.iti {
  position: relative;
  display: inline-block;
}
.iti * {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
}
.iti__hide {
  display: none;
}
.iti__v-hide {
  visibility: hidden;
}
.iti input, .iti input[type=text], .iti input[type=tel] {
  position: relative;
  z-index: 0;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-right: 36px;
  margin-right: 0;
}
.iti__flag-container {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  padding: 1px;
}
.iti__selected-flag {
  z-index: 1;
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 6px 0 8px;
}
.iti__arrow {
  margin-left: 6px;
  width: 0;
  height: 0;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  border-top: 4px solid #cbd5e1;
}
.iti__arrow--up {
  border-top: none;
  border-bottom: 4px solid #cbd5e1;
}
.iti__country-list {
  position: absolute;
  z-index: 2;
  list-style: none;
  text-align: left;
}
.iti__country-list--dropup {
  bottom: 100%;
  margin-bottom: -1px;
}
.iti__country-list {
  padding: 0;
  margin: 0 0 0 -1px;
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
  background-color: #1e293b;
  border: 1px solid #334155;
  white-space: nowrap;
}
@media (max-width: 500px) {
  .iti__country-list {
    white-space: normal;
  }
}
.iti__country-list {
  max-height: 200px;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
.iti__flag-box {
  display: inline-block;
  width: 20px;
}
.iti__divider {
  padding-bottom: 5px;
  margin-bottom: 5px;
  border-bottom: 1px solid #334155;
}
.iti__country {
  padding: 5px 10px;
  outline: none;
}
.iti__dial-code {
  color: #ffffff;
}
.iti__country.iti__highlight {
  background-color: #0f172a;
}
.iti__flag-box, .iti__country-name, .iti__dial-code {
  vertical-align: middle;
}
.iti__flag-box, .iti__country-name {
  margin-right: 6px;
}
.iti--allow-dropdown input, .iti--allow-dropdown input[type=text], .iti--allow-dropdown input[type=tel], .iti--separate-dial-code input, .iti--separate-dial-code input[type=text], .iti--separate-dial-code input[type=tel] {
  padding-right: 6px;
  padding-left: 52px;
  margin-left: 0;
}
.iti--allow-dropdown .iti__flag-container, .iti--separate-dial-code .iti__flag-container {
  right: auto;
  left: 0;
}
.iti--allow-dropdown .iti__flag-container:hover {
  cursor: pointer;
}
.iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag {
  background-color: #0f172a;
}
.iti--allow-dropdown input[disabled] + .iti__flag-container:hover,
.iti--allow-dropdown input[readonly] + .iti__flag-container:hover {
  cursor: default;
}
.iti--allow-dropdown input[disabled] + .iti__flag-container:hover .iti__selected-flag,
.iti--allow-dropdown input[readonly] + .iti__flag-container:hover .iti__selected-flag {
  background-color: transparent;
}
.iti--separate-dial-code .iti__selected-flag {
  background-color: #0f172a;
}
.iti--separate-dial-code .iti__selected-dial-code {
  margin-left: 6px;
}
.iti--container {
  position: absolute;
  top: -1000px;
  left: -1000px;
  z-index: 2000;
  padding: 1px;
}
.iti--container:hover {
  cursor: pointer;
}

.iti-mobile .iti--container {
  top: 30px;
  bottom: 30px;
  left: 30px;
  right: 30px;
  position: fixed;
}
.iti-mobile .iti__country-list {
  max-height: 100%;
  width: 100%;
}
.iti-mobile .iti__country {
  padding: 10px 10px;
  line-height: 1.5em;
}

.iti__flag {
  width: 20px;
}
.iti__flag.iti__be {
  width: 18px;
}
.iti__flag.iti__ch {
  width: 15px;
}
.iti__flag.iti__mc {
  width: 19px;
}
.iti__flag.iti__ne {
  width: 18px;
}
.iti__flag.iti__np {
  width: 13px;
}
.iti__flag.iti__va {
  width: 15px;
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .iti__flag {
    background-size: 5652px 15px;
  }
}
.iti__flag.iti__ac {
  height: 10px;
  background-position: 0px 0px;
}
.iti__flag.iti__ad {
  height: 14px;
  background-position: -22px 0px;
}
.iti__flag.iti__ae {
  height: 10px;
  background-position: -44px 0px;
}
.iti__flag.iti__af {
  height: 14px;
  background-position: -66px 0px;
}
.iti__flag.iti__ag {
  height: 14px;
  background-position: -88px 0px;
}
.iti__flag.iti__ai {
  height: 10px;
  background-position: -110px 0px;
}
.iti__flag.iti__al {
  height: 15px;
  background-position: -132px 0px;
}
.iti__flag.iti__am {
  height: 10px;
  background-position: -154px 0px;
}
.iti__flag.iti__ao {
  height: 14px;
  background-position: -176px 0px;
}
.iti__flag.iti__aq {
  height: 14px;
  background-position: -198px 0px;
}
.iti__flag.iti__ar {
  height: 13px;
  background-position: -220px 0px;
}
.iti__flag.iti__as {
  height: 10px;
  background-position: -242px 0px;
}
.iti__flag.iti__at {
  height: 14px;
  background-position: -264px 0px;
}
.iti__flag.iti__au {
  height: 10px;
  background-position: -286px 0px;
}
.iti__flag.iti__aw {
  height: 14px;
  background-position: -308px 0px;
}
.iti__flag.iti__ax {
  height: 13px;
  background-position: -330px 0px;
}
.iti__flag.iti__az {
  height: 10px;
  background-position: -352px 0px;
}
.iti__flag.iti__ba {
  height: 10px;
  background-position: -374px 0px;
}
.iti__flag.iti__bb {
  height: 14px;
  background-position: -396px 0px;
}
.iti__flag.iti__bd {
  height: 12px;
  background-position: -418px 0px;
}
.iti__flag.iti__be {
  height: 15px;
  background-position: -440px 0px;
}
.iti__flag.iti__bf {
  height: 14px;
  background-position: -460px 0px;
}
.iti__flag.iti__bg {
  height: 12px;
  background-position: -482px 0px;
}
.iti__flag.iti__bh {
  height: 12px;
  background-position: -504px 0px;
}
.iti__flag.iti__bi {
  height: 12px;
  background-position: -526px 0px;
}
.iti__flag.iti__bj {
  height: 14px;
  background-position: -548px 0px;
}
.iti__flag.iti__bl {
  height: 14px;
  background-position: -570px 0px;
}
.iti__flag.iti__bm {
  height: 10px;
  background-position: -592px 0px;
}
.iti__flag.iti__bn {
  height: 10px;
  background-position: -614px 0px;
}
.iti__flag.iti__bo {
  height: 14px;
  background-position: -636px 0px;
}
.iti__flag.iti__bq {
  height: 14px;
  background-position: -658px 0px;
}
.iti__flag.iti__br {
  height: 14px;
  background-position: -680px 0px;
}
.iti__flag.iti__bs {
  height: 10px;
  background-position: -702px 0px;
}
.iti__flag.iti__bt {
  height: 14px;
  background-position: -724px 0px;
}
.iti__flag.iti__bv {
  height: 15px;
  background-position: -746px 0px;
}
.iti__flag.iti__bw {
  height: 14px;
  background-position: -768px 0px;
}
.iti__flag.iti__by {
  height: 10px;
  background-position: -790px 0px;
}
.iti__flag.iti__bz {
  height: 14px;
  background-position: -812px 0px;
}
.iti__flag.iti__ca {
  height: 10px;
  background-position: -834px 0px;
}
.iti__flag.iti__cc {
  height: 10px;
  background-position: -856px 0px;
}
.iti__flag.iti__cd {
  height: 15px;
  background-position: -878px 0px;
}
.iti__flag.iti__cf {
  height: 14px;
  background-position: -900px 0px;
}
.iti__flag.iti__cg {
  height: 14px;
  background-position: -922px 0px;
}
.iti__flag.iti__ch {
  height: 15px;
  background-position: -944px 0px;
}
.iti__flag.iti__ci {
  height: 14px;
  background-position: -961px 0px;
}
.iti__flag.iti__ck {
  height: 10px;
  background-position: -983px 0px;
}
.iti__flag.iti__cl {
  height: 14px;
  background-position: -1005px 0px;
}
.iti__flag.iti__cm {
  height: 14px;
  background-position: -1027px 0px;
}
.iti__flag.iti__cn {
  height: 14px;
  background-position: -1049px 0px;
}
.iti__flag.iti__co {
  height: 14px;
  background-position: -1071px 0px;
}
.iti__flag.iti__cp {
  height: 14px;
  background-position: -1093px 0px;
}
.iti__flag.iti__cr {
  height: 12px;
  background-position: -1115px 0px;
}
.iti__flag.iti__cu {
  height: 10px;
  background-position: -1137px 0px;
}
.iti__flag.iti__cv {
  height: 12px;
  background-position: -1159px 0px;
}
.iti__flag.iti__cw {
  height: 14px;
  background-position: -1181px 0px;
}
.iti__flag.iti__cx {
  height: 10px;
  background-position: -1203px 0px;
}
.iti__flag.iti__cy {
  height: 14px;
  background-position: -1225px 0px;
}
.iti__flag.iti__cz {
  height: 14px;
  background-position: -1247px 0px;
}
.iti__flag.iti__de {
  height: 12px;
  background-position: -1269px 0px;
}
.iti__flag.iti__dg {
  height: 10px;
  background-position: -1291px 0px;
}
.iti__flag.iti__dj {
  height: 14px;
  background-position: -1313px 0px;
}
.iti__flag.iti__dk {
  height: 15px;
  background-position: -1335px 0px;
}
.iti__flag.iti__dm {
  height: 10px;
  background-position: -1357px 0px;
}
.iti__flag.iti__do {
  height: 14px;
  background-position: -1379px 0px;
}
.iti__flag.iti__dz {
  height: 14px;
  background-position: -1401px 0px;
}
.iti__flag.iti__ea {
  height: 14px;
  background-position: -1423px 0px;
}
.iti__flag.iti__ec {
  height: 14px;
  background-position: -1445px 0px;
}
.iti__flag.iti__ee {
  height: 13px;
  background-position: -1467px 0px;
}
.iti__flag.iti__eg {
  height: 14px;
  background-position: -1489px 0px;
}
.iti__flag.iti__eh {
  height: 10px;
  background-position: -1511px 0px;
}
.iti__flag.iti__er {
  height: 10px;
  background-position: -1533px 0px;
}
.iti__flag.iti__es {
  height: 14px;
  background-position: -1555px 0px;
}
.iti__flag.iti__et {
  height: 10px;
  background-position: -1577px 0px;
}
.iti__flag.iti__eu {
  height: 14px;
  background-position: -1599px 0px;
}
.iti__flag.iti__fi {
  height: 12px;
  background-position: -1621px 0px;
}
.iti__flag.iti__fj {
  height: 10px;
  background-position: -1643px 0px;
}
.iti__flag.iti__fk {
  height: 10px;
  background-position: -1665px 0px;
}
.iti__flag.iti__fm {
  height: 11px;
  background-position: -1687px 0px;
}
.iti__flag.iti__fo {
  height: 15px;
  background-position: -1709px 0px;
}
.iti__flag.iti__fr {
  height: 14px;
  background-position: -1731px 0px;
}
.iti__flag.iti__ga {
  height: 15px;
  background-position: -1753px 0px;
}
.iti__flag.iti__gb {
  height: 10px;
  background-position: -1775px 0px;
}
.iti__flag.iti__gd {
  height: 12px;
  background-position: -1797px 0px;
}
.iti__flag.iti__ge {
  height: 14px;
  background-position: -1819px 0px;
}
.iti__flag.iti__gf {
  height: 14px;
  background-position: -1841px 0px;
}
.iti__flag.iti__gg {
  height: 14px;
  background-position: -1863px 0px;
}
.iti__flag.iti__gh {
  height: 14px;
  background-position: -1885px 0px;
}
.iti__flag.iti__gi {
  height: 10px;
  background-position: -1907px 0px;
}
.iti__flag.iti__gl {
  height: 14px;
  background-position: -1929px 0px;
}
.iti__flag.iti__gm {
  height: 14px;
  background-position: -1951px 0px;
}
.iti__flag.iti__gn {
  height: 14px;
  background-position: -1973px 0px;
}
.iti__flag.iti__gp {
  height: 14px;
  background-position: -1995px 0px;
}
.iti__flag.iti__gq {
  height: 14px;
  background-position: -2017px 0px;
}
.iti__flag.iti__gr {
  height: 14px;
  background-position: -2039px 0px;
}
.iti__flag.iti__gs {
  height: 10px;
  background-position: -2061px 0px;
}
.iti__flag.iti__gt {
  height: 13px;
  background-position: -2083px 0px;
}
.iti__flag.iti__gu {
  height: 11px;
  background-position: -2105px 0px;
}
.iti__flag.iti__gw {
  height: 10px;
  background-position: -2127px 0px;
}
.iti__flag.iti__gy {
  height: 12px;
  background-position: -2149px 0px;
}
.iti__flag.iti__hk {
  height: 14px;
  background-position: -2171px 0px;
}
.iti__flag.iti__hm {
  height: 10px;
  background-position: -2193px 0px;
}
.iti__flag.iti__hn {
  height: 10px;
  background-position: -2215px 0px;
}
.iti__flag.iti__hr {
  height: 10px;
  background-position: -2237px 0px;
}
.iti__flag.iti__ht {
  height: 12px;
  background-position: -2259px 0px;
}
.iti__flag.iti__hu {
  height: 10px;
  background-position: -2281px 0px;
}
.iti__flag.iti__ic {
  height: 14px;
  background-position: -2303px 0px;
}
.iti__flag.iti__id {
  height: 14px;
  background-position: -2325px 0px;
}
.iti__flag.iti__ie {
  height: 10px;
  background-position: -2347px 0px;
}
.iti__flag.iti__il {
  height: 15px;
  background-position: -2369px 0px;
}
.iti__flag.iti__im {
  height: 10px;
  background-position: -2391px 0px;
}
.iti__flag.iti__in {
  height: 14px;
  background-position: -2413px 0px;
}
.iti__flag.iti__io {
  height: 10px;
  background-position: -2435px 0px;
}
.iti__flag.iti__iq {
  height: 14px;
  background-position: -2457px 0px;
}
.iti__flag.iti__ir {
  height: 12px;
  background-position: -2479px 0px;
}
.iti__flag.iti__is {
  height: 15px;
  background-position: -2501px 0px;
}
.iti__flag.iti__it {
  height: 14px;
  background-position: -2523px 0px;
}
.iti__flag.iti__je {
  height: 12px;
  background-position: -2545px 0px;
}
.iti__flag.iti__jm {
  height: 10px;
  background-position: -2567px 0px;
}
.iti__flag.iti__jo {
  height: 10px;
  background-position: -2589px 0px;
}
.iti__flag.iti__jp {
  height: 14px;
  background-position: -2611px 0px;
}
.iti__flag.iti__ke {
  height: 14px;
  background-position: -2633px 0px;
}
.iti__flag.iti__kg {
  height: 12px;
  background-position: -2655px 0px;
}
.iti__flag.iti__kh {
  height: 13px;
  background-position: -2677px 0px;
}
.iti__flag.iti__ki {
  height: 10px;
  background-position: -2699px 0px;
}
.iti__flag.iti__km {
  height: 12px;
  background-position: -2721px 0px;
}
.iti__flag.iti__kn {
  height: 14px;
  background-position: -2743px 0px;
}
.iti__flag.iti__kp {
  height: 10px;
  background-position: -2765px 0px;
}
.iti__flag.iti__kr {
  height: 14px;
  background-position: -2787px 0px;
}
.iti__flag.iti__kw {
  height: 10px;
  background-position: -2809px 0px;
}
.iti__flag.iti__ky {
  height: 10px;
  background-position: -2831px 0px;
}
.iti__flag.iti__kz {
  height: 10px;
  background-position: -2853px 0px;
}
.iti__flag.iti__la {
  height: 14px;
  background-position: -2875px 0px;
}
.iti__flag.iti__lb {
  height: 14px;
  background-position: -2897px 0px;
}
.iti__flag.iti__lc {
  height: 10px;
  background-position: -2919px 0px;
}
.iti__flag.iti__li {
  height: 12px;
  background-position: -2941px 0px;
}
.iti__flag.iti__lk {
  height: 10px;
  background-position: -2963px 0px;
}
.iti__flag.iti__lr {
  height: 11px;
  background-position: -2985px 0px;
}
.iti__flag.iti__ls {
  height: 14px;
  background-position: -3007px 0px;
}
.iti__flag.iti__lt {
  height: 12px;
  background-position: -3029px 0px;
}
.iti__flag.iti__lu {
  height: 12px;
  background-position: -3051px 0px;
}
.iti__flag.iti__lv {
  height: 10px;
  background-position: -3073px 0px;
}
.iti__flag.iti__ly {
  height: 10px;
  background-position: -3095px 0px;
}
.iti__flag.iti__ma {
  height: 14px;
  background-position: -3117px 0px;
}
.iti__flag.iti__mc {
  height: 15px;
  background-position: -3139px 0px;
}
.iti__flag.iti__md {
  height: 10px;
  background-position: -3160px 0px;
}
.iti__flag.iti__me {
  height: 10px;
  background-position: -3182px 0px;
}
.iti__flag.iti__mf {
  height: 14px;
  background-position: -3204px 0px;
}
.iti__flag.iti__mg {
  height: 14px;
  background-position: -3226px 0px;
}
.iti__flag.iti__mh {
  height: 11px;
  background-position: -3248px 0px;
}
.iti__flag.iti__mk {
  height: 10px;
  background-position: -3270px 0px;
}
.iti__flag.iti__ml {
  height: 14px;
  background-position: -3292px 0px;
}
.iti__flag.iti__mm {
  height: 14px;
  background-position: -3314px 0px;
}
.iti__flag.iti__mn {
  height: 10px;
  background-position: -3336px 0px;
}
.iti__flag.iti__mo {
  height: 14px;
  background-position: -3358px 0px;
}
.iti__flag.iti__mp {
  height: 10px;
  background-position: -3380px 0px;
}
.iti__flag.iti__mq {
  height: 14px;
  background-position: -3402px 0px;
}
.iti__flag.iti__mr {
  height: 14px;
  background-position: -3424px 0px;
}
.iti__flag.iti__ms {
  height: 10px;
  background-position: -3446px 0px;
}
.iti__flag.iti__mt {
  height: 14px;
  background-position: -3468px 0px;
}
.iti__flag.iti__mu {
  height: 14px;
  background-position: -3490px 0px;
}
.iti__flag.iti__mv {
  height: 14px;
  background-position: -3512px 0px;
}
.iti__flag.iti__mw {
  height: 14px;
  background-position: -3534px 0px;
}
.iti__flag.iti__mx {
  height: 12px;
  background-position: -3556px 0px;
}
.iti__flag.iti__my {
  height: 10px;
  background-position: -3578px 0px;
}
.iti__flag.iti__mz {
  height: 14px;
  background-position: -3600px 0px;
}
.iti__flag.iti__na {
  height: 14px;
  background-position: -3622px 0px;
}
.iti__flag.iti__nc {
  height: 10px;
  background-position: -3644px 0px;
}
.iti__flag.iti__ne {
  height: 15px;
  background-position: -3666px 0px;
}
.iti__flag.iti__nf {
  height: 10px;
  background-position: -3686px 0px;
}
.iti__flag.iti__ng {
  height: 10px;
  background-position: -3708px 0px;
}
.iti__flag.iti__ni {
  height: 12px;
  background-position: -3730px 0px;
}
.iti__flag.iti__nl {
  height: 14px;
  background-position: -3752px 0px;
}
.iti__flag.iti__no {
  height: 15px;
  background-position: -3774px 0px;
}
.iti__flag.iti__np {
  height: 15px;
  background-position: -3796px 0px;
}
.iti__flag.iti__nr {
  height: 10px;
  background-position: -3811px 0px;
}
.iti__flag.iti__nu {
  height: 10px;
  background-position: -3833px 0px;
}
.iti__flag.iti__nz {
  height: 10px;
  background-position: -3855px 0px;
}
.iti__flag.iti__om {
  height: 10px;
  background-position: -3877px 0px;
}
.iti__flag.iti__pa {
  height: 14px;
  background-position: -3899px 0px;
}
.iti__flag.iti__pe {
  height: 14px;
  background-position: -3921px 0px;
}
.iti__flag.iti__pf {
  height: 14px;
  background-position: -3943px 0px;
}
.iti__flag.iti__pg {
  height: 15px;
  background-position: -3965px 0px;
}
.iti__flag.iti__ph {
  height: 10px;
  background-position: -3987px 0px;
}
.iti__flag.iti__pk {
  height: 14px;
  background-position: -4009px 0px;
}
.iti__flag.iti__pl {
  height: 13px;
  background-position: -4031px 0px;
}
.iti__flag.iti__pm {
  height: 14px;
  background-position: -4053px 0px;
}
.iti__flag.iti__pn {
  height: 10px;
  background-position: -4075px 0px;
}
.iti__flag.iti__pr {
  height: 14px;
  background-position: -4097px 0px;
}
.iti__flag.iti__ps {
  height: 10px;
  background-position: -4119px 0px;
}
.iti__flag.iti__pt {
  height: 14px;
  background-position: -4141px 0px;
}
.iti__flag.iti__pw {
  height: 13px;
  background-position: -4163px 0px;
}
.iti__flag.iti__py {
  height: 11px;
  background-position: -4185px 0px;
}
.iti__flag.iti__qa {
  height: 8px;
  background-position: -4207px 0px;
}
.iti__flag.iti__re {
  height: 14px;
  background-position: -4229px 0px;
}
.iti__flag.iti__ro {
  height: 14px;
  background-position: -4251px 0px;
}
.iti__flag.iti__rs {
  height: 14px;
  background-position: -4273px 0px;
}
.iti__flag.iti__ru {
  height: 14px;
  background-position: -4295px 0px;
}
.iti__flag.iti__rw {
  height: 14px;
  background-position: -4317px 0px;
}
.iti__flag.iti__sa {
  height: 14px;
  background-position: -4339px 0px;
}
.iti__flag.iti__sb {
  height: 10px;
  background-position: -4361px 0px;
}
.iti__flag.iti__sc {
  height: 10px;
  background-position: -4383px 0px;
}
.iti__flag.iti__sd {
  height: 10px;
  background-position: -4405px 0px;
}
.iti__flag.iti__se {
  height: 13px;
  background-position: -4427px 0px;
}
.iti__flag.iti__sg {
  height: 14px;
  background-position: -4449px 0px;
}
.iti__flag.iti__sh {
  height: 10px;
  background-position: -4471px 0px;
}
.iti__flag.iti__si {
  height: 10px;
  background-position: -4493px 0px;
}
.iti__flag.iti__sj {
  height: 15px;
  background-position: -4515px 0px;
}
.iti__flag.iti__sk {
  height: 14px;
  background-position: -4537px 0px;
}
.iti__flag.iti__sl {
  height: 14px;
  background-position: -4559px 0px;
}
.iti__flag.iti__sm {
  height: 15px;
  background-position: -4581px 0px;
}
.iti__flag.iti__sn {
  height: 14px;
  background-position: -4603px 0px;
}
.iti__flag.iti__so {
  height: 14px;
  background-position: -4625px 0px;
}
.iti__flag.iti__sr {
  height: 14px;
  background-position: -4647px 0px;
}
.iti__flag.iti__ss {
  height: 10px;
  background-position: -4669px 0px;
}
.iti__flag.iti__st {
  height: 10px;
  background-position: -4691px 0px;
}
.iti__flag.iti__sv {
  height: 12px;
  background-position: -4713px 0px;
}
.iti__flag.iti__sx {
  height: 14px;
  background-position: -4735px 0px;
}
.iti__flag.iti__sy {
  height: 14px;
  background-position: -4757px 0px;
}
.iti__flag.iti__sz {
  height: 14px;
  background-position: -4779px 0px;
}
.iti__flag.iti__ta {
  height: 10px;
  background-position: -4801px 0px;
}
.iti__flag.iti__tc {
  height: 10px;
  background-position: -4823px 0px;
}
.iti__flag.iti__td {
  height: 14px;
  background-position: -4845px 0px;
}
.iti__flag.iti__tf {
  height: 14px;
  background-position: -4867px 0px;
}
.iti__flag.iti__tg {
  height: 13px;
  background-position: -4889px 0px;
}
.iti__flag.iti__th {
  height: 14px;
  background-position: -4911px 0px;
}
.iti__flag.iti__tj {
  height: 10px;
  background-position: -4933px 0px;
}
.iti__flag.iti__tk {
  height: 10px;
  background-position: -4955px 0px;
}
.iti__flag.iti__tl {
  height: 10px;
  background-position: -4977px 0px;
}
.iti__flag.iti__tm {
  height: 14px;
  background-position: -4999px 0px;
}
.iti__flag.iti__tn {
  height: 14px;
  background-position: -5021px 0px;
}
.iti__flag.iti__to {
  height: 10px;
  background-position: -5043px 0px;
}
.iti__flag.iti__tr {
  height: 14px;
  background-position: -5065px 0px;
}
.iti__flag.iti__tt {
  height: 12px;
  background-position: -5087px 0px;
}
.iti__flag.iti__tv {
  height: 10px;
  background-position: -5109px 0px;
}
.iti__flag.iti__tw {
  height: 14px;
  background-position: -5131px 0px;
}
.iti__flag.iti__tz {
  height: 14px;
  background-position: -5153px 0px;
}
.iti__flag.iti__ua {
  height: 14px;
  background-position: -5175px 0px;
}
.iti__flag.iti__ug {
  height: 14px;
  background-position: -5197px 0px;
}
.iti__flag.iti__um {
  height: 11px;
  background-position: -5219px 0px;
}
.iti__flag.iti__un {
  height: 14px;
  background-position: -5241px 0px;
}
.iti__flag.iti__us {
  height: 11px;
  background-position: -5263px 0px;
}
.iti__flag.iti__uy {
  height: 14px;
  background-position: -5285px 0px;
}
.iti__flag.iti__uz {
  height: 10px;
  background-position: -5307px 0px;
}
.iti__flag.iti__va {
  height: 15px;
  background-position: -5329px 0px;
}
.iti__flag.iti__vc {
  height: 14px;
  background-position: -5346px 0px;
}
.iti__flag.iti__ve {
  height: 14px;
  background-position: -5368px 0px;
}
.iti__flag.iti__vg {
  height: 10px;
  background-position: -5390px 0px;
}
.iti__flag.iti__vi {
  height: 14px;
  background-position: -5412px 0px;
}
.iti__flag.iti__vn {
  height: 14px;
  background-position: -5434px 0px;
}
.iti__flag.iti__vu {
  height: 12px;
  background-position: -5456px 0px;
}
.iti__flag.iti__wf {
  height: 14px;
  background-position: -5478px 0px;
}
.iti__flag.iti__ws {
  height: 10px;
  background-position: -5500px 0px;
}
.iti__flag.iti__xk {
  height: 15px;
  background-position: -5522px 0px;
}
.iti__flag.iti__ye {
  height: 14px;
  background-position: -5544px 0px;
}
.iti__flag.iti__yt {
  height: 14px;
  background-position: -5566px 0px;
}
.iti__flag.iti__za {
  height: 14px;
  background-position: -5588px 0px;
}
.iti__flag.iti__zm {
  height: 14px;
  background-position: -5610px 0px;
}
.iti__flag.iti__zw {
  height: 10px;
  background-position: -5632px 0px;
}

.iti__flag {
  height: 15px;
  box-shadow: 0px 0px 1px 0px #888;
  background-image: url("../images/intltelinput/flags.png");
  background-repeat: no-repeat;
  background-color: #DBDBDB;
  background-position: 20px 0;
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .iti__flag {
    background-image: url("../images/intltelinput/flags@2x.png");
  }
}

.iti__flag.iti__np {
  background-color: transparent;
}

html {
  height: 100%;
  position: relative;
}

body {
  height: 100%;
}

#footer {
  bottom: 0;
  width: 100%;
  border-top: 1px solid #999999;
  padding-top: 10px;
  height: 30px;
}

.content {
  margin-top: 10px;
}

.admin-layout > .content {
  min-height: 100%;
  margin-top: 0;
  margin-bottom: -40px;
  padding-top: 80px;
}
.admin-layout > .content:after {
  content: "";
  display: block;
  height: 30px;
  width: 100%;
}

/*
.date {
  font-size: 0.65em;
}
.time {
  font-size: 0.85em;
}
*/
.on {
  color: green !important;
}

[data-device=status],
.device-status,
.status {
  display: inline-block;
  vertical-align: middle;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #0f172a;
  border: 1px solid #0f172a;
  text-indent: 999999px;
  overflow: hidden;
}

[data-device=engine],
[data-device=detect_engine] {
  font-size: 1.3em;
  line-height: 1;
}

[data-toggle=scroll] {
  width: 100%;
  height: 30px;
}

#sidebar [data-device=speed] {
  color: #94a3b8;
  font-size: 0.9em;
}

.action-icon {
  position: relative;
  display: inline-block;
  border-radius: 50%;
  line-height: 17px;
  width: 19px;
  height: 19px;
  text-align: center;
  font-size: 9px;
  font-weight: bold;
  background: #fff;
  border: 1px solid #cccccc;
  color: #000;
}
.event-action .action-icon {
  background: #ea4f4f;
  color: #fff;
  border-color: #ea4f4f;
}
.park-action .action-icon {
  background: #848484;
  color: #fff;
  border-color: #848484;
}
.drive-action .action-icon {
  background: #1b99bd;
  color: #fff;
  border-color: #1b99bd;
}

.datetime .date,
.datetime .time {
  white-space: nowrap;
}

.center-vertical {
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.scrollbox, .scrollbox-vertical, .scrollbox-vertical-large, .scrollbox-large {
  overflow: auto;
  max-height: 250px;
}
.scrollbox > .table, .scrollbox-vertical > .table, .scrollbox-vertical-large > .table, .scrollbox-large > .table {
  margin-bottom: 0;
}

.scrollbox-large {
  max-height: 385px;
}

.scrollbox-vertical, .scrollbox-vertical-large {
  overflow-x: hidden;
}

.scrollbox-vertical-large {
  max-height: 385px;
}

.icon-list .radio,
.icon-list .radio-inline,
.icon-list .checkbox,
.icon-list .checkbox-inline {
  margin: 0;
}
.icon-list .radio > label,
.icon-list .radio-inline > label,
.icon-list .checkbox > label,
.icon-list .checkbox-inline > label {
  padding: 7px;
}
.icon-list .radio > label:before, .icon-list .radio > label:after,
.icon-list .radio-inline > label:before,
.icon-list .radio-inline > label:after,
.icon-list .checkbox > label:before,
.icon-list .checkbox > label:after,
.icon-list .checkbox-inline > label:before,
.icon-list .checkbox-inline > label:after {
  display: none;
}
.icon-list .radio input:checked + label,
.icon-list .radio-inline input:checked + label,
.icon-list .checkbox input:checked + label,
.icon-list .checkbox-inline input:checked + label {
  background: #2563eb;
}

.action-block {
  margin-bottom: 10px;
}
.ui-sortable-handle {
  cursor: move;
}

.lang-list .lang-item .btn {
  text-align: left;
}

.p-relative {
  position: relative !important;
}

.img-full-width {
  min-width: 100%;
  max-width: 100%;
}

#mapForPhoto {
  height: 140px;
  width: 100%;
}

#requestPhoto .attributes {
  display: inline-block;
  vertical-align: middle;
}
#requestPhoto .attributes .form-group > label {
  display: none;
}

.row.no-padding, .no-padding.plans, .no-padding.checkboxes {
  margin-right: 0;
  margin-left: 0;
}
.row.no-padding > [class^=col-], .no-padding.plans > [class^=col-], .no-padding.checkboxes > [class^=col-] {
  padding-left: 0;
  padding-right: 0;
}

.tooltip-mark {
  display: inline-block;
  min-width: 6px;
  padding: 2px 5px;
  font-size: 10px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  vertical-align: top;
  white-space: nowrap;
  text-align: center;
  background-color: #0f172a;
  border-radius: 10px;
}

.tooltip.tooltip-img .tooltip-inner {
  border: 0;
  padding: 0;
  background: transparent;
}

.tooltip.tooltip-imei .tooltip-inner {
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: initial;
  -webkit-background-size: contain;
  -moz-background-size: contain;
  -o-background-size: contain;
  background-size: contain;
  max-width: 360px;
  width: 360px;
  height: 196px;
  background-color: transparent;
  display: table;
}
.tooltip.tooltip-imei .tooltip-inner .text {
  font-size: 14px;
  font-weight: 300;
  color: #f1f5f9;
  display: table-cell;
  vertical-align: middle;
  padding-left: 20px;
  padding-right: 130px;
}

img {
  opacity: 1;
  transition: opacity 0.3s;
}

img[data-src] {
  opacity: 0;
}

.checklist-status.complete {
  color: green;
}
.checklist-status.incomplete {
  color: red;
}

.checklist-row-activity {
  white-space: pre-wrap;
}

.has-feedback .form-control-feedback, .has-feedback .form-group.search:before,
.has-feedback .bs-searchbox:before {
  line-height: 31px;
}

.icon + .text {
  vertical-align: middle;
  margin-left: 5px;
}

img.sensor-icon {
  max-width: 25px;
  max-height: 25px;
}

.icon-fa:before, .icon.route_type:before, .icon.custom-field:before, .icon.call_action:before, .icon.photo:before, .icon.qrcode:before, .icon.pre-checklist:before, .icon.checklist:before, .icon.unlock:before, .icon.lock:before, .icon.vin:before, .icon.device-distance:before, .icon.logout:before, .icon.rfid:before, .icon.driver:before, .icon.admin:before, .icon.time:before, .icon.calendar:before, .icon.filter:before, .icon.multi-edit:before, .icon.map-expand:before, .icon.map-change:before, .icon.lookup:before, .icon.globe:before, .icon.stop:before, .icon.pause:before, .icon.play:before, .icon.dashboard:before, .icon.money:before, .icon.trash:before, .icon.reset:before, .icon.restart:before, .icon.email:before, .icon.eye:before, .icon.forwards:before, .icon.send:before, .icon.external-link:before, .icon.sharing:before, .icon.chat:before {
  font-family: "FontAwesome";
}

.ico.ico-object-arrow, .group-heading > .ico-object-arrow.group-title:after, .table.table-list .ico-object-arrow.sorting:before, .table.table-list .ico-object-arrow.sorting:after,
.table.table-list .ico-object-arrow.sorting_desc:before,
.table.table-list .ico-object-arrow.sorting_desc:after,
.table.table-list .ico-object-arrow.sorting_asc:before,
.table.table-list .ico-object-arrow.sorting_asc:after, .btn-collapse i.ico-object-arrow, .ico-object-arrow.icon {
  font-size: 25px;
  text-shadow: 0px 0px 2px #334155;
}

.icon.gsm-0, .icon.gsm-1, .icon.gsm-2, .icon.gsm-3, .icon.gsm-4, .icon.gsm-5, .icon.battery-0, .icon.battery-1, .icon.battery-2, .icon.battery-3, .icon.battery-4, .icon.battery-5 {
  position: relative;
  font-size: 1.8em;
  color: inherit;
}
.icon.gsm-0:before, .icon.gsm-1:before, .icon.gsm-2:before, .icon.gsm-3:before, .icon.gsm-4:before, .icon.gsm-5:before, .icon.battery-0:before, .icon.battery-1:before, .icon.battery-2:before, .icon.battery-3:before, .icon.battery-4:before, .icon.battery-5:before {
  color: green;
  position: absolute;
}
.icon.gsm-0:after, .icon.gsm-1:after, .icon.gsm-2:after, .icon.gsm-3:after, .icon.gsm-4:after, .icon.gsm-5:after {
  content: "\e919";
}
.icon.gsm-1:before {
  content: "\e91a";
}
.icon.gsm-2:before {
  content: "\e91b";
}
.icon.gsm-3:before {
  content: "\e91c";
}
.icon.gsm-4:before {
  content: "\e91d";
}
.icon.gsm-5:before {
  content: "\e91e";
}
.icon.battery:after, .icon.battery-0:after, .icon.battery-1:after, .icon.battery-2:after, .icon.battery-3:after, .icon.battery-4:after, .icon.battery-5:after {
  content: "\e906";
}
.icon.battery:before {
  content: "\e90c";
}
.icon.battery.battery-0:before {
  content: "";
}
.icon.battery.battery-1:before {
  content: "\e907";
}
.icon.battery.battery-2:before {
  content: "\e908";
}
.icon.battery.battery-3:before {
  content: "\e909";
}
.icon.battery.battery-4:before {
  content: "\e90c";
}
.icon.battery.battery-5:before {
  content: "\e90d";
}

.navbar-nav > li.language-selection > a {
  padding-top: 10px;
  padding-bottom: 10px;
}

.navbar-brand img {
  height: 100%;
}

.navbar-toggle {
  padding: 6px 5px;
  margin-top: 7.5px;
  margin-bottom: 7.5px;
}

#header.folded {
  position: relative;
  z-index: 1000;
}
@media (min-width: 500px) {
  #header.folded .navbar-nav > li > a .icon + .text {
    display: none;
  }
  #header.folded .navbar-nav > li > a > .badge {
    position: absolute;
    top: 5px;
    right: 0;
  }
  #header.folded .navbar-toggle {
    display: none;
  }
  #header.folded .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }
}
@media (min-width: 768px) {
  #header.folded:before {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 10px;
    background-color: hsl(221.2121212121, 30%, 13%);
    z-index: 1;
  }
  #header.folded .navbar {
    background-color: transparent;
    border-color: transparent;
  }
  #header.folded .navbar .navbar-brand,
  #header.folded .navbar .navbar-nav {
    position: relative;
    background-color: hsl(221.2121212121, 30%, 13%);
    border-bottom: 1px solid hsl(221.2121212121, 30%, 13%);
  }
  #header.folded .navbar .navbar-brand {
    max-width: 300px;
  }
  #header.folded .navbar .navbar-brand:after, #header.folded .navbar .navbar-brand:before {
    content: " ";
    display: block;
    position: absolute;
    bottom: 0;
    left: 100%;
    width: 0;
    height: 0;
    z-index: 1;
    border-bottom: 33px solid transparent;
  }
  #header.folded .navbar .navbar-brand:before {
    border-left: 90px solid hsl(221.2121212121, 30%, 13%);
  }
  #header.folded .navbar .navbar-brand:after {
    border-left: 90px solid hsl(221.2121212121, 30%, 13%);
    margin-left: -1px;
  }
  #header.folded .navbar .navbar-nav:after, #header.folded .navbar .navbar-nav:before {
    content: " ";
    display: block;
    position: absolute;
    bottom: 0;
    right: 100%;
    width: 0;
    height: 0;
    z-index: 1;
    border-bottom: 35px solid transparent;
  }
  #header.folded .navbar .navbar-nav:before {
    border-right: 90px solid hsl(221.2121212121, 30%, 13%);
  }
  #header.folded .navbar .navbar-nav:after {
    border-right: 90px solid hsl(221.2121212121, 30%, 13%);
    margin-right: -1px;
  }
}

#header .main-navbar {
  position: absolute;
}
#header .navbar-nav > li > a > .badge {
  background-color: #d9534f;
}
@media (min-width: 500px) and (max-width: 767px) {
  #header .navbar-header {
    float: left;
  }
  #header .navbar-right {
    float: right !important;
  }
  #header .navbar-nav {
    margin-top: 0;
    margin-bottom: 0;
    float: left;
  }
  #header .navbar-nav > li {
    float: left;
  }
  #header .navbar-nav > li > a {
    padding-top: 12.5px;
    padding-bottom: 12.5px;
  }
  #header .navbar-nav > li > a .icon + .text {
    display: none;
  }
  #header .navbar-nav > li.language-selection > a {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .admin-layout .header .navbar-nav li > a > .icon {
    display: none;
  }
}

.scrollbar::-webkit-scrollbar, #dashboard .dashboard-block .panel.panel-default .panel-body::-webkit-scrollbar, #dashboard .dashboard-block #widgets .panel.widget .panel-body::-webkit-scrollbar, #widgets #dashboard .dashboard-block .panel.widget .panel-body::-webkit-scrollbar, #dashboard .dashboard-block .plan .panel-body::-webkit-scrollbar, #dashboard .dashboard-block .panel.panel-default #widgets .widget-body::-webkit-scrollbar, #widgets #dashboard .dashboard-block .panel.panel-default .widget-body::-webkit-scrollbar, #dashboard .dashboard-block #widgets .panel.widget .widget-body::-webkit-scrollbar, #widgets #dashboard .dashboard-block .panel.widget .widget-body::-webkit-scrollbar, #dashboard .dashboard-block #widgets .plan.widget .widget-body::-webkit-scrollbar, #dashboard .dashboard-block .plan #widgets .widget-body::-webkit-scrollbar, #widgets #dashboard .dashboard-block .plan .widget-body::-webkit-scrollbar, .plan #dashboard .dashboard-block .panel.panel-default .plan-body::-webkit-scrollbar, .plan #dashboard .dashboard-block #widgets .panel.widget .plan-body::-webkit-scrollbar, .plan #widgets #dashboard .dashboard-block .panel.widget .plan-body::-webkit-scrollbar, #dashboard .dashboard-block .plan .plan-body::-webkit-scrollbar, .messages::-webkit-scrollbar, #widgets .widget-body::-webkit-scrollbar, #widgets .widgets-content::-webkit-scrollbar, .dropdown-menu::-webkit-scrollbar, .leaflet-control-layers .leaflet-control-layers-list::-webkit-scrollbar, .sidebar .tab-pane-body::-webkit-scrollbar, .bootstrap-select.form-control.multiexpand .dropdown-menu.inner::-webkit-scrollbar, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner::-webkit-scrollbar, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list::-webkit-scrollbar, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list::-webkit-scrollbar, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list::-webkit-scrollbar, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list::-webkit-scrollbar, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list::-webkit-scrollbar, .iti__country-list::-webkit-scrollbar, .scrollbox::-webkit-scrollbar, .scrollbox-large::-webkit-scrollbar, .scrollbox-vertical::-webkit-scrollbar, .scrollbox-vertical-large::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
.scrollbar::-webkit-scrollbar-track, #dashboard .dashboard-block .panel.panel-default .panel-body::-webkit-scrollbar-track, #dashboard .dashboard-block #widgets .panel.widget .panel-body::-webkit-scrollbar-track, #widgets #dashboard .dashboard-block .panel.widget .panel-body::-webkit-scrollbar-track, #dashboard .dashboard-block .plan .panel-body::-webkit-scrollbar-track, #dashboard .dashboard-block .panel.panel-default #widgets .widget-body::-webkit-scrollbar-track, #widgets #dashboard .dashboard-block .panel.panel-default .widget-body::-webkit-scrollbar-track, #dashboard .dashboard-block #widgets .panel.widget .widget-body::-webkit-scrollbar-track, #widgets #dashboard .dashboard-block .panel.widget .widget-body::-webkit-scrollbar-track, #dashboard .dashboard-block #widgets .plan.widget .widget-body::-webkit-scrollbar-track, #dashboard .dashboard-block .plan #widgets .widget-body::-webkit-scrollbar-track, #widgets #dashboard .dashboard-block .plan .widget-body::-webkit-scrollbar-track, .plan #dashboard .dashboard-block .panel.panel-default .plan-body::-webkit-scrollbar-track, .plan #dashboard .dashboard-block #widgets .panel.widget .plan-body::-webkit-scrollbar-track, .plan #widgets #dashboard .dashboard-block .panel.widget .plan-body::-webkit-scrollbar-track, #dashboard .dashboard-block .plan .plan-body::-webkit-scrollbar-track, .messages::-webkit-scrollbar-track, #widgets .widget-body::-webkit-scrollbar-track, #widgets .widgets-content::-webkit-scrollbar-track, .dropdown-menu::-webkit-scrollbar-track, .leaflet-control-layers .leaflet-control-layers-list::-webkit-scrollbar-track, .sidebar .tab-pane-body::-webkit-scrollbar-track, .bootstrap-select.form-control.multiexpand .dropdown-menu.inner::-webkit-scrollbar-track, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner::-webkit-scrollbar-track, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list::-webkit-scrollbar-track, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list::-webkit-scrollbar-track, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list::-webkit-scrollbar-track, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list::-webkit-scrollbar-track, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list::-webkit-scrollbar-track, .iti__country-list::-webkit-scrollbar-track, .scrollbox::-webkit-scrollbar-track, .scrollbox-large::-webkit-scrollbar-track, .scrollbox-vertical::-webkit-scrollbar-track, .scrollbox-vertical-large::-webkit-scrollbar-track {
  background: #0f172a;
  border: 1px solid #1e293b;
}
.scrollbar::-webkit-scrollbar-thumb, #dashboard .dashboard-block .panel.panel-default .panel-body::-webkit-scrollbar-thumb, #dashboard .dashboard-block #widgets .panel.widget .panel-body::-webkit-scrollbar-thumb, #widgets #dashboard .dashboard-block .panel.widget .panel-body::-webkit-scrollbar-thumb, #dashboard .dashboard-block .plan .panel-body::-webkit-scrollbar-thumb, #dashboard .dashboard-block .panel.panel-default #widgets .widget-body::-webkit-scrollbar-thumb, #widgets #dashboard .dashboard-block .panel.panel-default .widget-body::-webkit-scrollbar-thumb, #dashboard .dashboard-block #widgets .panel.widget .widget-body::-webkit-scrollbar-thumb, #widgets #dashboard .dashboard-block .panel.widget .widget-body::-webkit-scrollbar-thumb, #dashboard .dashboard-block #widgets .plan.widget .widget-body::-webkit-scrollbar-thumb, #dashboard .dashboard-block .plan #widgets .widget-body::-webkit-scrollbar-thumb, #widgets #dashboard .dashboard-block .plan .widget-body::-webkit-scrollbar-thumb, .plan #dashboard .dashboard-block .panel.panel-default .plan-body::-webkit-scrollbar-thumb, .plan #dashboard .dashboard-block #widgets .panel.widget .plan-body::-webkit-scrollbar-thumb, .plan #widgets #dashboard .dashboard-block .panel.widget .plan-body::-webkit-scrollbar-thumb, #dashboard .dashboard-block .plan .plan-body::-webkit-scrollbar-thumb, .messages::-webkit-scrollbar-thumb, #widgets .widget-body::-webkit-scrollbar-thumb, #widgets .widgets-content::-webkit-scrollbar-thumb, .dropdown-menu::-webkit-scrollbar-thumb, .leaflet-control-layers .leaflet-control-layers-list::-webkit-scrollbar-thumb, .sidebar .tab-pane-body::-webkit-scrollbar-thumb, .bootstrap-select.form-control.multiexpand .dropdown-menu.inner::-webkit-scrollbar-thumb, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .dropdown-menu.inner::-webkit-scrollbar-thumb, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list::-webkit-scrollbar-thumb, div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list::-webkit-scrollbar-thumb, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list::-webkit-scrollbar-thumb, .leaflet-control-layers div.dataTables_wrapper div.dataTables_filter input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list::-webkit-scrollbar-thumb, div.dataTables_wrapper div.dataTables_filter .leaflet-control-layers input.bootstrap-select.multiexpand .inner.leaflet-control-layers-list::-webkit-scrollbar-thumb, .iti__country-list::-webkit-scrollbar-thumb, .scrollbox::-webkit-scrollbar-thumb, .scrollbox-large::-webkit-scrollbar-thumb, .scrollbox-vertical::-webkit-scrollbar-thumb, .scrollbox-vertical-large::-webkit-scrollbar-thumb {
  background: #0f172a;
  border: 1px solid #1e293b;
}

body {
  scrollbar-face-color: #0f172a;
  scrollbar-track-color: #0f172a;
}

.sidebar.left {
  left: 0;
}
.sidebar.left .sidebar-content {
  border-right: 1px solid #334155;
}
.sidebar.right {
  right: 0;
}
.sidebar.right .sidebar-content {
  border-left: 1px solid #334155;
}
.sidebar {
  position: absolute;
  z-index: 999;
  bottom: 0;
  max-height: 90%;
  max-height: -webkit-calc(100% - 100px);
  max-height: -moz-calc(100% - 100px);
  max-height: -o-calc(100% - 100px);
  max-height: calc(100% - 100px);
  height: 100%;
  width: 250px;
}
@media (min-width: 768px) {
  .sidebar {
    width: 300px;
  }
}
@media (min-width: 992px) {
  .sidebar {
    width: 330px;
  }
}
.sidebar.collapsed, #widgets.collapsed .sidebar.btn-collapse, .sidebar.collapsed #widgets.btn-collapse .sidebar.btn-collapse, .sidebar.collapsed .sidebar.btn-collapse {
  width: 0;
  -webkit-transition: width 0.5s ease;
  -o-transition: width 0.5s ease;
  transition: width 0.5s ease;
}
.sidebar.collapsed .sidebar-content, #widgets.collapsed .sidebar.btn-collapse .sidebar-content, .sidebar.collapsed #widgets.btn-collapse .sidebar.btn-collapse .sidebar-content {
  overflow: hidden;
}
.sidebar.collapsed .sidebar-content .group, #widgets.collapsed .sidebar.btn-collapse .sidebar-content .group, .sidebar.collapsed #widgets.btn-collapse .sidebar.btn-collapse .sidebar-content .group {
  display: none;
}
.sidebar .sidebar-content {
  background: #1e293b;
  width: 100%;
  height: 100%;
  max-width: 100%;
}
.sidebar .nav-tabs > li {
  display: table-cell;
  width: 1%;
  float: none;
}
.sidebar .nav-tabs > li > a {
  text-align: center;
}
.sidebar .tab-pane-header {
  padding: 8px 10px;
}
.sidebar .tab-pane-body {
  overflow-y: auto;
  position: relative;
  padding: 0;
}
.sidebar .tab-pane-footer {
  padding: 8px 10px;
}
.sidebar .no-results {
  margin: 5px;
  text-align: center;
}
.sidebar #events_tab .datetime .time,
.sidebar #events_tab .datetime .date {
  display: block;
  font-size: 0.9em;
}
.sidebar #events_tab .tab-pane-body > table > thead > tr > th:first-child,
.sidebar #events_tab .tab-pane-body > table > thead > tr > td:first-child {
  padding-left: 10px;
}
.sidebar #events_tab .tab-pane-body > table > thead > tr > th:last-child,
.sidebar #events_tab .tab-pane-body > table > thead > tr > td:last-child {
  padding-right: 10px;
}
.sidebar #geofencing_create .tab-pane-body,
.sidebar #geofencing_edit .tab-pane-body,
.sidebar #routes_create .tab-pane-body,
.sidebar #routes_edit .tab-pane-body,
.sidebar #pois_create .tab-pane-body,
.sidebar #pois_edit .tab-pane-body {
  padding: 8px 10px;
}

.history {
  padding: 5px 0;
  background-color: #0f172a;
  -moz-box-shadow: inset 0 10px 10px -10px #ffffff, inset 0 -10px 10px -10px #ffffff;
  -webkit-box-shadow: inset 0 10px 10px -10px #ffffff, inset 0 -10px 10px -10px #ffffff;
  box-shadow: inset 0 10px 10px -10px #ffffff, inset 0 -10px 10px -10px #ffffff;
}
.history .table {
  margin-bottom: 0;
}
.history .table tr.active > td {
  background: #1e293b;
}
.history .badge-history {
  display: inline-block;
  min-width: 14px;
  padding: 1px;
  font-size: 10px;
  font-weight: 400;
  color: #94a3b8;
  background-color: #1e293b;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  border: inherit;
  border-radius: 5px;
  position: absolute;
  top: 60%;
}

#ajax-events .table tbody,
#ajax-history .table tbody {
  font-size: 11px;
}

.tab-content .tab-pane {
  display: none;
}
.tab-content .tab-pane.active {
  display: block;
}

.nav-tabs > li > a {
  margin-right: -1px;
}
.nav-tabs > li > a.has-error {
  color: #a94442;
  background: #f2dede;
}
.nav-tabs > li > a.disabled {
  opacity: 0.7;
  filter: alpha(opacity=70);
  cursor: not-allowed;
}
.nav-tabs > li:last-child {
  padding-right: 1px;
}
.nav-tabs.nav-tabs-center {
  text-align: center;
}
.nav-tabs.nav-tabs-center > li {
  float: none;
  display: inline-block;
  zoom: 1;
}
.nav-tabs.nav-transparent {
  background-color: inherit;
}
.nav-tabs.nav-transparent > li > a {
  color: #f1f5f9;
  background-color: transparent;
  border-color: transparent;
}
.nav-tabs.nav-transparent > li.active > a {
  color: #2563eb;
}
.nav-tabs.nav-transparent > li.active:after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 3px;
  left: 0;
  bottom: 0px;
  background: #2563eb;
  box-sizing: border-box;
}

.nav-default {
  font-weight: normal;
  background-color: #0f172a;
}
.nav-default > li > a {
  color: #cbd5e1;
  background-color: #334155;
  border-color: transparent;
  border-radius: 6px 6px 0 0;
}
.nav-default > li.complete > a, .nav-default > li.complete > a:hover, .nav-default > li.complete > a:focus {
  color: #f1f5f9;
  background-color: #1e293b;
  cursor: default;
}
.nav-default > li.active:after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 3px;
  left: 0;
  bottom: 0px;
  background: #2563eb;
  box-sizing: border-box;
}

.nav-background, .nav-icons {
  background-color: inherit;
}
.nav-background > li > a, .nav-icons > li > a {
  line-height: 38px;
  padding-top: 0;
  padding-bottom: 0;
  color: #cbd5e1;
}
.nav-background > li > a:hover, .nav-icons > li > a:hover {
  color: #2563eb;
}
.nav-background > li.active > a, .nav-icons > li.active > a {
  color: #2563eb;
}

.nav-icons > li > a {
  font-size: 1.5em;
}

.nav-tabs-justified > li > a,
.nav-tabs.nav-justified > li > a {
  margin-right: -1px;
  margin-bottom: 0px;
}

.navbar-default {
  font-size: 13px;
}
.navbar-default .navbar-brand {
  padding: 5px 15px;
}
.navbar-default .navbar-brand img {
  max-height: 100%;
}
.navbar-default .navbar-nav > li > a > .icon {
  color: #475569;
}
.navbar-default .navbar-nav > li.active > a > .icon, .navbar-default .navbar-nav > li:hover > a > .icon {
  color: inherit;
}
.navbar-default .navbar-nav > li > a .icon {
  vertical-align: middle;
  font-size: 1.1em;
}

.coll:before {
  content: " ";
  display: block;
  width: 100%;
  height: 8px;
  background-color: #1e293b;
  position: absolute;
  top: 0;
  z-index: 1;
}
.coll .navbar-default {
  height: 10px;
  background: transparent;
}
.coll .navbar-default .navbar-header {
  background-color: #1e293b;
}
.coll .navbar-default .navbar-brand {
  background-color: #1e293b;
}
.coll .navbar-default .navbar-nav {
  background-color: #1e293b;
}
.coll .navbar-default .navbar-nav > li > a .icon + .text {
  display: none;
}

.navbar-main, #header .main-navbar {
  font-size: 13px;
  font-weight: normal;
  background-color: hsl(221.2121212121, 30%, 13%);
  border-color: hsl(221.2121212121, 30%, 13%);
}
.navbar-main .navbar-brand, #header .main-navbar .navbar-brand {
  color: #cbd5e1;
}
.navbar-main .navbar-brand:hover, #header .main-navbar .navbar-brand:hover, .navbar-main .navbar-brand:focus, #header .main-navbar .navbar-brand:focus {
  color: #93c5fd;
  background-color: transparent;
}
.navbar-main .navbar-brand, #header .main-navbar .navbar-brand {
  padding: 5px 15px;
}
.navbar-main .navbar-brand img, #header .main-navbar .navbar-brand img {
  max-height: 100%;
}
.navbar-main .navbar-text, #header .main-navbar .navbar-text {
  color: #cbd5e1;
}
.navbar-main .navbar-nav > li > a > .icon, #header .main-navbar .navbar-nav > li > a > .icon {
  color: #64748b;
}
.navbar-main .navbar-nav > li.active > a > .icon, #header .main-navbar .navbar-nav > li.active > a > .icon, .navbar-main .navbar-nav > li:hover > a > .icon, #header .main-navbar .navbar-nav > li:hover > a > .icon {
  color: inherit;
}
.navbar-main .navbar-nav > li > a .icon, #header .main-navbar .navbar-nav > li > a .icon {
  vertical-align: middle;
  font-size: 1.1em;
}
.navbar-main .navbar-nav > li > a, #header .main-navbar .navbar-nav > li > a {
  color: #94a3b8;
}
.navbar-main .navbar-nav > li > a:hover, #header .main-navbar .navbar-nav > li > a:hover, .navbar-main .navbar-nav > li > a:hover:focus {
  color: #ffffff;
  background-color: rgba(255, 255, 255, 0.07);
}
.navbar-main .navbar-nav > .active > a, #header .main-navbar .navbar-nav > .active > a, .navbar-main .navbar-nav > .active > a:hover, .navbar-main .navbar-nav > .active > a:hover:focus {
  color: #ffffff;
  background-color: rgba(37, 99, 235, 0.25);
}
.navbar-main .navbar-nav > .disabled > a, #header .main-navbar .navbar-nav > .disabled > a, .navbar-main .navbar-nav > .disabled > a:hover, .navbar-main .navbar-nav > .disabled > a:hover:focus {
  color: #ccc;
  background-color: transparent;
}
.navbar-main .navbar-toggle, #header .main-navbar .navbar-toggle {
  border-color: hsl(221.2121212121, 30%, 13%);
}
.navbar-main .navbar-toggle:hover, #header .main-navbar .navbar-toggle:hover, .navbar-main .navbar-toggle:hover:focus {
  background-color: rgba(255, 255, 255, 0.07);
}
.navbar-main .navbar-toggle .icon-bar, #header .main-navbar .navbar-toggle .icon-bar {
  background-color: #2563eb;
}
.navbar-main .navbar-collapse, #header .main-navbar .navbar-collapse,
.navbar-main .navbar-form,
#header .main-navbar .navbar-form {
  border-color: hsl(221.2121212121, 30%, 13%);
}
.navbar-main .navbar-nav > .open > a, #header .main-navbar .navbar-nav > .open > a, .navbar-main .navbar-nav > .open > a:hover, .navbar-main .navbar-nav > .open > a:hover:focus {
  background-color: rgba(37, 99, 235, 0.25);
  color: #ffffff;
}
@media (max-width: 767px) {
  .navbar-main .navbar-nav .open .dropdown-menu > li > a, #header .main-navbar .navbar-nav .open .dropdown-menu > li > a, .navbar-main .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a, .leaflet-control-layers .navbar-main .navbar-nav .open .leaflet-control-layers-list > li > a, #header .main-navbar .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a, .leaflet-control-layers #header .main-navbar .navbar-nav .open .leaflet-control-layers-list > li > a {
    color: #94a3b8;
  }
  .navbar-main .navbar-nav .open .dropdown-menu > li > a:hover, #header .main-navbar .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-main .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a:hover, .leaflet-control-layers .navbar-main .navbar-nav .open .leaflet-control-layers-list > li > a:hover, #header .main-navbar .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a:hover, .leaflet-control-layers #header .main-navbar .navbar-nav .open .leaflet-control-layers-list > li > a:hover, .navbar-main .navbar-nav .open .dropdown-menu > li > a:hover:focus {
    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.07);
  }
  .navbar-main .navbar-nav .open .dropdown-menu > .active > a, #header .main-navbar .navbar-nav .open .dropdown-menu > .active > a, .navbar-main .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > .active > a, .leaflet-control-layers .navbar-main .navbar-nav .open .leaflet-control-layers-list > .active > a, #header .main-navbar .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > .active > a, .leaflet-control-layers #header .main-navbar .navbar-nav .open .leaflet-control-layers-list > .active > a, .navbar-main .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-main .navbar-nav .open .dropdown-menu > .active > a:hover:focus {
    color: #ffffff;
    background-color: rgba(37, 99, 235, 0.25);
  }
  .navbar-main .navbar-nav .open .dropdown-menu > .disabled > a, #header .main-navbar .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-main .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > .disabled > a, .leaflet-control-layers .navbar-main .navbar-nav .open .leaflet-control-layers-list > .disabled > a, #header .main-navbar .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > .disabled > a, .leaflet-control-layers #header .main-navbar .navbar-nav .open .leaflet-control-layers-list > .disabled > a, .navbar-main .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-main .navbar-nav .open .dropdown-menu > .disabled > a:hover:focus {
    color: #ccc;
    background-color: transparent;
  }
}
.navbar-main .navbar-link, #header .main-navbar .navbar-link {
  color: #94a3b8;
}
.navbar-main .navbar-link:hover, #header .main-navbar .navbar-link:hover {
  color: #ffffff;
}
.navbar-main .btn-link, #header .main-navbar .btn-link {
  color: #94a3b8;
}
.navbar-main .btn-link:hover, #header .main-navbar .btn-link:hover, .navbar-main .btn-link:hover:focus {
  color: #ffffff;
}
.navbar-main .btn-link[disabled]:hover, #header .main-navbar .btn-link[disabled]:hover, .navbar-main .btn-link[disabled]:focus, #header .main-navbar .btn-link[disabled]:focus, fieldset[disabled] .navbar-main .btn-link:hover, fieldset[disabled] #header .main-navbar .btn-link:hover, #header fieldset[disabled] .main-navbar .btn-link:hover, fieldset[disabled] .navbar-main .btn-link:focus, fieldset[disabled] #header .main-navbar .btn-link:focus, #header fieldset[disabled] .main-navbar .btn-link:focus {
  color: #ccc;
}

.navbar-vertical.navbar .navbar-collapse {
  padding: 0;
  max-height: none;
}
.navbar-vertical.navbar ul {
  float: none;
}
.navbar-vertical.navbar ul:not {
  display: block;
}
.navbar-vertical.navbar li {
  float: none;
  display: block;
}
.navbar-vertical.navbar li a {
  padding-top: 12px;
  padding-bottom: 12px;
}

.btn.icon {
  padding: 1px 3px;
}
.btn.icon:hover {
  background: #334155;
  color: #cbd5e1;
}

.btn-secondary {
  color: #2563eb;
  background-color: #1e293b;
  border-color: rgb(8.1232492997%, 33.3053221289%, 88.5434173669%);
}
.btn-secondary:focus, .btn-secondary.focus {
  color: #2563eb;
  background-color: rgb(5.0231328486%, 6.8649482265%, 9.8788279357%);
  border-color: #0a296d;
}
.btn-secondary:hover {
  color: #2563eb;
  background-color: rgb(5.0231328486%, 6.8649482265%, 9.8788279357%);
  border-color: rgb(6.106442577%, 25.0364145658%, 66.5602240896%);
}
.btn-secondary:active, .btn-secondary.active, .open > .btn-secondary.dropdown-toggle {
  color: #2563eb;
  background-color: rgb(5.0231328486%, 6.8649482265%, 9.8788279357%);
  border-color: rgb(6.106442577%, 25.0364145658%, 66.5602240896%);
}
.btn-secondary:active:hover, .btn-secondary:active:focus, .btn-secondary:active.focus, .btn-secondary.active:hover, .btn-secondary.active:focus, .btn-secondary.active.focus, .open > .btn-secondary.dropdown-toggle:hover, .open > .btn-secondary.dropdown-toggle:focus, .open > .btn-secondary.dropdown-toggle.focus {
  color: #2563eb;
  background-color: rgb(0.304031725%, 0.4155100242%, 0.5979290593%);
  border-color: #0a296d;
}
.btn-secondary:active, .btn-secondary.active, .open > .btn-secondary.dropdown-toggle {
  background-image: none;
}
.btn-secondary.disabled, .btn-secondary.disabled:hover, .btn-secondary.disabled:focus, .btn-secondary.disabled.focus, .btn-secondary.disabled:active, .btn-secondary.disabled.active, .btn-secondary[disabled], .btn-secondary[disabled]:hover, .btn-secondary[disabled]:focus, .btn-secondary[disabled].focus, .btn-secondary[disabled]:active, .btn-secondary[disabled].active, fieldset[disabled] .btn-secondary, fieldset[disabled] .btn-secondary:hover, fieldset[disabled] .btn-secondary:focus, fieldset[disabled] .btn-secondary.focus, fieldset[disabled] .btn-secondary:active, fieldset[disabled] .btn-secondary.active {
  background-color: #1e293b;
  border-color: rgb(8.1232492997%, 33.3053221289%, 88.5434173669%);
}
.btn-secondary .badge {
  color: #1e293b;
  background-color: #2563eb;
}

.btn-collapse {
  display: block;
  position: absolute;
  color: #cbd5e1;
  background: #0f172a;
  text-align: center;
  text-decoration: none;
  font-size: 10px;
  font-weight: bold;
  cursor: pointer;
}
.btn-collapse i:before {
  font-weight: bold;
}
.btn-collapse:hover {
  text-decoration: none;
}
.btn-collapse:before, .btn-collapse:after {
  content: " ";
  display: inline-block;
  position: absolute;
  width: 0;
  height: 0;
}
.btn-collapse.collapse-left, .sidebar .btn-collapse {
  width: 20px;
  height: 40px;
  line-height: 40px;
  left: 100%;
  top: 30%;
  -webkit-box-shadow: 3px 0px 7px rgba(0, 0, 0, 0.175);
  box-shadow: 3px 0px 7px rgba(0, 0, 0, 0.175);
}
.btn-collapse.collapse-left:before, .sidebar .btn-collapse:before {
  left: 0;
  bottom: 100%;
  border-bottom: 20px solid #0f172a;
  border-right: 20px solid transparent;
}
.btn-collapse.collapse-left:after, .sidebar .btn-collapse:after {
  left: 0;
  top: 100%;
  border-top: 20px solid #0f172a;
  border-right: 20px solid transparent;
}
.btn-collapse.collapse-right {
  width: 20px;
  height: 40px;
  line-height: 40px;
  right: 100%;
  top: 30%;
  -webkit-box-shadow: -3px 0px 7px rgba(0, 0, 0, 0.175);
  box-shadow: -3px 0px 7px rgba(0, 0, 0, 0.175);
}
.btn-collapse.collapse-right:before {
  right: 0;
  bottom: 100%;
  border-bottom: 20px solid #0f172a;
  border-left: 20px solid transparent;
}
.btn-collapse.collapse-right:after {
  right: 0;
  top: 100%;
  border-top: 20px solid #0f172a;
  border-left: 20px solid transparent;
}
.btn-collapse.collapse-top, #widgets .btn-collapse {
  width: 40px;
  height: 20px;
  line-height: 20px;
  bottom: 100%;
  left: 50%;
  -webkit-box-shadow: 0px -3px 7px rgba(0, 0, 0, 0.175);
  box-shadow: 0px -3px 7px rgba(0, 0, 0, 0.175);
}
.btn-collapse.collapse-top:before, #widgets .btn-collapse:before {
  top: 0;
  right: 100%;
  border-bottom: 20px solid #0f172a;
  border-left: 20px solid transparent;
}
.btn-collapse.collapse-top:after, #widgets .btn-collapse:after {
  top: 0;
  left: 100%;
  border-bottom: 20px solid #0f172a;
  border-right: 20px solid transparent;
}
.btn-collapse.collapse-bottom {
  width: 40px;
  height: 20px;
  line-height: 20px;
  bottom: 100%;
  left: 50%;
  -webkit-box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.175);
  box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.175);
}
.btn-collapse.collapse-bottom:before {
  bottom: 0;
  right: 100%;
  border-top: 20px solid #0f172a;
  border-left: 20px solid transparent;
}
.btn-collapse.collapse-bottom:after {
  bottom: 0;
  left: 100%;
  border-top: 20px solid #0f172a;
  border-right: 20px solid transparent;
}

.input-group {
  width: 100%;
}

.input-group > .input-group-btn > .btn,
.input-group > .input-group-btn > .btn-group,
.input-group > .input-group-btn > .form-control.timeselect,
div.dataTables_wrapper div.dataTables_filter .input-group > .input-group-btn > input.timeselect {
  margin-left: 4px;
}
.input-group > .input-group-btn > .form-control.timeselect, div.dataTables_wrapper div.dataTables_filter .input-group > .input-group-btn > input.timeselect {
  width: 70px;
}
@media (min-width: 768px) {
  .input-group > .input-group-btn > .form-control.timeselect, div.dataTables_wrapper div.dataTables_filter .input-group > .input-group-btn > input.timeselect {
    width: 90px;
  }
}
.input-group > .input-group-btn > .form-control.timeselect.open, div.dataTables_wrapper div.dataTables_filter .input-group > .input-group-btn > input.timeselect.open {
  z-index: 3;
}

.caret, .dropup .caret, .navbar-fixed-bottom .dropdown .caret {
  border: 0;
  width: auto;
  height: auto;
}

.dropdown-menu > li > a, .leaflet-control-layers .leaflet-control-layers-list > li > a {
  font-size: 11px;
}
.dropdown-menu > li > a:hover > .icon, .leaflet-control-layers .leaflet-control-layers-list > li > a:hover > .icon {
  color: #2563eb;
}
.dropdown-menu > li > a > .icon, .leaflet-control-layers .leaflet-control-layers-list > li > a > .icon {
  vertical-align: middle;
  color: #475569;
}

.bootstrap-select > .dropdown-toggle > .icon {
  left: 12px;
  position: absolute;
}
.bootstrap-select > .dropdown-toggle > .icon + .filter-option {
  padding-left: 20px;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li .check-mark, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li .check-mark, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li .check-mark {
  display: none;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a {
  line-height: 1;
  position: relative;
  padding-left: 0;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a span.text, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a span.text, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a span.text {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  padding-left: 0;
  margin-bottom: 0;
  font-weight: normal;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a span.text::before, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a span.text::before, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a span.text::before {
  content: "";
  position: relative;
  z-index: 1;
  left: 0;
  width: 15px;
  height: 15px;
  display: inline-block;
  vertical-align: middle;
  color: transparent;
  background-color: #0f172a;
  margin: 1px;
  margin-right: 5px;
  padding: 3px;
  font-size: 10px;
  font-weight: normal;
  line-height: 1;
  border-radius: 4px;
  -webkit-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
  -o-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
  transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a span.text::after, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a span.text::after, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a span.text::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  content: "�";
  color: transparent;
  border: 1px solid #334155;
  border-radius: 4px;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=checkbox], .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=checkbox], .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=checkbox],
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=radio],
.bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=radio],
.leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=radio] {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
  opacity: 0;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=checkbox]:focus + span.text::before, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=checkbox]:focus + span.text::before, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=checkbox]:focus + span.text::before,
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=radio]:focus + span.text::before,
.bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=radio]:focus + span.text::before,
.leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=radio]:focus + span.text::before {
  outline: 0;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=checkbox]:checked + span.text::before, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=checkbox]:checked + span.text::before, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=checkbox]:checked + span.text::before,
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=radio]:checked + span.text::before,
.bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=radio]:checked + span.text::before,
.leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=radio]:checked + span.text::before {
  font-family: "icomoon";
  content: "\e90b";
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=checkbox]:checked:disabled + span.text::before, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=checkbox]:checked:disabled + span.text::before, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=checkbox]:checked:disabled + span.text::before,
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=radio]:checked:disabled + span.text::before,
.bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=radio]:checked:disabled + span.text::before,
.leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=radio]:checked:disabled + span.text::before {
  background-color: inherit;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=checkbox]:disabled + span.text, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=checkbox]:disabled + span.text, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=checkbox]:disabled + span.text,
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=radio]:disabled + span.text,
.bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=radio]:disabled + span.text,
.leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=radio]:disabled + span.text {
  opacity: 0.45;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=checkbox]:disabled + span.text::before, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=checkbox]:disabled + span.text::before, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=checkbox]:disabled + span.text::before,
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a input[type=radio]:disabled + span.text::before,
.bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a input[type=radio]:disabled + span.text::before,
.leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a input[type=radio]:disabled + span.text::before {
  background-color: #334155;
  cursor: not-allowed;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a.checkbox-inline, .bootstrap-select.btn-group.show-tick .dropdown-menu > li .group a.checkbox, .group .bootstrap-select.btn-group.show-tick .dropdown-menu > li a.checkbox, .bootstrap-select.btn-group.show-tick .dropdown-menu > li .table a.checkbox, .table .bootstrap-select.btn-group.show-tick .dropdown-menu > li a.checkbox, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a.checkbox-inline, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li .group a.checkbox, .group .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a.checkbox, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li .table a.checkbox, .table .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a.checkbox, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a.checkbox-inline, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li .group a.checkbox, .group .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a.checkbox, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li .table a.checkbox, .table .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a.checkbox {
  margin-top: 0;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li a span.text, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li a span.text, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li a span.text {
  margin-left: 5px;
  margin-right: 0;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li.selected a span.text::before, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li.selected a span.text::before, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li.selected a span.text::before {
  font-family: "icomoon";
  content: "\e90b";
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li.selected a span.text::before, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li.selected a span.text::before, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li.selected a span.text::before {
  color: #ffffff;
  background-color: #2563eb;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu > li.selected a span.text::after, .bootstrap-select.btn-group.show-tick .leaflet-control-layers .leaflet-control-layers-list > li.selected a span.text::after, .leaflet-control-layers .bootstrap-select.btn-group.show-tick .leaflet-control-layers-list > li.selected a span.text::after {
  background-color: #2563eb;
  border-color: #2563eb;
}

.droparrow.dropdown > .dropdown-menu:before, .map-controls.top-right .dropdown.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .dropdown.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropdown.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropdown > .leaflet-control-layers-list:before, .map-controls.top-right .dropdown.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .dropdown.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropdown.leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropdown > .dropdown-menu:after, .map-controls.top-right .dropdown.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .dropdown.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropdown.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropdown > .leaflet-control-layers-list:after, .map-controls.top-right .dropdown.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .dropdown.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropdown.leaflet-control-layers > .leaflet-control-layers-list:after, .droparrow.dropup > .dropdown-menu:before, .map-controls.top-right .dropup.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .dropup.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropup.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropup > .leaflet-control-layers-list:before, .map-controls.top-right .dropup.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .dropup.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropup.leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropup > .dropdown-menu:after, .map-controls.top-right .dropup.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .dropup.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropup.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropup > .leaflet-control-layers-list:after, .map-controls.top-right .dropup.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .dropup.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropup.leaflet-control-layers > .leaflet-control-layers-list:after, .droparrow.dropleft > .dropdown-menu:before, .map-controls.top-right .dropleft.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .dropleft.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropleft.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .droparrow.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-right .map-controls.top-left .leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .map-controls.top-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.top-left .leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropleft > .leaflet-control-layers-list:before, .map-controls.top-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .dropleft.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .droparrow.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-right .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropleft > .dropdown-menu:after, .map-controls.top-right .dropleft.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .dropleft.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropleft.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .droparrow.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-right .map-controls.top-left .leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .map-controls.top-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.top-left .leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropleft > .leaflet-control-layers-list:after, .map-controls.top-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .dropleft.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .droparrow.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-right .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:after, .droparrow.dropright > .dropdown-menu:before, .map-controls.top-right .dropright.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .dropright.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropright.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-right .droparrow.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .map-controls.top-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.top-right .map-controls.top-left .leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.top-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .droparrow.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.top-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.top-left .leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropright > .leaflet-control-layers-list:before, .map-controls.top-right .dropright.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .dropright.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropright.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-right .droparrow.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-right .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .droparrow.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropright > .dropdown-menu:after, .map-controls.top-right .dropright.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .dropright.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropright.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-right .droparrow.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .map-controls.top-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.top-right .map-controls.top-left .leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.top-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .droparrow.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.top-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.top-left .leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropright > .leaflet-control-layers-list:after, .map-controls.top-right .dropright.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .dropright.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropright.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-right .droparrow.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-right .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .droparrow.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:after {
  content: "";
  display: inline-block;
  position: absolute;
}
.droparrow.dropdown > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropdown > .leaflet-control-layers-list:before, .droparrow.dropup > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropup > .leaflet-control-layers-list:before, .droparrow.dropleft > .dropdown-menu:before, .map-controls.top-left .leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropleft > .leaflet-control-layers-list:before, .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropright > .dropdown-menu:before, .map-controls.top-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropright > .leaflet-control-layers-list:before, .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:before {
  border: 8px solid transparent;
}
.droparrow.dropdown > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropdown > .leaflet-control-layers-list:after, .droparrow.dropup > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropup > .leaflet-control-layers-list:after, .droparrow.dropleft > .dropdown-menu:after, .map-controls.top-left .leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropleft > .leaflet-control-layers-list:after, .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:after, .droparrow.dropright > .dropdown-menu:after, .map-controls.top-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropright > .leaflet-control-layers-list:after, .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:after {
  border: 7px solid transparent;
}
.droparrow.dropleft > .dropdown-menu, .map-controls.top-right .dropleft.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .dropleft.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropleft > .leaflet-control-layers-list, .map-controls.top-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list, .droparrow.dropright.left > .dropdown-menu, .map-controls.top-right .left.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .left.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropright.left > .leaflet-control-layers-list, .map-controls.top-right .left.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .left.leaflet-control-layers > .leaflet-control-layers-list {
  left: 100%;
  top: -9px;
  margin-left: 8px;
}
.droparrow.dropleft > .dropdown-menu:before, .map-controls.top-right .dropleft.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropleft.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropleft > .leaflet-control-layers-list:before, .map-controls.top-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropright.left > .dropdown-menu:before, .map-controls.top-right .left.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .left.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropright.left > .leaflet-control-layers-list:before, .map-controls.top-right .left.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .left.leaflet-control-layers > .leaflet-control-layers-list:before {
  top: 9px;
  left: -8px;
  border: 8px solid transparent;
  border-right-color: #334155;
  border-left: 0;
  bottom: auto;
  right: auto;
}
.droparrow.dropleft > .dropdown-menu:after, .map-controls.top-right .dropleft.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropleft.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropleft > .leaflet-control-layers-list:after, .map-controls.top-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:after, .droparrow.dropright.left > .dropdown-menu:after, .map-controls.top-right .left.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .left.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropright.left > .leaflet-control-layers-list:after, .map-controls.top-right .left.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .left.leaflet-control-layers > .leaflet-control-layers-list:after {
  top: 10px;
  left: -7px;
  border: 7px solid transparent;
  border-right-color: #1e293b;
  border-left: 0;
  bottom: auto;
  right: auto;
}
.droparrow.dropright > .dropdown-menu, .map-controls.top-left .dropright.leaflet-control-layers > .dropdown-menu, .map-controls.top-right .leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropright > .leaflet-control-layers-list, .map-controls.top-left .dropright.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list, .droparrow.dropleft.right > .dropdown-menu, .map-controls.top-left .right.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropleft.right > .leaflet-control-layers-list, .map-controls.top-left .right.leaflet-control-layers > .leaflet-control-layers-list {
  left: inherit;
  right: 100%;
  top: -9px;
  margin-right: 8px;
}
.droparrow.dropright > .dropdown-menu:before, .map-controls.top-left .dropright.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropright > .leaflet-control-layers-list:before, .map-controls.top-left .dropright.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropleft.right > .dropdown-menu:before, .map-controls.top-left .right.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropleft.right > .leaflet-control-layers-list:before, .map-controls.top-left .right.leaflet-control-layers > .leaflet-control-layers-list:before {
  top: 9px;
  right: -8px;
  border: 8px solid transparent;
  border-left-color: #334155;
  border-right: 0;
  bottom: auto;
  left: auto;
}
.droparrow.dropright > .dropdown-menu:after, .map-controls.top-left .dropright.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropright > .leaflet-control-layers-list:after, .map-controls.top-left .dropright.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:after, .droparrow.dropleft.right > .dropdown-menu:after, .map-controls.top-left .right.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropleft.right > .leaflet-control-layers-list:after, .map-controls.top-left .right.leaflet-control-layers > .leaflet-control-layers-list:after {
  top: 10px;
  right: -7px;
  border: 7px solid transparent;
  border-left-color: #1e293b;
  border-right: 0;
  bottom: auto;
  left: auto;
}
.droparrow.dropdown > .dropdown-menu, .map-controls.top-right .dropdown.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .dropdown.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .dropdown.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropdown > .leaflet-control-layers-list, .map-controls.top-right .dropdown.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .dropdown.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .dropdown.leaflet-control-layers > .leaflet-control-layers-list, .droparrow.dropup.down > .dropdown-menu, .map-controls.top-right .dropup.down.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .dropup.down.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .dropup.down.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropup.down > .leaflet-control-layers-list, .map-controls.top-right .dropup.down.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .dropup.down.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .dropup.down.leaflet-control-layers > .leaflet-control-layers-list {
  top: 100%;
  left: -14px;
  margin-top: 8px;
}
.droparrow.dropdown > .dropdown-menu:before, .map-controls.top-right .dropdown.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .dropdown.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropdown.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropdown > .leaflet-control-layers-list:before, .map-controls.top-right .dropdown.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .dropdown.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropdown.leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropup.down > .dropdown-menu:before, .map-controls.top-right .dropup.down.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .dropup.down.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropup.down.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropup.down > .leaflet-control-layers-list:before, .map-controls.top-right .dropup.down.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .dropup.down.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropup.down.leaflet-control-layers > .leaflet-control-layers-list:before {
  top: -8px;
  left: 9px;
  border: 8px solid transparent;
  border-top: 0;
  border-bottom-color: #334155;
  bottom: auto;
  right: auto;
}
.droparrow.dropdown > .dropdown-menu:after, .map-controls.top-right .dropdown.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .dropdown.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropdown.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropdown > .leaflet-control-layers-list:after, .map-controls.top-right .dropdown.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .dropdown.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropdown.leaflet-control-layers > .leaflet-control-layers-list:after, .droparrow.dropup.down > .dropdown-menu:after, .map-controls.top-right .dropup.down.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .dropup.down.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropup.down.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropup.down > .leaflet-control-layers-list:after, .map-controls.top-right .dropup.down.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .dropup.down.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropup.down.leaflet-control-layers > .leaflet-control-layers-list:after {
  top: -7px;
  left: 10px;
  border: 7px solid transparent;
  border-top: 0;
  border-bottom-color: #1e293b;
  bottom: auto;
  right: auto;
}
.droparrow.dropup > .dropdown-menu, .map-controls.top-right .dropup.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .dropup.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .dropup.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropup > .leaflet-control-layers-list, .map-controls.top-right .dropup.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .dropup.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .dropup.leaflet-control-layers > .leaflet-control-layers-list, .droparrow.dropdown.up > .dropdown-menu, .map-controls.top-right .dropdown.up.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .dropdown.up.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .dropdown.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropdown.up > .leaflet-control-layers-list, .map-controls.top-right .dropdown.up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .dropdown.up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .dropdown.leaflet-control-layers > .leaflet-control-layers-list {
  bottom: 100%;
  left: -9px;
  margin-bottom: 8px;
}
.droparrow.dropup > .dropdown-menu:before, .map-controls.top-right .dropup.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .dropup.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropup.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropup > .leaflet-control-layers-list:before, .map-controls.top-right .dropup.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .dropup.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropup.leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropdown.up > .dropdown-menu:before, .map-controls.top-right .dropdown.up.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .dropdown.up.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropdown.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropdown.up > .leaflet-control-layers-list:before, .map-controls.top-right .dropdown.up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .dropdown.up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropdown.leaflet-control-layers > .leaflet-control-layers-list:before {
  left: 9px;
  bottom: -8px;
  border: 8px solid transparent;
  border-bottom: 0;
  border-top-color: #334155;
}
.droparrow.dropup > .dropdown-menu:after, .map-controls.top-right .dropup.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .dropup.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropup.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropup > .leaflet-control-layers-list:after, .map-controls.top-right .dropup.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .dropup.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropup.leaflet-control-layers > .leaflet-control-layers-list:after, .droparrow.dropdown.up > .dropdown-menu:after, .map-controls.top-right .dropdown.up.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .dropdown.up.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropdown.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropdown.up > .leaflet-control-layers-list:after, .map-controls.top-right .dropdown.up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .dropdown.up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropdown.leaflet-control-layers > .leaflet-control-layers-list:after {
  left: 10px;
  bottom: -7px;
  border: 7px solid transparent;
  border-bottom: 0;
  border-top-color: #1e293b;
}
.droparrow.dropleft.up > .dropdown-menu, .map-controls.top-right .dropleft.up.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .dropleft.up.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .dropleft.up.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .droparrow.up.leaflet-control-layers > .dropdown-menu, .map-controls.top-right .map-controls.top-left .up.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .map-controls.top-right .up.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .up.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .map-controls.top-left .up.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .map-controls.bottom-right .up.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .droparrow.dropleft.leaflet-control-layers > .dropdown-menu, .map-controls.top-right .map-controls.bottom-right .dropleft.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .map-controls.top-right .dropleft.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .map-controls.bottom-right .dropleft.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .map-controls.top-left .dropleft.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .dropleft.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .map-controls.bottom-right .droparrow.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .map-controls.top-left .droparrow.leaflet-control-layers > .dropdown-menu, .map-controls.top-right .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .map-controls.top-right .map-controls.top-left .leaflet-control-layers > .dropdown-menu, .map-controls.top-left .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .map-controls.top-left .map-controls.top-left .leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .map-controls.top-left .leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropleft.up > .leaflet-control-layers-list, .map-controls.top-right .dropleft.up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .dropleft.up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .dropleft.up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .droparrow.up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-right .map-controls.top-left .up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .map-controls.top-right .up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .map-controls.top-left .up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .map-controls.bottom-right .up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .droparrow.dropleft.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-right .map-controls.bottom-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .map-controls.top-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .map-controls.bottom-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .map-controls.top-left .dropleft.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .map-controls.bottom-right .droparrow.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .map-controls.top-left .droparrow.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-right .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .map-controls.top-right .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .map-controls.top-left .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list, .droparrow.dropright.up > .dropdown-menu, .map-controls.top-right .dropright.up.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .dropright.up.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .dropright.up.leaflet-control-layers > .dropdown-menu, .map-controls.top-right .droparrow.up.leaflet-control-layers > .dropdown-menu, .map-controls.top-right .up.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .map-controls.top-right .up.leaflet-control-layers > .dropdown-menu, .map-controls.top-right .map-controls.top-left .up.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .map-controls.top-right .up.leaflet-control-layers > .dropdown-menu, .map-controls.top-right .map-controls.bottom-right .up.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .droparrow.up.leaflet-control-layers > .dropdown-menu, .map-controls.top-right .map-controls.bottom-right .up.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .map-controls.top-right .up.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .map-controls.bottom-right .up.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .map-controls.top-left .up.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .up.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .droparrow.dropright.leaflet-control-layers > .dropdown-menu, .map-controls.top-right .map-controls.bottom-right .dropright.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .map-controls.top-right .dropright.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .map-controls.bottom-right .dropright.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .map-controls.top-left .dropright.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .dropright.leaflet-control-layers > .dropdown-menu, .map-controls.top-right .map-controls.bottom-right .droparrow.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .map-controls.top-right .droparrow.leaflet-control-layers > .dropdown-menu, .map-controls.top-right .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .map-controls.top-right .map-controls.top-right .leaflet-control-layers > .dropdown-menu, .map-controls.top-left .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .map-controls.top-left .map-controls.top-right .leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .map-controls.top-right .leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .droparrow.leaflet-control-layers > .dropdown-menu, .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu, .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropright.up > .leaflet-control-layers-list, .map-controls.top-right .dropright.up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .dropright.up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .dropright.up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-right .droparrow.up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-right .up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .map-controls.top-right .up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-right .map-controls.top-left .up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .map-controls.top-right .up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-right .map-controls.bottom-right .up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .droparrow.up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-right .map-controls.bottom-right .up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .map-controls.top-right .up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .map-controls.bottom-right .up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .map-controls.top-left .up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .up.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .droparrow.dropright.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-right .map-controls.bottom-right .dropright.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .map-controls.top-right .dropright.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .map-controls.bottom-right .dropright.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .map-controls.top-left .dropright.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .dropright.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-right .map-controls.bottom-right .droparrow.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .map-controls.top-right .droparrow.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-right .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .map-controls.top-right .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .map-controls.top-left .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .droparrow.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list {
  top: auto;
  bottom: -9px;
}
.droparrow.dropleft.up > .dropdown-menu:before, .map-controls.top-right .dropleft.up.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .dropleft.up.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropleft.up.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .droparrow.up.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-right .map-controls.top-left .up.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .map-controls.top-right .up.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .up.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.top-left .up.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .map-controls.bottom-right .up.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .droparrow.dropleft.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-right .map-controls.bottom-right .dropleft.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.top-right .dropleft.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .map-controls.bottom-right .dropleft.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.top-left .dropleft.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropleft.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .map-controls.bottom-right .droparrow.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.top-left .droparrow.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-right .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.top-right .map-controls.top-left .leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.top-left .map-controls.top-left .leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.top-left .leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropleft.up > .leaflet-control-layers-list:before, .map-controls.top-right .dropleft.up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .dropleft.up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropleft.up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .droparrow.up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-right .map-controls.top-left .up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .map-controls.top-right .up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.top-left .up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .map-controls.bottom-right .up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .droparrow.dropleft.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-right .map-controls.bottom-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.top-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .map-controls.bottom-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.top-left .dropleft.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .map-controls.bottom-right .droparrow.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.top-left .droparrow.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-right .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.top-right .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.top-left .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropright.up > .dropdown-menu:before, .map-controls.top-right .dropright.up.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .dropright.up.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropright.up.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-right .droparrow.up.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-right .up.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .map-controls.top-right .up.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-right .map-controls.top-left .up.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.top-right .up.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-right .map-controls.bottom-right .up.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .droparrow.up.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-right .map-controls.bottom-right .up.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.top-right .up.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .map-controls.bottom-right .up.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.top-left .up.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .up.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .droparrow.dropright.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-right .map-controls.bottom-right .dropright.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.top-right .dropright.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .map-controls.bottom-right .dropright.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.top-left .dropright.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropright.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-right .map-controls.bottom-right .droparrow.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.top-right .droparrow.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-right .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.top-right .map-controls.top-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.top-left .map-controls.top-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.top-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .droparrow.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropright.up > .leaflet-control-layers-list:before, .map-controls.top-right .dropright.up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .dropright.up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropright.up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-right .droparrow.up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-right .up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .map-controls.top-right .up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-right .map-controls.top-left .up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.top-right .up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-right .map-controls.bottom-right .up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .droparrow.up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-right .map-controls.bottom-right .up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.top-right .up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .map-controls.bottom-right .up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.top-left .up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .up.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .droparrow.dropright.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-right .map-controls.bottom-right .dropright.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.top-right .dropright.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .map-controls.bottom-right .dropright.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.top-left .dropright.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropright.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-right .map-controls.bottom-right .droparrow.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.top-right .droparrow.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-right .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.top-right .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.top-left .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .droparrow.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:before {
  top: auto;
  bottom: 10px;
}
.droparrow.dropleft.up > .dropdown-menu:after, .map-controls.top-right .dropleft.up.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .dropleft.up.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropleft.up.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .droparrow.up.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-right .map-controls.top-left .up.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .map-controls.top-right .up.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .up.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.top-left .up.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .map-controls.bottom-right .up.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .droparrow.dropleft.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-right .map-controls.bottom-right .dropleft.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.top-right .dropleft.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .map-controls.bottom-right .dropleft.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.top-left .dropleft.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropleft.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .map-controls.bottom-right .droparrow.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.top-left .droparrow.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-right .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.top-right .map-controls.top-left .leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.top-left .map-controls.top-left .leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.top-left .leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropleft.up > .leaflet-control-layers-list:after, .map-controls.top-right .dropleft.up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .dropleft.up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropleft.up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .droparrow.up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-right .map-controls.top-left .up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .map-controls.top-right .up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.top-left .up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .map-controls.bottom-right .up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .droparrow.dropleft.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-right .map-controls.bottom-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.top-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .map-controls.bottom-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.top-left .dropleft.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropleft.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .map-controls.bottom-right .droparrow.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.top-left .droparrow.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-right .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.top-right .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.top-left .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.top-left .leaflet-control-layers > .leaflet-control-layers-list:after, .droparrow.dropright.up > .dropdown-menu:after, .map-controls.top-right .dropright.up.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .dropright.up.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropright.up.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-right .droparrow.up.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-right .up.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .map-controls.top-right .up.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-right .map-controls.top-left .up.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.top-right .up.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-right .map-controls.bottom-right .up.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .droparrow.up.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-right .map-controls.bottom-right .up.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.top-right .up.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .map-controls.bottom-right .up.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.top-left .up.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .up.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .droparrow.dropright.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-right .map-controls.bottom-right .dropright.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.top-right .dropright.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .map-controls.bottom-right .dropright.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.top-left .dropright.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropright.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-right .map-controls.bottom-right .droparrow.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.top-right .droparrow.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-right .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.top-right .map-controls.top-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.top-left .map-controls.top-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.top-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .droparrow.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .map-controls.bottom-right .leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropright.up > .leaflet-control-layers-list:after, .map-controls.top-right .dropright.up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .dropright.up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropright.up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-right .droparrow.up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-right .up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .map-controls.top-right .up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-right .map-controls.top-left .up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.top-right .up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-right .map-controls.bottom-right .up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .droparrow.up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-right .map-controls.bottom-right .up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.top-right .up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .map-controls.bottom-right .up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.top-left .up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .up.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .droparrow.dropright.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-right .map-controls.bottom-right .dropright.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.top-right .dropright.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .map-controls.bottom-right .dropright.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.top-left .dropright.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropright.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-right .map-controls.bottom-right .droparrow.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.top-right .droparrow.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-right .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.top-right .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.top-left .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.top-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .droparrow.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-right .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .map-controls.bottom-right .leaflet-control-layers > .leaflet-control-layers-list:after {
  top: auto;
  bottom: 11px;
}
.droparrow.dropdown.right > .dropdown-menu, .map-controls.top-right .dropdown.right.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .dropdown.right.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .dropdown.right.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropdown.right > .leaflet-control-layers-list, .map-controls.top-right .dropdown.right.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .dropdown.right.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .dropdown.right.leaflet-control-layers > .leaflet-control-layers-list, .droparrow.dropup.right > .dropdown-menu, .map-controls.top-right .dropup.right.leaflet-control-layers > .dropdown-menu, .map-controls.top-left .dropup.right.leaflet-control-layers > .dropdown-menu, .map-controls.bottom-right .dropup.right.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropup.right > .leaflet-control-layers-list, .map-controls.top-right .dropup.right.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.top-left .dropup.right.leaflet-control-layers > .leaflet-control-layers-list, .map-controls.bottom-right .dropup.right.leaflet-control-layers > .leaflet-control-layers-list {
  left: auto;
  right: -9px;
}
.droparrow.dropdown.right > .dropdown-menu:before, .map-controls.top-right .dropdown.right.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .dropdown.right.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropdown.right.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropdown.right > .leaflet-control-layers-list:before, .map-controls.top-right .dropdown.right.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .dropdown.right.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropdown.right.leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropup.right > .dropdown-menu:before, .map-controls.top-right .dropup.right.leaflet-control-layers > .dropdown-menu:before, .map-controls.top-left .dropup.right.leaflet-control-layers > .dropdown-menu:before, .map-controls.bottom-right .dropup.right.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropup.right > .leaflet-control-layers-list:before, .map-controls.top-right .dropup.right.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.top-left .dropup.right.leaflet-control-layers > .leaflet-control-layers-list:before, .map-controls.bottom-right .dropup.right.leaflet-control-layers > .leaflet-control-layers-list:before {
  left: auto;
  right: 9px;
}
.droparrow.dropdown.right > .dropdown-menu:after, .map-controls.top-right .dropdown.right.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .dropdown.right.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropdown.right.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropdown.right > .leaflet-control-layers-list:after, .map-controls.top-right .dropdown.right.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .dropdown.right.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropdown.right.leaflet-control-layers > .leaflet-control-layers-list:after, .droparrow.dropup.right > .dropdown-menu:after, .map-controls.top-right .dropup.right.leaflet-control-layers > .dropdown-menu:after, .map-controls.top-left .dropup.right.leaflet-control-layers > .dropdown-menu:after, .map-controls.bottom-right .dropup.right.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropup.right > .leaflet-control-layers-list:after, .map-controls.top-right .dropup.right.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.top-left .dropup.right.leaflet-control-layers > .leaflet-control-layers-list:after, .map-controls.bottom-right .dropup.right.leaflet-control-layers > .leaflet-control-layers-list:after {
  left: auto;
  right: 10px;
}

label {
  font-weight: normal;
}
label.required:after {
  content: "*";
  padding-left: 5px;
}

textarea.form-control {
  resize: none;
}

.form-horizontal .control-label {
  text-align: left;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 0;
  padding-top: 0;
}
.form-horizontal .checkboxes .checkbox,
.form-horizontal .checkboxes .radio {
  margin-bottom: 10px;
}

.form-horizontal .has-feedback > .form-control:last-child,
.has-feedback > .form-control:last-child,
div.dataTables_wrapper div.dataTables_filter .has-feedback > input:last-child {
  padding: 6px 12px;
  padding-left: 31px;
}
.form-horizontal .has-feedback > .form-control-feedback,
.has-feedback > .form-control-feedback,
.has-feedback > .form-group.search:before,
.has-feedback > .bs-searchbox:before {
  left: 0;
  right: auto;
  z-index: 3;
}
.form-horizontal .has-feedback > .form-control + .form-control-feedback,
.has-feedback > .form-control + .form-control-feedback,
div.dataTables_wrapper div.dataTables_filter .has-feedback > input + .form-control-feedback,
.has-feedback > .form-control + .form-group.search:before,
div.dataTables_wrapper div.dataTables_filter .has-feedback > input + .form-group.search:before,
.has-feedback > .form-control + .bs-searchbox:before,
div.dataTables_wrapper div.dataTables_filter .has-feedback > input + .bs-searchbox:before {
  left: auto;
  right: 0;
  z-index: 2;
}

.form-group.search,
.bs-searchbox {
  position: relative;
}
.form-group.search:before,
.bs-searchbox:before {
  content: "\f002";
  left: 0;
  right: auto;
  z-index: 3;
  opacity: 0.6;
  line-height: 31px;
}
.form-group.search > .form-control, div.dataTables_wrapper div.dataTables_filter .form-group.search > input,
.bs-searchbox > .form-control,
div.dataTables_wrapper div.dataTables_filter .bs-searchbox > input {
  padding-left: 31px;
}

.bootstrap-select > .dropdown-toggle {
  color: #e2e8f0;
  background-color: #0f172a;
  border: 1px solid transparent;
  border-radius: 6px;
  box-shadow: none;
  font-weight: normal;
  -webkit-transition: border-color ease-in-out 0.15s;
  -o-transition: border-color ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s;
}
.bootstrap-select > .dropdown-toggle:focus, .bootstrap-select > .dropdown-toggle.focus, .bootstrap-select > .dropdown-toggle:active, .bootstrap-select > .dropdown-toggle.active {
  color: #ffffff;
  background-color: #111111;
  border-color: #334155;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(51, 65, 85, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(51, 65, 85, 0.6);
}
.bootstrap-select.open > .dropdown-toggle, .bootstrap-select.open > .dropdown-toggle:focus, .bootstrap-select.open > .dropdown-toggle.focus, .bootstrap-select.open > .dropdown-toggle:hover, .bootstrap-select.open > .dropdown-toggle:active, .bootstrap-select.open > .dropdown-toggle.active, .bootstrap-select.open > .dropdown-toggle:active:hover, .bootstrap-select.open > .dropdown-toggle:active:focus, .bootstrap-select.open > .dropdown-toggle:active.focus {
  color: #ffffff;
  background-color: #111111;
  border-color: #334155;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(51, 65, 85, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(51, 65, 85, 0.6);
}

.panel .panel-form .form-control, .panel .panel-form div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .panel .panel-form input, .plan .panel-form .form-control, .plan .panel-form div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .plan .panel-form input {
  outline: 0;
}

.panel-default .panel-form .form-control, .panel-default .panel-form div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .panel-default .panel-form input, .plan .panel-form .form-control, .plan .panel-form div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .plan .panel-form input, #widgets .widget .panel-form .form-control, #widgets .widget .panel-form div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter #widgets .widget .panel-form input,
.panel-default .panel-form .bootstrap-select > .dropdown-toggle,
.plan .panel-form .bootstrap-select > .dropdown-toggle,
#widgets .widget .panel-form .bootstrap-select > .dropdown-toggle {
  color: #ffffff;
  background-color: #111111;
}

.checkboxes .checkbox {
  margin-top: 0;
}
.checkboxes .checkbox + .checkbox {
  margin-top: inherit;
}

.form-image {
  position: relative;
  min-height: 200px;
  text-align: center;
  border: 1px solid #334155;
}
.form-image .form-image-controls {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
.form-image img {
  position: absolute;
  margin: auto;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  max-height: 100%;
}
.form-image img + .no-image {
  display: none;
}

.help-block {
  padding: 10px;
}
.explanation {
  font-size: 10px;
}

.modal-scrollable {
  position: relative;
}

.modal-content {
  background-color: #1e293b;
  border-radius: 12px;
}

.modal-header, .ui-dialog-titlebar.ui-widget-header {
  border-top-right-radius: 12px;
  border-top-left-radius: 12px;
  background: #0f172a;
}
.modal-header .close, .modal-header button.ui-dialog-titlebar-close, .ui-dialog-titlebar.ui-widget-header .close, .ui-dialog-titlebar.ui-widget-header button.ui-dialog-titlebar-close {
  font-size: 25px;
  margin-top: -3px;
}

.modal-title .icon, .ui-dialog-title .icon {
  vertical-align: top;
  color: #2563eb;
}

.modal-body > .nav {
  margin: -15px;
  margin-bottom: 15px;
}
.modal-body.no-padding {
  padding: 0;
}

.modal-footer {
  border-bottom-right-radius: 12px;
  border-bottom-left-radius: 12px;
  background: #0f172a;
  text-align: left;
}

@media (min-width: 768px) {
  .modal-md {
    width: 760px;
  }
}
.modal-full {
  width: auto;
  margin: 10px;
}

.modal.fade .modal-dialog {
  -webkit-transform: none;
  -ms-transform: none;
  -o-transform: none;
  transform: none;
}
.modal.in .modal-dialog {
  -webkit-transform: none;
  -ms-transform: none;
  -o-transform: none;
  transform: none;
}

.modal-popup {
  position: fixed;
}
.modal-popup.center {
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.modal-popup.top_left {
  top: -1px;
  left: 0;
  margin-left: 20px;
}
.modal-popup.top_right {
  top: -1px;
  right: 0;
  margin-right: 20px;
}
.modal-popup.bottom_left {
  bottom: -1px;
  left: 0;
  margin-left: 20px;
}
.modal-popup.bottom_right {
  bottom: -1px;
  right: 0;
  margin-right: 20px;
}
.modal-popup .modal-dialog {
  margin-bottom: 0;
  margin-top: 0;
  width: auto;
  min-width: 300px;
  max-width: 100%;
}
.modal-popup .modal-content > .close, .modal-popup .modal-content > button.ui-dialog-titlebar-close {
  margin-top: 0;
  margin-right: 3px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  opacity: 0.9;
  font-weight: 300;
  font-size: 40px;
  color: #64748b;
}
.modal-popup .modal-header, .modal-popup .ui-dialog-titlebar.ui-widget-header {
  padding: 15px 30px;
  border-bottom: 1px solid #334155;
}
.modal-popup .modal-header .close, .modal-popup .modal-header button.ui-dialog-titlebar-close, .modal-popup .ui-dialog-titlebar.ui-widget-header .close, .modal-popup .ui-dialog-titlebar.ui-widget-header button.ui-dialog-titlebar-close {
  margin-top: 0;
  margin-right: 3px;
  position: absolute;
  top: 0;
  right: 0;
}
.modal-popup .modal-header h1, .modal-popup .ui-dialog-titlebar.ui-widget-header h1, .modal-popup .modal-header h2, .modal-popup .ui-dialog-titlebar.ui-widget-header h2, .modal-popup .modal-header h3, .modal-popup .ui-dialog-titlebar.ui-widget-header h3, .modal-popup .modal-header h4, .modal-popup .ui-dialog-titlebar.ui-widget-header h4, .modal-popup .modal-header h5, .modal-popup .ui-dialog-titlebar.ui-widget-header h5, .modal-popup .modal-header h6, .modal-popup .ui-dialog-titlebar.ui-widget-header h6 {
  margin: 0;
}
.modal-popup .modal-body {
  padding: 15px 30px;
}

.dashboard .modal-content {
  background-color: rgba(255, 255, 255, 0.7);
}
.dashboard .modal-header, .dashboard .ui-dialog-titlebar.ui-widget-header {
  background-color: rgba(255, 255, 255, 0.7);
}

.table .table {
  background-color: #1e293b;
}

.table.table-list .progress {
  margin-bottom: 0;
}
.table.table-list td[data-editable-field] {
  position: relative;
  cursor: pointer;
}
.table.table-list td[data-editable-field]:hover:after {
  font-family: "FontAwesome";
  content: "\f040";
  color: #cbd5e1;
  position: absolute;
  top: 5px;
  right: 5px;
}
.table.table-list > thead > tr > th,
.table.table-list > thead > tr > td,
.table.table-list > tbody > tr > th,
.table.table-list > tbody > tr > td,
.table.table-list > tfoot > tr > th,
.table.table-list > tfoot > tr > td {
  vertical-align: middle;
  border-top: 1px solid transparent;
}
.table.table-list > thead > tr > th:first-child,
.table.table-list > thead > tr > td:first-child,
.table.table-list > tbody > tr > th:first-child,
.table.table-list > tbody > tr > td:first-child,
.table.table-list > tfoot > tr > th:first-child,
.table.table-list > tfoot > tr > td:first-child {
  padding-left: 6px;
}
.table.table-list > thead > tr > th:last-child,
.table.table-list > thead > tr > td:last-child,
.table.table-list > tbody > tr > th:last-child,
.table.table-list > tbody > tr > td:last-child,
.table.table-list > tfoot > tr > th:last-child,
.table.table-list > tfoot > tr > td:last-child {
  padding-right: 6px;
}
.table.table-list > thead > tr > th.no-data,
.table.table-list > thead > tr > td.no-data,
.table.table-list > tbody > tr > th.no-data,
.table.table-list > tbody > tr > td.no-data,
.table.table-list > tfoot > tr > th.no-data,
.table.table-list > tfoot > tr > td.no-data {
  text-align: center;
}
.table.table-list > thead > tr > th .btn.icon,
.table.table-list > thead > tr > td .btn.icon,
.table.table-list > tbody > tr > th .btn.icon,
.table.table-list > tbody > tr > td .btn.icon,
.table.table-list > tfoot > tr > th .btn.icon,
.table.table-list > tfoot > tr > td .btn.icon {
  color: #cbd5e1;
}
.table.table-list > thead > tr > th .btn.icon:hover,
.table.table-list > thead > tr > td .btn.icon:hover,
.table.table-list > tbody > tr > th .btn.icon:hover,
.table.table-list > tbody > tr > td .btn.icon:hover,
.table.table-list > tfoot > tr > th .btn.icon:hover,
.table.table-list > tfoot > tr > td .btn.icon:hover {
  color: #2563eb;
}
.table.table-list > thead > tr.row-table-inner > td,
.table.table-list > tbody > tr.row-table-inner > td,
.table.table-list > tfoot > tr.row-table-inner > td {
  padding: 20px;
}
.table.table-list > thead > tr.row-table-inner > td > .loading .middle,
.table.table-list > tbody > tr.row-table-inner > td > .loading .middle,
.table.table-list > tfoot > tr.row-table-inner > td > .loading .middle {
  vertical-align: top;
}
.table.table-list > thead > tr {
  color: #cbd5e1;
  background-color: #334155;
}
.table.table-list > thead > tr > th {
  border-bottom: 2px solid transparent;
}
.table.table-list .table-checkbox {
  width: 1%;
  white-space: nowrap;
}
.table.table-list .table-checkbox:hover .icon {
  color: #2563eb;
}
.table.table-list .user-list {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 300px;
}
.table.table-list .actions {
  text-align: right;
}
.table.table-list .sorting,
.table.table-list .sorting_desc,
.table.table-list .sorting_asc {
  position: relative;
  cursor: pointer;
  padding-right: 15px;
}
.table.table-list .sorting:before, .table.table-list .sorting:after,
.table.table-list .sorting_desc:before,
.table.table-list .sorting_desc:after,
.table.table-list .sorting_asc:before,
.table.table-list .sorting_asc:after {
  color: #64748b;
  position: absolute;
  font-size: 8px;
  right: 5px;
}
.table.table-list .sorting:before,
.table.table-list .sorting_desc:before,
.table.table-list .sorting_asc:before {
  top: 2px;
  content: "\e954";
}
.table.table-list .sorting:after,
.table.table-list .sorting_desc:after,
.table.table-list .sorting_asc:after {
  bottom: 2px;
  content: "\e910";
}
.table.table-list .pointer {
  cursor: pointer;
}
.table.table-list .sorting_asc:before {
  color: #2563eb;
}
.table.table-list .sorting_desc:after {
  color: #2563eb;
}
.table.table-list.sticky-header > thead > tr > th {
  position: sticky !important;
  top: 0;
  z-index: 10;
  color: #cbd5e1;
  background-color: #334155;
}
.table > thead th {
  font-weight: normal;
}
.table > tbody:first-child > tr:first-child > th,
.table > tbody:first-child > tr:first-child > td {
  border-top: 0;
}
.table tr.collapse.in {
  display: table-row;
}
.table th.collapse.in,
.table td.collapse.in {
  display: table-cell;
}
.table td .textarea-control {
  position: relative;
}
.table td .textarea-control textarea {
  padding-right: 30px;
}
.table td .textarea-control .controls-wrapper {
  position: absolute;
  right: 30px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 14px;
  display: none;
}
.table td .textarea-control .controls-wrapper .fa, .table td .textarea-control .controls-wrapper .caret, .table td .textarea-control .controls-wrapper .form-group.search:before,
.table td .textarea-control .controls-wrapper .bs-searchbox:before {
  display: block;
  opacity: 0.7;
}
.table td .textarea-control .controls-wrapper .fa.fa-check, .table td .textarea-control .controls-wrapper .fa-check.caret, .table td .textarea-control .controls-wrapper .fa-check.form-group.search:before,
.table td .textarea-control .controls-wrapper .fa-check.bs-searchbox:before {
  color: green;
  padding-bottom: 3px;
}
.table td .textarea-control .controls-wrapper .fa.fa-times, .table td .textarea-control .controls-wrapper .fa-times.caret, .table td .textarea-control .controls-wrapper .fa-times.form-group.search:before,
.table td .textarea-control .controls-wrapper .fa-times.bs-searchbox:before {
  color: red;
  padding-top: 3px;
}
.table td .textarea-control .controls-wrapper .fa:hover, .table td .textarea-control .controls-wrapper .caret:hover, .table td .textarea-control .controls-wrapper .form-group.search:hover:before,
.table td .textarea-control .controls-wrapper .bs-searchbox:hover:before {
  opacity: 1;
  cursor: pointer;
}

.table-icon:before, .table-icon:after {
  content: " ";
  display: table;
}
.table-icon:after {
  clear: both;
}
.table-icon .item {
  float: none;
  display: inline-block;
  padding: 10px;
  margin: -2px;
  border: 1px solid transparent;
  text-align: center;
}
.table-icon .item:hover {
  border-color: #334155;
}
.table-icon .item:hover .controls {
  display: block;
}
.table-icon .item .controls {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
.table-icon .item img {
  margin: auto;
  max-width: 100%;
}

[data-table] > .table-responsive {
  margin-bottom: 0;
  min-height: 200px;
}
[data-table] > .table-responsive > .table {
  margin-bottom: 0;
}
[data-table] > .table {
  margin-bottom: 0;
}

.table.table-weektime {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.table.table-weektime.disabled {
  opacity: 0.5;
}
.table.table-weektime > thead {
  border: 1px solid #334155;
  border-bottom: 0;
}
.table.table-weektime > thead > tr > th,
.table.table-weektime > thead > tr > td {
  padding: 5px;
  border: 0;
  font-weight: bold;
}
.table.table-weektime > thead > tr th span {
  margin-left: -20px;
}
.table.table-weektime > tbody {
  border: 1px solid #334155;
  border-top: 0;
}
.table.table-weektime > tbody > tr > th {
  padding: 5px;
  border: 0;
}
.table.table-weektime > tbody > tr > td {
  padding: 0;
  width: 7px;
  height: 30px;
  background: #0f172a;
}
.table.table-weektime > tbody > tr > td.ds-selected {
  background: #2563eb;
}
.table.table-weektime > tbody > tr > td.hour {
  border-left: 1px solid #1e293b;
}
.table.table-weektime > tbody > tr > td:nth-child(2) {
  border-left: 1px solid #334155;
}
.table.table-weektime > tbody > tr > td.quarter {
  border-left: 1px solid #334155;
}
.table.table-weektime > tfoot > tr > th {
  padding-right: 0;
  padding-left: 0;
  padding-bottom: 0;
}

#mapWrap {
  position: relative;
  width: auto;
  height: 100%;
  overflow: hidden;
}

#map {
  overflow: hidden;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
#map.leaflet-hidden-name .leaflet-marker-icon:not(.leaflet-hover) .name {
  display: none;
}

.map-controls.top-right {
  position: absolute;
  top: 10%;
  right: 0;
}
.map-controls.top-left {
  position: absolute;
  top: 10%;
  left: 0;
}
.map-controls.bottom-right {
  position: absolute;
  bottom: 20px;
  right: 0;
}
.map-controls {
  text-align: right;
  z-index: 800;
}
.map-controls .btn-group-vertical {
  margin-bottom: 10px;
}
.map-controls .btn + .btn {
  border-top: 1px solid #334155;
}
.map-controls .btn {
  padding: 0;
  width: 33px;
  height: 33px;
  line-height: 33px;
  font-size: 15px;
  text-align: center;
  background: #1e293b;
  color: #e2e8f0;
}
.map-controls .btn:hover {
  background: #1e293b;
  color: #e2e8f0;
}
.map-controls .btn.active {
  background: #2563eb;
  color: #ffffff;
}

.nav-pagination:before, .nav-pagination:after {
  content: " ";
  display: table;
}
.nav-pagination:after {
  clear: both;
}
.nav-pagination {
  border-top: 1px solid #334155;
}
.nav-pagination .pagination {
  margin-top: 0;
  margin-bottom: 0;
}

#widgets:before, #widgets:after {
  content: " ";
  display: table;
}
#widgets:after {
  clear: both;
}
#widgets {
  float: right;
  max-width: 100%;
}
#widgets .btn-collapse {
  left: auto;
  right: 10%;
}
#widgets.collapsed .widgets-content, .sidebar.collapsed #widgets.btn-collapse .widgets-content {
  height: 0;
  min-height: 0;
  overflow: hidden;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
#widgets .widgets-content {
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  font-size: 0;
  background: #1e293b;
  color: #cbd5e1;
}
#widgets .table {
  margin-bottom: 0;
  float: left;
}
#widgets .table + .table {
  margin-left: 5px;
}
#widgets .table tr > td {
  width: 40%;
  line-height: 22px;
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 1px;
}
#widgets .table tr > td + td {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
  max-width: 1px;
}
#widgets .widget:empty {
  display: none;
}
#widgets .widget {
  height: 100%;
  border: 1px solid #334155;
  border-bottom: 0;
  display: inline-block;
  vertical-align: bottom;
}
#widgets .widget + .widget {
  margin-left: -1px;
}
#widgets .widget-heading {
  font-size: 1.1em;
}
#widgets .widget-heading .widget-actions {
  float: right;
}
#widgets .widget-title > .icon {
  color: #2563eb;
  margin-right: 5px;
  vertical-align: middle;
}
#widgets .widget-title [data-device=name] {
  margin-right: 10px;
}
#widgets .widget-title [data-device=status] {
  width: 7px;
  height: 7px;
}
#widgets .widget-title [data-device=status-text] {
  font-size: 0.8em;
}
#widgets .widget-body {
  padding-top: 5px;
  padding-bottom: 0;
  height: 126px;
  font-size: 11px;
  overflow: auto;
}
#widgets .widget-body > * + .widget-empty {
  display: none;
}
#widgets .widget-body .table:empty + .widget-empty {
  display: block;
}
#widgets .widget-body .widget-empty {
  height: 100%;
  width: 230px;
  text-align: center;
  background: url("../images/no-data.png") right bottom no-repeat;
}
#widgets .widget-body .widget-empty > .btn {
  margin-top: 35px;
}
#widgets .widget-body .widget-empty > p {
  padding-top: 35px;
}
#widgets .widget-body .full-text {
  white-space: normal;
}
#widgets .widget-driver .table,
#widgets .widget-services .table,
#widgets .widget-device .table,
#widgets .widget-locking .table,
#widgets .widget-gprs-command .table,
#widgets .widget-recent-events .table {
  width: 260px;
}
#widgets .widget-sensors .table {
  width: 200px;
}
#widgets .widget-sensors .table tr > td {
  width: 60%;
}
#widgets .widget-sensors .table .icon {
  font-size: 1.8em;
  vertical-align: middle;
  color: #cbd5e1;
  margin-right: 5px;
}
#widgets .widget-streetview .widget-body {
  width: auto;
  padding: 0;
}
#widgets .widget-streetview .widget-body img {
  max-height: 100%;
}
#widgets .widget-camera .widget-body {
  width: auto;
  padding: 0;
}
#widgets .widget-camera .camera-image {
  display: inline-block;
  position: relative;
  padding: 0;
}
#widgets .widget-camera .camera-image .name {
  position: absolute;
  bottom: 0;
  right: 0;
  color: #ffffff;
  background: #000000;
  font-size: 12px;
  white-space: initial;
  padding: 1px 5px;
  opacity: 0.7;
}
#widgets .widget-camera .camera-image .image {
  max-height: 125px;
}
#widgets .widget-image {
  position: relative;
}
#widgets .widget-image .widget-body {
  width: 280px;
  padding: 0;
  overflow: hidden;
}
#widgets .widget-image .widget-body > .image + .widget-empty {
  display: none;
}
#widgets .widget-image .widget-body .widget-empty {
  display: block;
}
#widgets .widget-image .widget-body .image {
  display: block;
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
#widgets .widget-image .widget-body .name {
  position: absolute;
  bottom: 0;
  right: 0;
  color: #ffffff;
  background: #000000;
  font-size: 12px;
  white-space: initial;
  padding: 1px 5px;
  opacity: 0.7;
}
#widgets .widget-sensor-graph .widget-body {
  width: 280px;
  padding: 0;
}
#widgets .widget-sensor-graph .widget-body .sensor-graph {
  width: 280px;
  height: 126px;
}
#widgets .widget-gprs-command .table td + td {
  text-align: right;
  width: 15%;
}
#widgets .widget-recent-events table tr {
  text-align: center;
}
#widgets .widget-recent-events table tr[onclick] {
  text-align: left;
}
#widgets .widget-recent-events table tr[onclick]:hover {
  cursor: pointer;
}

.widget-col > div {
  padding: 5px 10px;
  background: #0f172a;
}

.group {
  position: relative;
}
.group + .group {
  margin-top: 3px;
}
.group-heading {
  padding: 7px 8px;
  background-color: #0f172a;
  border-radius: 6px;
  display: table;
  width: 100%;
  color: #f1f5f9;
  font-size: 13px;
}
.group-heading > .checkbox {
  display: table-cell;
  width: 1%;
}
.group-heading > .group-title {
  position: relative;
  display: table-cell;
  width: 100%;
  padding-left: 5px;
  padding-right: 20px;
  margin-top: 0;
  margin-bottom: 0;
  color: inherit;
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 1px;
  cursor: pointer;
}
.group-heading > .group-title > .count {
  display: inline;
}
.group-heading > .group-title > .count:before {
  content: "(";
}
.group-heading > .group-title > .count:after {
  content: ")";
}
.group-heading > .group-title:after {
  position: absolute;
  right: 0px;
  top: auto;
  content: "\e92e";
  font-size: 1em;
  font-weight: normal;
  color: #2563eb;
  cursor: pointer;
}
.group-heading > .group-title.collapsed, .sidebar.collapsed .group-heading > .group-title.btn-collapse, #widgets.collapsed .group-heading > .group-title.btn-collapse, .sidebar.collapsed #widgets.btn-collapse .group-heading > .group-title.btn-collapse {
  color: #cbd5e1;
}
.group-heading > .group-title.collapsed:after, .sidebar.collapsed .group-heading > .group-title.btn-collapse:after, #widgets.collapsed .group-heading > .group-title.btn-collapse:after, .sidebar.collapsed #widgets.btn-collapse .group-heading > .group-title.btn-collapse:after {
  content: "\e901";
  color: #64748b;
  font-size: 1em;
  font-weight: normal;
}
.group-heading > .group-title > .icon {
  margin-right: 8px;
}
.group-heading > .group-title {
  /*
  &[aria-expanded="true"] {
    &:after {
      @extend .fadeIn;
      @extend .animated;
    }
  }
  &[aria-expanded="false"] {
    &:after {
      @extend .rotateIn;
      @extend .animated;
    }
  }*/
}
.group-heading > .btn-group {
  margin-left: 4px;
  margin-right: -4px;
}
.group-heading > .btn-group .btn.options:hover {
  background: #0f172a;
}
.group-heading:hover {
  color: #f1f5f9;
  background-color: #334155;
}
.group-heading:hover .status-collapse {
  color: #2563eb;
}
.group-heading:hover .group-title:after {
  color: #2563eb;
}
.group-heading:hover .group-title.collapsed:after, .group-heading:hover .sidebar.collapsed .group-title.btn-collapse:after, .sidebar.collapsed .group-heading:hover .group-title.btn-collapse:after, .group-heading:hover #widgets.collapsed .group-title.btn-collapse:after, #widgets.collapsed .group-heading:hover .group-title.btn-collapse:after, .group-heading:hover .sidebar.collapsed #widgets.btn-collapse .group-title.btn-collapse:after, .sidebar.collapsed #widgets.btn-collapse .group-heading:hover .group-title.btn-collapse:after {
  color: #2563eb;
}

.group-body {
  position: relative;
}

.group-list {
  list-style: none;
  padding: 0;
  margin: 0;
  color: inherit;
  font-size: inherit;
  background: inherit;
  display: table;
}
.group-list > li {
  border: none;
  border-radius: 6px;
  display: table-row;
  width: 100%;
  position: relative;
  text-align: left;
}
.group-list > li:hover {
  color: inherit;
  background-color: #0f172a;
  cursor: pointer;
}
.group-list > li > .checkbox {
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 8px;
  display: table-cell;
  width: 1%;
  vertical-align: middle;
}
.group-list > li > .name {
  display: table-cell;
  width: 100%;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 5px;
  padding-right: 0px;
  vertical-align: top;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 1px;
}
.group-list > li > .name [data-device=time] {
  font-size: 0.7em;
  display: block;
  color: #94a3b8;
}
.group-list > li > .details {
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 5px;
  color: #475569;
  display: table-cell;
  width: 1%;
  vertical-align: top;
  white-space: nowrap;
  text-align: right;
}
.group-list > li > .details > * {
  vertical-align: middle;
  display: inline-block;
}
.group-list > li > .details > * + * {
  margin-left: 5px;
}
.group-list > li > .details [data-device=time] {
  font-size: 8px;
  display: block;
  color: #475569;
}
.group-list > li > *:last-child {
  border-right: 4px solid transparent;
}
.group-list > li.active {
  background: #0f172a;
}
.group-list > li.active > *:last-child {
  border-right-color: #2563eb;
}

.panel .panel-heading, .plan .panel-heading, .plan .plan-heading, .panel #widgets .widget-heading, .plan #widgets .widget-heading, #widgets .panel .widget-heading, #widgets .plan .widget-heading {
  padding: 0;
}
.panel .panel-heading:before, .plan .panel-heading:before, .plan .plan-heading:before, .panel #widgets .widget-heading:before, .plan #widgets .widget-heading:before, #widgets .panel .widget-heading:before, #widgets .plan .widget-heading:before, .panel .panel-heading:after, .plan .panel-heading:after, .plan .plan-heading:after, .panel #widgets .widget-heading:after, .plan #widgets .widget-heading:after, #widgets .panel .widget-heading:after, #widgets .plan .widget-heading:after {
  content: " ";
  display: table;
}
.panel .panel-heading:after, .plan .panel-heading:after, .plan .plan-heading:after, .panel #widgets .widget-heading:after, .plan #widgets .widget-heading:after, #widgets .panel .widget-heading:after, #widgets .plan .widget-heading:after {
  clear: both;
}
.panel .panel-title, .plan .panel-title, .plan .plan-title, .panel #widgets .widget-title, .plan #widgets .widget-title, #widgets .panel .widget-title, #widgets .plan .widget-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.panel .panel-title, .plan .panel-title, .plan .plan-title, .panel #widgets .widget-title, .plan #widgets .widget-title, #widgets .panel .widget-title, #widgets .plan .widget-title,
.panel .panel-title-overflow,
.plan .panel-title-overflow {
  padding: 9px 15px;
  font-size: 14px;
}
.panel .panel-title .icon, .plan .panel-title .icon, .plan .plan-title .icon, .panel #widgets .widget-title .icon, .plan #widgets .widget-title .icon, #widgets .panel .widget-title .icon, #widgets .plan .widget-title .icon,
.panel .panel-title-overflow .icon,
.plan .panel-title-overflow .icon {
  font-size: inherit;
  color: #2563eb;
  vertical-align: middle;
}
@media (min-width: 768px) {
  .panel .panel-title, .plan .panel-title, .plan .plan-title, .panel #widgets .widget-title, .plan #widgets .widget-title, #widgets .panel .widget-title, #widgets .plan .widget-title,
  .panel .panel-title-overflow,
  .plan .panel-title-overflow {
    float: left;
  }
}
.panel .close + .panel-title, .plan .close + .panel-title, .plan .close + .plan-title, .panel button.ui-dialog-titlebar-close + .panel-title, .plan button.ui-dialog-titlebar-close + .panel-title, .plan button.ui-dialog-titlebar-close + .plan-title, .panel #widgets .close + .widget-title, .plan #widgets .close + .widget-title, .panel #widgets button.ui-dialog-titlebar-close + .widget-title, .plan #widgets button.ui-dialog-titlebar-close + .widget-title, #widgets .panel .close + .widget-title, #widgets .plan .close + .widget-title, #widgets .panel button.ui-dialog-titlebar-close + .widget-title, #widgets .plan button.ui-dialog-titlebar-close + .widget-title {
  max-width: 95%;
}

.panel-transparent {
  margin-bottom: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.panel-form {
  padding: 10px 15px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
}
@media (min-width: 768px) {
  .panel-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .panel-form .form-control, .panel-form div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .panel-form input {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .panel-form .form-control-static {
    display: inline-block;
  }
  .panel-form .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .panel-form .input-group .input-group-addon,
  .panel-form .input-group .input-group-btn,
  .panel-form .input-group .form-control,
  .panel-form .input-group div.dataTables_wrapper div.dataTables_filter input,
  div.dataTables_wrapper div.dataTables_filter .panel-form .input-group input {
    width: auto;
  }
  .panel-form .input-group > .form-control, .panel-form div.dataTables_wrapper div.dataTables_filter .input-group > input, div.dataTables_wrapper div.dataTables_filter .panel-form .input-group > input {
    width: 100%;
  }
  .panel-form .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .panel-form .radio,
  .panel-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .panel-form .radio label,
  .panel-form .checkbox label {
    padding-left: 0;
  }
  .panel-form .radio input[type=radio],
  .panel-form .checkbox input[type=checkbox] {
    position: relative;
    margin-left: 0;
  }
  .panel-form .has-feedback .form-control-feedback, .panel-form .has-feedback .form-group.search:before,
  .panel-form .has-feedback .bs-searchbox:before {
    top: 0;
  }
}
.panel-form .form-control, .panel-form div.dataTables_wrapper div.dataTables_filter input, div.dataTables_wrapper div.dataTables_filter .panel-form input {
  width: 100%;
}
.panel-form.panel-form-right {
  float: right;
  padding: 0;
  max-width: 120px;
}
@media (max-width: 767px) {
  .panel-form .form-group {
    margin-bottom: 5px;
  }
  .panel-form .form-group:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 768px) {
  .panel-form {
    width: auto;
    border: 0;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 3.5px;
    margin-bottom: 3.5px;
    display: inline-block;
  }
}

#loading,
.loading {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 99999;
  color: #2563eb;
}

#loading {
  display: table;
  vertical-align: middle;
  background-color: #1e293b;
}

#loading .backdrop,
.loading .backdrop {
  background-color: #1e293b;
  opacity: 0.5;
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
#loading .outter,
.loading .outter {
  display: table;
  vertical-align: middle;
  height: 100%;
  width: 100%;
}
#loading .middle,
.loading .middle {
  display: table-cell;
  vertical-align: middle;
}
#loading .inner,
.loading .inner {
  margin-left: auto;
  margin-right: auto;
}

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg) scale(1);
    transform: rotate(0deg) scale(1);
  }
  50% {
    -webkit-transform: rotate(180deg) scale(0.6);
    transform: rotate(180deg) scale(0.6);
  }
  100% {
    -webkit-transform: rotate(360deg) scale(1);
    transform: rotate(360deg) scale(1);
  }
}
.loader {
  display: block;
  position: relative;
  margin: auto;
  height: 35px;
  width: 35px;
}
.loader:before, .loader:after {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  content: " ";
  position: absolute;
  left: 0px;
  top: 0px;
  border: 2px solid #2563eb;
  border-bottom-color: transparent;
  border-top-color: transparent;
  border-radius: 100%;
  height: 35px;
  width: 35px;
  -webkit-animation: rotate 1s 0s ease-in-out infinite;
  animation: rotate 1s 0s ease-in-out infinite;
}
.loader:after {
  display: inline-block;
  top: 10px;
  left: 10px;
  width: 15px;
  height: 15px;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  border-color: #2563eb transparent;
  -webkit-animation-direction: reverse;
  animation-direction: reverse;
}
.loader.large {
  height: 60px;
  width: 60px;
}
.loader.large:before {
  height: 60px;
  width: 60px;
  border-width: 3px;
}
.loader.large:after {
  top: 10px;
  left: 10px;
  width: 40px;
  height: 40px;
  border-width: 3px;
}
.loader.small {
  height: 20px;
  width: 20px;
}
.loader.small:before {
  height: 20px;
  width: 20px;
  border-width: 1px;
}
.loader.small:after {
  top: 5px;
  left: 5px;
  width: 10px;
  height: 10px;
  border-width: 1px;
}

body.sign-in-layout {
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: fixed;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
body.sign-in-layout .sign-in-text {
  color: #fff;
}
body.sign-in-layout .panel, body.sign-in-layout .plan {
  position: relative;
  background: none;
  -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
}
body.sign-in-layout .panel-body, body.sign-in-layout .plan .plan-body, .plan body.sign-in-layout .plan-body, body.sign-in-layout #widgets .widget-body, #widgets body.sign-in-layout .widget-body {
  position: relative;
}
body.sign-in-layout .panel-background {
  border-radius: 10px;
  background: #fff;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 1;
}
body.sign-in-layout .app-links {
  margin: 20px 0;
}

.ui-dialog {
  position: absolute;
}

.ui-dialog-titlebar.ui-widget-header {
  cursor: move;
}

.ui-dialog.ui-widget.ui-widget-content {
  z-index: 1046;
  outline: none;
  border-top-right-radius: 12px;
  border-top-left-radius: 12px;
}

.plan .plan-body .icon.check {
  color: #2563eb;
  line-height: 1;
  font-size: 1.6em;
}
.plan .plan-body .icon.check.disabled {
  opacity: 0.5;
  filter: alpha(opacity=50);
}
#bottombar {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 997;
  width: 100%;
  max-width: 100%;
}

#bottom-history {
  display: none;
  width: 100%;
  max-height: calc(100% - 60px);
  background: #1e293b;
  z-index: 998;
}
#bottom-history .bottom-history-header:before, #bottom-history .bottom-history-header:after {
  content: " ";
  display: table;
}
#bottom-history .bottom-history-header:after {
  clear: both;
}
#bottom-history .bottom-history-header {
  background: #0f172a;
}
#bottom-history #graph {
  position: relative;
  /*
  #graph_sensors {
    position: absolute;
    bottom: 100%;
    left: 0;
    @extend .pull-left;
  }
  */
}
#bottom-history .graph-controls {
  background: #1e293b;
}
#bottom-history #hoverdata,
#bottom-history #hoverdata-date {
  margin: 10px;
  color: #94a3b8;
}

.graph-1-wrap {
  width: 100%;
  height: 150px;
  overflow-x: hidden;
  overflow-y: hidden;
}

.graph-1-wrap .graph-1 {
  width: 100%;
  height: 150px;
}

#conversations {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 999999;
}
#conversations .conversation {
  width: 250px;
  margin-right: 10px;
  display: inline-block;
}

#conversation .close, #conversation button.ui-dialog-titlebar-close {
  display: none;
}
#conversation .messages {
  max-height: 350px;
}

.conversation .panel, .conversation .plan {
  margin-bottom: 0;
}

.messages {
  padding: 15px;
  margin-top: 0;
  margin-bottom: 0;
  list-style: none;
  max-height: 250px;
  min-height: 250px;
  overflow-y: scroll;
}
.messages .message {
  margin-bottom: 10px;
}
.messages .message:before, .messages .message:after {
  content: " ";
  display: table;
}
.messages .message:after {
  clear: both;
}
.messages .message .text {
  display: inline-block;
  padding: 5px 10px;
  background: #334155;
  color: #f1f5f9;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px;
  border-radius: 20px;
}
.messages .message .author {
  display: block;
  padding-left: 10px;
  font-size: 10px;
  color: #94a3b8;
}
.messages .message.me {
  text-align: right;
}

#dashboard {
  min-height: calc(100vh - 20px);
}
#dashboard .container {
  width: 90%;
}
#dashboard .modal-content {
  min-height: calc(100vh - 20px);
  background: #363636;
}
#dashboard .dashboard-block.auto-height .panel.panel-default .panel-body, #dashboard .dashboard-block.auto-height #widgets .panel.widget .panel-body, #widgets #dashboard .dashboard-block.auto-height .panel.widget .panel-body, #dashboard .dashboard-block.auto-height .plan .panel-body, #dashboard .dashboard-block.auto-height .panel.panel-default #widgets .widget-body, #widgets #dashboard .dashboard-block.auto-height .panel.panel-default .widget-body, #dashboard .dashboard-block.auto-height #widgets .panel.widget .widget-body, #widgets #dashboard .dashboard-block.auto-height .panel.widget .widget-body, #dashboard .dashboard-block.auto-height #widgets .plan.widget .widget-body, #dashboard .dashboard-block.auto-height .plan #widgets .widget-body, #widgets #dashboard .dashboard-block.auto-height .plan .widget-body, .plan #dashboard .dashboard-block.auto-height .panel.panel-default .plan-body, .plan #dashboard .dashboard-block.auto-height #widgets .panel.widget .plan-body, .plan #widgets #dashboard .dashboard-block.auto-height .panel.widget .plan-body, #dashboard .dashboard-block.auto-height .plan .plan-body {
  height: auto;
}
#dashboard .dashboard-block .panel.panel-default, #dashboard .dashboard-block #widgets .panel.widget, #widgets #dashboard .dashboard-block .panel.widget, #dashboard .dashboard-block .plan {
  border: 0;
}
#dashboard .dashboard-block .panel.panel-default .panel-heading, #dashboard .dashboard-block #widgets .panel.widget .panel-heading, #widgets #dashboard .dashboard-block .panel.widget .panel-heading, #dashboard .dashboard-block .plan .panel-heading, #dashboard .dashboard-block .panel.panel-default #widgets .widget-heading, #widgets #dashboard .dashboard-block .panel.panel-default .widget-heading, #dashboard .dashboard-block #widgets .panel.widget .widget-heading, #widgets #dashboard .dashboard-block .panel.widget .widget-heading, #dashboard .dashboard-block #widgets .plan.widget .widget-heading, #dashboard .dashboard-block .plan #widgets .widget-heading, #widgets #dashboard .dashboard-block .plan .widget-heading, .plan #dashboard .dashboard-block .panel.panel-default .plan-heading, .plan #dashboard .dashboard-block #widgets .panel.widget .plan-heading, .plan #widgets #dashboard .dashboard-block .panel.widget .plan-heading, #dashboard .dashboard-block .plan .plan-heading {
  border: 0;
}
#dashboard .dashboard-block .panel.panel-default .panel-heading .panel-title, #dashboard .dashboard-block #widgets .panel.widget .panel-heading .panel-title, #widgets #dashboard .dashboard-block .panel.widget .panel-heading .panel-title, #dashboard .dashboard-block .plan .panel-heading .panel-title, #dashboard .dashboard-block .panel.panel-default #widgets .widget-heading .panel-title, #widgets #dashboard .dashboard-block .panel.panel-default .widget-heading .panel-title, #dashboard .dashboard-block #widgets .panel.widget .widget-heading .panel-title, #widgets #dashboard .dashboard-block .panel.widget .widget-heading .panel-title, #dashboard .dashboard-block #widgets .plan.widget .widget-heading .panel-title, #dashboard .dashboard-block .plan #widgets .widget-heading .panel-title, #widgets #dashboard .dashboard-block .plan .widget-heading .panel-title, .plan #dashboard .dashboard-block .panel.panel-default .plan-heading .panel-title, .plan #dashboard .dashboard-block #widgets .panel.widget .plan-heading .panel-title, .plan #widgets #dashboard .dashboard-block .panel.widget .plan-heading .panel-title, #dashboard .dashboard-block .plan .plan-heading .panel-title, #dashboard .dashboard-block .panel.panel-default .panel-heading #widgets .widget-title, #widgets #dashboard .dashboard-block .panel.panel-default .panel-heading .widget-title, #dashboard .dashboard-block #widgets .panel.widget .panel-heading .widget-title, #widgets #dashboard .dashboard-block .panel.widget .panel-heading .widget-title, #dashboard .dashboard-block #widgets .plan.widget .panel-heading .widget-title, #dashboard .dashboard-block .plan .panel-heading #widgets .widget-title, #widgets #dashboard .dashboard-block .plan .panel-heading .widget-title, #dashboard .dashboard-block .panel.panel-default #widgets .widget-heading .widget-title, #widgets #dashboard .dashboard-block .panel.panel-default .widget-heading .widget-title, #dashboard .dashboard-block #widgets .panel.widget .widget-heading .widget-title, #widgets #dashboard .dashboard-block .panel.widget .widget-heading .widget-title, #dashboard .dashboard-block #widgets .plan.widget .widget-heading .widget-title, #dashboard .dashboard-block .plan #widgets .widget-heading .widget-title, #widgets #dashboard .dashboard-block .plan .widget-heading .widget-title, .plan #dashboard .dashboard-block .panel.panel-default .plan-heading #widgets .widget-title, #widgets .plan #dashboard .dashboard-block .panel.panel-default .plan-heading .widget-title, #dashboard .dashboard-block #widgets .panel.widget .plan .plan-heading .widget-title, .plan #dashboard .dashboard-block #widgets .panel.widget .plan-heading .widget-title, .plan #widgets #dashboard .dashboard-block .panel.widget .plan-heading .widget-title, #dashboard .dashboard-block #widgets .plan.widget .plan-heading .widget-title, #dashboard .dashboard-block .plan .plan-heading #widgets .widget-title, #widgets #dashboard .dashboard-block .plan .plan-heading .widget-title, #dashboard .dashboard-block .panel.panel-default .panel-heading .plan .plan-title, .plan #dashboard .dashboard-block .panel.panel-default .panel-heading .plan-title, #dashboard .dashboard-block #widgets .panel.widget .panel-heading .plan .plan-title, .plan #dashboard .dashboard-block #widgets .panel.widget .panel-heading .plan-title, #widgets #dashboard .dashboard-block .panel.widget .panel-heading .plan .plan-title, .plan #widgets #dashboard .dashboard-block .panel.widget .panel-heading .plan-title, #dashboard .dashboard-block .plan .panel-heading .plan-title, #dashboard .dashboard-block .panel.panel-default #widgets .widget-heading .plan .plan-title, .plan #dashboard .dashboard-block .panel.panel-default #widgets .widget-heading .plan-title, #widgets #dashboard .dashboard-block .panel.panel-default .widget-heading .plan .plan-title, .plan #widgets #dashboard .dashboard-block .panel.panel-default .widget-heading .plan-title, #dashboard .dashboard-block #widgets .panel.widget .widget-heading .plan .plan-title, .plan #dashboard .dashboard-block #widgets .panel.widget .widget-heading .plan-title, #widgets #dashboard .dashboard-block .panel.widget .widget-heading .plan .plan-title, .plan #widgets #dashboard .dashboard-block .panel.widget .widget-heading .plan-title, #dashboard .dashboard-block #widgets .plan.widget .widget-heading .plan-title, #dashboard .dashboard-block .plan #widgets .widget-heading .plan-title, #widgets #dashboard .dashboard-block .plan .widget-heading .plan-title, .plan #dashboard .dashboard-block .panel.panel-default .plan-heading .plan-title, .plan #dashboard .dashboard-block #widgets .panel.widget .plan-heading .plan-title, .plan #widgets #dashboard .dashboard-block .panel.widget .plan-heading .plan-title, #dashboard .dashboard-block .plan .plan-heading .plan-title {
  float: none;
}
#dashboard .dashboard-block .panel.panel-default .panel-body, #dashboard .dashboard-block #widgets .panel.widget .panel-body, #widgets #dashboard .dashboard-block .panel.widget .panel-body, #dashboard .dashboard-block .plan .panel-body, #dashboard .dashboard-block .panel.panel-default #widgets .widget-body, #widgets #dashboard .dashboard-block .panel.panel-default .widget-body, #dashboard .dashboard-block #widgets .panel.widget .widget-body, #widgets #dashboard .dashboard-block .panel.widget .widget-body, #dashboard .dashboard-block #widgets .plan.widget .widget-body, #dashboard .dashboard-block .plan #widgets .widget-body, #widgets #dashboard .dashboard-block .plan .widget-body, .plan #dashboard .dashboard-block .panel.panel-default .plan-body, .plan #dashboard .dashboard-block #widgets .panel.widget .plan-body, .plan #widgets #dashboard .dashboard-block .panel.widget .plan-body, #dashboard .dashboard-block .plan .plan-body {
  height: 340px;
  overflow: auto;
}
#dashboard .dashboard-block table .legendColorBox {
  padding: 5px;
}
#dashboard .dashboard-block table .legendLabel {
  padding: 5px;
  font-size: 12px !important;
  font-weight: bold;
}
#dashboard .dashboard-block .stat-box {
  display: block;
  padding: 15px;
  margin-bottom: 17px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: #202020;
  text-align: center;
}
#dashboard .dashboard-block .stat-box .count {
  font-weight: bold;
  font-size: larger;
}
#dashboard .dashboard-block a.link {
  color: #f1f5f9;
}
#dashboard .dashboard-block .link {
  text-decoration: underline;
  cursor: pointer;
}
#dashboard .dashboard-block .link a {
  color: #f1f5f9;
}

#block_device_overview .panel-transparent > .panel-body, #block_device_overview #widgets .panel-transparent > .widget-body, #widgets #block_device_overview .panel-transparent > .widget-body, #block_device_overview .plan .panel-transparent > .plan-body, .plan #block_device_overview .panel-transparent > .plan-body {
  padding-top: 0;
}

#dashboard .options-dropdown, #setup-form-dashboard .options-dropdown {
  margin: 0 15px 0 15px;
}
#dashboard .options-dropdown hr, #setup-form-dashboard .options-dropdown hr {
  margin-top: 0;
}

.dashboard-widget {
  background: #444444;
  padding: 10px 5px 8px 10px;
  margin-bottom: 10px;
  height: 38px;
}

.bootstrap-select.hide-picker {
  height: 0;
}
.bootstrap-select.hide-picker .dropdown-toggle {
  display: none;
}

.thumbnail-preview {
  position: relative;
  z-index: 0;
  cursor: pointer;
}
.thumbnail-preview > .icon {
  font-size: 16px;
  padding: 2px;
}
.thumbnail-preview .full-preview {
  position: absolute;
  background-color: white;
  padding: 5px;
  right: 15px;
  top: 15px;
  border: 1px solid gray;
  visibility: hidden;
  color: black;
  text-decoration: none;
}
.thumbnail-preview .full-preview img {
  max-width: 400px;
  max-height: 400px;
}
.thumbnail-preview:hover {
  background-color: transparent;
  z-index: 50;
}
.thumbnail-preview:hover .full-preview {
  visibility: visible;
}

table.dataTable {
  clear: both;
  margin-top: 6px !important;
  margin-bottom: 6px !important;
  max-width: none !important;
  border-collapse: separate !important;
}
table.dataTable.nowrap th,
table.dataTable.nowrap td {
  white-space: nowrap;
}
table.dataTable td,
table.dataTable th {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
table.dataTable td.dataTables_empty,
table.dataTable th.dataTables_empty {
  text-align: center;
}
table.dataTable thead > tr > th:active,
table.dataTable thead > tr > td:active {
  outline: none;
}

div.dataTables_wrapper .bottom {
  border-top: 1px solid #334155;
}
div.dataTables_wrapper div.dataTables_length label {
  font-weight: normal;
  text-align: left;
  white-space: nowrap;
}
div.dataTables_wrapper div.dataTables_length select {
  width: 75px;
  display: inline-block;
}
div.dataTables_wrapper div.dataTables_filter {
  text-align: right;
}
div.dataTables_wrapper div.dataTables_filter label {
  font-weight: normal;
  white-space: nowrap;
  text-align: left;
}
div.dataTables_wrapper div.dataTables_filter input {
  margin-left: 0.5em;
  display: inline-block;
  width: auto;
}
div.dataTables_wrapper div.dataTables_info {
  padding-top: 8px;
  white-space: nowrap;
}
div.dataTables_wrapper div.dataTables_paginate ul.pagination {
  margin: 2px 0;
  white-space: nowrap;
}
div.dataTables_wrapper div.dataTables_processing {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  margin-left: -100px;
  margin-top: -26px;
  text-align: center;
  padding: 1em 0;
}
@media screen and (max-width: 767px) {
  div.dataTables_wrapper div.dataTables_length,
  div.dataTables_wrapper div.dataTables_filter,
  div.dataTables_wrapper div.dataTables_info,
  div.dataTables_wrapper div.dataTables_paginate {
    text-align: center;
  }
}

div.table-responsive > div.dataTables_wrapper > div.row, div.table-responsive > div.dataTables_wrapper > div.checkboxes, div.table-responsive > div.dataTables_wrapper > div.plans {
  margin: 0;
}

div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:first-child, div.table-responsive > div.dataTables_wrapper > div.checkboxes > div[class^=col-]:first-child, div.table-responsive > div.dataTables_wrapper > div.plans > div[class^=col-]:first-child {
  padding-left: 0;
}

div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:last-child, div.table-responsive > div.dataTables_wrapper > div.checkboxes > div[class^=col-]:last-child, div.table-responsive > div.dataTables_wrapper > div.plans > div[class^=col-]:last-child {
  padding-right: 0;
}

.dataTables_paginate {
  float: right;
  padding-left: 0;
  margin: 7px 0;
  border-radius: 6px;
}
.dataTables_paginate > span {
  line-height: 1.428571429;
}
.dataTables_paginate .paginate_button {
  padding: 6px 12px;
  line-height: 1.428571429;
  text-decoration: none;
  color: #f1f5f9;
  background-color: #1e293b;
  border: 1px solid transparent;
  margin-left: -1px;
}
.dataTables_paginate .paginate_button:first-child {
  margin-left: 0;
  border-bottom-left-radius: 6px;
  border-top-left-radius: 6px;
}
.dataTables_paginate .paginate_button:last-child {
  border-bottom-right-radius: 6px;
  border-top-right-radius: 6px;
}
.dataTables_paginate .paginate_button:hover {
  cursor: pointer;
}
.dataTables_paginate .paginate_button:hover, .dataTables_paginate .paginate_button:focus {
  z-index: 3;
  color: #f1f5f9;
  background-color: #0f172a;
  border-color: transparent;
}
.dataTables_paginate .paginate_button.current, .dataTables_paginate .paginate_button.current:hover, .dataTables_paginate .paginate_button.current:focus {
  z-index: 2;
  color: #2563eb;
  background-color: #0f172a;
  border-color: transparent;
  cursor: default;
}
.dataTables_paginate .paginate_button.disabled, .dataTables_paginate .paginate_button.disabled:hover, .dataTables_paginate .paginate_button.disabled:focus {
  color: #cbd5e1;
  background-color: #1e293b;
  border-color: transparent;
  cursor: not-allowed;
}

.navbar-main, #header .main-navbar {
  background-color: hsl(221.2121212121, 30%, 13%) !important;
  border-color: hsl(221.2121212121, 30%, 13%) !important;
  box-shadow: inset 0 -2px 0 #2563eb, 0 1px 12px rgba(0, 0, 0, 0.35);
}

.navbar-main .navbar-brand, #header .main-navbar .navbar-brand {
  color: #f8fafc !important;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.navbar-main .navbar-brand:hover, #header .main-navbar .navbar-brand:hover {
  color: #93c5fd !important;
}

.navbar-main .navbar-nav > li > a, #header .main-navbar .navbar-nav > li > a {
  color: #94a3b8 !important;
  font-weight: 500;
  transition: color 0.15s, background-color 0.15s, box-shadow 0.15s;
}

.navbar-main .navbar-nav > li > a:hover, #header .main-navbar .navbar-nav > li > a:hover {
  color: #f8fafc !important;
  background-color: rgba(255, 255, 255, 0.06) !important;
}

.navbar-main .navbar-nav > li > a .icon, #header .main-navbar .navbar-nav > li > a .icon {
  color: inherit !important;
  opacity: 0.75;
}

.navbar-main .navbar-nav > .active > a, #header .main-navbar .navbar-nav > .active > a,
.navbar-main .navbar-nav > .active > a:hover {
  color: #f8fafc !important;
  background-color: rgba(37, 99, 235, 0.18) !important;
  box-shadow: inset 0 -2px 0 #2563eb;
}

.navbar-main .navbar-nav > .active > a .icon, #header .main-navbar .navbar-nav > .active > a .icon,
.navbar-main .navbar-nav > .active > a:hover .icon {
  color: #93c5fd !important;
  opacity: 1;
}

.navbar-main .navbar-nav > .open > a, #header .main-navbar .navbar-nav > .open > a,
.navbar-main .navbar-nav > .open > a:hover {
  color: #f8fafc !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
}

.navbar-main .dropdown-menu, #header .main-navbar .dropdown-menu, .navbar-main .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers .navbar-main .leaflet-control-layers-list, #header .leaflet-control-layers .main-navbar .leaflet-control-layers-list, #header .main-navbar .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers #header .main-navbar .leaflet-control-layers-list {
  background: hsl(221.2121212121, 30%, 19%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.45);
  border-radius: 10px;
  padding: 6px;
}

.navbar-main .dropdown-menu > li > a, #header .main-navbar .dropdown-menu > li > a, .navbar-main .leaflet-control-layers .leaflet-control-layers-list > li > a, .leaflet-control-layers .navbar-main .leaflet-control-layers-list > li > a, #header .leaflet-control-layers .main-navbar .leaflet-control-layers-list > li > a, #header .main-navbar .leaflet-control-layers .leaflet-control-layers-list > li > a, .leaflet-control-layers #header .main-navbar .leaflet-control-layers-list > li > a {
  color: #94a3b8;
  padding: 8px 14px;
  font-size: 12px;
  border-radius: 6px;
  transition: color 0.12s, background-color 0.12s;
}

.navbar-main .dropdown-menu > li > a:hover, #header .main-navbar .dropdown-menu > li > a:hover, .navbar-main .leaflet-control-layers .leaflet-control-layers-list > li > a:hover, .leaflet-control-layers .navbar-main .leaflet-control-layers-list > li > a:hover, #header .leaflet-control-layers .main-navbar .leaflet-control-layers-list > li > a:hover, #header .main-navbar .leaflet-control-layers .leaflet-control-layers-list > li > a:hover, .leaflet-control-layers #header .main-navbar .leaflet-control-layers-list > li > a:hover {
  background-color: rgba(37, 99, 235, 0.22);
  color: #f8fafc;
}

.navbar-main .dropdown-menu .divider, #header .main-navbar .dropdown-menu .divider, .navbar-main .leaflet-control-layers .leaflet-control-layers-list .divider, .leaflet-control-layers .navbar-main .leaflet-control-layers-list .divider, #header .leaflet-control-layers .main-navbar .leaflet-control-layers-list .divider, #header .main-navbar .leaflet-control-layers .leaflet-control-layers-list .divider, .leaflet-control-layers #header .main-navbar .leaflet-control-layers-list .divider {
  background-color: rgba(255, 255, 255, 0.1);
  margin: 6px 4px;
}

body {
  background-color: #0f172a !important;
}

.admin-layout > .content {
  background-color: #0f172a;
}

.panel, .plan {
  border: none !important;
  border-radius: 10px !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08), 0 4px 16px rgba(0, 0, 0, 0.05) !important;
  overflow: hidden;
}

.panel .panel-heading, .plan .panel-heading, .panel #widgets .widget-heading, #widgets .panel .widget-heading, .plan #widgets .widget-heading, #widgets .plan .widget-heading, .plan .plan-heading {
  background-color: #1e293b !important;
  border-bottom: 1px solid #0f172a !important;
  border-radius: 10px 10px 0 0 !important;
  padding: 0 !important;
}

.panel .panel-title, .plan .panel-title, .panel #widgets .widget-title, #widgets .panel .widget-title, .plan #widgets .widget-title, #widgets .plan .widget-title, .plan .plan-title,
.panel .panel-title-overflow,
.plan .panel-title-overflow {
  font-size: 13px !important;
  font-weight: 600;
  color: #f1f5f9 !important;
  padding: 12px 16px !important;
}

.panel .panel-body, .plan .panel-body, .panel #widgets .widget-body, #widgets .panel .widget-body, .plan #widgets .widget-body, #widgets .plan .widget-body, .plan .plan-body {
  background: #1e293b;
  padding: 16px;
}

.panel .panel-footer, .plan .panel-footer, .plan .plan-footer {
  background: #0f172a !important;
  border-top: 1px solid #0f172a !important;
  border-radius: 0 0 10px 10px !important;
}

.table.table-list > thead > tr {
  background-color: #0f172a !important;
  color: #94a3b8 !important;
}

.table.table-list > thead > tr > th {
  font-weight: 600 !important;
  font-size: 11px !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 10px 8px !important;
  border-bottom: 1px solid #334155 !important;
}

.table.table-list > tbody > tr {
  transition: background 0.1s;
}

.table.table-list > tbody > tr > td {
  padding: 11px 8px !important;
  border-top: 1px solid #0f172a !important;
  color: #e2e8f0;
  vertical-align: middle !important;
  font-size: 12px;
}

.table.table-list > tbody > tr:hover > td {
  background-color: #0f172a !important;
}

.btn {
  border-radius: 6px !important;
  font-weight: 500;
  transition: all 0.15s;
  letter-spacing: 0.01em;
}

.btn-primary, .btn-action {
  background-color: #2563eb !important;
  border-color: #2563eb !important;
  box-shadow: 0 1px 3px rgba(37, 99, 235, 0.3);
}

.btn-primary:hover, .btn-action:hover {
  background-color: rgb(7.619047619%, 31.2380952381%, 83.0476190476%) !important;
  border-color: rgb(7.619047619%, 31.2380952381%, 83.0476190476%) !important;
  box-shadow: 0 3px 8px rgba(37, 99, 235, 0.4);
}

.btn-default {
  background: #1e293b !important;
  border-color: #334155 !important;
  color: #cbd5e1 !important;
}

.btn-default:hover {
  background: #0f172a !important;
  border-color: #475569 !important;
}

.btn-success {
  border-radius: 6px !important;
}

.btn-danger {
  border-radius: 6px !important;
}

.btn-warning {
  border-radius: 6px !important;
}

.btn-info {
  border-radius: 6px !important;
}

.form-control, div.dataTables_wrapper div.dataTables_filter input {
  border: 1px solid #334155 !important;
  border-radius: 6px !important;
  background-color: #1e293b !important;
  color: #f1f5f9 !important;
  box-shadow: none !important;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.form-control:focus, div.dataTables_wrapper div.dataTables_filter input:focus {
  border-color: #2563eb !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12) !important;
  background-color: #1e293b !important;
}

.input-group-addon {
  background-color: #0f172a !important;
  border: 1px solid #334155 !important;
  border-radius: 6px !important;
  color: #94a3b8 !important;
}

.modal-content {
  border: none !important;
  border-radius: 12px !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.18) !important;
}

.modal-header, .ui-dialog-titlebar.ui-widget-header {
  background: #1e293b !important;
  border-bottom: 1px solid #0f172a !important;
  padding: 16px 20px !important;
}

.modal-header .modal-title, .ui-dialog-titlebar.ui-widget-header .modal-title, .modal-header .ui-dialog-title, .ui-dialog-titlebar.ui-widget-header .ui-dialog-title {
  font-size: 14px !important;
  font-weight: 600;
  color: #f1f5f9;
}

.modal-body {
  padding: 20px !important;
  background: #1e293b;
}

.modal-footer {
  background: #0f172a !important;
  border-top: 1px solid #0f172a !important;
  padding: 12px 20px !important;
}

.sidebar .sidebar-content {
  background: #1e293b !important;
  border-right: 1px solid #334155 !important;
}

.sidebar .tab-pane-header {
  background: #0f172a;
  border-bottom: 1px solid #334155;
  padding: 10px 12px;
}

.sidebar .nav-tabs {
  background: #0f172a;
  border-bottom: 1px solid #334155;
}

.sidebar .nav-tabs > li > a {
  color: #94a3b8;
  border: none;
  padding: 10px 14px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  transition: color 0.15s;
}

.sidebar .nav-tabs > li > a:hover {
  color: #2563eb;
}

.sidebar .nav-tabs > li.active > a {
  color: #2563eb !important;
  background: #1e293b !important;
  border: none !important;
  border-bottom: 2px solid #2563eb !important;
}

.dropdown-menu, .leaflet-control-layers .leaflet-control-layers-list {
  border-radius: 8px !important;
  border: 1px solid #334155 !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1) !important;
  padding: 6px 0 !important;
}

.dropdown-menu > li > a, .leaflet-control-layers .leaflet-control-layers-list > li > a {
  padding: 8px 16px !important;
  font-size: 12px;
  color: #cbd5e1;
  transition: background 0.1s;
}

.dropdown-menu > li > a:hover, .leaflet-control-layers .leaflet-control-layers-list > li > a:hover {
  background-color: #0f172a !important;
  color: #f1f5f9 !important;
}

.badge {
  border-radius: 20px !important;
  font-weight: 600;
  font-size: 10px;
  padding: 3px 8px !important;
}

.label {
  border-radius: 4px !important;
  font-weight: 600;
  font-size: 10px;
  padding: 3px 7px !important;
}

.pagination > li > a,
.pagination > li > span {
  border-radius: 6px !important;
  margin: 0 2px;
  border: 1px solid #334155 !important;
  color: #cbd5e1;
  font-size: 12px;
  transition: all 0.15s;
}

.pagination > li > a:hover,
.pagination > li > span:hover {
  background-color: #0f172a !important;
  border-color: #475569 !important;
}

.pagination > .active > a,
.pagination > .active > span {
  background-color: #2563eb !important;
  border-color: #2563eb !important;
  color: #ffffff !important;
}

::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: #475569;
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

#widgets .btn-collapse {
  width: 52px;
  height: 18px;
  line-height: 18px;
  background: #1e293b;
  border-radius: 8px 8px 0 0;
  box-shadow: 0 -3px 10px rgba(0, 0, 0, 0.12);
  color: #94a3b8;
  transition: background 0.2s, color 0.2s, height 0.2s;
  left: auto;
  right: 10%;
}

#widgets .btn-collapse:before, #widgets .btn-collapse:after {
  display: none;
}

#widgets .btn-collapse i {
  font-size: 10px;
  line-height: 18px;
}

#widgets .btn-collapse:hover {
  background: #2563eb;
  color: #ffffff;
  height: 22px;
}

.sidebar .btn-collapse {
  width: 18px;
  height: 52px;
  line-height: 52px;
  background: #1e293b;
  border-radius: 0 8px 8px 0;
  box-shadow: 3px 0 10px rgba(0, 0, 0, 0.12);
  color: #94a3b8;
  transition: background 0.2s, color 0.2s, width 0.2s;
}

.sidebar .btn-collapse:before, .sidebar .btn-collapse:after {
  display: none;
}

.sidebar .btn-collapse i {
  font-size: 10px;
  line-height: 52px;
}

.sidebar .btn-collapse:hover {
  background: #2563eb;
  color: #ffffff;
  width: 22px;
}

@keyframes marquee-scroll {
  0% {
    transform: translateX(0);
  }
  30% {
    transform: translateX(0);
  }
  70% {
    transform: translateX(var(--marquee-offset, -60%));
  }
  100% {
    transform: translateX(var(--marquee-offset, -60%));
  }
}
.group-list > li > .name,
[data-device=name] {
  overflow: hidden;
  white-space: nowrap;
}

.group-list > li [data-device=name] {
  display: inline-block;
  white-space: nowrap;
}

.group-list > li:hover [data-device=name] {
  animation: marquee-scroll 4s ease-in-out infinite alternate;
}

.sign-in-page .panel, .sign-in-page .plan,
.sign-in-page .sign-in-panel,
.login-page .panel,
.login-page .plan,
.login-page .sign-in-panel {
  border-radius: 16px !important;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.18) !important;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2NvbG91cmluZy9fYmFzZS1kYXJrLnNjc3MiLCIuLi9sYXlvdXQvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vbGlicmFyaWVzL19ib290c3RyYXAuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX25vcm1hbGl6ZS5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fcHJpbnQuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX3NjYWZmb2xkaW5nLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fdmVuZG9yLXByZWZpeGVzLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL192YXJpYWJsZXMuc2NzcyIsIl9tb2Rlcm4tZGFyay5zY3NzIiwiLi4vY29sb3VyaW5nL19tYWluLW1vZGVybi1ibHVlLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fdGFiLWZvY3VzLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9faW1hZ2Uuc2NzcyIsIl9tb2Rlcm4tY29tbW9uLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL190eXBlLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fdGV4dC1vdmVyZmxvdy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fZ3JpZC5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX2dyaWQuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fdGFibGVzLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fdGFibGUtcm93LnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL19mb3Jtcy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL19idXR0b25zLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fYnV0dG9ucy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX29wYWNpdHkuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX2NvbXBvbmVudC1hbmltYXRpb25zLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL19kcm9wZG93bnMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL19uYXYtZGl2aWRlci5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX3Jlc2V0LWZpbHRlci5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fYnV0dG9uLWdyb3Vwcy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX2lucHV0LWdyb3Vwcy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fbmF2cy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fbmF2YmFyLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fbmF2LXZlcnRpY2FsLWFsaWduLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fbGFiZWxzLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fbGFiZWxzLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL19iYWRnZXMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX3RodW1ibmFpbHMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX2FsZXJ0cy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX2FsZXJ0cy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fcHJvZ3Jlc3MtYmFycy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX3Byb2dyZXNzLWJhci5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fbWVkaWEuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX2xpc3QtZ3JvdXAuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL19wYW5lbHMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL19wYW5lbHMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX2Nsb3NlLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL19tb2RhbHMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX3Rvb2x0aXAuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL191dGlsaXRpZXMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL19jZW50ZXItYmxvY2suc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL19oaWRlLXRleHQuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX3Jlc3BvbnNpdmUtdXRpbGl0aWVzLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fcmVzcG9uc2l2ZS12aXNpYmlsaXR5LnNjc3MiLCIuLi9saWJyYXJpZXMvX2pxdWVyeS11aS5zY3NzIiwiLi4vbGlicmFyaWVzL2FuaW1hdGUvX2FuaW1hdGUuc2NzcyIsIi4uL2xpYnJhcmllcy9mb250LWF3ZXNvbWUvX2ZvbnQtYXdlc29tZS5zY3NzIiwiLi4vbGlicmFyaWVzL2ZvbnQtYXdlc29tZS9fcGF0aC5zY3NzIiwiLi4vbGlicmFyaWVzL2ZvbnQtYXdlc29tZS9fY29yZS5zY3NzIiwiLi4vbGlicmFyaWVzL2ZvbnQtYXdlc29tZS9fbGFyZ2VyLnNjc3MiLCIuLi9saWJyYXJpZXMvZm9udC1hd2Vzb21lL19maXhlZC13aWR0aC5zY3NzIiwiLi4vbGlicmFyaWVzL2ZvbnQtYXdlc29tZS9fbGlzdC5zY3NzIiwiLi4vbGlicmFyaWVzL2ZvbnQtYXdlc29tZS9fdmFyaWFibGVzLnNjc3MiLCIuLi9saWJyYXJpZXMvZm9udC1hd2Vzb21lL19ib3JkZXJlZC1wdWxsZWQuc2NzcyIsIi4uL2xpYnJhcmllcy9mb250LWF3ZXNvbWUvX2FuaW1hdGVkLnNjc3MiLCIuLi9saWJyYXJpZXMvZm9udC1hd2Vzb21lL19yb3RhdGVkLWZsaXBwZWQuc2NzcyIsIi4uL2xpYnJhcmllcy9mb250LWF3ZXNvbWUvX21peGlucy5zY3NzIiwiLi4vbGlicmFyaWVzL2ZvbnQtYXdlc29tZS9fc3RhY2tlZC5zY3NzIiwiLi4vbGlicmFyaWVzL2ZvbnQtYXdlc29tZS9faWNvbnMuc2NzcyIsIi4uL2xpYnJhcmllcy9fZm9udC1jdXN0b20uc2NzcyIsIi4uL2xpYnJhcmllcy9fYm9vdHN0cmFwLWNoZWNrYm94LW1peGlucy5zY3NzIiwiLi4vbGlicmFyaWVzL19ib290c3RyYXAtY2hlY2tib3guc2NzcyIsIi4uL2xpYnJhcmllcy9fYm9vdHN0cmFwLWRhdGVwaWNrZXIuc2NzcyIsIi4uL2xpYnJhcmllcy9fYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLnNjc3MiLCIuLi9saWJyYXJpZXMvX2Jvb3RzdHJhcC1zZWxlY3Quc2NzcyIsIi4uL2xpYnJhcmllcy9fYm9vdHN0cmFwLWNvbG9ycGlja2VyLnNjc3MiLCIuLi9saWJyYXJpZXMvX2Jvb3RzdHJhcC10b2FzdHIuc2NzcyIsIi4uL2xpYnJhcmllcy9sZWFmbGV0L19sZWFmbGV0LnNjc3MiLCIuLi9saWJyYXJpZXMvbGVhZmxldC9fbGVhZmxldC1jb250cm9scy1sYXllci5zY3NzIiwiLi4vbGlicmFyaWVzL2xlYWZsZXQvX21hcmtlcnMtY2x1c3Rlci5zY3NzIiwiLi4vbWl4aW5zL19taXhpbnMuc2NzcyIsIi4uL2xpYnJhcmllcy9sZWFmbGV0L19kcmF3LnNjc3MiLCIuLi9saWJyYXJpZXMvbGVhZmxldC9fcG9wdXAuc2NzcyIsIi4uL2xpYnJhcmllcy9fYXV0b2NvbXBsZXRlLnNjc3MiLCIuLi9saWJyYXJpZXMvaW50bC10ZWwtaW5wdXQvX2ludGwtdGVsLWlucHV0LnNjc3MiLCIuLi9saWJyYXJpZXMvaW50bC10ZWwtaW5wdXQvX3Nwcml0ZS5zY3NzIiwiLi4vbGF5b3V0L19iYXNlLnNjc3MiLCIuLi9sYXlvdXQvX2ljb25zLnNjc3MiLCIuLi9sYXlvdXQvX2hlYWRlci5zY3NzIiwiLi4vbGF5b3V0L19zY3JvbGxiYXIuc2NzcyIsIi4uL2xheW91dC9fc2lkZWJhci5zY3NzIiwiLi4vbGF5b3V0L19uYXZzLnNjc3MiLCIuLi9sYXlvdXQvX25hdmJhcnMuc2NzcyIsIi4uL2xheW91dC9fYnV0dG9ucy5zY3NzIiwiLi4vbGF5b3V0L19pbnB1dC1ncm91cHMuc2NzcyIsIi4uL2xheW91dC9fZHJvcGRvd24uc2NzcyIsIi4uL2xheW91dC9fZm9ybXMuc2NzcyIsIi4uL2xheW91dC9fbW9kYWxzLnNjc3MiLCIuLi9sYXlvdXQvX3RhYmxlcy5zY3NzIiwiLi4vbGF5b3V0L19tYXAuc2NzcyIsIi4uL2xheW91dC9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vbGF5b3V0L193aWRnZXRzLnNjc3MiLCIuLi9sYXlvdXQvX2dyb3Vwcy5zY3NzIiwiLi4vbGF5b3V0L19wYW5lbHMuc2NzcyIsIi4uL2xheW91dC9fbG9hZGVyLnNjc3MiLCIuLi9sYXlvdXQvX3NpZ24taW4uc2NzcyIsIi4uL2xheW91dC9fZGlhbG9nLnNjc3MiLCIuLi9sYXlvdXQvX3BsYW5zLnNjc3MiLCIuLi9sYXlvdXQvX2JvdHRvbWJhci5zY3NzIiwiLi4vbGF5b3V0L19jaGF0LnNjc3MiLCIuLi9sYXlvdXQvX2Rhc2hib2FyZC5zY3NzIiwiLi4vbGF5b3V0L19hdXRvY29tcGxldGUtc2VsZWN0LnNjc3MiLCIuLi9sYXlvdXQvX3RodW1ibmFpbHMuc2NzcyIsIi4uL2xheW91dC9fZGF0YXRhYmxlcy5zY3NzIiwiLi4vbGF5b3V0L19tb2Rlcm4tc2tpbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFvQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXlCUTtBQzdDUjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFRQTtFQUNFO0VBQ0E7RUFDQTs7O0FBT0Y7RUFDRTs7O0FBYUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFhRTs7O0FBUUY7QUFBQTtBQUFBO0FBQUE7RUFJRTtFQUNBOzs7QUFRRjtFQUNFO0VBQ0E7OztBQVFGO0FBQUE7RUFFRTs7O0FBVUY7RUFDRTs7O0FBUUY7QUFBQTtFQUVFOzs7QUFVRjtFQUNFOzs7QUFPRjtBQUFBO0VBRUU7OztBQU9GO0VBQ0U7OztBQVFGO0VBQ0U7RUFDQTs7O0FBT0Y7RUFDRTtFQUNBOzs7QUFPRjtFQUNFOzs7QUFPRjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQVVGO0VBQ0U7OztBQU9GO0VBQ0U7OztBQVVGO0VBQ0U7OztBQU9GO0VBQ0U7RUFD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OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQU5GO0VBQ0U7OztBQU5GO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQW1CRjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUZHTjtFRXJDRTtJQUNFOztFQU9BO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQW1CRjtJQUNFOztFQU5GO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQU5GO0lBQ0U7O0VBTkY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBbUJGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7OztBRllOO0VFOUNFO0lBQ0U7O0VBT0E7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBbUJGO0lBQ0U7O0VBTkY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBTkY7SUFDRTs7RUFORjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFtQkY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7O0FGcUJOO0VFdkRFO0lBQ0U7O0VBT0E7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBbUJGO0lBQ0U7O0VBTkY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7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QTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUU7RUFDQTs7O0FBU0E7QUFBQTtBQUFBO0FBQUE7RUFHRSxRdEJuRjBDOzs7QXNCeUY1QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFRSxRdEIzRjBDOzs7QXNCbUcxQztBQUFBO0FBQUE7RUFDRSxRdEJwR3dDOzs7QXNCK0c5QztFQUVFO0VBQ0E7RUFFQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFRTtFQUNBOzs7QUM5T0Y7QUFBQTtBQUFBO0VBQ0UsUWpCOEk2QjtFaUI3STdCO0VBQ0EsV3ZCMUIwQztFdUIyQjFDLGFqQjZCd0I7RWlCNUJ4QixlWmxEcUI7OztBWXFEdkI7QUFBQTtBQUFBO0VBQ0UsUWpCc0k2QjtFaUJySTdCLGFqQnFJNkI7OztBaUJsSS9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUU7OztBRDhPRjtFQUNFLFFoQi9HNkI7RWdCZ0g3QjtFQUNBLFd0QnZSMEM7RXNCd1IxQyxhaEJoT3dCO0VnQmlPeEIsZVgvU3FCOztBV2lUdkI7RUFDRSxRaEJ0SDZCO0VnQnVIN0IsYWhCdkg2Qjs7QWdCeUgvQjtBQUFBO0VBRUU7O0FBRUY7RUFDRSxRaEI5SDZCO0VnQitIN0I7RUFDQTtFQUNBLFd0QnZTMEM7RXNCd1MxQyxhaEJoUHdCOzs7QWlCakMxQjtBQUFBO0FBQUE7RUFDRSxRakI0STZCO0VpQjNJN0I7RUFDQSxXdkJ6QjBDO0V1QjBCMUMsYWpCNEJ3QjtFaUIzQnhCLGVaakRxQjs7O0FZb0R2QjtBQUFBO0FBQUE7RUFDRSxRakJvSTZCO0VpQm5JN0IsYWpCbUk2Qjs7O0FpQmhJL0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFRTs7O0FEd1FGO0VBQ0UsUWhCM0k2QjtFZ0I0STdCO0VBQ0EsV3RCaFQwQztFc0JpVDFDLGFoQjNQd0I7RWdCNFB4QixlWHhVcUI7O0FXMFV2QjtFQUNF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RUFDRTtFQUNBO0VBQ0EsYXhCK080QztFd0I5TzVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VDNkNBO0VBQ0EsV3pCaEI0QztFeUJpQjVDLGFuQkh3QjtFbUJJeEIsZWR2Q3VCO0VOOEx2QixxQm1Cck1xQjtFbkJzTWxCLGtCbUJ0TWtCO0VuQnVNakIsaUJtQnZNaUI7RW5Cd01iLGFtQnhNYTs7QUFLbkI7QWZ0QkY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFRQTtFQUNBOztBZW1CQTtFQUdFLE9qQmxCcUI7RWlCbUJyQjs7QUFHRjtFQUVFO0VBQ0E7O0FBSUY7RUFHRSxReEI2STBDO0UwQjFMNUMsU0Y4Q21CO0VFM0NuQjtFckI4REEsb0JtQmxCRTtFbkJtQk0sWW1CbkJOOzs7QUFPRjtFQUVFOzs7QUFRSjtFQzdERSxPbEJVdUI7RWtCVHZCLGtCbEJDdUI7RWtCQXZCOztBQUVBO0VBRUUsT2xCSXFCO0VrQkhyQjtFQUNJOztBQUVOO0VBQ0UsT2xCRHFCO0VrQkVyQjtFQUNJOztBQUVOO0VBR0UsT2xCUnFCO0VrQlNyQjtFQUNJOztBQUVKO0VBR0UsT2xCZm1CO0VrQmdCbkI7RUFDSTs7QUFHUjtFQUdFOztBQUtBO0VBTUUsa0JsQjFDbUI7RWtCMkNmLGNsQjNDZTs7QWtCK0N2QjtFQUNFLE9sQmhEcUI7RWtCaURyQixrQmxCekNxQjs7O0FpQnNEekI7RUNoRUUsT25Cb0orQjtFbUJuSi9CLGtCakJMa0I7RWlCTWxCLGNuQm9KK0I7O0FtQmxKL0I7RUFFRSxPbkI4STZCO0VtQjdJN0I7RUFDSTs7QUFFTjtFQUNFLE9uQnlJNkI7RW1CeEk3QjtFQUNJOztBQUVOO0VBR0UsT25Ca0k2QjtFbUJqSTdCO0VBQ0k7O0FBRUo7RUFHRSxPbkIySDJCO0VtQjFIM0I7RUFDSTs7QUFHUjtFQUdFOztBQUtBO0VBTUUsa0JqQmhEYztFaUJpRFYsY25CeUd1Qjs7QW1CckcvQjtFQUNFLE9qQnREZ0I7RWlCdURoQixrQm5CaUc2Qjs7O0FrQmhGakM7RUNwRUUsT25Cd0orQjtFbUJ2Si9CLGtCbkJVc0I7RW1CVHRCLGNuQndKK0I7O0FtQnRKL0I7RUFFRSxPbkJrSjZCO0VtQmpKN0I7RUFDSTs7QUFFTjtFQUNFLE9uQjZJNkI7RW1CNUk3QjtFQUNJOztBQUVOO0VBR0UsT25Cc0k2QjtFbUJySTdCO0VBQ0k7O0FBRUo7RUFHRSxPbkIrSDJCO0VtQjlIM0I7RUFDSTs7QUFHUjtFQUdFOztBQUtBO0VBTUUsa0JuQmpDa0I7RW1Ca0NkLGNuQjZHdUI7O0FtQnpHL0I7RUFDRSxPbkJ2Q29CO0VtQndDcEIsa0JuQnFHNkI7OztBa0JoRmpDO0VDeEVFLE9uQjRKK0I7RW1CM0ovQixrQm5CV3NCO0VtQlZ0QixjbkI0SitCOztBbUIxSi9CO0VBRUUsT25Cc0o2QjtFbUJySjdCO0VBQ0k7O0FBRU47RUFDRSxPbkJpSjZCO0VtQmhKN0I7RUFDSTs7QUFFTjtFQUdFLE9uQjBJNkI7RW1Cekk3QjtFQUNJOztBQUVKO0VBR0UsT25CbUkyQjtFbUJsSTNCO0VBQ0k7O0FBR1I7RUFHRTs7QUFLQTtFQU1FLGtCbkJoQ2tCO0VtQmlDZCxjbkJpSHVCOztBbUI3Ry9CO0VBQ0UsT25CdENvQjtFbUJ1Q3BCLGtCbkJ5RzZCOzs7QWtCaEZqQztFQzVFRSxPbkJnSytCO0VtQi9KL0Isa0JuQllzQjtFbUJYdEIsY25CZ0srQjs7QW1COUovQjtFQUVFLE9uQjBKNkI7RW1Ceko3QjtFQUNJOztBQUVOO0VBQ0UsT25CcUo2QjtFbUJwSjdCO0VBQ0k7O0FBRU47RUFHRSxPbkI4STZCO0VtQjdJN0I7RUFDSTs7QUFFSjtFQUdFLE9uQnVJMkI7RW1CdEkzQjtFQUNJOztBQUdSO0VBR0U7O0FBS0E7RUFNRSxrQm5CL0JrQjtFbUJnQ2QsY25CcUh1Qjs7QW1CakgvQjtFQUNFLE9uQnJDb0I7RW1Cc0NwQixrQm5CNkc2Qjs7O0FrQmhGakM7RUNoRkUsT25Cb0srQjtFbUJuSy9CLGtCbkJhc0I7RW1CWnRCLGNuQm9LK0I7O0FtQmxLL0I7RUFFRSxPbkI4SjZCO0VtQjdKN0I7RUFDSTs7QUFFTjtFQUNFLE9uQnlKNkI7RW1CeEo3QjtF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Z1RBO0VBMUJGO0lBMkJJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJOUJ6UEYsb0I4QjBQRTtJOUJ6UE0sWThCeVBOOzs7O0FBUUo7RUFDRTtFSHBVQSx5QkdxVTJCO0VIcFUxQix3QkdvVTBCOzs7QUFHN0I7RUFDRTtFSHpVQSx5QmhDMkU0QztFZ0MxRTNDLHdCaEMwRTJDO0VnQ25FNUMsNEJHbVU4QjtFSGxVN0IsMkJHa1U2Qjs7O0FBUWhDO0VDaFZFO0VBQ0E7O0FEa1ZBO0VDblZBO0VBQ0E7O0FEcVZBO0VDdFZBO0VBQ0E7OztBRCtWRjtFQ2hXRTtFQUNBOztBRGtXQTtFQUhGO0lBSUk7SUFDQSxhN0JHK0I7STZCRi9CLGM3QkUrQjs7OztBNkJXbkM7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFDRjs7RUFFRTtJQUNFOzs7QUFVTjtFQUNFLGtCNUJ2WXVCO0U0QndZdkIsYzVCeFh1Qjs7QTRCMFh2QjtFQUNFLE81QnJZcUI7O0E0QnNZckI7RUFFRSxPM0JsWmM7RTJCbVpkLGtCNUIvWW1COztBNEJtWnZCO0VBQ0UsTzVCOVlxQjs7QTRCa1pyQjtFQUNFLE81Qm5abUI7O0E0QnFabkI7RUFFRSxPM0JqYVk7RTJCa2FaLGtCNUI3WmlCOztBNEJpYW5CO0VBR0UsTzNCemFZO0UyQjBhWixrQjVCcmFpQjs7QTRCeWFuQjtFQUdFLE9uQ3ZWc0M7RW1Dd1Z0QyxrQm5DdlZzQzs7QW1DNFY1QztFQUNFLGM1QnBhcUI7O0E0QnFhckI7RUFFRSxrQjVCdGJtQjs7QTRCd2JyQjtFQUNFLGtCM0I5YmM7O0EyQmtjbEI7QUFBQTtFQUVFLGM1QmhicUI7O0E0QnVibkI7RUFHRSxrQjVCemNpQjtFNEIwY2pCLE8zQi9jWTs7QTJCbWRoQjtFQUdJO0lBQ0UsTzVCN2NlOztFNEI4Y2Y7SUFFRSxPM0IxZFE7STJCMmRSLGtCNUJ0ZGE7O0U0QjBkZjtJQUdFLE8zQmxlUTtJMkJtZVIsa0I1QjlkYTs7RTRCa2VmO0lBR0UsT25DaFprQztJbUNpWmxDLGtCbkNoWmtDOzs7QW1DNFo1QztFQUNFLE81QjllcUI7O0E0QitlckI7RUFDRSxPM0IxZmM7O0EyQjhmbEI7RUFDRSxPNUJyZnFCOztBNEJzZnJCO0VBRUUsTzNCbGdCYzs7QTJCc2dCZDtFQUVFLE9uQzlhc0M7OztBbUNzYjlDO0VBQ0Usa0I3QnRJMEM7RTZCdUkxQyxjN0J0STBDOztBNkJ3STFDO0VBQ0UsTzdCdEl3Qzs7QTZCdUl4QztFQUVFLE83Qi9Ic0M7RTZCZ0l0QyxrQjdCL0hzQzs7QTZCbUkxQztFQUNFLE83QnBKd0M7O0E2QndKeEM7RUFDRSxPN0JwSnNDOztBNkJzSnRDO0VBRUUsTzdCdkpvQztFNkJ3SnBDLGtCN0J2Sm9DOztBNkIySnRDO0VBR0UsTzdCL0pvQztFNkJnS3BDLGtCN0I3Sm9DOztBNkJpS3RDO0VBR0UsTzdCbktvQztFNkJvS3BDLGtCN0JuS29DOztBNkJ5SzFDO0VBQ0UsYzdCaEt3Qzs7QTZCaUt4QztFQUVFLGtCN0JyS3NDOztBNkJ1S3hDO0VBQ0Usa0I3QnZLc0M7O0E2QjJLMUM7QUFBQTtFQUVFOztBQU1FO0VBR0Usa0I3QmpNb0M7RTZCa01wQyxPN0JyTW9DOztBNkJ5TXhDO0VBR0k7SUFDRSxjN0JqTmtDOztFNkJtTnBDO0lBQ0Usa0I3QnBOa0M7O0U2QnNOcEM7SUFDRSxPN0JwTmtDOztFNkJxTmxDO0lBRUUsTzdCdE5nQztJNkJ1TmhDLGtCN0J0TmdDOztFNkIwTmxDO0lBR0UsTzdCOU5nQztJNkIrTmhDLGtCN0I1TmdDOztFNkJnT2xDO0lBR0UsTzdCbE9nQztJNkJtT2hDLGtCN0JsT2dDOzs7QTZCeU8xQztFQUNFLE83QmhQd0M7O0E2QmlQeEM7RUFDRSxPN0JqUHNDOztBNkJxUDFDO0VBQ0UsTzdCdlB3Qzs7QTZCd1B4QztFQUVFLE83QnpQc0M7O0E2QjZQdEM7RUFFRSxPN0IzUG9DOzs7QStCblo1QztFQUNFO0VBQ0E7RUFDQTtFQUNBLGUxQm9CdUI7O0EwQmxCdkI7RUFDRTs7QUFDQTtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0EsYS9COENvQjtFK0I3Q3BCO0VBQ0EsTzlCTm1CO0U4Qk9uQixrQjlCYm1CO0U4QmNuQjtFQUNBOztBQUdBO0FBQUE7RUFFRTtFTFhOLDJCckJZdUI7RXFCWHBCLHdCckJXb0I7O0EwQkluQjtBQUFBO0VMeEJKLDRCckJvQnVCO0VxQm5CcEIseUJyQm1Cb0I7O0EwQmFyQjtBQUFBO0FBQUE7RUFFRTtFQUNBLE85Qi9CbUI7RThCZ0NuQixrQjlCckNtQjtFOEJzQ25CLGNyQ3dMd0M7O0FxQ2xMMUM7QUFBQTtBQUFBO0FBQUE7RUFHRTtFQUNBLE83QnJEYztFNkJzRGQsa0I5QmpEbUI7RThCa0RuQixjckM0S3dDO0VxQzNLeEM7O0FBS0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUUsTzlCbkRtQjtFOEJvRG5CLGtCOUJoRW1CO0U4QmlFbkIsY3JDOEp3QztFcUM3SnhDLFFyQ3FId0M7OztBc0N6TDFDO0FBQUE7RUFFRTtFQUNBLFd0QzRDd0M7RXNDM0N4QyxhaENpR3NCOztBZ0M5RnRCO0FBQUE7RU5JSiwyQnJCY3VCO0VxQmJwQix3QnJCYW9COztBMkJabkI7QUFBQTtFTlZKLDRCckJzQnVCO0VxQnJCcEIseUJyQnFCb0I7OztBMkJ6QnJCO0FBQUE7RUFFRTtFQUNBLFd0QzJDd0M7RXNDMUN4QyxhaENrR3NCOztBZ0MvRnRCO0FBQUE7RU5JSiwyQnJCYXVCO0VxQlpwQix3QnJCWW9COztBMkJYbkI7QUFBQTtFTlZKLDRCckJxQnVCO0VxQnBCcEIseUJyQm9Cb0I7OztBNEJ4QnpCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9qQzhqQjRCO0VpQzdqQjVCO0VBQ0E7RUFDQTtFQUNBOztBQUtBO0VBQ0U7O0FBSUY7RUFDRTtFQUNBOzs7QUFNRjtFQUVFLE9qQ3dpQjBCO0VpQ3ZpQjFCO0VBQ0E7OztBQU9KO0VDeENFLGtCekM2QnVCOztBeUMxQnJCO0VBRUU7OztBRHVDTjtFQzVDRSxrQmhDRGtCOztBZ0NJaEI7RUFFRTs7O0FEMkNOO0VDaERFLGtCbENjc0I7O0FrQ1hwQjtFQUVFOzs7QUQrQ047RUNwREUsa0JsQ2VzQjs7QWtDWnBCO0VBRUU7OztBRG1ETjtFQ3hERSxrQmxDZ0JzQjs7QWtDYnBCO0VBRUU7OztBRHVETjtFQzVERSxrQmxDaUJzQjs7QWtDZHBCO0VBRUU7OztBQ0ZOO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsV3pDd0M0QztFeUN2QzVDLGFuQ3F3QjRCO0VtQ3B3QjVCLE9uQzB2QjRCO0VtQ3p2QjVCLGFuQ293QjRCO0VtQ253QjVCO0VBQ0E7RUFDQTtFQUNBLGtCMUNldUI7RTBDZHZCLGVuQ2d3QjRCOztBbUM3dkI1QjtFQUNFOztBQUlGO0VBQ0U7RUFDQTs7QUFHRjtFQUVFO0VBQ0E7O0FBTUY7RUFFRSxPakN4Q2dCO0VpQ3lDaEIsa0JuQ211QjBCOztBbUNodUI1QjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7O0FBTUY7RUFFRSxPbkN5c0IwQjtFbUN4c0IxQjtFQUNBOzs7QUMzREo7RUFDRTtFQUNBLFMxQzRPNEM7RTBDM081QyxlcEN1RHdCO0VvQ3REeEIsYXBDb0R3QjtFb0NuRHhCLGtCbkNKdUI7RW1DS3ZCO0VBQ0EsZS9CZXVCO0VONkp2QixvQnFDM0tBO0VyQzRLSyxlcUM1S0w7RXJDNktRLFlxQzdLUjs7QUFFQTtBQUFBO0VoQ1BBLFNBRDhCO0VBRTlCO0VBQ0E7RWdDUUU7RUFDQTs7QUFNRjtFQUNFLFNwQzR0QjBCO0VvQzN0QjFCLE9uQ2hCcUI7OztBbUNxQnpCO0FBQUE7QUFBQTtFQUdFLGNsQ2xDa0I7OztBbUNNcEI7RUFDRSxTckN5bUI0QjtFcUN4bUI1QixlckNzRHdCO0VxQ3JEeEI7RUFDQSxlaENldUI7O0FnQ1p2QjtFQUNFO0VBRUE7O0FBSUY7RUFDRSxhckM2bEIwQjs7QXFDemxCNUI7QUFBQTtBQUFBO0VBRUU7O0FBR0Y7RUFDRTs7O0FBUUo7QUFBQTtFQUVFOztBQUdBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFRSjtFQ3ZERSxrQnRDb2YrQjtFc0NuZi9CLGN0Q29mK0I7RXNDbmYvQixPdENpZitCOztBc0MvZS9CO0VBQ0U7O0FBRUY7RUFDRTs7O0FEbURKO0VDM0RFLGtCdEN3ZitCO0VzQ3ZmL0IsY3RDd2YrQjtFc0N2Zi9CLE90Q3FmK0I7O0FzQ25mL0I7RUFDRTs7QUFFRjtFQUNFOzs7QUR1REo7RUMvREUsa0J0QzRmK0I7RXNDM2YvQixjdEM0ZitCO0VzQzNmL0IsT3RDeWYrQjs7QXNDdmYvQjtFQUNFOztBQUVGO0VBQ0U7OztBRDJESjtFQ25FRSxrQnRDZ2dCK0I7RXNDL2YvQixjdENnZ0IrQjtFc0MvZi9CLE90QzZmK0I7O0FzQzNmL0I7RUFDRTs7QUFFRjtFQUNFOzs7QUNGSjtFQUNFO0lBQVE7O0VBQ1I7SUFBUTs7O0FBSVY7RUFDRTtJQUFROztFQUNSO0lBQVE7OztBQVFWO0VBQ0U7RUFDQSxRdkNxQ3dCO0V1Q3BDeEIsZXZDb0N3QjtFdUNuQ3hCLGtCdkMrbUI0QjtFdUM5bUI1QixlbENIdUI7RU55Q3ZCLG9Cd0NyQ0E7RXhDc0NRLFl3Q3RDUjs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQSxXN0NXNEM7RTZDVjVDLGF2Q3dCd0I7RXVDdkJ4QixPdkNxbUI0QjtFdUNwbUI1QjtFQUNBO0VBQ0E7RUFDQSxrQnJDM0NrQjtFSGtFbEIsb0J3Q3RCQTtFeEN1QlEsWXdDdkJSO0V4QzJJQSxvQndDMUlBO0V4QzJJSyxld0MzSUw7RXhDNElRLFl3QzVJUjs7O0FBUUY7QUFBQTtFQ0RFO0VBQ0E7RUFDQTtFREVBOzs7QUFPRjtBQUFBO0V4QzlDRSxtQndDZ0RtQjtFeEMvQ2QsY3dDK0NjO0V4QzlDWCxXd0M4Q1c7OztBQU9yQjtFRXZFRSxrQnpDY3NCOztBeUNYdEI7RURnREE7RUFDQTtFQUNBOzs7QURzQkY7RUUzRUUsa0J6Q2VzQjs7QXlDWnRCO0VEZ0RBO0VBQ0E7RUFDQTs7O0FEMEJGO0VFL0VFLGtCekNnQnNCOztBeUNidEI7RURnREE7RUFDQTtFQUNBOzs7QUQ4QkY7RUVuRkUsa0J6Q2lCc0I7O0F5Q2R0QjtFRGdEQTtFQUNBO0VBQ0E7OztBRXhERjtFQUVFOztBQUVBO0VBQ0U7OztBQUlKO0FBQUE7RUFFRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOztBQUdBO0VBQ0U7OztBQUlKO0FB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O0EyQ2lRcEI7RUNoUUUsYzlDcWYrQjs7QThDbmYvQjtFQUNFLE85Q2dmNkI7RThDL2U3QixrQjlDZ2Y2QjtFOEMvZTdCLGM5Q2dmNkI7O0E4QzllN0I7RUFDRSxrQjlDNmUyQjs7QThDM2U3QjtFQUNFLE85Q3llMkI7RThDeGUzQixrQjlDdWUyQjs7QThDbmU3QjtFQUNFLHFCOUNvZTJCOzs7QTZDbFBqQztFQ25RRSxjOUN5ZitCOztBOEN2Zi9CO0VBQ0UsTzlDb2Y2QjtFOENuZjdCLGtCOUNvZjZCO0U4Q25mN0IsYzlDb2Y2Qjs7QThDbGY3QjtFQUNFLGtCOUNpZjJCOztBOEMvZTdCO0VBQ0UsTzlDNmUyQjtFOEM1ZTNCLGtCOUMyZTJCOztBOEN2ZTdCO0VBQ0UscUI5Q3dlMkI7OztBNkNuUGpDO0VDdFFFLGM5QzZmK0I7O0E4QzNmL0I7RUFDRSxPOUN3ZjZCO0U4Q3ZmN0Isa0I5Q3dmNkI7RThDdmY3QixjOUN3ZjZCOztBOEN0ZjdCO0VBQ0Usa0I5Q3FmMkI7O0E4Q25mN0I7RUFDRSxPOUNpZjJCO0U4Q2hmM0Isa0I5QytlMkI7O0E4QzNlN0I7RUFDRSxxQjlDNGUyQjs7O0E2Q3BQakM7RUN6UUUsYzlDaWdCK0I7O0E4Qy9mL0I7RUFDRSxPOUM0ZjZCO0U4QzNmN0Isa0I5QzRmNkI7RThDM2Y3QixjOUM0ZjZCOztBOEMxZjdCO0VBQ0Usa0I5Q3lmMkI7O0E4Q3ZmN0I7RUFDRSxPOUNxZjJCO0U4Q3BmM0Isa0I5Q21mMkI7O0E4Qy9lN0I7RUFDRSxxQjlDZ2YyQjs7O0ErQ2hnQmpDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtKO0VBQ0U7OztBQUlGO0VBQ0U7OztBQzVCRjtFQUNFO0VBQ0E7RUFDQSxhaERrekI0QjtFZ0RqekI1QjtFQUNBLE92RHlCdUI7RXVEeEJ2QixhdkR5QnVCO0UyQmpDdkIsUzRCU2lCO0U1Qk5qQjs7QTRCUUE7RUFFRSxPdkRtQnFCO0V1RGxCckI7RUFD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QUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVEO0FBQUE7RUFFQztFQUNBO0VBQ0E7OztBQUVEO0VBQ0M7OztBQUVEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0M7OztBQUlEO0FBQUE7QUFFQTtFQUNDO0VBQ0E7OztBQUlEO0FBQUE7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTs7O0FBR0Q7QUFBQTtBQUdBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRDtFQUNDOzs7QUFFRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVEO0FBQUE7RUFFQzs7O0FBRUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVEO0VBQ0M7RUFDQTs7O0FBR0Q7QUFBQTtBQUVBO0VBQ0M7RUFDQTs7O0FBRUQ7RUFDQzs7O0FBRUQ7QUFBQTtBQUFBO0FBQUE7RUFJQztFQUNBOzs7QUFFRDtFQUNDOzs7QUFFRDtFQUNDO0VBQ0E7RUFDQTs7O0FBRUQ7RUFDQzs7O0FBRUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTs7O0FBRUQ7RUFDQzs7O0FBR0Q7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQVNDO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQU9DO0VBQ0E7OztBQUVEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFRQztFQUNBO0VBQ0E7RUFDQTs7O0FBRUQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFVQztFQUNBOzs7QUFHRDtFQUNDOzs7QUFFRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFNQztFQUNBO0VBQ0E7RUFDQTs7O0FBRUQ7QUFBQTtFQUVDO0VBQ0E7OztBQUVEO0FBQUE7QUFBQTtFQUdDO0VBQ0E7OztBQUdEO0FBQUE7QUFFQTtBQUFBO0FBQUE7RUFHQztFQUNBO0VBQ0E7OztBQUVEO0VBQ0M7RUFDQTs7O0FBRUQ7QUFBQTtBQUFBO0VBR0M7OztBQUVEO0FBQUE7QUFBQTtFQUdDO0VBQ0E7RUFDQTs7O0FBRUQ7QUFBQTtBQUFBO0VBR0M7OztBQUVEO0FBQUE7QUFBQTtFQUdDOzs7QUFFRDtBQUFBO0FBQUE7RUFHQzs7O0FBRUQ7QUFBQTtBQUFBO0VBR0M7RUFDQTtFQUNBOzs7QUFFRDtBQUFBO0FBQUE7RUFHQztFQUNBO0VBQ0E7OztBQUVEO0VBQ0M7OztBQUdEO0FBQUE7QUFHQTtBQUNBO0VBQ0M7RUFDQTs7O0FBRUQ7QUFBQTtFQUVDOzs7QUFFRDtFQUNDOzs7QUFFRDtBQUFBO0FBQUE7QUFBQTtFQUlDOzs7QUFFRDtBQUFBO0VBRUM7OztBQUVEO0FBQUE7RUFFQzs7O0FBRUQ7QUFBQTtFQUVDOzs7QUFFRDtFQUNDOzs7QUFHRDtBQUNBO0VBQWlCOzs7QUFDakI7RUFBcUI7OztBQUNyQjtFQUFzQjs7O0FBQ3RCO0VBQXFCOzs7QUFDckI7RUFBc0I7OztBQUN0QjtFQUFxQjs7O0FBQ3JCO0VBQXNCOzs7QUFDdEI7RUFBcUI7OztBQUNyQjtFQUFzQjs7O0FBQ3RCO0VBQXVCOzs7QUFDdkI7RUFBdUI7OztBQUN2QjtFQUF3Qjs7O0FBQ3hCO0VBQXlCOzs7QUFDekI7RUFBd0I7OztBQUN4QjtFQUF5Qjs7O0FBQ3pCO0VBQXdCOzs7QUFDeEI7RUFBeUI7OztBQUN6QjtF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O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTtFQUVBOzs7QUFFRjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTs7RUFFRjtJQUNFOztFQUVGO0lBQ0U7O0VBRUY7SUFDRTs7O0FBR0o7RUFDRTtJQUNFOztFQUVGO0lBQ0U7O0VBRUY7SUFDRTs7RUFFRjtJQUNFOztFQUVGO0lBQ0U7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBRUU7RUFDQTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFO0VBRUE7OztBQUVGO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFDQTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFDQTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBQ0E7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUNBO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFDQTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBQ0E7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7SUFDQTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUNBO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBQ0E7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFDQTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTtJQUNBO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7SUFDQTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUNBO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFOztFQUVGO0lBQ0U7OztBQUdKO0VBQ0U7SUFDRTs7RUFFRjtJQUNFOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTs7O0FBRUY7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFOztFQUVGO0lBQ0U7OztBQUdKO0VBQ0U7SUFDRTs7RUFFRjtJQUNFOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFFRTtFQUNBOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBRUU7RUFDQTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0VBRUE7OztBQUVGO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7O0FBR0o7RUFFRTtFQUNBOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7SUFDRTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtJQUNFOztFQUVGO0lBRUU7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFFQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUVBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBRUE7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFFQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7OztBQUdKO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTs7O0FBR0o7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7SUFFQTs7O0FBR0o7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTtJQUVBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBO0lBRUE7OztBQUdKO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7SUFFQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7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O0FBQUE7QUFBQTtFQUVrQyxTTjJrQm5COzs7QU0xa0JmO0VBQXdDLFNONmVuQjs7O0FNNWVyQjtFQUF5QyxTTjJlbkI7OztBTTFldEI7RUFBc0MsU05tY25COzs7QU1sY25CO0VBQW1DLFNONGZuQjs7O0FNM2ZoQjtBQUFBO0VBQ2dDLFNOK0luQjs7O0FNOUliO0VBQW9DLFNObWxCbkI7OztBTWxsQmpCO0VBQWlDLFNOOFNuQjs7O0FNN1NkO0VBQW1DLFNOME5uQjs7O0FNek5oQjtFQUFvQyxTTmdJbkI7OztBTS9IakI7RUFBaUMsU05vZG5COzs7QU1uZGQ7RUFBcUMsU040S25COzs7QU0zS2xCO0VBQWdELFNOT25COzs7QU1ON0I7RUFBOEMsU05TbkI7OztBTVIzQjtFQUFrQyxTTnVUbkI7OztBTXRUZjtFQUEwQyxTTmdibkI7OztBTS9hdkI7QUFBQTtBQUFBO0VBQ21DLFNOd2NuQjs7O0FNdmNoQjtFQUFvQyxTTmtjbkI7OztBTWpjakI7RUFBcUMsU055Vm5COzs7QU14VmxCO0VBQWlDLFNONFZuQjs7O0FNM1ZkO0VBQWlDLFNOOE5uQjs7O0FNN05kO0VBQXVDLFNOMFJuQjs7O0FNelJwQjtFQUF1QyxTTjJtQm5COzs7QU0xbUJwQjtFQUF3QyxTTnltQm5COzs7QU14bUJyQjtFQUFzQyxTTjBtQm5COzs7QU16bUJuQjtFQUFtQyxTTithbkI7OztBTTlhaEI7RUFBb0MsU05lbkI7OztBTWRqQjtFQUFnQyxTTjRoQm5COzs7QU0zaEJiO0VBQWlDLFNONGhCbkI7OztBTTNoQmQ7RUFBaUMsU04wQ25COzs7QU16Q2Q7RUFBcUMsU04wQ25COzs7QU16Q2xCO0VBQWtDLFNOc2FuQjs7O0FNcmFmO0VBQW1DLFNOMkRuQjs7O0FNMURoQjtFQUFpQyxTTjRObkI7OztBTTNOZDtFQUFpQyxTTmtDbkI7OztBTWpDZDtFQUFtQyxTTjRTbkI7OztBTTNTaEI7RUFBd0MsU04waEJuQjs7O0FNemhCckI7RUFBdUMsU04waEJuQjs7O0FNemhCcEI7RUFBdUMsU054Q25COzs7QU15Q3BCO0VBQXlDLFNOM0NuQjs7O0FNNEN0QjtFQUF3QyxTTnpDbkI7OztBTTBDckI7RUFBMEMsU041Q25COzs7QU02Q3ZCO0VBQWlDLFNOZ1VuQjs7O0FNL1RkO0FBQUE7RUFDb0MsU051WG5COzs7QU10WGpCO0VBQW1DLFNOd1JuQjs7O0FNdlJoQjtFQUF5QyxTTjZrQm5COzs7QU01a0J0QjtBQUFBO0FBQUE7RUFFc0MsU05tWW5COzs7QU1sWW5CO0VBQW1DLFNONFhuQjs7O0FNM1hoQjtFQUF1QyxTTndVbkI7OztBTXZVcEI7RUFBbUMsU04xRG5COzs7QU0yRGhCO0VBQWlDLFNOdWhCbkI7OztBTXRoQmQ7QUFBQTtFQUM0QyxTTnlYbkI7OztBTXhYekI7RUFBMkMsU042Ym5COzs7QU01YnhCO0VBQTJDLFNOK0RuQjs7O0FNOUR4QjtFQUFtQyxTTjlCbkI7OztBTStCaEI7RUFBMEMsU055ZW5COzs7QU14ZXZCO0VBQTBDLFNOd0puQjs7O0FNdkp2QjtFQUFxQyxTTjFCbkI7OztBTTJCbEI7RUFBaUMsU044WG5COzs7QU03WGQ7RUFBa0MsU040V25COzs7QU0zV2Y7RUFBaUMsU055ZW5COzs7QU14ZWQ7RUFBb0MsU04rTG5COzs7QU05TGpCO0VBQXlDLFNObUpuQjs7O0FNbEp0QjtFQUF5QyxTTmtlbkI7OztBTWpldEI7RUFBa0MsU051SG5COzs7QU10SGY7RUFBeUMsU055RG5COzs7QU14RHRCO0VBQTBDLFNOeURuQjs7O0FNeER2QjtFQUF3QyxTTjBYbkI7OztBTXpYckI7RUFBeUMsU05xVW5COzs7QU1wVXRCO0VBQXlDLFNOaWdCbkI7OztBTWhnQnRCO0VBQXlDLFNOMkNuQjs7O0FNMUN0QjtFQUE0QyxTTitYbkI7OztBTTlYekI7RUFBd0MsU040UG5COzs7QU0zUHJCO0VBQXVDLFNOd0ZuQjs7O0FNdkZwQjtFQUEyQyxTTjZmbkI7OztBTTVmeEI7RUFBMkMsU051Q25COzs7QU10Q3hCO0VBQWdDLFNOM0NuQjs7O0FNNENiO0VBQXVDLFNOeERuQjs7O0FNeURwQjtFQUF3QyxTTnhEbkI7OztBTXlEckI7RUFBcUMsU054RG5COzs7QU15RGxCO0VBQXVDLFNONURuQjs7O0FNNkRwQjtBQUFBO0FBQUE7RUFDa0MsU04yWm5COzs7QU0xWmY7RUFBbUMsU05rSG5COzs7QU1qSGhCO0VBQXFDLFNOcUVuQjs7O0FNcEVsQjtFQUFpQyxTTnVXbkI7OztBTXRXZDtFQUFrQyxTTmtUbkI7OztBTWpUZjtFQUFxQyxTTjNEbkI7OztBTTREbEI7RUFBK0MsU04yR25COzs7QU0xRzVCO0VBQWlDLFNOaUxuQjs7O0FNaExkO0VBQWlDLFNONFBuQjs7O0FNM1BkO0VBQWlDLFNOZ0puQjs7O0FNL0lkO0VBQWdDLFNONkduQjs7O0FNNUdiO0VBQXNDLFNONkduQjs7O0FNNUduQjtBQUFBO0VBQ2lELFNOcUduQjs7O0FNcEc5QjtFQUFrQyxTTnVWbkI7OztBTXRWZjtFQUFxQyxTTmhCbkI7OztBTWlCbEI7RUFBbUMsU053V25COzs7QU12V2hCO0VBQW9DLFNOK0NuQjs7O0FNOUNqQjtFQUFtQyxTTjZRbkI7OztBTTVRaEI7RUFBdUMsU051Qm5COzs7QU10QnBCO0VBQXlDLFNObUJuQjs7O0FNbEJ0QjtFQUFvQyxTTmdYbkI7OztBTS9XakI7RUFBMEMsU04rWW5COzs7QU05WXZCO0VBQW1DLFNONEluQjs7O0FNM0loQjtFQUF3QyxTTjZJbkI7OztBTTVJckI7RUFBcUMsU05oRm5COzs7QU1pRmxCO0VBQXFDLFNObEZuQjs7O0FNbUZsQjtBQUFBO0VBQ3NDLFNOM0VuQjs7O0FNNEVuQjtFQUEyQyxTTm1mbkI7OztBTWxmeEI7RUFBNEMsU04rRm5COzs7QU05RnpCO0VBQXlDLFNOekJuQjs7O0FNMEJ0QjtFQUFnQyxTTjZObkI7OztBTTVOYjtBQUFBO0FBQUE7QUFBQTtFQUNpQyxTTjRCbkI7OztBTTNCZDtFQUFxQyxTTmlDbkI7OztBTWhDbEI7RUFBd0MsU040Y25COzs7QU0zY3JCO0VBQTBDLFNOMGNuQjs7O0FNemN2QjtFQUFzQyxTTmlhbkI7OztBTWhhbkI7RUFBb0MsU05vTG5COzs7QU1uTGpCO0VBQXFDLFNOK1huQjs7O0FNOVhsQjtFQUE0QyxTTnlPbkI7OztBTXhPekI7RUFBdUMsU05tY25COzs7QU1sY3BCO0VBQTBDLFNOMEVuQjs7O0FNekV2QjtFQUFvQyxTTjBYbkI7OztBTXpYakI7RUFBbUMsU055ZG5COzs7QU14ZGhCO0VBQTBDLFNOK0luQjs7O0FNOUl2QjtFQUFtQyxTTjBlbkI7OztBTXplaEI7RUFBb0MsU051Tm5COzs7QU10TmpCO0VBQWtDLFNOMFNuQjs7O0FNelNmO0VBQXFDLFNOaVpuQjs7O0FNaFpsQjtFQUF1QyxTTmhFbkI7OztBTWlFcEI7RUFBeUMsU053U25COzs7QU12U3RCO0VBQW9DLFNOMGRuQjs7O0FNemRqQjtBQUFBO0VBQ3FDLFNObUVuQjs7O0FNbEVsQjtFQUFtQyxTTm1JbkI7OztBTWxJaEI7RUFBbUMsU042ZG5COzs7QU01ZGhCO0VBQXdDLFNObUJuQjs7O0FNbEJyQjtBQUFBO0VBQ2dDLFNOZ1ZuQjs7O0FNL1ViO0VBQWtDLFNOMEpuQjs7O0FNekpmO0VBQXFDLFNOckVuQjs7O0FNc0VsQjtFQUFpQyxTTjVGbkI7OztBTTZGZDtFQUF3QyxTTnJDbkI7OztBTXNDckI7RUFBeUMsU042SW5COzs7QU01SXRCO0VBQXdDLFNOMkluQjs7O0FNMUlyQjtFQUFzQyxTTjRJbkI7OztBTTNJbkI7RUFBd0MsU053SW5COzs7QU12SXJCO0VBQThDLFNOMUluQjs7O0FNMkkzQjtFQUErQyxTTnRJbkI7OztBTXVJNUI7RUFBNEMsU050SW5COzs7QU11SXpCO0VBQThDLFNOOUluQjs7O0FNK0kzQjtFQUFrQyxTTnVIbkI7OztBTXRIZjtFQUFtQyxTTjhlbkI7OztBTTdlaEI7RUFBa0MsU053Wm5COzs7QU12WmY7RUFBbUMsU040RW5COzs7QU0zRWhCO0VBQXNDLFNOekZuQjs7O0FNMEZuQjtFQUF1QyxTTnZJbkI7OztBTXdJcEI7QUFBQTtFQUNrQyxTTmdkbkI7OztBTS9jZjtBQUFBO0VBQ2lDLFNOOExuQjs7O0FNN0xkO0VBQWtDLFNOOUJuQjs7O0FNK0JmO0VBQWtDLFNONEVuQjs7O0FNM0VmO0FBQUE7RUFDcUMsU042VG5COzs7QU01VGxCO0FBQUE7RUFDb0MsU044RG5COzs7QU03RGpCO0VBQXNDLFNOeVBuQjs7O0FNeFBuQjtBQUFBO0VBQ3FDLFNOdUVuQjs7O0FNdEVsQjtFQUFtQyxTTnNXbkI7OztBTXJXaEI7QUFBQTtBQUFBO0VBRWlDLFNOM0luQjs7O0FNNElkO0VBQW9DLFNOdUxuQjs7O0FNdExqQjtFQUFvQyxTTnFMbkI7OztBTXBMakI7RUFBMEMsU05tWG5COzs7QU1sWHZCO0VBQXNDLFNOK2FuQjs7O0FNOWFuQjtFQUFrQyxTTjBYbkI7OztBTXpYZjtFQUFrQyxTTnlMbkI7OztBTXhMZjtFQUFrQyxTTmlhbkI7OztBTWhhZjtFQUFzQyxTTjJQbkI7OztBTTFQbkI7RUFBNkMsU040UG5COzs7QU0zUDFCO0VBQStDLFNOMEZuQjs7O0FNekY1QjtFQUF3QyxTTndGbkI7OztBTXZGckI7RUFBa0MsU05pTm5COzs7QU1oTmY7RUFBdUMsU05wR25COzs7QU1xR3BCO0VBQXFDLFNOOUZuQjs7O0FNK0ZsQjtFQUF1QyxTTnJHbkI7OztBTXNHcEI7RUFBd0MsU05yR25COzs7QU1zR3JCO0VBQW9DLFNOakRuQjs7O0FNa0RqQjtBQUFBO0VBQ2lDLFNOZ1VuQjs7O0FNL1RkO0FBQUE7RUFDc0MsU05vVW5COzs7QU1uVW5CO0FBQUE7RUFDcUMsU05pVW5COzs7QU1oVWxCO0VBQXFDLFNOZG5COzs7QU1lbEI7RUFBcUMsU055Sm5COzs7QU14SmxCO0FBQUE7RUFDaUMsU055Wm5COzs7QU14WmQ7QUFBQTtFQUNrQyxTTm1EbkI7OztBTWxEZjtBQUFBO0VBQ3VDLFNOa1duQjs7O0FNaldwQjtFQUFzQyxTTjlEbkI7OztBTStEbkI7RUFBdUMsU04zRG5COzs7QU00RHBCO0FBQUE7RUFDaUMsU05uSm5COzs7QU1vSmQ7RUFBb0MsU051U25COzs7QU10U2pCO0VBQXFDLFNONlluQjs7O0FNNVlsQjtBQUFBO0FBQUE7RUFDc0MsU05yRm5COzs7QU1zRm5CO0VBQXdDLFNOdUluQjs7O0FNdElyQjtFQUFxQyxTTnpCbkI7OztBTTBCbEI7RUFBMkMsU05uRm5COzs7QU1vRnhCO0VBQXlDLFNObkZuQjs7O0FNb0Z0QjtFQUFvQyxTTmlabkI7OztBTWhaakI7RUFBd0MsU05vVW5COzs7QU1uVXJCO0VBQXFDLFNONlVuQjs7O0FNNVVsQjtFQUFtQyxTTjFLbkI7OztBTTJLaEI7RUFBbUMsU05uRm5COzs7QU1vRmhCO0VBQW9DLFNONURuQjs7O0FNNkRqQjtFQUF3QyxTTkNuQjs7O0FNQXJCO0VBQXVDLFNOMUpuQjs7O0FNMkpwQjtFQUF1QyxTTjRFbkI7OztBTTNFcEI7RUFBc0MsU056T25COzs7QU0wT25CO0VBQW1DLFNONEpuQjs7O0FNM0poQjtFQUF3QyxTTm5CbkI7OztBTW9CckI7RUFBaUMsU052TG5COzs7QU13TGQ7RUFBcUMsU05nRG5COzs7QU0vQ2xCO0VBQXdDLFNObU5uQjs7O0FNbE5yQjtFQUE4QyxTTjFPbkI7OztBTTJPM0I7RUFBK0MsU04xT25COzs7QU0yTzVCO0VBQTRDLFNOMU9uQjs7O0FNMk96QjtFQUE4QyxTTjlPbkI7OztBTStPM0I7RUFBdUMsU04xT25COzs7QU0yT3BCO0VBQXdDLFNOMU9uQjs7O0FNMk9yQjtFQUFxQyxTTjFPbkI7OztBTTJPbEI7RUFBdUMsU045T25COzs7QU0rT3BCO0VBQW9DLFNOeEVuQjs7O0FNeUVqQjtFQUFtQyxTTjhGbkI7OztBTTdGaEI7RUFBbUMsU04yVG5COzs7QU0xVGhCO0FBQUE7RUFDbUMsU05vSm5COzs7QU1uSmhCO0VBQXFDLFNOekhuQjs7O0FNMEhsQjtFQUF1QyxTTjZNbkI7OztBTTVNcEI7RUFBd0MsU042TW5COzs7QU01TXJCO0VBQW9DLFNOcVJuQjs7O0FNcFJqQjtFQUFtQyxTTjlIbkI7OztBTStIaEI7QUFBQTtFQUNrQyxTTnNObkI7OztBTXJOZjtFQUF1QyxTTmNuQjs7O0FNYnBCO0VBQXFDLFNOWG5COzs7QU1ZbEI7RUFBMEMsU05WbkI7OztBTVd2QjtFQUFvQyxTTitQbkI7OztBTTlQakI7RUFBb0MsU05ObkI7OztBTU9qQjtFQUFrQyxTTitIbkI7OztBTTlIZjtFQUFvQyxTTk5uQjs7O0FNT2pCO0VBQXVDLFNOeUVuQjs7O0FNeEVwQjtFQUFtQyxTTnhCbkI7OztBTXlCaEI7RUFBMkMsU04xQm5COzs7QU0yQnhCO0VBQXFDLFNOK1NuQjs7O0FNOVNsQjtFQUFpQyxTTmhJbkI7OztBTWlJZDtBQUFBO0VBQ3NDLFNOeU1uQjs7O0FNeE1uQjtBQUFBO0FBQUE7RUFFd0MsU040UW5COzs7QU0zUXJCO0VBQTJDLFNOeUZuQjs7O0FNeEZ4QjtFQUFpQyxTTmxIbkI7OztBTW1IZDtFQUFzQyxTTnZJbkI7OztBTXdJbkI7QUFBQTtFQUN5QyxTTnRLbkI7OztBTXVLdEI7RUFBcUMsU04rS25COzs7QU05S2xCO0VBQWlDLFNONENuQjs7O0FNM0NkO0VBQXdDLFNOdEZuQjs7O0FNdUZyQjtFQUF3QyxTTnFSbkI7OztBTXBSckI7RUFBc0MsU05nUm5COzs7QU0vUW5CO0VBQW1DLFNON0ZuQjs7O0FNOEZoQjtFQUF5QyxTTnNLbkI7OztBTXJLdEI7RUFBdUMsU055R25COzs7QU14R3BCO0VBQTZDLFNOeUduQjs7O0FNeEcxQjtFQUFtQyxTTnFObkI7OztBTXBOaEI7RUFBdUMsU041TW5COzs7QU02TXBCO0VBQThDLFNOckRuQjs7O0FNc0QzQjtFQUFtQyxTTndMbkI7OztBTXZMaEI7RUFBbUMsU042Rm5COzs7QU01RmhCO0VBQWdELFNOOUtuQjs7O0FNK0s3QjtFQUFpRCxTTjlLbkI7OztBTStLOUI7RUFBOEMsU045S25COzs7QU0rSzNCO0VBQWdELFNObExuQjs7O0FNbUw3QjtFQUFrQyxTTm9CbkI7OztBTW5CZjtFQUFpQyxTTnZJbkI7OztBTXdJZDtFQUFtQyxTTjVTbkI7OztBTTZTaEI7RUFBdUMsU044VG5COzs7QU03VHBCO0VBQXFDLFNOaE9uQjs7O0FNaU9sQjtFQUF1QyxTTnJIbkI7OztBTXNIcEI7RUFBdUMsU05ySG5COzs7QU1zSHBCO0VBQXVDLFNOZ0xuQjs7O0FNL0twQjtFQUF3QyxTTnlJbkI7OztBTXhJckI7RUFBbUMsU05tUm5COzs7QU1sUmhCO0VBQXlDLFNOd0ZuQjs7O0FNdkZ0QjtFQUEyQyxTTndGbkI7OztBTXZGeEI7RUFBcUMsU051Q25COzs7QU10Q2xCO0VBQXVDLFNOcUNuQjs7O0FNcENwQjtFQUF5QyxTTm5NbkI7OztBTW9NdEI7RUFBMEMsU05vSG5COzs7QU1uSHZCO0VBQWlELFNOaEhuQjs7O0FNaUg5QjtFQUF5QyxTTnVMbkI7OztBTXRMdEI7RUFBb0MsU05sS25COzs7QU1tS2pCO0FBQUE7RUFDZ0QsU04vTm5COzs7QU1nTzdCO0FBQUE7RUFDOEMsU045Tm5COzs7QU0rTjNCO0FBQUE7RUFDaUQsU05qT25COzs7QU1rTzlCO0FBQUE7RUFDZ0MsU05uSW5COzs7QU1vSWI7RUFBZ0MsU05qRW5COzs7QU1rRWI7QUFBQTtFQUNnQyxTTnVTbkI7OztBTXRTYjtBQUFBO0VBQ2dDLFNORm5COzs7QU1HYjtBQUFBO0FBQUE7QUFBQTtFQUdnQyxTTkVuQjs7O0FNRGI7QUFBQTtBQUFBO0VBRWdDLFNOa0puQjs7O0FNakpiO0FBQUE7RUFDZ0MsU05DbkI7OztBTUFiO0FBQUE7RUFDZ0MsU04zUW5COzs7QU00UWI7RUFBaUMsU043SG5COzs7QU04SGQ7RUFBc0MsU05qSG5COzs7QU1rSG5CO0VBQTJDLFNOZ0xuQjs7O0FNL0t4QjtFQUE0QyxTTmdMbkI7OztBTS9LekI7RUFBNEMsU05nTG5COzs7QU0vS3pCO0VBQTZDLFNOZ0xuQjs7O0FNL0sxQjtFQUE2QyxTTm1MbkI7OztBTWxMMUI7RUFBOEMsU05tTG5COzs7QU1sTDNCO0VBQXNDLFNOd09uQjs7O0FNdk9uQjtFQUF3QyxTTm9PbkI7OztBTW5PckI7RUFBMkMsU055VG5COzs7QU14VHhCO0VBQW9DLFNOc1RuQjs7O0FNclRqQjtFQUFpQyxTTjRTbkI7OztBTTNTZDtFQUF3QyxTTjRTbkI7OztBTTNTckI7RUFBeUMsU05vVG5COzs7QU1uVHRCO0VBQW9DLFNOOUtuQjs7O0FNK0tqQjtFQUEyQyxTTm9MbkI7OztBTW5MeEI7RUFBc0MsU045Qm5COzs7QU0rQm5CO0VBQW1DLFNObEhuQjs7O0FNbUhoQjtFQUFnQyxTTi9XbkI7OztBTWdYYjtFQUFzQyxTTjNTbkI7OztBTTRTbkI7RUFBNkMsU04zU25COzs7QU00UzFCO0VBQW1DLFNObVBuQjs7O0FNbFBoQjtFQUEwQyxTTm1QbkI7OztBTWxQdkI7RUFBNEMsU05DbkI7OztBTUF6QjtFQUEwQyxTTkduQjs7O0FNRnZCO0VBQTRDOzs7QUFDNUM7RUFBNkM7OztBQUM3QztFQUFrQyxTTnRXbkI7OztBTXVXZjtFQUFvQyxTTnVSbkI7OztBTXRSakI7RUFBb0MsU05sWG5COzs7QU1tWGpCO0VBQWtDLFNOYm5COzs7QU1jZjtFQUFxQyxTTmhNbkI7OztBTWlNbEI7RUFBa0MsU04wSW5COzs7QU16SWY7RUFBdUMsU054SG5COzs7QU15SHBCO0VBQW1DLFNOZ09uQjs7O0FNL05oQjtFQUFtQyxTTm5LbkI7OztBTW9LaEI7RUFBaUMsU05IbkI7OztBTUlkO0FBQUE7RUFDcUMsU05sR25COzs7QU1tR2xCO0VBQWtDLFNOa0xuQjs7O0FNakxmO0VBQW1DLFNObUJuQjs7O0FNbEJoQjtFQUFvQyxTTm5YbkI7OztBTW9YakI7RUFBZ0MsU050VG5COzs7QU11VGI7RUFBK0IsU040UG5COzs7QU0zUFo7RUFBa0MsU05pUW5COzs7QU1oUWY7RUFBbUMsU05pRm5COzs7QU1oRmhCO0VBQXNDLFNOOEJuQjs7O0FNN0JuQjtFQUEyQyxTTm1KbkI7OztBTWxKeEI7RUFBaUQsU05wWG5COzs7QU1xWDlCO0VBQWdELFNOdFhuQjs7O0FNdVg3QjtBQUFBO0VBQ2dELFNOelNuQjs7O0FNMFM3QjtFQUF5QyxTTnZObkI7OztBTXdOdEI7RUFBdUMsU04yUG5COzs7QU0xUHBCO0VBQXlDLFNOK09uQjs7O0FNOU90QjtBQUFBO0VBQ2dDLFNOOE1uQjs7O0FNN01iO0VBQTBDLFNOa0RuQjs7O0FNakR2QjtFQUEwQyxTTmtJbkI7OztBTWpJdkI7RUFBa0MsU05nSG5COzs7QU0vR2Y7RUFBNEMsU05uTm5COzs7QU1vTnpCO0VBQXNDLFNOd1BuQjs7O0FNdlBuQjtFQUFtQyxTTlVuQjs7O0FNVGhCO0FBQUE7QUFBQTtFQUV1QyxTTmlObkI7OztBTWhOcEI7QUFBQTtFQUMyQyxTTmhJbkI7OztBTWlJeEI7RUFBa0MsU051UG5COzs7QU10UGY7RUFBbUMsU050SW5COzs7QU11SWhCO0VBQW1DLFNObURuQjs7O0FNbERoQjtFQUEwQyxTTm1EbkI7OztBTWxEdkI7RUFBK0MsU042SW5COzs7QU01STVCO0VBQXdDLFNOMkluQjs7O0FNMUlyQjtFQUFzQyxTTm5QbkI7OztBTW9QbkI7RUFBaUMsU05oUG5COzs7QU1pUGQ7RUFBdUMsU05rQm5COzs7QU1qQnBCO0VBQTJDLFNOa0JuQjs7O0FNakJ4QjtFQUFtQyxTTjdPbkI7OztBTThPaEI7RUFBbUMsU052Rm5COzs7QU13RmhCO0VBQXFDLFNObEZuQjs7O0FNbUZsQjtFQUFnQyxTTm5ObkI7OztBTW9OYjtFQUFxQyxTTjdWbkI7OztBTThWbEI7RUFBa0MsU04xU25COzs7QU0yU2Y7RUFBZ0M7OztBQUNoQztFQUFrQyxTTnlHbkI7OztBTXhHZjtFQUFpQyxTTnZRbkI7OztBTXdRZDtFQUFrQyxTTnZRbkI7OztBTXdRZjtFQUFvQyxTTnpYbkI7OztBTTBYakI7RUFBMkMsU056WG5COzs7QU0wWHhCO0VBQWtDLFNOZ0huQjs7O0FNL0dmO0VBQXlDLFNOZ0huQjs7O0FNL0d0QjtFQUFvQyxTTjRCbkI7OztBTTNCakI7QUFBQTtFQUNnQyxTTnpWbkI7OztBTTBWYjtBQUFBO0VBQ2lDLFNOa0luQjs7O0FNaklkO0VBQWlDLFNOZ0tuQjs7O0FNL0pkO0VBQW9DLFNONkZuQjs7O0FNNUZqQjtFQUF1QyxTTjFRbkI7OztBTTJRcEI7RUFBdUMsU051Rm5COzs7QU10RnBCO0VBQXFDLFNOaFJuQjs7O0FNaVJsQjtFQUF1QyxTTjVObkI7OztBTTZOcEI7RUFBd0MsU05yTm5COzs7QU1zTnJCO0VBQXlDLFNObE9uQjs7O0FNbU90QjtFQUE4QyxTTjVObkI7OztBTTZOM0I7QUFBQTtBQUFBO0VBRXlDLFNOck9uQjs7O0FNc090QjtBQUFBO0VBQzJDLFNOM09uQjs7O0FNNE94QjtBQUFBO0VBQ3lDLFNONU9uQjs7O0FNNk90QjtBQUFBO0VBQ3lDLFNOak9uQjs7O0FNa090QjtFQUF3QyxTTjlPbkI7OztBTStPckI7RUFBaUMsU05rTG5COzs7QU1qTGQ7RUFBb0MsU041VG5COzs7QU02VGpCO0VBQXFDLFNONUhuQjs7O0FNNkhsQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBSXNDLFNOakhuQjs7O0FNa0huQjtFQUEyQyxTTi9VbkI7OztBTWdWeEI7QUFBQTtFQUNrQyxTTlBuQjs7O0FNUWY7QUFBQTtFQUNtQyxTTjFSbkI7OztBTTJSaEI7RUFBdUMsU056TW5COzs7QU0wTXBCO0VBQWdDLFNOM01uQjs7O0FNNE1iO0FBQUE7QUFBQTtFQUV3QyxTTjlMbkI7OztBTStMckI7RUFBMEMsU044Rm5COzs7QU03RnZCO0VBQStCLFNOeEJuQjs7O0FNeUJaO0FBQUE7RUFDbUMsU05xS25COzs7QU1wS2hCO0FBQUE7RUFDd0MsU043RG5COzs7QU04RHJCO0FBQUE7RUFDMEMsU045RG5COzs7QU0rRHZCO0VBQW9DLFNObkxuQjs7O0FNb0xqQjtFQUF3QyxTTmpXbkI7OztBTWtXckI7RUFBbUMsU04xTG5COzs7QU0yTGhCO0VBQXNDLFNOaEVuQjs7O0FNaUVuQjtFQUFvQyxTTjBCbkI7OztBTXpCakI7RUFBc0MsU05PbkI7OztBTU5uQjtFQUE2QyxTTk9uQjs7O0FNTjFCO0VBQWlDLFNOdmFuQjs7O0FNd2FkO0FBQUE7RUFDcUMsU041T25COzs7QU02T2xCO0VBQWdDLFNOK0duQjs7O0FNOUdiO0VBQXVDLFNObmJuQjs7O0FNb2JwQjtFQUFpQyxTTm5EbkI7OztBTW9EZDtFQUF1QyxTTmtCbkI7OztBTWpCcEI7RUFBbUMsU05nSG5COzs7QU0vR2hCO0VBQWlDLFNOaUtuQjs7O0FNaEtkO0VBQXdDLFNONUZuQjs7O0FNNkZyQjtFQUFpQyxTTmtKbkI7OztBTWpKZDtFQUF1QyxTTnBhbkI7OztBTXFhcEI7RUFBbUMsU041RW5COzs7QU02RWhCO0VBQTBDLFNOaE9uQjs7O0FNaU92QjtFQUFvQyxTTjNZbkI7OztBTTRZakI7RUFBMEMsU04vWW5COzs7QU1nWnZCO0VBQXdDLFNObFpuQjs7O0FNbVpyQjtFQUFvQyxTTnJabkI7OztBTXNaakI7RUFBc0MsU05qWm5COzs7QU1rWm5CO0VBQXNDLFNOalpuQjs7O0FNa1puQjtFQUF1QyxTTnRjbkI7OztBTXVjcEI7RUFBeUMsU050Y25COzs7QU11Y3RCO0VBQWtDLFNOb0ZuQjs7O0FNbkZmO0VBQXNDLFNOblduQjs7O0FNb1duQjtFQUErQixTTnBlbkI7OztBTXFlWjtFQUF1QyxTTnZUbkI7OztBTXdUcEI7RUFBd0MsU05sR25COzs7QU1tR3JCO0VBQTBDLFNOemNuQjs7O0FNMGN2QjtFQUF1QyxTTjFmbkI7OztBTTJmcEI7RUFBc0MsU05yRm5COzs7QU1zRm5CO0VBQXVDLFNOdEtuQjs7O0FNdUtwQjtFQUFtQyxTTnBMbkI7OztBTXFMaEI7RUFBMEMsU05wTG5COzs7QU1xTHZCO0VBQXVDLFNOaUVuQjs7O0FNaEVwQjtFQUFzQyxTTmlFbkI7OztBTWhFbkI7RUFBb0MsU05uZG5COzs7QU1vZGpCO0VBQWdDLFNOaGNuQjs7O0FNaWNiO0VBQW9DLFNOcE1uQjs7O0FNcU1qQjtFQUFzQyxTTi9nQm5COzs7QU1naEJuQjtFQUErQixTTjVhbkI7OztBTTZhWjtBQUFBO0FBQUE7RUFFZ0MsU05yTm5COzs7QU1zTmI7RUFBcUMsU05uSm5COzs7QU1vSmxCO0VBQXVDLFNOdmNuQjs7O0FNd2NwQjtFQUEyQyxTTjVYbkI7OztBTTZYeEI7RUFBcUMsU04vV25COzs7QU1nWGxCO0VBQXFDLFNON1JuQjs7O0FNOFJsQjtFQUFvQyxTTmxNbkI7OztBTW1NakI7RUFBbUMsU05qRG5COzs7QU1rRGhCO0VBQXlDLFNOckNuQjs7O0FNc0N0QjtFQUF3QyxTTmpDbkI7OztBTWtDckI7RUFBcUMsU05oQ25COzs7QU1pQ2xCO0VBQXNDLFNOM2JuQjs7O0FNNGJuQjtFQUE0QyxTTjdibkI7OztBTThiekI7RUFBb0MsU05sWG5COzs7QU1tWGpCO0VBQWlDLFNONUNuQjs7O0FNNkNkO0VBQXdDLFNOOEVuQjs7O0FNN0VyQjtFQUF1QyxTTmxKbkI7OztBTW1KcEI7RUFBd0MsU05FbkI7OztBTURyQjtFQUFzQyxTTnZQbkI7OztBTXdQbkI7RUFBa0MsU042RW5COzs7QU01RWY7RUFBaUMsU041S25COzs7QU02S2Q7RUFBb0MsU05uS25COzs7QU1vS2pCO0FBQUE7RUFDd0MsU051Q25COzs7QU10Q3JCO0VBQTRDLFNOdUNuQjs7O0FNdEN6QjtFQUF5QyxTTndFbkI7OztBTXZFdEI7RUFBd0MsU05qTG5COzs7QU1rTHJCO0VBQXVDLFNOdUVuQjs7O0FNdEVwQjtFQUF3QyxTTmxMbkI7OztBTW1MckI7RUFBMEMsU05qTG5COzs7QU1rTHZCO0VBQTBDLFNObkxuQjs7O0FNb0x2QjtFQUFtQyxTTjdKbkI7OztBTThKaEI7RUFBdUMsU043U25COzs7QU04U3BCO0VBQThDLFNOdFduQjs7O0FNdVczQjtFQUF3QyxTTmhJbkI7OztBTWlJckI7RUFBcUMsU042RW5COzs7QU01RWxCO0VBQW1DLFNOM0VuQjs7O0FNNEVoQjtFQUFzQyxTTnVEbkI7OztBTXREbkI7RUFBdUMsU053RG5COzs7QU12RHBCO0FBQUE7RUFDZ0MsU04xZ0JuQjs7O0FNMmdCYjtFQUFvQyxTTjBEbkI7OztBTXpEakI7RUFBa0MsU05tQm5COzs7QU1sQmY7RUFBbUMsU05uQm5COzs7QU1vQmhCO0VBQW1DLFNON0xuQjs7O0FNOExoQjtBQUFBO0VBQ3lDLFNONEVuQjs7O0FNM0V0QjtFQUEwQyxTTnBLbkI7OztBTXFLdkI7RUFBcUMsU054S25COzs7QU15S2xCO0VBQXlDLFNOOVhuQjs7O0FNK1h0QjtBQUFBO0VBQ3lDLFNOemhCbkI7OztBTTBoQnRCO0FBQUE7RUFDbUQsU054aEJuQjs7O0FNeWhCaEM7QUFBQTtFQUN5QyxTTjVoQm5COzs7QU02aEJ0QjtBQUFBO0VBQzRDLFNON2hCbkI7OztBTThoQnpCO0FBQUE7RUFDMEMsU05saUJuQjs7O0FNbWlCdkI7RUFBMEMsU043TG5COzs7QU04THZCO0VBQXFDLFNOblJuQjs7O0FNb1JsQjtFQUF5QyxTTjFMbkI7OztBTTJMdEI7RUFBMkMsU04xTG5COzs7QU0yTHhCO0VBQXdDLFNOaERuQjs7O0FNaURyQjtFQUEwQyxTTmhEbkI7OztBTWlEdkI7RUFBbUMsU043ZW5COzs7QU04ZWhCO0VBQTJDLFNOaGZuQjs7O0FNaWZ4QjtFQUFrQyxTTmxkbkI7OztBTW1kZjtFQUEwQyxTTnhqQm5COzs7QU15akJ2QjtFQUF3QyxTTmhTbkI7OztBTWlTckI7QUFBQTtFQUM0QyxTTmpTbkI7OztBTWtTekI7QUFBQTtFQUMyQyxTTnJTbkI7OztBTXNTeEI7QUFBQTtFQUMwQyxTTnhTbkI7OztBTXlTdkI7RUFBc0MsU043U25COzs7QU04U25CO0FBQUE7RUFDd0MsU043VG5COzs7QU04VHJCO0FBQUE7RUFDeUMsU05sVW5COzs7QU1tVXRCO0VBQTRDLFNOL1RuQjs7O0FNZ1V6QjtFQUEwQyxTTnpVbkI7OztBTTBVdkI7RUFBeUMsU05oVW5COzs7QU1pVXRCO0VBQTJDLFNOcFVuQjs7O0FNcVV4QjtFQUF5QyxTTnRVbkI7OztBTXVVdEI7RUFBc0MsU04zQm5COzs7QU00Qm5CO0VBQXVDLFNOM0puQjs7O0FNNEpwQjtFQUE2QyxTTjljbkI7OztBTStjMUI7RUFBK0IsU05yV25COzs7QU1zV1o7RUFBc0MsU05yV25COzs7QU1zV25CO0VBQXdDLFNOeEJuQjs7O0FNeUJyQjtFQUEwQyxTTnZObkI7OztBTXdOdkI7RUFBaUQsU052Tm5COzs7QU13TjlCO0VBQXVDLFNOM1duQjs7O0FNNFdwQjtFQUF3QyxTTm1CbkI7OztBTWxCckI7RUFBbUMsU05qSm5COzs7QU1rSmhCO0VBQW1DLFNOdmZuQjs7O0FNd2ZoQjtFQUFvQyxTTnpZbkI7OztBTTBZakI7RUFBa0MsU04xTm5COzs7QU0yTmY7RUFBOEMsU05oVG5COzs7QU1pVDNCO0FBQUE7RUFDdUMsU05uRW5COzs7QU1vRXBCO0VBQW1DLFNOaGVuQjs7O0FNaWVoQjtFQUFrQyxTTnZvQm5COzs7QU13b0JmO0VBQW1DLFNOam9CbkI7OztBTWtvQmhCO0VBQTRDLFNOemlCbkI7OztBTTBpQnpCO0VBQTZDLFNONWlCbkI7OztBTTZpQjFCO0VBQTZDLFNOMWlCbkI7OztBTTJpQjFCO0VBQTZDLFNOL2lCbkI7OztBTWdqQjFCO0VBQXFDLFNOaFVuQjs7O0FNaVVsQjtFQUFvQyxTTjFRbkI7OztBTTJRakI7RUFBc0MsU04xUW5COzs7QU0yUW5CO0VBQWtDLFNON1FuQjs7O0FNOFFmO0VBQWdDLFNOaFJuQjs7O0FNaVJiO0VBQXVDLFNObmZuQjs7O0FNb2ZwQjtFQUF5QyxTTm5mbkI7OztBTW9mdEI7RUFBa0MsU045VW5COzs7QU0rVWY7RUFBa0MsU05sQm5COzs7QU1tQmY7RUFBc0MsU041a0JuQjs7O0FNNmtCbkI7RUFBc0MsU05sWm5COzs7QU9sUm5CO0VBQ0U7RUFDQTtFQUNBO0VBS0E7RUFDQTs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUVBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FDblFBO0VBQ0U7RUFDQTtFQUNBOztBQXZEQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCeEUvQmlCO0V3RWlDakI7RUFDQTtFQUNBLFMv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RjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFF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RnpHbUI7O0E2RjJHbkI7RUFDRSxPNUYxSFk7O0E0RjhIZDtFQUNFLE81Ri9IWTs7O0E0RnlJaEI7RUFDRTs7O0FBT0o7QUFBQTtFQUNFO0VBQ0E7OztBQ3JKSjtFQUNFLFdyR2tENEM7O0FxR2hENUM7RUFDRTs7QUFFQTtFQUNFOztBTE5KO0VBQ0UsT3pGa0JxQjs7QXlGZnJCO0VBQ0UsT0FONkc7O0FLZS9HO0VBQ0U7RUFDQTs7O0FBTUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCOUZ0QnFCO0U4RndCckI7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFLGtCOUZsQ21COztBOEZvQ3JCO0VBQ0Usa0I5RnJDbUI7O0E4RnVDckI7RUFDRSxrQjlGeENtQjs7QThGMENuQjtFQUNFOzs7QUFNUjtFQUNFLFdyR0w0QztFcUdNNUMsYXJHMkM0QztFcUcxQzVDLGtCMUY3Q1M7RTBGOENULGMxRjlDUzs7QTBGZ0RUO0VBQ0UsTzFGN0M2Qjs7QTBGOEM3QjtFQUVFLE83RjlEYztFNkYrRGQsa0IxRnpDMkI7O0EwRm9DL0I7RUFPRTs7QUFFQTtFQUNFOztBQUlKO0VBQ0UsTzFGM0Q2Qjs7QXFGaEIvQjtFQUNFLE9yRmlCNkI7O0FxRmQ3QjtFQUNFLE9BTjZHOztBS21GL0c7RUFDRTtFQUNBOztBQUVGO0VBQ0UsTzFGdEUyQjs7QTBGd0UzQjtFQUVFLE8xRnRFeUI7RTBGdUV6QixrQjFGekV5Qjs7QTBGNkUzQjtFQUdFLE8xRjdFeUI7RTBGOEV6QixrQjFGaEZ5Qjs7QTBGb0YzQjtFQUdFLE9yR0lzQztFcUdIdEMsa0JyR0lzQzs7QXFHQzVDO0VBQ0UsYzFGdEdPOztBMEZ1R1A7RUFFRSxrQjFGbEcyQjs7QTBGb0c3QjtFQUNFLGtCN0Z2SGM7O0E2RjJIbEI7QUFBQTtBQUFBO0VBRUUsYzFGbEhPOztBMEZ5SEw7RUFHRSxrQjFGcEh5QjtFMEZxSHpCLE8xRm5IeUI7O0EwRnVIN0I7RUFHSTtJQUNFLE8xRmhJdUI7O0UwRmlJdkI7SUFFRSxPMUYvSHFCO0kwRmdJckIsa0IxRmxJcUI7O0Uw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QTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQSxPcEg3TWtCOzs7QW9IZ05wQjtFQUNFO0VBQ0EsWXBIMU5rQjs7O0FvSDZOcEI7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRSxZcEh4T2tCO0VvSHlPbEI7RUFDQTs7O0FBR0Y7RUFDRSxZcEg5T2tCO0VvSCtPbEI7OztBQUVGO0VBQ0UsT3BIN09rQjtFb0g4T2xCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFLE9uSHpSa0I7OztBbUgyUnBCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBLE9wSDFRa0I7RW9IMlFsQjs7O0FBRUY7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0EsT3BIclNrQjtFb0hzU2xCO0VBQ0E7OztBQUVGO0FBQUE7RUFFRTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0UsWXBIaFVrQjtFb0hpVWxCOzs7QUFFRjtFQUNFLFlwSGpVa0I7OztBb0hvVXBCO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsWXBIL1VrQjtFb0hnVmxCO0VBQ0E7RUFDQSxPcEgzVWtCO0VvSDRVbEI7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0UsWW5IM1hrQjtFbUg0WGxCLE9wSHZWa0I7RW9Id1ZsQjs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQSxZcEh4V2tCO0VvSHlXbEI7RUFDQTtFQUNBLE9wSHBXa0I7RW9IcVdsQjs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFLFluSGxaa0I7RW1IbVpsQixPcEg5V2tCO0VvSCtXbEI7OztBQUdGO0VBQ0U7SUFDRTs7RUFFRjtJQUNFOztFQUVGO0lBQ0U7O0VBRUY7SUFDRTs7O0FBR0o7QUFBQTtFQUVFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtFO0VBQ0EiLCJmaWxlIjoiZGFyay1tb2Rlcm4tYmx1ZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIkY29sb3ItYmctMDAwOiAjMzMzMzMzICFkZWZhdWx0OyAvLyNmZmZmZmY7XG4kY29sb3ItYmctMTAwOiAjMjIyMjIyICFkZWZhdWx0OyAgLy8jZjlmOWY5O1xuJGNvbG9yLWJnLTIwMDogIzQ0NDQ0NCAhZGVmYXVsdDsgLy8jZWVlZWVlO1xuJGNvbG9yLWJnLTMwMDogIzM2MzYzNiAhZGVmYXVsdDsgLy8jZGRkZGRkO1xuXG4kY29sb3ItdGV4dC0wMDA6ICNmZmZmZmYgIWRlZmF1bHQ7XG4kY29sb3ItdGV4dC0xMDA6ICNkZGRkZGQgIWRlZmF1bHQ7IC8vIzIwMjAyMDsgLy9kYXJrZXN0XG4kY29sb3ItdGV4dC0yMDA6ICNhYWFhYWEgIWRlZmF1bHQ7IC8vIzU1NTU1NTsgLy9kYXJrZXJcbiRjb2xvci10ZXh0LTMwMDogI2FhYWFhYSAhZGVmYXVsdDsgLy8jNTk1OTU5OyAvL2RhcmtcbiRjb2xvci10ZXh0LTQwMDogIzY2NjY2NiAhZGVmYXVsdDsgLy9ub3JtYWxcbiRjb2xvci10ZXh0LTUwMDogIzc3Nzc3NyAhZGVmYXVsdDsgLy8jNzc3Nzc3OyAvL2xpZ3RoXG4kY29sb3ItdGV4dC02MDA6ICM5OTk5OTkgIWRlZmF1bHQ7IC8vbGlndGhlclxuJGNvbG9yLXRleHQtNzAwOiAjYWFhYWFhICFkZWZhdWx0OyAvL1xuJGNvbG9yLXRleHQtODAwOiAjNTU1NTU1ICFkZWZhdWx0OyAvLyNjY2NjY2M7XG4kY29sb3ItdGV4dC05MDA6ICM0NDQ0NDQgIWRlZmF1bHQ7IC8vI2RkZGRkZDtcblxuJGNvbG9yLWJvcmRlci0xMDA6ICMzNjM2MzYgIWRlZmF1bHQ7IC8vI2Q5ZDlkOTtcbiRjb2xvci1ib3JkZXItMjAwOiAjMzMzMzMzICFkZWZhdWx0OyAvLyNkOWQ5ZDk7XG4kY29sb3Itc2hhZG93OiAgICAgI2ZmZmZmZiAhZGVmYXVsdDsgLy8jY2NjY2NjO1xuXG4vKlxuJGJhc2UtYmc6ICAgICAgICAgICAgICAgICNmZmZmZmYgIWRlZmF1bHQ7XG4kYmFzZS1iZy1kYXJrZXI6ICAgICAgICAgI2VlZWVlZSAhZGVmYXVsdDtcbiRiYXNlLWJnLWRhcms6ICAgICAgICAgICAjZjlmOWY5ICFkZWZhdWx0O1xuJGJhc2UtYm9yZGVyOiAgICAgICAgICAgICNkOWQ5ZDkgIWRlZmF1bHQ7XG4kYmFzZS1jb2xvcjogICAgICAgICAgICAgIzIwMjAyMCAhZGVmYXVsdDtcbiovXG5cbiRncmF5LWJhc2U6ICAgICAgICAgICAgICAjZGRkZGRkICFkZWZhdWx0OyAvLyMyMDIwMjA7XG4kZ3JheS1kYXJrZXI6ICAgICAgICAgICAgI2FhYWFhYSAhZGVmYXVsdDsgLy8jNTU1NTU1O1xuJGdyYXktZGFyazogICAgICAgICAgICAgICM3Nzc3NzcgIWRlZmF1bHQ7IC8vIzc3Nzc3NztcbiRncmF5OiAgICAgICAgICAgICAgICAgICAjMzYzNjM2ICFkZWZhdWx0OyAvLyNkZGRkZGQ7XG4kZ3JheS1saWdodDogICAgICAgICAgICAgIzQ0NDQ0NCAhZGVmYXVsdDsgLy8jZWVlZWVlO1xuJGdyYXktbGlnaHRlcjogICAgICAgICAgICMyMjIyMjIgIWRlZmF1bHQ7IC8vI2Y5ZjlmOTtcblxuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgMCAxcHggMCAjMDAwICFkZWZhdWx0O1xuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMjAwICFkZWZhdWx0O1xuJGNoZWNrYm94LWJhY2tncm91bmQtY29sb3I6ICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiRuYXZiYXItbWFpbi1pY29uLWNvbG9yOiAgICAgICRjb2xvci10ZXh0LTYwMCAhZGVmYXVsdDtcbiRwYW5lbC1kZWZhdWx0LXRleHQ6ICAgICAgICAgICRjb2xvci10ZXh0LTEwMCAhZGVmYXVsdDtcbiR3aWRnZXQtY29udGVudC1jb2xvcjogICAgICAgICRjb2xvci10ZXh0LTMwMCAhZGVmYXVsdDtcbiR3aWRnZXQtY29udGVudC1pY29uLWNvbG9yOiAgICRjb2xvci10ZXh0LTUwMCAhZGVmYXVsdDtcbiR3aWRnZXQtY29sLWJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iZy0xMDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZy1kaXNhYmxlZDogICAgICAgICAgICRjb2xvci1iZy0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtY29sb3ItZm9jdXM6ICAgICAgICAgICAkY29sb3ItdGV4dC0wMDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAgICAgICAgICAkY29sb3ItYm9yZGVyLTEwMCAhZGVmYXVsdDtcbiRpbnB1dC1iZy1mb2N1czogICAgICAgICAgICAgICMxMTExMTEgIWRlZmF1bHQ7XG4kaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI6ICAgICAkY29sb3ItdGV4dC01MDAgIWRlZmF1bHQ7IiwiJGNvbG9yLWJnLTAwMDogI2ZmZmZmZiAhZGVmYXVsdDtcbiRjb2xvci1iZy0xMDA6ICNmOWY5ZjkgIWRlZmF1bHQ7XG4kY29sb3ItYmctMjAwOiAjZWVlZWVlICFkZWZhdWx0O1xuJGNvbG9yLWJnLTMwMDogI2RkZGRkZCAhZGVmYXVsdDtcblxuJGNvbG9yLXRleHQtMDAwOiAjZmZmZmZmICFkZWZhdWx0O1xuJGNvbG9yLXRleHQtMTAwOiAjMjAyMDIwICFkZWZhdWx0OyAvL2Rhcmtlc3RcbiRjb2xvci10ZXh0LTIwMDogIzU1NTU1NSAhZGVmYXVsdDsgLy9kYXJrZXJcbiRjb2xvci10ZXh0LTMwMDogIzU5NTk1OSAhZGVmYXVsdDsgLy9kYXJrXG4kY29sb3ItdGV4dC00MDA6ICM2NjY2NjYgIWRlZmF1bHQ7IC8vbm9ybWFsXG4kY29sb3ItdGV4dC01MDA6ICM3Nzc3NzcgIWRlZmF1bHQ7IC8vbGlndGhcbiRjb2xvci10ZXh0LTYwMDogIzk5OTk5OSAhZGVmYXVsdDsgLy9saWd0aGVyXG4kY29sb3ItdGV4dC03MDA6ICNhYWFhYWEgIWRlZmF1bHQ7IC8vXG4kY29sb3ItdGV4dC04MDA6ICNjY2NjY2MgIWRlZmF1bHQ7XG4kY29sb3ItdGV4dC05MDA6ICNkZGRkZGQgIWRlZmF1bHQ7XG5cbiRjb2xvci1ib3JkZXItMTAwOiAjZDlkOWQ5ICFkZWZhdWx0O1xuJGNvbG9yLWJvcmRlci0yMDA6ICNlOWU5ZTkgIWRlZmF1bHQ7XG4kY29sb3Itc2hhZG93OiAjY2NjY2NjICFkZWZhdWx0O1xuXG4vKlxuJGJhc2UtYmc6ICAgICAgICAgICAgICAgICNmZmZmZmYgIWRlZmF1bHQ7XG4kYmFzZS1iZy1kYXJrZXI6ICAgICAgICAgI2VlZWVlZSAhZGVmYXVsdDtcbiRiYXNlLWJnLWRhcms6ICAgICAgICAgICAjZjlmOWY5ICFkZWZhdWx0O1xuJGJhc2UtYm9yZGVyOiAgICAgICAgICAgICNkOWQ5ZDkgIWRlZmF1bHQ7XG4kYmFzZS1jb2xvcjogICAgICAgICAgICAgIzIwMjAyMCAhZGVmYXVsdDtcbiovXG5cbiRncmF5LWJhc2U6ICAgICAgICAgICAgICAjMjAyMDIwICFkZWZhdWx0O1xuJGdyYXktZGFya2VyOiAgICAgICAgICAgICM1NTU1NTUgIWRlZmF1bHQ7XG4kZ3JheS1kYXJrOiAgICAgICAgICAgICAgIzc3Nzc3NyAhZGVmYXVsdDtcbiRncmF5OiAgICAgICAgICAgICAgICAgICAjZGRkZGRkICFkZWZhdWx0O1xuJGdyYXktbGlnaHQ6ICAgICAgICAgICAgICNlZWVlZWUgIWRlZmF1bHQ7XG4kZ3JheS1saWdodGVyOiAgICAgICAgICAgI2Y5ZjlmOSAhZGVmYXVsdDtcblxuJHppbmRleC1uYXZiYXI6ICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAyMDUwICFkZWZhdWx0OyAvLyBhY2ltYSBkYSBwaWxoYSBkZSBtb2RhaXMgKDEwNTAgKyAxMCBwb3IgbW9kYWwpXG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAyMTAwICFkZWZhdWx0OyAvLyBhY2ltYSBkYSBwaWxoYSBkZSBtb2RhaXMgKDEwNTAgKyAxMCBwb3IgbW9kYWwpXG4kemluZGV4LW5hdmJhci1maXhlZDogICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZ3JvdW5kOiAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG5cblxuXG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9wZW4rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSZzdWJzZXQ9Y3lyaWxsaWMsY3lyaWxsaWMtZXh0LGxhdGluLWV4dCcpO1xuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbWFsbGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAtIDIgIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtYWxsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlIC0gMSAhZGVmYXVsdDtcbiRmb250LXNpemUtbGFyZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKyAxICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sYXJnZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSArIDIgIWRlZmF1bHQ7XG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMzAwICFkZWZhdWx0O1xuJHRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LTEwMCAhZGVmYXVsdDtcbiRzdGF0LWJveC10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAjMjAyMDIwICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtMDAwICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGNvbG9yLXN0YXR1cy1vbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuICFkZWZhdWx0O1xuXG4vLyoqIGhlYWRpbmdzXG4kaGVhZGluZy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzhweCAhZGVmYXVsdDtcbiRoZWFkaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC01MDAgIWRlZmF1bHQ7XG4kaGVhZGluZy1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcblxuLy8qKiBpY29uXG4kaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtOTAwICFkZWZhdWx0O1xuXG4vLyoqIGJvcmRlcnNcbiRib3JkZXItcmFkaXVzLWJhc2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgICAgICAgICAgICAgICAgICAgMiAhZGVmYXVsdDtcblxuLy8qKiBuYXZiYXJzXG4kbmF2YmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDJweCAhZGVmYXVsdDtcbiRuYXZiYXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGVmYXVsdC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWxhcmdlICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0wMDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJvcmRlci0xMDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtMTAwICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICRuYXZiYXItZGVmYXVsdC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICAgICAkbmF2YmFyLWRlZmF1bHQtYmcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgJG5hdmJhci1kZWZhdWx0LWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICAgICRjb2xvci1iZy0xMDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgI2NjYyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWRlZmF1bHQtYm9yZGVyICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICAgICRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICRpY29uLWNvbG9yICFkZWZhdWx0O1xuXG4kbmF2YmFyLW1haW4tc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1sYXJnZSAhZGVmYXVsdDtcbiRuYXZiYXItbWFpbi13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBub3JtYWwgIWRlZmF1bHQ7XG4kbmF2YmFyLW1haW4tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcbiRuYXZiYXItbWFpbi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYm9yZGVyLTEwMCAhZGVmYXVsdDtcbiRuYXZiYXItbWFpbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC0xMDAgIWRlZmF1bHQ7XG4kbmF2YmFyLW1haW4tYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJG5hdmJhci1tYWluLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1tYWluLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJG5hdmJhci1tYWluLWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICRuYXZiYXItbWFpbi1iZyAhZGVmYXVsdDtcbiRuYXZiYXItbWFpbi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkbmF2YmFyLW1haW4tY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW1haW4tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kbmF2YmFyLW1haW4tbGluay1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiRuYXZiYXItbWFpbi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRuYXZiYXItbWFpbi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICAkbmF2YmFyLW1haW4tbGluay1ob3Zlci1iZyAhZGVmYXVsdDtcbiRuYXZiYXItbWFpbi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuJG5hdmJhci1tYWluLWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1tYWluLXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRuYXZiYXItbWFpbi1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2YmFyLW1haW4tdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgJG5hdmJhci1tYWluLWxpbmstaG92ZXItYmcgIWRlZmF1bHQ7XG4kbmF2YmFyLW1haW4tdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kbmF2YmFyLW1haW4taWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGljb24tY29sb3IgIWRlZmF1bHQ7XG5cbi8vKiogbmF2c1xuJG5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggMTVweCAhZGVmYXVsdDtcbiRuYXYtbGluay1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMjAwICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0wMDAgIWRlZmF1bHQ7XG4kbmF2LWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtNTAwICFkZWZhdWx0O1xuXG4kbmF2LWRpc2FibGVkLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtNzAwICFkZWZhdWx0O1xuJG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRjb2xvci10ZXh0LTcwMCAhZGVmYXVsdDtcblxuLy89PSBUYWJzXG4kbmF2LXRhYnMtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuJG5hdi10YWJzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0xMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkbmF2LWxpbmstaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgICAkY29sb3ItYmctMDAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRjb2xvci10ZXh0LTEwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I6ICAgICAgICAkY29sb3ItYm9yZGVyLTEwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1qdXN0aWZpZWQtYWN0aXZlLWxpbmstYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmcgIWRlZmF1bHQ7XG5cbi8vPT0gTGlzdC1Hcm91cFxuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlcjogICAgICAgICAgICAgICRjb2xvci1ib3JkZXItMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICRjb2xvci1iZy0xMDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlcjogICAgICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I6ICAgbGlnaHRlbigkbGlzdC1ncm91cC1hY3RpdmUtYmcsIDQwJSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstY29sb3I6ICAgICAgICAgICRjb2xvci10ZXh0LTIwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I6ICAkY29sb3ItdGV4dC0xMDAgIWRlZmF1bHQ7XG5cbi8vPT0gUGFuZWxzXG4kcGFuZWwtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcbiRwYW5lbC1ib2R5LXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJHBhbmVsLWhlYWRpbmctcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgIDlweCAxNXB4ICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICRwYW5lbC1oZWFkaW5nLXBhZGRpbmcgIWRlZmF1bHQ7XG4kcGFuZWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuJHBhbmVsLWlubmVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1ib3JkZXItMTAwICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0xMDAgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kZWZhdWx0LXRleHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1ib3JkZXItMTAwICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtaGVhZGluZy1iZzogICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0xMDAgIWRlZmF1bHQ7XG5cbiR3aWRnZXQtY29udGVudC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgICAkY29sb3ItYmctMDAwICFkZWZhdWx0O1xuJHdpZGdldC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LTUwMCAhZGVmYXVsdDtcbiR3aWRnZXQtY29udGVudC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC04MDAgIWRlZmF1bHQ7XG4kd2lkZ2V0LWNvbC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgI2Y5ZjlmOSAhZGVmYXVsdDtcblxuLy89PSBGb3Jtc1xuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiRpbnB1dC1iZy1kaXNhYmxlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMjAwICFkZWZhdWx0O1xuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1jb2xvci1mb2N1czogICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC0xMDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJvcmRlci0xMDAgIWRlZmF1bHQ7XG4kaW5wdXQtYmctZm9jdXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcbiRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcjogICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC04MDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICRpbnB1dC1ib3JkZXIgIWRlZmF1bHQ7XG4kY3Vyc29yLWRpc2FibGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG4kaW5wdXQtbGFiZWwtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuXG4vLz09IFRhYmxlc1xuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG4kdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZzogICAgICAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRhYmxlLWJnLWFjY2VudDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtYmctaG92ZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiR0YWJsZS1iZy1hY3RpdmU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGFibGUtYmctaG92ZXIgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJvcmRlci0xMDAgIWRlZmF1bHQ7XG5cbiR0YWJsZS1saXN0LWhlYWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC01MDAgIWRlZmF1bHQ7XG4kdGFibGUtbGlzdC1oZWFkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTIwMCAhZGVmYXVsdDtcblxuLy89PSBEcm9wZG93bnNcbi8vKiogQmFja2dyb3VuZCBmb3IgdGhlIGRyb3Bkb3duIG1lbnUuXG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYm9yZGVyLTEwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1mYWxsYmFjay1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAkY29sb3ItYm9yZGVyLTEwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYm9yZGVyLTEwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC01MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtNTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0xMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgJGRyb3Bkb3duLWxpbmstaG92ZXItYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtNzAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRkcm9wZG93bi1saW5rLWNvbG9yICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtOTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWljb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWljb24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAxM3B4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgIDZweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtYWxsICFkZWZhdWx0O1xuXG4vLz09IFBhZ2luYXRpb25cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC0xMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0xMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYm9yZGVyICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC03MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYm9yZGVyICFkZWZhdWx0O1xuXG4vLyoqIFRodW1ibmFpbHNcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYm9yZGVyLTEwMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuLy8qKiBCdXR0b25zXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LTUwMCAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMjAwICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICRidG4tZGVmYXVsdC1iZyAhZGVmYXVsdDtcblxuLy8qKiBQYW5lbHNcbiRwYW5lbC10aXRsZS1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWxhcmdlciAhZGVmYXVsdDtcbiRwYW5lbC10aXRsZS1pY29uLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJHBhbmVsLXRpdGxlLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyoqIEdyb3Vwc1xuJGdyb3VwLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgIDhweCAhZGVmYXVsdDtcbiRncm91cC1oZWFkaW5nLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICA3cHggIWRlZmF1bHQ7XG4kZ3JvdXAtaGVhZGluZy1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgJGdyb3VwLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncm91cC1pdGVtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kZ3JvdXAtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgJGdyb3VwLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuJGdyb3VwLWhlYWRpbmctYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kZ3JvdXAtaGVhZGluZy1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1sYXJnZSAhZGVmYXVsdDtcbiRncm91cC1oZWFkaW5nLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMTAwICFkZWZhdWx0O1xuJGdyb3VwLWhlYWRpbmctaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0yMDAgIWRlZmF1bHQ7XG4kZ3JvdXAtaGVhZGluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtMTAwICFkZWZhdWx0O1xuJGdyb3VwLWhlYWRpbmctaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LTEwMCAhZGVmYXVsdDtcbiRncm91cC1oZWFkaW5nLWNvbGxhcHNlLWNvbG9yOiAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC01MDAgIWRlZmF1bHQ7XG4kZ3JvdXAtaGVhZGluZy1jb2xsYXBzZS1ob3Zlci1jb2xvcjogICAgICAgICAgJGNvbG9yLXRleHQtNTAwICFkZWZhdWx0O1xuXG4kZ3JvdXAtY2VsbC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJGdyb3VwLWNlbGwtcGFkZGluZy1yaWdodDogICAgICAgICAgICAgICAgICAgIDBweCAhZGVmYXVsdDtcblxuJGdyb3VwLWxpc3QtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kZ3JvdXAtbGlzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRncm91cC1saXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGdyb3VwLWxpc3QtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kZ3JvdXAtbGlzdC1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiRncm91cC1saXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGdyb3VwLWxpc3QtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cbiRncm91cC1jb2xsYXBzZS1zdGF0dXMtY29sb3I6ICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC04MDAgIWRlZmF1bHQ7XG4kZ3JvdXAtY29sbGFwc2Utc3RhdHVzLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kZ3JvdXAtY29sbGFwc2Utc3RhdHVzLWNvbGxhcHNlLWNvbG9yOiAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kZ3JvdXAtY29sbGFwc2Utc3RhdHVzLWNvbGxhcHNlLWhvdmVyLWNvbG9yOiAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kZ3JvdXAtY29sbGFwc2Utc3RhdHVzLWNvbGxhcHNlLWZvbnQtc2l6ZTogICAgMWVtICFkZWZhdWx0O1xuJGdyb3VwLWNvbGxhcHNlLXN0YXR1cy1jb2xsYXBzZS1mb250LXdlaWdodDogIG5vcm1hbCAhZGVmYXVsdDtcbiRncm91cC1jb2xsYXBzZS1zdGF0dXMtZm9udC1zaXplOiAgICAgICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kZ3JvdXAtY29sbGFwc2Utc3RhdHVzLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuXG4vLyoqIE1hcCBDb250cm9sc1xuJG1hcC1jb250cm9scy1idG4tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0wMDAgIWRlZmF1bHQ7XG4kbWFwLWNvbnRyb2xzLWJ0bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtMjAwICFkZWZhdWx0O1xuJG1hcC1jb250cm9scy1idG4taG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICRtYXAtY29udHJvbHMtYnRuLWJnICFkZWZhdWx0O1xuJG1hcC1jb250cm9scy1idG4taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICRtYXAtY29udHJvbHMtYnRuLWNvbG9yICFkZWZhdWx0O1xuJG1hcC1jb250cm9scy1idG4tYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJG1hcC1jb250cm9scy1idG4tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG1hcC1jb250cm9scy1idG4tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRjb2xvci1ib3JkZXItMTAwICFkZWZhdWx0O1xuXG4vLyoqIE1vZGFsc1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0wMDAgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMTAwICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG1vZGFsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbi8vKiogUG9wdXBzXG4kcG9wdXAtaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiRwb3B1cC1ib2R5LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMDAwICFkZWZhdWx0O1xuJHBvcHVwLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHBvcHVwLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgIDhweDtcbiRwb3B1cC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAxMHB4O1xuJHBvcHVwLXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LTEwMCAhZGVmYXVsdDtcbiRwb3B1cC10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWxhcmdlO1xuJHBvcHVwLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LTMwMCAhZGVmYXVsdDtcbiRwb3B1cC1ib2R5LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtYWxsO1xuXG4vLyoqIFNjcm9sbGJhclxuJHNjcm9sbGJhci1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kc2Nyb2xsYmFyLXRyYWNrLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiRzY3JvbGxiYXItdHJhY2stYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMDAwICFkZWZhdWx0O1xuJHNjcm9sbGJhci10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0zMDAgIWRlZmF1bHQ7XG4kc2Nyb2xsYmFyLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcblxuXG4kc2lkZWJhci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcbiRzaWRlYmFyLXRvcC1zcGFjZTogICAgICAgICAgICAgICAgICAgICAgICAgICAxMDBweCAhZGVmYXVsdDtcbiRzaWRlYmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHNpZGViYXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgIDhweCAhZGVmYXVsdDtcbiRzaWRlYmFyLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1wYWRkaW5nLXZlcnRpY2FsICRzaWRlYmFyLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRzaWRlYmFyLXRhYi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICAgICAkc2lkZWJhci1wYWRkaW5nICFkZWZhdWx0O1xuJHNpZGViYXItdGFiLWJvZHktcGFkZGluZzogICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kc2lkZWJhci10YWItZm9vdGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgJHNpZGViYXItcGFkZGluZyAhZGVmYXVsdDtcblxuLy8qKiBDaGVja2JveFxuJGNoZWNrYm94LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgICdpY29tb29uJyAhZGVmYXVsdDtcbiRjaGVja2JveC1jaGVjay1pY29uOiAgICAgICAgICAgICAgICAgICAgICAgICAnXFxlOTBiJyAhZGVmYXVsdDtcbiRjaGVja2JveC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMDAwICFkZWZhdWx0O1xuJGNoZWNrYm94LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1ib3JkZXItMTAwICFkZWZhdWx0O1xuJGNoZWNrYm94LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtYWxsICFkZWZhdWx0O1xuJGNoZWNrYm94LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE4cHggIWRlZmF1bHQ7XG4kY2hlY2tib3gtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRjaGVja2JveC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgICBub3JtYWwgIWRlZmF1bHQ7XG4kY2hlY2tib3gtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgKCRjaGVja2JveC1zaXplIC0gJGNoZWNrYm94LWZvbnQtc2l6ZSAtIDIpIC8gMiAhZGVmYXVsdDtcbiRjaGVja2JveC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAjZmZmZmZmICFkZWZhdWx0O1xuJGNoZWNrYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGNoZWNrYm94LWFjdGl2ZS1ib3JkZXItY29sb3Itc2FtZTogICAgICAgICAgIHRydWUgIWRlZmF1bHQ7IiwiLyohXG4gKiBCb290c3RyYXAgdjMuMy41IChodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbSlcbiAqIENvcHlyaWdodCAyMDExLTIwMTUgVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcbiAqL1xuXG4vLyBDb3JlIHZhcmlhYmxlcyBhbmQgbWl4aW5zXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9taXhpbnNcIjtcblxuLy8gUmVzZXQgYW5kIGRlcGVuZGVuY2llc1xuQGltcG9ydCBcImJvb3RzdHJhcC9ub3JtYWxpemVcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvcHJpbnRcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9nbHlwaGljb25zXCI7XG5cbi8vIENvcmUgQ1NTXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3NjYWZmb2xkaW5nXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3R5cGVcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9jb2RlXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2dyaWRcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvdGFibGVzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2Zvcm1zXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2J1dHRvbnNcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcImJvb3RzdHJhcC9jb21wb25lbnQtYW5pbWF0aW9uc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9kcm9wZG93bnNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvYnV0dG9uLWdyb3Vwc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9pbnB1dC1ncm91cHNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvbmF2c1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9uYXZiYXJcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9icmVhZGNydW1ic1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9wYWdpbmF0aW9uXCI7XG4vL0BpbXBvcnQgXCJib290c3RyYXAvcGFnZXJcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvbGFiZWxzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2JhZGdlc1wiO1xuLy9AaW1wb3J0IFwiYm9vdHN0cmFwL2p1bWJvdHJvblwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC90aHVtYm5haWxzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2FsZXJ0c1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9wcm9ncmVzcy1iYXJzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL21lZGlhXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvcGFuZWxzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Jlc3BvbnNpdmUtZW1iZWRcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC93ZWxsc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9jbG9zZVwiO1xuXG4vLyBDb21wb25lbnRzIHcvIEphdmFTY3JpcHRcbkBpbXBvcnQgXCJib290c3RyYXAvbW9kYWxzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Rvb2x0aXBcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9wb3BvdmVyc1wiO1xuLy9AaW1wb3J0IFwiYm9vdHN0cmFwL2Nhcm91c2VsXCI7XG5cbi8vIFV0aWxpdHkgY2xhc3Nlc1xuQGltcG9ydCBcImJvb3RzdHJhcC91dGlsaXRpZXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvcmVzcG9uc2l2ZS11dGlsaXRpZXNcIjtcbiIsIi8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLy9cbi8vIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4vLyAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuLy8gICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuLy9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAxXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxufVxuXG4vL1xuLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuLy9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8gSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4vLyBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuLy8gYW5kIEZpcmVmb3guXG4vLyBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuLy9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuLy8gMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuLy9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyAxXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gMlxufVxuXG4vL1xuLy8gUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbi8vIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4vL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4vLyBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4vL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gTGlua3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbi8vXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLy9cbi8vIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbi8vIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbi8vXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuLy9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vL1xuLy8gQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuLy8gY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4vL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vLyBFbWJlZGRlZCBjb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4vL1xuXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8vXG4vLyBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbi8vXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gR3JvdXBpbmcgY29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuLy9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbi8vXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLy9cbi8vIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8vXG4vLyBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8vIEZvcm1zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbi8vIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbi8vXG5cbi8vXG4vLyAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4vLyAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbi8vIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4vLyAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvLyAxXG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgbWFyZ2luOiAwOyAvLyAzXG59XG5cbi8vXG4vLyBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbi8vXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuLy8gQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbi8vIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4vLyBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4vL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLy9cbi8vIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4vLyAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbi8vIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbi8vIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4vLyAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4vL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8vIDFcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxuICBjdXJzb3I6IHBvaW50ZXI7IC8vIDNcbn1cblxuLy9cbi8vIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4vL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vXG4vLyBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4vL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbi8vIHRoZSBVQSBzdHlsZXNoZWV0LlxuLy9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vL1xuLy8gSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuLy8gRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbi8vXG4vLyAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuLy8gMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbi8vXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxufVxuXG4vL1xuLy8gRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbi8vIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4vLyBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4vL1xuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy9cbi8vIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuLy8gMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8yXG59XG5cbi8vXG4vLyBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbi8vIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbi8vIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbi8vXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuLy9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4vLyAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4vL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxufVxuXG4vL1xuLy8gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbi8vXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8vXG4vLyBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4vLyBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbi8vXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vIFRhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG5cbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn1cbiIsIi8qISBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MgKi9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFByaW50IHN0eWxlcy5cbi8vIElubGluZWQgdG8gYXZvaWQgdGhlIGFkZGl0aW9uYWwgSFRUUCByZXF1ZXN0OiBoNWJwLmNvbS9yXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWVkaWEgcHJpbnQge1xuICAgICosXG4gICAgKjpiZWZvcmUsXG4gICAgKjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgYVtocmVmXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIH1cblxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIGFbaHJlZl49XCIjXCJdOmFmdGVyLFxuICAgIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IC8vIGg1YnAuY29tL3RcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIG9ycGhhbnM6IDM7XG4gICAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIHN0YXJ0XG5cbiAgICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xuICAgIC5uYXZiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYnRuLFxuICAgIC5kcm9wdXAgPiAuYnRuIHtcbiAgICAgICAgPiAuY2FyZXQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5sYWJlbCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgfVxuXG4gICAgLnRhYmxlIHtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuXG4gICAgICAgIHRkLFxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgdGgsXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIGVuZFxufVxuIiwiLy9cbi8vIFNjYWZmb2xkaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFJlc2V0IHRoZSBib3gtc2l6aW5nXG4vL1xuLy8gSGVhZHMgdXAhIFRoaXMgcmVzZXQgbWF5IGNhdXNlIGNvbmZsaWN0cyB3aXRoIHNvbWUgdGhpcmQtcGFydHkgd2lkZ2V0cy5cbi8vIEZvciByZWNvbW1lbmRhdGlvbnMgb24gcmVzb2x2aW5nIHN1Y2ggY29uZmxpY3RzLCBzZWVcbi8vIGh0dHA6Ly9nZXRib290c3RyYXAuY29tL2dldHRpbmctc3RhcnRlZC8jdGhpcmQtYm94LXNpemluZ1xuKiB7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG59XG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuXG5cbi8vIEJvZHkgcmVzZXRcblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogJHRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnO1xufVxuXG4vLyBSZXNldCBmb250cyBmb3IgcmVsZXZhbnQgZWxlbWVudHNcbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuXG4vLyBMaW5rc1xuXG5hIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIHRhYi1mb2N1cztcbiAgfVxufVxuXG5cbi8vIEZpZ3VyZXNcbi8vXG4vLyBXZSByZXNldCB0aGlzIGhlcmUgYmVjYXVzZSBwcmV2aW91c2x5IE5vcm1hbGl6ZSBoYWQgbm8gYGZpZ3VyZWAgbWFyZ2lucy4gVGhpc1xuLy8gZW5zdXJlcyB3ZSBkb24ndCBicmVhayBhbnlvbmUncyB1c2Ugb2YgdGhlIGVsZW1lbnQuXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuXG4vLyBJbWFnZXNcblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4uaW1nLXJlc3BvbnNpdmUge1xuICBAaW5jbHVkZSBpbWctcmVzcG9uc2l2ZTtcbn1cblxuLy8gUm91bmRlZCBjb3JuZXJzXG4uaW1nLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sYXJnZTtcbn1cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLy9cbi8vIEhlYWRzIHVwISBUaGlzIGlzIG1peGluLWVkIGludG8gdGh1bWJuYWlscy5sZXNzIGZvciBgLnRodW1ibmFpbGAuXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMnMgZWFzZS1pbi1vdXQpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctcmVzcG9uc2l2ZShpbmxpbmUtYmxvY2spO1xufVxuXG4vLyBQZXJmZWN0IGNpcmNsZVxuLmltZy1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7IC8vIHNldCByYWRpdXMgaW4gcGVyY2VudHNcbn1cblxuXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogICAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRoci1ib3JkZXI7XG59XG5cblxuLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi8vXG4vLyBTZWU6IGh0dHA6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudC9cblxuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICB9XG59XG5cblxuLy8gaU9TIFwiY2xpY2thYmxlIGVsZW1lbnRzXCIgZml4IGZvciByb2xlPVwiYnV0dG9uXCJcbi8vXG4vLyBGaXhlcyBcImNsaWNrYWJpbGl0eVwiIGlzc3VlIChhbmQgbW9yZSBnZW5lcmFsbHksIHRoZSBmaXJpbmcgb2YgZXZlbnRzIHN1Y2ggYXMgZm9jdXMgYXMgd2VsbClcbi8vIGZvciB0cmFkaXRpb25hbGx5IG5vbi1mb2N1c2FibGUgZWxlbWVudHMgd2l0aCByb2xlPVwiYnV0dG9uXCJcbi8vIHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuXG5bcm9sZT1cImJ1dHRvblwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiIsIi8vIFZlbmRvciBQcmVmaXhlc1xuLy9cbi8vIEFsbCB2ZW5kb3IgbWl4aW5zIGFyZSBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBkdWUgdG8gdGhlIGludHJvZHVjdGlvbiBvZlxuLy8gQXV0b3ByZWZpeGVyIGluIG91ciBHcnVudGZpbGUuIFRoZXkgd2lsbCBiZSByZW1vdmVkIGluIHY0LlxuXG4vLyAtIEFuaW1hdGlvbnNcbi8vIC0gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gLSBCb3ggc2hhZG93XG4vLyAtIEJveCBzaXppbmdcbi8vIC0gQ29udGVudCBjb2x1bW5zXG4vLyAtIEh5cGhlbnNcbi8vIC0gUGxhY2Vob2xkZXIgdGV4dFxuLy8gLSBUcmFuc2Zvcm1hdGlvbnNcbi8vIC0gVHJhbnNpdGlvbnNcbi8vIC0gVXNlciBTZWxlY3RcblxuXG4vLyBBbmltYXRpb25zXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgICAgLW8tYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tbmFtZSgkbmFtZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogJG5hbWU7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJGRlbGF5KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgkaXRlcmF0aW9uLWNvdW50KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGl0ZXJhdGlvbi1jb3VudDtcbiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkaXRlcmF0aW9uLWNvdW50O1xufVxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRmaWxsLW1vZGUpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbC1tb2RlO1xuICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG59XG5cbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBmbGlja2VyaW5nIHdoZW4gdXNpbmcgQ1NTIDNEIHRyYW5zZm9ybXMuXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5gXG5cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KXtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbn1cblxuLy8gRHJvcCBzaGFkb3dzXG4vL1xuLy8gTm90ZTogRGVwcmVjYXRlZCBgLmJveC1zaGFkb3coKWAgYXMgb2YgdjMuMS4wIHNpbmNlIGFsbCBvZiBCb290c3RyYXAnc1xuLy8gc3VwcG9ydGVkIGJyb3dzZXJzIHRoYXQgaGF2ZSBib3ggc2hhZG93IGNhcGFiaWxpdGllcyBub3cgc3VwcG9ydCBpdC5cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7IC8vIGlPUyA8NC4zICYgQW5kcm9pZCA8NC4xXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuLy8gQm94IHNpemluZ1xuQG1peGluIGJveC1zaXppbmcoJGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkYm94bW9kZWw7XG59XG5cbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXG5AbWl4aW4gY29udGVudC1jb2x1bW5zKCRjb2x1bW4tY291bnQsICRjb2x1bW4tZ2FwOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgIC1tb3otY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbn1cblxuLy8gT3B0aW9uYWwgaHlwaGVuYXRpb25cbkBtaXhpbiBoeXBoZW5zKCRtb2RlOiBhdXRvKSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiAkbW9kZTtcbiAgICAgLW1vei1oeXBoZW5zOiAkbW9kZTtcbiAgICAgIC1tcy1oeXBoZW5zOiAkbW9kZTsgLy8gSUUxMCtcbiAgICAgICAtby1oeXBoZW5zOiAkbW9kZTtcbiAgICAgICAgICBoeXBoZW5zOiAkbW9kZTtcbn1cblxuLy8gUGxhY2Vob2xkZXIgdGV4dFxuQG1peGluIHBsYWNlaG9sZGVyKCRjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKSB7XG4gIC8vIEZpcmVmb3hcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBvcGFjaXR5OiAxOyAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNlxuICB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBJbnRlcm5ldCBFeHBsb3JlciAxMCtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgeyBjb2xvcjogJGNvbG9yOyB9IC8vIFNhZmFyaSBhbmQgQ2hyb21lXG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uc1xuQG1peGluIHNjYWxlKCRyYXRpby4uLikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbn1cblxuQG1peGluIHNjYWxlWCgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xufVxuQG1peGluIHNjYWxlWSgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xufVxuQG1peGluIHNrZXcoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NTsgSUU5K1xuICAgICAgIC1vLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlM2QoJHgsICR5LCAkeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbn1cbkBtaXhpbiByb3RhdGUoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWCgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWSgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCRwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xufVxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbikge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luOyAvLyBJRTkgb25seVxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG59XG5cblxuLy8gVHJhbnNpdGlvbnNcblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCR0cmFuc2l0aW9uLXByb3BlcnR5Li4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xufVxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRyYW5zaXRpb24tZHVyYXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi10cmFuc2Zvcm0oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xufVxuXG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cbiIsIiRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXI6IGZhbHNlICFkZWZhdWx0O1xuLy9cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy89PSBDb2xvcnNcbi8vXG4vLyMjIEdyYXkgYW5kIGJyYW5kIGNvbG9ycyBmb3IgdXNlIGFjcm9zcyBCb290c3RyYXAuXG5cbiRncmF5LWJhc2U6ICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGdyYXktZGFya2VyOiAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMTMuNSUpICFkZWZhdWx0OyAvLyAjMjIyXG4kZ3JheS1kYXJrOiAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAyMCUpICAgIWRlZmF1bHQ7IC8vICMzMzNcbiRncmF5OiAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDMzLjUlKSAhZGVmYXVsdDsgLy8gIzU1NVxuJGdyYXktbGlnaHQ6ICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgNDYuNyUpICFkZWZhdWx0OyAvLyAjNzc3XG4kZ3JheS1saWdodGVyOiAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCA5My41JSkgIWRlZmF1bHQ7IC8vICNlZWVcblxuJGJyYW5kLXByaW1hcnk6ICAgICAgICAgZGFya2VuKCM0MjhiY2EsIDYuNSUpICFkZWZhdWx0OyAvLyAjMzM3YWI3XG4kYnJhbmQtc3VjY2VzczogICAgICAgICAjNWNiODVjICFkZWZhdWx0O1xuJGJyYW5kLWluZm86ICAgICAgICAgICAgIzViYzBkZSAhZGVmYXVsdDtcbiRicmFuZC13YXJuaW5nOiAgICAgICAgICNmMGFkNGUgIWRlZmF1bHQ7XG4kYnJhbmQtZGFuZ2VyOiAgICAgICAgICAjZDk1MzRmICFkZWZhdWx0O1xuXG5cbi8vPT0gU2NhZmZvbGRpbmdcbi8vXG4vLyMjIFNldHRpbmdzIGZvciBzb21lIG9mIHRoZSBtb3N0IGdsb2JhbCBzdHlsZXMuXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgYDxib2R5PmAuXG4kYm9keS1iZzogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBHbG9iYWwgdGV4dCBjb2xvciBvbiBgPGJvZHk+YC5cbiR0ZXh0LWNvbG9yOiAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG5cbi8vKiogR2xvYmFsIHRleHR1YWwgbGluayBjb2xvci5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBMaW5rIGhvdmVyIGNvbG9yIHNldCB2aWEgYGRhcmtlbigpYCBmdW5jdGlvbi5cbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbi8vKiogTGluayBob3ZlciBkZWNvcmF0aW9uLlxuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuXG5cbi8vPT0gVHlwb2dyYXBoeVxuLy9cbi8vIyMgRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgICBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWYgIWRlZmF1bHQ7XG4vLyoqIERlZmF1bHQgbW9ub3NwYWNlIGZvbnRzIGZvciBgPGNvZGU+YCwgYDxrYmQ+YCwgYW5kIGA8cHJlPmAuXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgMTRweCAhZGVmYXVsdDtcbiRmb250LXNpemUtbGFyZ2U6ICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkpICFkZWZhdWx0OyAvLyB+MThweFxuJGZvbnQtc2l6ZS1zbWFsbDogICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAwLjg1KSkgIWRlZmF1bHQ7IC8vIH4xMnB4XG5cbiRmb250LXNpemUtaDE6ICAgICAgICAgICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDIuNikpICFkZWZhdWx0OyAvLyB+MzZweFxuJGZvbnQtc2l6ZS1oMjogICAgICAgICAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogMi4xNSkpICFkZWZhdWx0OyAvLyB+MzBweFxuJGZvbnQtc2l6ZS1oMzogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjcpKSAhZGVmYXVsdDsgLy8gfjI0cHhcbiRmb250LXNpemUtaDQ6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkpICFkZWZhdWx0OyAvLyB+MThweFxuJGZvbnQtc2l6ZS1oNTogICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg2OiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDAuODUpKSAhZGVmYXVsdDsgLy8gfjEycHhcblxuLy8qKiBVbml0LWxlc3MgYGxpbmUtaGVpZ2h0YCBmb3IgdXNlIGluIGNvbXBvbmVudHMgbGlrZSBidXR0b25zLlxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAxLjQyODU3MTQyOSAhZGVmYXVsdDsgLy8gMjAvMTRcbi8vKiogQ29tcHV0ZWQgXCJsaW5lLWhlaWdodFwiIChgZm9udC1zaXplYCAqIGBsaW5lLWhlaWdodGApIGZvciB1c2Ugd2l0aCBgbWFyZ2luYCwgYHBhZGRpbmdgLCBldGMuXG4kbGluZS1oZWlnaHQtY29tcHV0ZWQ6ICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSkpICFkZWZhdWx0OyAvLyB+MjBweFxuXG4vLyoqIEJ5IGRlZmF1bHQsIHRoaXMgaW5oZXJpdHMgZnJvbSB0aGUgYDxib2R5PmAuXG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgMS4xICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuXG5cbi8vPT0gSWNvbm9ncmFwaHlcbi8vXG4vLyMjIFNwZWNpZnkgY3VzdG9tIGxvY2F0aW9uIGFuZCBmaWxlbmFtZSBvZiB0aGUgaW5jbHVkZWQgR2x5cGhpY29ucyBpY29uIGZvbnQuIFVzZWZ1bCBmb3IgdGhvc2UgaW5jbHVkaW5nIEJvb3RzdHJhcCB2aWEgQm93ZXIuXG5cbi8vKiogTG9hZCBmb250cyBmcm9tIHRoaXMgZGlyZWN0b3J5LlxuXG4vLyBbY29udmVydGVyXSBJZiAkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyIGlmIHVzZWQsIHByb3ZpZGUgcGF0aCByZWxhdGl2ZSB0byB0aGUgYXNzZXRzIGxvYWQgcGF0aC5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgYmVjYXVzZSBzb21lIGFzc2V0IGhlbHBlcnMsIHN1Y2ggYXMgU3Byb2NrZXRzLCBkbyBub3Qgd29yayB3aXRoIGZpbGUtcmVsYXRpdmUgcGF0aHMuXG4kaWNvbi1mb250LXBhdGg6IGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIFwiYm9vdHN0cmFwL1wiLCBcIi4uL2ZvbnRzL2Jvb3RzdHJhcC9cIikgIWRlZmF1bHQ7XG5cbi8vKiogRmlsZSBuYW1lIGZvciBhbGwgZm9udCBmaWxlcy5cbiRpY29uLWZvbnQtbmFtZTogICAgICAgICAgXCJnbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyXCIgIWRlZmF1bHQ7XG4vLyoqIEVsZW1lbnQgSUQgd2l0aGluIFNWRyBpY29uIGZpbGUuXG4kaWNvbi1mb250LXN2Zy1pZDogICAgICAgIFwiZ2x5cGhpY29uc19oYWxmbGluZ3NyZWd1bGFyXCIgIWRlZmF1bHQ7XG5cblxuLy89PSBDb21wb25lbnRzXG4vL1xuLy8jIyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuIFZhbHVlcyBiYXNlZCBvbiAxNHB4IHRleHQgYW5kIDEuNDI4IGxpbmUtaGVpZ2h0ICh+MjBweCB0byBzdGFydCkuXG5cbiRwYWRkaW5nLWJhc2UtdmVydGljYWw6ICAgICA2cHggIWRlZmF1bHQ7XG4kcGFkZGluZy1iYXNlLWhvcml6b250YWw6ICAgMTJweCAhZGVmYXVsdDtcblxuJHBhZGRpbmctbGFyZ2UtdmVydGljYWw6ICAgIDEwcHggIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOiAgMTZweCAhZGVmYXVsdDtcblxuJHBhZGRpbmctc21hbGwtdmVydGljYWw6ICAgIDVweCAhZGVmYXVsdDtcbiRwYWRkaW5nLXNtYWxsLWhvcml6b250YWw6ICAxMHB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy14cy12ZXJ0aWNhbDogICAgICAgMXB4ICFkZWZhdWx0O1xuJHBhZGRpbmcteHMtaG9yaXpvbnRhbDogICAgIDVweCAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWxhcmdlOiAgICAgICAgIDEuMzMzMzMzMyAhZGVmYXVsdDsgLy8gZXh0cmEgZGVjaW1hbHMgZm9yIFdpbiA4LjEgQ2hyb21lXG4kbGluZS1oZWlnaHQtc21hbGw6ICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgNHB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgIDZweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICAzcHggIWRlZmF1bHQ7XG5cbi8vKiogR2xvYmFsIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBHbG9iYWwgYmFja2dyb3VuZCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vKiogV2lkdGggb2YgdGhlIGBib3JkZXJgIGZvciBnZW5lcmF0aW5nIGNhcmV0cyB0aGF0IGluZGljYXRvciBkcm9wZG93bnMuXG4kY2FyZXQtd2lkdGgtYmFzZTogICAgICAgICAgNHB4ICFkZWZhdWx0O1xuLy8qKiBDYXJldHMgaW5jcmVhc2Ugc2xpZ2h0bHkgaW4gc2l6ZSBmb3IgbGFyZ2VyIGNvbXBvbmVudHMuXG4kY2FyZXQtd2lkdGgtbGFyZ2U6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gVGFibGVzXG4vL1xuLy8jIyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbi8vKiogUGFkZGluZyBmb3IgYDx0aD5gcyBhbmQgYDx0ZD5gcy5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgICAgOHB4ICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGZvciBjZWxscyBpbiBgLnRhYmxlLWNvbmRlbnNlZGAuXG4kdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZzogIDVweCAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYWxsIHRhYmxlcy5cbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYC50YWJsZS1zdHJpcGVkYC5cbiR0YWJsZS1iZy1hY2NlbnQ6ICAgICAgICAgICAgICAgI2Y5ZjlmOSAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLWhvdmVyYC5cbiR0YWJsZS1iZy1ob3ZlcjogICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiR0YWJsZS1iZy1hY3RpdmU6ICAgICAgICAgICAgICAgJHRhYmxlLWJnLWhvdmVyICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGFibGUgYW5kIGNlbGwgYm9yZGVycy5cbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09IEJ1dHRvbnNcbi8vXG4vLyMjIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcblxuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4kYnRuLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1wcmltYXJ5LWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1wcmltYXJ5LWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXN1Y2Nlc3MtYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1pbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4taW5mby1iZzogICAgICAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJvcmRlcjogICAgICAgICAgICAgICAgZGFya2VuKCRidG4taW5mby1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi13YXJuaW5nLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKCRidG4tZGFuZ2VyLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXMtYmFzZTogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGFyZ2UgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuXG4vLz09IEZvcm1zXG4vL1xuLy8jI1xuXG4vLyoqIGA8aW5wdXQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgPGlucHV0IGRpc2FibGVkPmAgYmFja2dyb3VuZCBjb2xvclxuJGlucHV0LWJnLWRpc2FibGVkOiAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIGZvciBgPGlucHV0PmBzXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcbi8vKiogYDxpbnB1dD5gIGJvcmRlciBjb2xvclxuJGlucHV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcblxuLy8gVE9ETzogUmVuYW1lIGAkaW5wdXQtYm9yZGVyLXJhZGl1c2AgdG8gYCRpbnB1dC1ib3JkZXItcmFkaXVzLWJhc2VgIGluIHY0XG4vLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbi8vIFRoaXMgaGFzIG5vIGVmZmVjdCBvbiBgPHNlbGVjdD5gcyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbi8vKiogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICRib3JkZXItcmFkaXVzLWxhcmdlICFkZWZhdWx0O1xuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgJGJvcmRlci1yYWRpdXMtc21hbGwgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciBpbnB1dHMgb24gZm9jdXNcbiRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgICM2NmFmZTkgIWRlZmF1bHQ7XG5cbi8vKiogUGxhY2Vob2xkZXIgdGV4dCBjb2xvclxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtYmFzZTogICAgICAgICAgICAgICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG4vLyoqIExhcmdlIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtbGFyZ2U6ICAgICAgICAgICAgIChjZWlsKCRmb250LXNpemUtbGFyZ2UgKiAkbGluZS1oZWlnaHQtbGFyZ2UpICsgKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcbi8vKiogU21hbGwgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1zbWFsbDogICAgICAgICAgICAgKGZsb29yKCRmb250LXNpemUtc21hbGwgKiAkbGluZS1oZWlnaHQtc21hbGwpICsgKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcblxuLy8qKiBgLmZvcm0tZ3JvdXBgIG1hcmdpblxuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgMTVweCAhZGVmYXVsdDtcblxuJGxlZ2VuZC1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRsZWdlbmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vKiogRGlzYWJsZWQgY3Vyc29yIGZvciBmb3JtIGNvbnRyb2xzIGFuZCBidXR0b25zLlxuJGN1cnNvci1kaXNhYmxlZDogICAgICAgICAgICAgICAgbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cblxuLy89PSBEcm9wZG93bnNcbi8vXG4vLyMjIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8qKiBCYWNrZ3JvdW5kIGZvciB0aGUgZHJvcGRvd24gbWVudS5cbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAuXG4kZHJvcGRvd24tYm9yZGVyOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4xNSkgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAgKipmb3IgSUU4KiouXG4kZHJvcGRvd24tZmFsbGJhY2stYm9yZGVyOiAgICAgICAjY2NjICFkZWZhdWx0O1xuLy8qKiBEaXZpZGVyIGNvbG9yIGZvciBiZXR3ZWVuIGRyb3Bkb3duIGl0ZW1zLlxuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcblxuLy8qKiBEcm9wZG93biBsaW5rIHRleHQgY29sb3IuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBjb2xvciBmb3IgZHJvcGRvd24gbGlua3MuXG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGdyYXktZGFyaywgNSUpICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBiYWNrZ3JvdW5kIGZvciBkcm9wZG93biBsaW5rcy5cbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSB0ZXh0IGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4vLyoqIERpc2FibGVkIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBmb3IgaGVhZGVycyB3aXRoaW4gZHJvcGRvd24gbWVudXMuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBEZXByZWNhdGVkIGAkZHJvcGRvd24tY2FyZXQtY29sb3JgIGFzIG9mIHYzLjEuMFxuJGRyb3Bkb3duLWNhcmV0LWNvbG9yOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcblxuXG4vLy0tIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cbi8vXG4vLyBOb3RlOiBUaGVzZSB2YXJpYWJsZXMgYXJlIG5vdCBnZW5lcmF0ZWQgaW50byB0aGUgQ3VzdG9taXplci5cblxuJHppbmRleC1uYXZiYXI6ICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAyMDUwICFkZWZhdWx0OyAvLyBhY2ltYSBkYSBwaWxoYSBkZSBtb2RhaXMgKDEwNTAgKyAxMCBwb3IgbW9kYWwpXG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAyMTAwICFkZWZhdWx0OyAvLyBhY2ltYSBkYSBwaWxoYSBkZSBtb2RhaXMgKDEwNTAgKyAxMCBwb3IgbW9kYWwpXG4kemluZGV4LW5hdmJhci1maXhlZDogICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZ3JvdW5kOiAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG5cblxuLy89PSBNZWRpYSBxdWVyaWVzIGJyZWFrcG9pbnRzXG4vL1xuLy8jIyBEZWZpbmUgdGhlIGJyZWFrcG9pbnRzIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLCBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZVxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXhzYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4teHM6ICAgICAgICAgICAgICAgICAgNDgwcHggIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4teHMtbWluYCBhcyBvZiB2My4yLjBcbiRzY3JlZW4teHMtbWluOiAgICAgICAgICAgICAgJHNjcmVlbi14cyAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1waG9uZWAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXBob25lOiAgICAgICAgICAgICAgICRzY3JlZW4teHMtbWluICFkZWZhdWx0O1xuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1zbWAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXNtOiAgICAgICAgICAgICAgICAgIDc2OHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1zbS1taW46ICAgICAgICAgICAgICAkc2NyZWVuLXNtICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXRhYmxldGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXRhYmxldDogICAgICAgICAgICAgICRzY3JlZW4tc20tbWluICFkZWZhdWx0O1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLW1kYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbWQ6ICAgICAgICAgICAgICAgICAgOTkycHggIWRlZmF1bHQ7XG4kc2NyZWVuLW1kLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tbWQgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tZGVza3RvcGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWRlc2t0b3A6ICAgICAgICAgICAgICRzY3JlZW4tbWQtbWluICFkZWZhdWx0O1xuXG4vLyBMYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3Bcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1sZ2AgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWxnOiAgICAgICAgICAgICAgICAgIDEyMDBweCAhZGVmYXVsdDtcbiRzY3JlZW4tbGctbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1sZyAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1sZy1kZXNrdG9wYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbGctZGVza3RvcDogICAgICAgICAgJHNjcmVlbi1sZy1taW4gIWRlZmF1bHQ7XG5cbi8vIFNvIG1lZGlhIHF1ZXJpZXMgZG9uJ3Qgb3ZlcmxhcCB3aGVuIHJlcXVpcmVkLCBwcm92aWRlIGEgbWF4aW11bVxuJHNjcmVlbi14cy1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1zbS1taW4gLSAxKSAhZGVmYXVsdDtcbiRzY3JlZW4tc20tbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbWQtbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLW1kLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLWxnLW1pbiAtIDEpICFkZWZhdWx0O1xuXG5cbi8vPT0gR3JpZCBzeXN0ZW1cbi8vXG4vLyMjIERlZmluZSB5b3VyIGN1c3RvbSByZXNwb25zaXZlIGdyaWQuXG5cbi8vKiogTnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgYmV0d2VlbiBjb2x1bW5zLiBHZXRzIGRpdmlkZWQgaW4gaGFsZiBmb3IgdGhlIGxlZnQgYW5kIHJpZ2h0LlxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4vLyBOYXZiYXIgY29sbGFwc2Vcbi8vKiogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWNvbWVzIHVuY29sbGFwc2VkLlxuJGdyaWQtZmxvYXQtYnJlYWtwb2ludDogICAgICRzY3JlZW4tc20tbWluICFkZWZhdWx0O1xuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlZ2lucyBjb2xsYXBzaW5nLlxuJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXg6ICgkZ3JpZC1mbG9hdC1icmVha3BvaW50IC0gMSkgIWRlZmF1bHQ7XG5cblxuLy89PSBDb250YWluZXIgc2l6ZXNcbi8vXG4vLyMjIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxuJGNvbnRhaW5lci10YWJsZXQ6ICAgICAgICAgICAgICg3MjBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1zbS1taW5gIGFuZCB1cC5cbiRjb250YWluZXItc206ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLXRhYmxldCAhZGVmYXVsdDtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3BcbiRjb250YWluZXItZGVza3RvcDogICAgICAgICAgICAoOTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tbWQtbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLW1kOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1kZXNrdG9wICFkZWZhdWx0O1xuXG4vLyBMYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3BcbiRjb250YWluZXItbGFyZ2UtZGVza3RvcDogICAgICAoMTE0MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLWxnLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1sZzogICAgICAgICAgICAgICAgICRjb250YWluZXItbGFyZ2UtZGVza3RvcCAhZGVmYXVsdDtcblxuXG4vLz09IE5hdmJhclxuLy9cbi8vIyNcblxuLy8gQmFzaWNzIG9mIGEgbmF2YmFyXG4kbmF2YmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICRsaW5lLWhlaWdodC1jb21wdXRlZCAhZGVmYXVsdDtcbiRuYXZiYXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgZmxvb3IoKCRncmlkLWd1dHRlci13aWR0aCAvIDIpKSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgKCgkbmF2YmFyLWhlaWdodCAtICRsaW5lLWhlaWdodC1jb21wdXRlZCkgLyAyKSAhZGVmYXVsdDtcbiRuYXZiYXItY29sbGFwc2UtbWF4LWhlaWdodDogICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgIzc3NyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgI2Y4ZjhmOCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhciBsaW5rc1xuJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICM3NzcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAjNTU1ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYmcsIDYuNSUpICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICNjY2MgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZzogICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhciBicmFuZCBsYWJlbFxuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3IsIDEwJSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItYmc6ICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhciB0b2dnbGVcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtaG92ZXItYmc6ICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICM4ODggIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWJvcmRlci1jb2xvcjogICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09PSBJbnZlcnRlZCBuYXZiYXJcbi8vIFJlc2V0IGludmVydGVkIG5hdmJhciBiYXNpY3NcbiRuYXZiYXItaW52ZXJzZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1saWdodCwgMTUlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1iZzogICAgICAgICAgICAgICAgICAgICAgICAgIzIyMiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItaW52ZXJzZS1iZywgMTAlKSAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGxpbmtzXG4kbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjogICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktbGlnaHQsIDE1JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItaW52ZXJzZS1iZywgMTAlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgIzQ0NCAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciBicmFuZCBsYWJlbFxuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciB0b2dnbGVcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtaG92ZXItYmc6ICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtaWNvbi1iYXItYmc6ICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgIzMzMyAhZGVmYXVsdDtcblxuXG4vLz09IE5hdnNcbi8vXG4vLyMjXG5cbi8vPT09IFNoYXJlZCBuYXYgc3R5bGVzXG4kbmF2LWxpbmstcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggMTVweCAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vPT0gVGFic1xuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAjZGRkICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjogICAgICRib2R5LWJnICFkZWZhdWx0O1xuXG4vLz09IFBpbGxzXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vLz09IFBhZ2luYXRpb25cbi8vXG4vLyMjXG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjogICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI6ICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFnZXJcbi8vXG4vLyMjXG5cbiRwYWdlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYm9yZGVyICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuJHBhZ2VyLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24taG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwYWdlci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdlci1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuJHBhZ2VyLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy89PSBKdW1ib3Ryb25cbi8vXG4vLyMjXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kanVtYm90cm9uLWNvbG9yOiAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRqdW1ib3Ryb24taGVhZGluZy1jb2xvcjogICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWZvbnQtc2l6ZTogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjUpKSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24taGVhZGluZy1mb250LXNpemU6ICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDQuNSkpICFkZWZhdWx0O1xuXG5cbi8vPT0gRm9ybSBzdGF0ZXMgYW5kIGFsZXJ0c1xuLy9cbi8vIyMgRGVmaW5lIGNvbG9ycyBmb3IgZm9ybSBmZWVkYmFjayBzdGF0ZXMgYW5kLCBieSBkZWZhdWx0LCBhbGVydHMuXG5cbiRzdGF0ZS1zdWNjZXNzLXRleHQ6ICAgICAgICAgICAgICMzYzc2M2QgIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAjZGZmMGQ4ICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXN1Y2Nlc3MtYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWluZm8tdGV4dDogICAgICAgICAgICAgICAgIzMxNzA4ZiAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICNkOWVkZjcgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtaW5mby1iZywgLTEwKSwgNyUpICFkZWZhdWx0O1xuXG4kc3RhdGUtd2FybmluZy10ZXh0OiAgICAgICAgICAgICAjOGE2ZDNiICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcbiRzdGF0ZS13YXJuaW5nLWJvcmRlcjogICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS13YXJuaW5nLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1kYW5nZXItdGV4dDogICAgICAgICAgICAgICNhOTQ0NDIgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAjZjJkZWRlICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLWRhbmdlci1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG5cbi8vPT0gVG9vbHRpcHNcbi8vXG4vLyMjXG5cbi8vKiogVG9vbHRpcCBtYXggd2lkdGhcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIHRleHQgY29sb3JcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgYmFja2dyb3VuZCBjb2xvclxuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuXG4vLyoqIFRvb2x0aXAgYXJyb3cgd2lkdGhcbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgIDVweCAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCBhcnJvdyBjb2xvclxuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cblxuLy89PSBQb3BvdmVyc1xuLy9cbi8vIyNcblxuLy8qKiBQb3BvdmVyIGJvZHkgYmFja2dyb3VuZCBjb2xvclxuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG1heGltdW0gd2lkdGhcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgYm9yZGVyIGNvbG9yXG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGZhbGxiYWNrIGJvcmRlciBjb2xvclxuJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgdGl0bGUgYmFja2dyb3VuZCBjb2xvclxuJHBvcG92ZXItdGl0bGUtYmc6ICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIGFycm93IHdpZHRoXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgYXJyb3cgY29sb3JcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyB3aWR0aFxuJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg6ICAgICAgICAgICAoJHBvcG92ZXItYXJyb3ctd2lkdGggKyAxKSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyBjb2xvclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgICBmYWRlX2luKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgMC4wNSkgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgZmFsbGJhY2sgY29sb3JcbiRwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOiAgZGFya2VuKCRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvciwgMjAlKSAhZGVmYXVsdDtcblxuXG4vLz09IExhYmVsc1xuLy9cbi8vIyNcblxuLy8qKiBEZWZhdWx0IGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1kZWZhdWx0LWJnOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBQcmltYXJ5IGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1wcmltYXJ5LWJnOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBTdWNjZXNzIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuLy8qKiBJbmZvIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1pbmZvLWJnOiAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuLy8qKiBXYXJuaW5nIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC13YXJuaW5nLWJnOiAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuLy8qKiBEYW5nZXIgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWRhbmdlci1iZzogICAgICAgICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGxhYmVsIHRleHQgY29sb3JcbiRsYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIERlZmF1bHQgdGV4dCBjb2xvciBvZiBhIGxpbmtlZCBsYWJlbFxuJGxhYmVsLWxpbmstaG92ZXItY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IE1vZGFsc1xuLy9cbi8vIyNcblxuLy8qKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbi8vKiogUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCB0aXRsZVxuJG1vZGFsLXRpdGxlLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcbi8vKiogTW9kYWwgdGl0bGUgbGluZS1oZWlnaHRcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgY29udGVudCBhcmVhXG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yXG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBjb250ZW50IGJvcmRlciBjb2xvciAqKmZvciBJRTgqKlxuJG1vZGFsLWNvbnRlbnQtZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAgICAgICAgICAjOTk5ICFkZWZhdWx0O1xuXG4vLyoqIE1vZGFsIGJhY2tkcm9wIGJhY2tncm91bmQgY29sb3JcbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGJhY2tkcm9wIG9wYWNpdHlcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgIC41ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBoZWFkZXIgYm9yZGVyIGNvbG9yXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAjZTVlNWU1ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBmb290ZXIgYm9yZGVyIGNvbG9yXG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgOTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICA2MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gQWxlcnRzXG4vL1xuLy8jIyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmc6ICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICBib2xkICFkZWZhdWx0O1xuXG4kYWxlcnQtc3VjY2Vzcy1iZzogICAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy1iZyAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1pbmZvLWJnOiAgICAgICAgICAgICAgICRzdGF0ZS1pbmZvLWJnICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LXdhcm5pbmctYmc6ICAgICAgICAgICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLWJnICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci10ZXh0OiAgICAgICAgICAgJHN0YXRlLWRhbmdlci10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1ib3JkZXI6ICAgICAgICAgJHN0YXRlLWRhbmdlci1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLy89PSBQcm9ncmVzcyBiYXJzXG4vL1xuLy8jI1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIHdob2xlIHByb2dyZXNzIGNvbXBvbmVudFxuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogUHJvZ3Jlc3MgYmFyIHRleHQgY29sb3JcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFZhcmlhYmxlIGZvciBzZXR0aW5nIHJvdW5kZWQgY29ybmVycyBvbiBwcm9ncmVzcyBiYXIuXG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogU3VjY2VzcyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZzogICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuLy8qKiBXYXJuaW5nIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci13YXJuaW5nLWJnOiAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4vLyoqIERhbmdlciBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItZGFuZ2VyLWJnOiAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG4vLyoqIEluZm8gcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWluZm8tYmc6ICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcblxuXG4vLz09IExpc3QgZ3JvdXBcbi8vXG4vLyMjXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvbiBgLmxpc3QtZ3JvdXAtaXRlbWBcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogYC5saXN0LWdyb3VwLWl0ZW1gIGJvcmRlciBjb2xvclxuJGxpc3QtZ3JvdXAtYm9yZGVyOiAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuLy8qKiBMaXN0IGdyb3VwIGJvcmRlciByYWRpdXNcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHNpbmdsZSBsaXN0IGl0ZW1zIG9uIGhvdmVyXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3Igb2YgYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4vLyoqIEJvcmRlciBjb2xvciBvZiBhY3RpdmUgbGlzdCBlbGVtZW50c1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlcjogICAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3IgZm9yIGNvbnRlbnQgd2l0aGluIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtdGV4dC1jb2xvcjogIGxpZ2h0ZW4oJGxpc3QtZ3JvdXAtYWN0aXZlLWJnLCA0MCUpICFkZWZhdWx0O1xuXG4vLyoqIFRleHQgY29sb3Igb2YgZGlzYWJsZWQgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gZGlzYWJsZWQgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtdGV4dC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWxpbmstY29sb3I6ICAgICAgICAgIzU1NSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I6ICAgJGxpc3QtZ3JvdXAtbGluay1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaGVhZGluZy1jb2xvcjogIzMzMyAhZGVmYXVsdDtcblxuXG4vLz09IFBhbmVsc1xuLy9cbi8vIyNcblxuJHBhbmVsLWJnOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYW5lbC1ib2R5LXBhZGRpbmc6ICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kcGFuZWwtaGVhZGluZy1wYWRkaW5nOiAgICAgICAxMHB4IDE1cHggIWRlZmF1bHQ7XG4kcGFuZWwtZm9vdGVyLXBhZGRpbmc6ICAgICAgICAkcGFuZWwtaGVhZGluZy1wYWRkaW5nICFkZWZhdWx0O1xuJHBhbmVsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIGVsZW1lbnRzIHdpdGhpbiBwYW5lbHNcbiRwYW5lbC1pbm5lci1ib3JkZXI6ICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kcGFuZWwtZm9vdGVyLWJnOiAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuXG4kcGFuZWwtZGVmYXVsdC10ZXh0OiAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRwYW5lbC1kZWZhdWx0LWhlYWRpbmctYmc6ICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbiRwYW5lbC1wcmltYXJ5LXRleHQ6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFuZWwtcHJpbWFyeS1ib3JkZXI6ICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwYW5lbC1wcmltYXJ5LWhlYWRpbmctYmc6ICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kcGFuZWwtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLXN1Y2Nlc3MtaGVhZGluZy1iZzogICAgJHN0YXRlLXN1Y2Nlc3MtYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC1pbmZvLXRleHQ6ICAgICAgICAgICAgICRzdGF0ZS1pbmZvLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtaW5mby1ib3JkZXI6ICAgICAgICAgICAkc3RhdGUtaW5mby1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtaW5mby1oZWFkaW5nLWJnOiAgICAgICAkc3RhdGUtaW5mby1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLXdhcm5pbmctdGV4dDogICAgICAgICAgJHN0YXRlLXdhcm5pbmctdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC13YXJuaW5nLWJvcmRlcjogICAgICAgICRzdGF0ZS13YXJuaW5nLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC13YXJuaW5nLWhlYWRpbmctYmc6ICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1kYW5nZXItaGVhZGluZy1iZzogICAgICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG5cblxuLy89PSBUaHVtYm5haWxzXG4vL1xuLy8jI1xuXG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgaW1hZ2VcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgIDRweCAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJhY2tncm91bmQgY29sb3JcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYm9yZGVyIGNvbG9yXG4kdGh1bWJuYWlsLWJvcmRlcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYm9yZGVyIHJhZGl1c1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBDdXN0b20gdGV4dCBjb2xvciBmb3IgdGh1bWJuYWlsIGNhcHRpb25zXG4kdGh1bWJuYWlsLWNhcHRpb24tY29sb3I6ICAgICAkdGV4dC1jb2xvciAhZGVmYXVsdDtcbi8vKiogUGFkZGluZyBhcm91bmQgdGhlIHRodW1ibmFpbCBjYXB0aW9uXG4kdGh1bWJuYWlsLWNhcHRpb24tcGFkZGluZzogICA5cHggIWRlZmF1bHQ7XG5cblxuLy89PSBXZWxsc1xuLy9cbi8vIyNcblxuJHdlbGwtYmc6ICAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiR3ZWxsLWJvcmRlcjogICAgICAgICAgICAgICAgIGRhcmtlbigkd2VsbC1iZywgNyUpICFkZWZhdWx0O1xuXG5cbi8vPT0gQmFkZ2VzXG4vL1xuLy8jI1xuXG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBMaW5rZWQgYmFkZ2UgdGV4dCBjb2xvciBvbiBob3ZlclxuJGJhZGdlLWxpbmstaG92ZXItY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRiYWRnZS1iZzogICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyoqIEJhZGdlIHRleHQgY29sb3IgaW4gYWN0aXZlIG5hdiBsaW5rXG4kYmFkZ2UtYWN0aXZlLWNvbG9yOiAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbi8vKiogQmFkZ2UgYmFja2dyb3VuZCBjb2xvciBpbiBhY3RpdmUgbmF2IGxpbmtcbiRiYWRnZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAxICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgMTBweCAhZGVmYXVsdDtcblxuXG4vLz09IEJyZWFkY3J1bWJzXG4vL1xuLy8jI1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXZlcnRpY2FsOiAgIDhweCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbi8vKiogQnJlYWRjcnVtYiBiYWNrZ3JvdW5kIGNvbG9yXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4vLyoqIEJyZWFkY3J1bWIgdGV4dCBjb2xvclxuJGJyZWFkY3J1bWItY29sb3I6ICAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIG9mIGN1cnJlbnQgcGFnZSBpbiB0aGUgYnJlYWRjcnVtYlxuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogVGV4dHVhbCBzZXBhcmF0b3IgZm9yIGJldHdlZW4gYnJlYWRjcnVtYiBlbGVtZW50c1xuJGJyZWFkY3J1bWItc2VwYXJhdG9yOiAgICAgICAgICBcIi9cIiAhZGVmYXVsdDtcblxuXG4vLz09IENhcm91c2VsXG4vL1xuLy8jI1xuXG4kY2Fyb3VzZWwtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjYpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cblxuLy89PSBDbG9zZVxuLy9cbi8vIyNcblxuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAwIDFweCAwICNmZmYgIWRlZmF1bHQ7XG5cblxuLy89PSBDb2RlXG4vL1xuLy8jI1xuXG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAjYzcyNTRlICFkZWZhdWx0O1xuJGNvZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgI2Y5ZjJmNCAhZGVmYXVsdDtcblxuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG5cbiRwcmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHByZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgIDM0MHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gVHlwZVxuLy9cbi8vIyNcblxuLy8qKiBIb3Jpem9udGFsIG9mZnNldCBmb3IgZm9ybXMgYW5kIGxpc3RzLlxuJGNvbXBvbmVudC1vZmZzZXQtaG9yaXpvbnRhbDogMTgwcHggIWRlZmF1bHQ7XG4vLyoqIFRleHQgbXV0ZWQgY29sb3JcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBBYmJyZXZpYXRpb25zIGFuZCBhY3JvbnltcyBib3JkZXIgY29sb3JcbiRhYmJyLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBIZWFkaW5ncyBzbWFsbCBjb2xvclxuJGhlYWRpbmdzLXNtYWxsLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgc21hbGwgY29sb3JcbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBCbG9ja3F1b3RlIGZvbnQgc2l6ZVxuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xuLy8qKiBCbG9ja3F1b3RlIGJvcmRlciBjb2xvclxuJGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogUGFnZSBoZWFkZXIgYm9yZGVyIGNvbG9yXG4kcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBXaWR0aCBvZiBob3Jpem9udGFsIGRlc2NyaXB0aW9uIGxpc3QgdGl0bGVzXG4kZGwtaG9yaXpvbnRhbC1vZmZzZXQ6ICAgICAgICAkY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsICFkZWZhdWx0O1xuLy8qKiBIb3Jpem9udGFsIGxpbmUgY29sb3IuXG4kaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuIiwiQGltcG9ydCAnbW9kZXJuLWNvbW1vbic7XG5cbi8vIEEgYmFzZSBlc2N1cmEgb3JpZ2luYWwgZSBjaW56YSAoIzIyMi8jMzMzKSBjb20gdGV4dG8gIzc3NywgcXVlIGZpY2Fcbi8vIGlsZWdpdmVsIHNvYiBlc3RlIGFjYWJhbWVudG8uIEFxdWkgZWxhIGUgcmVlc2NyaXRhIG5hIGVzY2FsYSBzbGF0ZS5cbi8vIFZlbSBhbnRlcyBkbyBpbXBvcnQgZGEgYmFzZSBwb3JxdWUgYmFzZS1kYXJrIGRlcml2YSB2YWxvcmVzIG5hIGhvcmEgZW0gcXVlXG4vLyBlIGxpZGEgLSAkYm9keS1iZyBzYWkgZGUgJGNvbG9yLWJnLTIwMCwgcG9yIGV4ZW1wbG8uXG4kY29sb3ItYmctMDAwOiAgICAgICAgICAgIzFlMjkzYjsgIC8vIHN1cGVyZmljaWUgKHBhaW5lbCwgY2FtcG8sIG1lbnUpXG4kY29sb3ItYmctMTAwOiAgICAgICAgICAgIzBmMTcyYTsgIC8vIGZ1bmRvIG1haXMgYWZ1bmRhZG9cbiRjb2xvci1iZy0yMDA6ICAgICAgICAgICAjMzM0MTU1OyAgLy8gcmVhbGNlXG4kY29sb3ItYmctMzAwOiAgICAgICAgICAgIzBmMTcyYTsgIC8vIGZ1bmRvIGRhIHBhZ2luYVxuXG4kY29sb3ItdGV4dC0wMDA6ICAgICAgICAgI2ZmZmZmZjtcbiRjb2xvci10ZXh0LTEwMDogICAgICAgICAjZjFmNWY5OyAgLy8gdGV4dG8gcHJpbmNpcGFsXG4kY29sb3ItdGV4dC0yMDA6ICAgICAgICAgI2UyZThmMDtcbiRjb2xvci10ZXh0LTMwMDogICAgICAgICAjY2JkNWUxO1xuJGNvbG9yLXRleHQtNDAwOiAgICAgICAgICM5NGEzYjg7XG4kY29sb3ItdGV4dC01MDA6ICAgICAgICAgI2NiZDVlMTsgIC8vIHRleHRvIHNlY3VuZGFyaW86IGJvdGFvLCBtZW51LCBjYWJlY2FsaG9cbiRjb2xvci10ZXh0LTYwMDogICAgICAgICAjOTRhM2I4O1xuJGNvbG9yLXRleHQtNzAwOiAgICAgICAgICNjYmQ1ZTE7XG4kY29sb3ItdGV4dC04MDA6ICAgICAgICAgIzY0NzQ4YjtcbiRjb2xvci10ZXh0LTkwMDogICAgICAgICAjNDc1NTY5O1xuXG4kY29sb3ItYm9yZGVyLTEwMDogICAgICAgIzMzNDE1NTtcbiRjb2xvci1ib3JkZXItMjAwOiAgICAgICAjMWUyOTNiO1xuXG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogI2ZmZmZmZjtcblxuQGltcG9ydCAnLi4vY29sb3VyaW5nL2Jhc2UtZGFyayc7XG5cbi8vIG8gYWNhYmFtZW50bywgcmVhcG9udGFkbyBwYXJhIGFzIHN1cGVyZmljaWVzIGVzY3VyYXNcbiRza2luLXN1cmZhY2U6ICAgICAgIzFlMjkzYjsgIC8vIHBhaW5lbCwgbW9kYWwsIG1lbnVcbiRza2luLXN1cmZhY2UtYWx0OiAgIzBmMTcyYTsgIC8vIHJvZGFwZSBkZSBwYWluZWwsIGhvdmVyIGRlIGxpc3RhXG4kc2tpbi1iZzogICAgICAgICAgICMwZjE3MmE7ICAvLyBmdW5kbyBkYSBwYWdpbmFcbiRza2luLWxpbmU6ICAgICAgICAgIzMzNDE1NTtcbiRza2luLWxpbmUtc3Ryb25nOiAgIzQ3NTU2OTtcbiRza2luLXRleHQ6ICAgICAgICAgI2NiZDVlMTtcbiRza2luLXRleHQtc29mdDogICAgIzk0YTNiODtcbiRza2luLW11dGVkOiAgICAgICAgIzk0YTNiODtcbiRza2luLXRpdGxlOiAgICAgICAgI2YxZjVmOTtcbiRza2luLW9uLWFjY2VudDogICAgI2ZmZmZmZjtcbiRza2luLXRleHQtc3Ryb25nOiAgI2UyZThmMDtcblxuQGltcG9ydCAnLi4vaW5kZXgnO1xuXG5AaW1wb3J0ICcuLi9sYXlvdXQvbW9kZXJuLXNraW4nO1xuIiwiLy8gQXp1bCBkbyB0ZW1hIG1vZGVybiAoYmx1ZS02MDAgZG8gVGFpbHdpbmQpIGUgbyB0b20gY2xhcm8gZGVsZSwgcXVlIG5hbyBzYWlcbi8vIGRlIHVtYSBmb3JtdWxhOiBlIG8gYmx1ZS0zMDAgZGEgbWVzbWEgZXNjYWxhLlxuJGJyYW5kLXByaW1hcnk6ICAgICAjMjU2M2ViO1xuJHNraW4tYWNjZW50LXNvZnQ6ICAjOTNjNWZkO1xuXG4iLCIvLyBXZWJLaXQtc3R5bGUgZm9jdXNcblxuQG1peGluIHRhYi1mb2N1cygpIHtcbiAgLypcbiAgLy8gRGVmYXVsdFxuICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbiAgLy8gV2ViS2l0XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gICovXG5cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdXRsaW5lOiAwO1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5AbWl4aW4gaW1nLXJlc3BvbnNpdmUoJGRpc3BsYXk6IGJsb2NrKSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIGhlaWdodDogYXV0bzsgLy8gUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmdcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuIE5vdGUgdGhhdCB0aGVcbi8vIHNwZWxsaW5nIG9mIGBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW9gIGlzIGludGVudGlvbmFsLlxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtaW1hZ2UtcGF0aChcIiN7JGZpbGUtMXh9XCIpLCBcIiN7JGZpbGUtMXh9XCIpKTtcblxuICBAbWVkaWFcbiAgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1pbWFnZS1wYXRoKFwiI3skZmlsZS0yeH1cIiksIFwiI3skZmlsZS0yeH1cIikpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbn1cbiIsIi8vIE8gcXVlIG8gYWNhYmFtZW50byBcIm1vZGVyblwiIHRlbSBkZSBjb211bSBlbSBxdWFscXVlciBjb3I6IGJhcnJhIGRvIHRvcG9cbi8vIGVzY3VyYSBlIGNhbnRvcyBtYWlzIHN1YXZlcy4gQSBjb3IgZGUgZGVzdGFxdWUgdmVtIGRvIGFycXVpdm8gZGUgY29sb3VyaW5nXG4vLyBpbXBvcnRhZG8gYW50ZXMgZGVzdGUuXG4vLyB0b20gY2xhcm8gZGEgY29yIGRlIGRlc3RhcXVlOyBvIGFycXVpdm8gZGUgY29sb3VyaW5nIHBvZGUgZGVmaW5pciB1bVxuLy8gcHJvcHJpbyBhbnRlcyBkZXN0ZSBpbXBvcnQgKG8gYXp1bCB1c2EgbyBibHVlLTMwMCBkbyBUYWlsd2luZClcbiRza2luLWFjY2VudC1zb2Z0OiBsaWdodGVuKCRicmFuZC1wcmltYXJ5LCAyNSUpICFkZWZhdWx0O1xuXG4vLyBBIGJhcnJhIGRvIHRvcG8gYXNzdW1lIGEgY29yIGRvIHRlbWEsIG51bSB0b20gZXNjdXJvIG8gYmFzdGFudGUgcGFyYSBvXG4vLyB0ZXh0byBjbGFybyBmdW5jaW9uYXIuIE8gYXp1bCBmaXhhIG8gcHJvcHJpbyB2YWxvciBubyBhcnF1aXZvIGRlIGNvbG91cmluZy5cbi8vIEEgYmFycmEgdXNhIG8gTUFUSVogZGEgY29yIGRvIHRlbWEsIGVzY3VybyBlIHBvdWNvIHNhdHVyYWRvLiBNaXN0dXJhciBhIGNvclxuLy8gbm8gY2luemEtYXp1bGFkbyBkZWl4YXZhIHZlcm1lbGhvIGUgbGFyYW5qYSByb3hvcyBlIGVuY2FyZGlkb3M7IGFzc2ltIGNhZGFcbi8vIHRlbWEgdGVtIGEgcHJvcHJpYSBmYW1pbGlhICh2aW5obywgdmVyZGUtbXVzZ28sIGFtYmFyLi4uKSBzZW0gZ3JpdGFyLlxuLy8gVGVtYSBwcmV0byBuYW8gdGVtIG1hdGl6LCBlbnRhbyBjYWkgbnVtIGNpbnphIG5ldXRyby5cbiRza2luLWluazogaWYoc2F0dXJhdGlvbigkYnJhbmQtcHJpbWFyeSkgPCA1JSwgIzE0MTYxYiwgaHNsKGh1ZSgkYnJhbmQtcHJpbWFyeSksIDMwJSwgMTMlKSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbWFpbi1iZzogICAgICAgICAgICAgICAgICRza2luLWluaztcbiRuYXZiYXItbWFpbi1ib3JkZXI6ICAgICAgICAgICAgICRza2luLWluaztcbiRuYXZiYXItbWFpbi1jb2xvcjogICAgICAgICAgICAgICNjYmQ1ZTE7XG4kbmF2YmFyLW1haW4tbGluay1jb2xvcjogICAgICAgICAjOTRhM2I4O1xuJG5hdmJhci1tYWluLWljb24tY29sb3I6ICAgICAgICAgIzY0NzQ4YjtcbiRuYXZiYXItbWFpbi1saW5rLWhvdmVyLWJnOiAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNyk7XG4kbmF2YmFyLW1haW4tbGluay1hY3RpdmUtYmc6ICAgICByZ2JhKCRicmFuZC1wcmltYXJ5LCAwLjI1KTtcbiRuYXZiYXItbWFpbi1saW5rLWhvdmVyLWNvbG9yOiAgICNmZmZmZmY7XG4kbmF2YmFyLW1haW4tbGluay1hY3RpdmUtY29sb3I6ICAjZmZmZmZmO1xuJG5hdmJhci1tYWluLWJyYW5kLWhvdmVyLWNvbG9yOiAgJHNraW4tYWNjZW50LXNvZnQ7XG4kbmF2YmFyLW1haW4tYnJhbmQtaG92ZXItYmc6ICAgICB0cmFuc3BhcmVudDtcblxuJGJvcmRlci1yYWRpdXMtYmFzZTogICAgIDZweDtcbiRib3JkZXItcmFkaXVzLXNtYWxsOiAgICA0cHg7XG4kYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgOHB4O1xuJHBhbmVsLWJvcmRlci1yYWRpdXM6ICAgIDEwcHg7XG4kbW9kYWwtYm9yZGVyLXJhZGl1czogICAgMTJweDtcbiIsIi8vXG4vLyBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEhlYWRpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcblxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkaGVhZGluZ3Mtc21hbGwtY29sb3I7XG4gIH1cbn1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzIHtcbiAgbWFyZ2luLXRvcDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG5cbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA2NSU7XG4gIH1cbn1cbmg0LCAuaDQsXG5oNSwgLmg1LFxuaDYsIC5oNiB7XG4gIG1hcmdpbi10b3A6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICB9XG59XG5cbmgxLCAuaDEgeyBmb250LXNpemU6ICRmb250LXNpemUtaDE7IH1cbmgyLCAuaDIgeyBmb250LXNpemU6ICRmb250LXNpemUtaDI7IH1cbmgzLCAuaDMgeyBmb250LXNpemU6ICRmb250LXNpemUtaDM7IH1cbmg0LCAuaDQgeyBmb250LXNpemU6ICRmb250LXNpemUtaDQ7IH1cbmg1LCAuaDUgeyBmb250LXNpemU6ICRmb250LXNpemUtaDU7IH1cbmg2LCAuaDYgeyBmb250LXNpemU6ICRmb250LXNpemUtaDY7IH1cblxuXG4vLyBCb2R5IHRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxucCB7XG4gIG1hcmdpbjogMCAwICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbn1cblxuLmxlYWQge1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDEuMTUpKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBmb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICB9XG59XG5cblxuLy8gRW1waGFzaXMgJiBtaXNjXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEV4OiAoMTJweCBzbWFsbCBmb250IC8gMTRweCBiYXNlIGZvbnQpICogMTAwJSA9IGFib3V0IDg1JVxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6IGZsb29yKCgxMDAlICogJGZvbnQtc2l6ZS1zbWFsbCAvICRmb250LXNpemUtYmFzZSkpO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3RhdGUtd2FybmluZy1iZztcbiAgcGFkZGluZzogLjJlbTtcbn1cblxuLy8gQWxpZ25tZW50XG4udGV4dC1sZWZ0ICAgICAgICAgICB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbi50ZXh0LXJpZ2h0ICAgICAgICAgIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbi50ZXh0LWNlbnRlciAgICAgICAgIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4udGV4dC1qdXN0aWZ5ICAgICAgICB7IHRleHQtYWxpZ246IGp1c3RpZnk7IH1cbi50ZXh0LW5vd3JhcCAgICAgICAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuLnRleHQtbG93ZXJjYXNlICAgICAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4udGV4dC11cHBlcmNhc2UgICAgICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbi50ZXh0LWNhcGl0YWxpemUgICAgIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcbi50ZXh0LW11dGVkIHtcbiAgY29sb3I6ICR0ZXh0LW11dGVkO1xufVxuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LXByaW1hcnknLCAkYnJhbmQtcHJpbWFyeSk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtc3VjY2VzcycsICRzdGF0ZS1zdWNjZXNzLXRleHQpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LWluZm8nLCAkc3RhdGUtaW5mby10ZXh0KTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC13YXJuaW5nJywgJHN0YXRlLXdhcm5pbmctdGV4dCk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtZGFuZ2VyJywgJHN0YXRlLWRhbmdlci10ZXh0KTtcblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuLy8gRm9yIG5vdyB3ZSdsbCBsZWF2ZSB0aGVzZSBhbG9uZ3NpZGUgdGhlIHRleHQgY2xhc3NlcyB1bnRpbCB2NCB3aGVuIHdlIGNhblxuLy8gc2FmZWx5IHNoaWZ0IHRoaW5ncyBhcm91bmQgKHBlciBTZW1WZXIgcnVsZXMpLlxuLmJnLXByaW1hcnkge1xuICAvLyBHaXZlbiB0aGUgY29udHJhc3QgaGVyZSwgdGhpcyBpcyB0aGUgb25seSBjbGFzcyB0byBoYXZlIGl0cyBjb2xvciBpbnZlcnRlZFxuICAvLyBhdXRvbWF0aWNhbGx5LlxuICBjb2xvcjogI2ZmZjtcbn1cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1wcmltYXJ5JywgJGJyYW5kLXByaW1hcnkpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctc3VjY2VzcycsICRzdGF0ZS1zdWNjZXNzLWJnKTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLWluZm8nLCAkc3RhdGUtaW5mby1iZyk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy13YXJuaW5nJywgJHN0YXRlLXdhcm5pbmctYmcpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctZGFuZ2VyJywgJHN0YXRlLWRhbmdlci1iZyk7XG5cblxuLy8gUGFnZSBoZWFkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKTtcbiAgbWFyZ2luOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICogMikgMCAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vIExpc3RzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFVub3JkZXJlZCBhbmQgT3JkZXJlZCBsaXN0c1xudWwsXG5vbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgdWwsXG4gIG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vIExpc3Qgb3B0aW9uc1xuXG4vLyBbY29udmVydGVyXSBleHRyYWN0ZWQgZnJvbSBgLmxpc3QtdW5zdHlsZWRgIGZvciBsaWJzYXNzIGNvbXBhdGliaWxpdHlcbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGFzIGBAbWl4aW4gbGlzdC11bnN0eWxlZGAgZm9yIGxpYnNhc3MgY29tcGF0aWJpbGl0eVxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xufVxuXG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xuICBtYXJnaW4tbGVmdDogLTVweDtcblxuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICB9XG59XG5cbi8vIERlc2NyaXB0aW9uIExpc3RzXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7IC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHRcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xufVxuZHQsXG5kZCB7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbn1cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5kZCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxufVxuXG4vLyBIb3Jpem9udGFsIGRlc2NyaXB0aW9uIGxpc3RzXG4vL1xuLy8gRGVmYXVsdHMgdG8gYmVpbmcgc3RhY2tlZCB3aXRob3V0IGFueSBvZiB0aGUgYmVsb3cgc3R5bGVzIGFwcGxpZWQsIHVudGlsIHRoZVxuLy8gZ3JpZCBicmVha3BvaW50IGlzIHJlYWNoZWQgKGRlZmF1bHQgb2Ygfjc2OHB4KS5cblxuLmRsLWhvcml6b250YWwge1xuICBkZCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7IC8vIENsZWFyIHRoZSBmbG9hdGVkIGBkdGAgaWYgYW4gZW1wdHkgYGRkYCBpcyBwcmVzZW50XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGR0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6ICgkZGwtaG9yaXpvbnRhbC1vZmZzZXQgLSAyMCk7XG4gICAgICBjbGVhcjogbGVmdDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgQGluY2x1ZGUgdGV4dC1vdmVyZmxvdztcbiAgICB9XG4gICAgZGQge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRkbC1ob3Jpem9udGFsLW9mZnNldDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBNaXNjXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zXG5hYmJyW3RpdGxlXSxcbi8vIEFkZCBkYXRhLSogYXR0cmlidXRlIHRvIGhlbHAgb3V0IG91ciB0b29sdGlwIHBsdWdpbiwgcGVyIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNTI1N1xuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkYWJici1ib3JkZXItY29sb3I7XG59XG4uaW5pdGlhbGlzbSB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBAZXh0ZW5kIC50ZXh0LXVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbmJsb2NrcXVvdGUge1xuICBwYWRkaW5nOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW46IDAgMCAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogJGJsb2NrcXVvdGUtZm9udC1zaXplO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcblxuICBwLFxuICB1bCxcbiAgb2wge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vdGU6IERlcHJlY2F0ZWQgc21hbGwgYW5kIC5zbWFsbCBhcyBvZiB2My4xLjBcbiAgLy8gQ29udGV4dDogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY2MFxuICBmb290ZXIsXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogODAlOyAvLyBiYWNrIHRvIGRlZmF1bHQgZm9udC1zaXplXG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTQgXFwwMEEwJzsgLy8gZW0gZGFzaCwgbmJzcFxuICAgIH1cbiAgfVxufVxuXG4vLyBPcHBvc2l0ZSBhbGlnbm1lbnQgb2YgYmxvY2txdW90ZVxuLy9cbi8vIEhlYWRzIHVwOiBgYmxvY2txdW90ZS5wdWxsLXJpZ2h0YCBoYXMgYmVlbiBkZXByZWNhdGVkIGFzIG9mIHYzLjEuMC5cbi5ibG9ja3F1b3RlLXJldmVyc2UsXG5ibG9ja3F1b3RlLnB1bGwtcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGJvcmRlci1yaWdodDogNXB4IHNvbGlkICRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gIC8vIEFjY291bnQgZm9yIGNpdGF0aW9uXG4gIGZvb3RlcixcbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgJjpiZWZvcmUgeyBjb250ZW50OiAnJzsgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1xcMDBBMCBcXDIwMTQnOyAvLyBuYnNwLCBlbSBkYXNoXG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHJlc3Nlc1xuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG59XG4iLCIvLyBUeXBvZ3JhcGh5XG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuICBhI3skcGFyZW50fTpob3ZlcixcbiAgYSN7JHBhcmVudH06Zm9jdXMge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxuICBhI3skcGFyZW50fTpob3ZlcixcbiAgYSN7JHBhcmVudH06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIENsZWFyZml4XG4vL1xuLy8gRm9yIG1vZGVybiBicm93c2Vyc1xuLy8gMS4gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcgd2hlbiB0aGVcbi8vICAgIGNvbnRlbnRlZGl0YWJsZSBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4vLyAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbi8vICAgIHRoYXQgYXJlIGNsZWFyZml4ZWQuXG4vLyAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xuLy8gICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuLy9cbi8vIFNvdXJjZTogaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiOyAvLyAxXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDJcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiLy8gVGV4dCBvdmVyZmxvd1xuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC1vdmVyZmxvdygpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvL1xuLy8gR3JpZCBzeXN0ZW1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuLmNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lci1maXhlZDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICB3aWR0aDogJGNvbnRhaW5lci1zbTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICB3aWR0aDogJGNvbnRhaW5lci1tZDtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICB3aWR0aDogJGNvbnRhaW5lci1sZztcbiAgfVxufVxuXG5cbi8vIEZsdWlkIGNvbnRhaW5lclxuLy9cbi8vIFV0aWxpemVzIHRoZSBtaXhpbiBtZWFudCBmb3IgZml4ZWQgd2lkdGggY29udGFpbmVycywgYnV0IHdpdGhvdXQgYW55IGRlZmluZWRcbi8vIHdpZHRoIGZvciBmbHVpZCwgZnVsbCB3aWR0aCBsYXlvdXRzLlxuXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgQGluY2x1ZGUgY29udGFpbmVyLWZpeGVkO1xufVxuXG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiBhbmQgY2xlYXIgdGhlIGZsb2F0cyBvZiB5b3VyIGNvbHVtbnMuXG5cbi5yb3cge1xuICBAaW5jbHVkZSBtYWtlLXJvdztcbn1cblxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucztcblxuXG4vLyBFeHRyYSBzbWFsbCBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIGV4dHJhIHNtYWxsIGRldmljZXMgbGlrZVxuLy8gc21hcnRwaG9uZXMuXG5cbkBpbmNsdWRlIG1ha2UtZ3JpZCh4cyk7XG5cblxuLy8gU21hbGwgZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgc21hbGwgZGV2aWNlIHJhbmdlLCBmcm9tIHBob25lc1xuLy8gdG8gdGFibGV0cy5cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZChzbSk7XG59XG5cblxuLy8gTWVkaXVtIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIGRlc2t0b3AgZGV2aWNlIHJhbmdlLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkKG1kKTtcbn1cblxuXG4vLyBMYXJnZSBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIHRoZSBsYXJnZSBkZXNrdG9wIGRldmljZSByYW5nZS5cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZChsZyk7XG59XG4iLCIvLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuLy8gQ2VudGVyZWQgY29udGFpbmVyIGVsZW1lbnRcbkBtaXhpbiBjb250YWluZXItZml4ZWQoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBDcmVhdGVzIGEgd3JhcHBlciBmb3IgYSBzZXJpZXMgb2YgY29sdW1uc1xuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tbGVmdDogIGNlaWwoKCRndXR0ZXIgLyAtMikpO1xuICBtYXJnaW4tcmlnaHQ6IGZsb29yKCgkZ3V0dGVyIC8gLTIpKTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBleHRyYSBzbWFsbCBjb2x1bW5zXG5AbWl4aW4gbWFrZS14cy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBzbWFsbCBjb2x1bW5zXG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBtZWRpdW0gY29sdW1uc1xuQG1peGluIG1ha2UtbWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbGFyZ2UgY29sdW1uc1xuQG1peGluIG1ha2UtbGctY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkaTogMSwgJGxpc3Q6IFwiLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiKSB7XG4gIEBmb3IgJGkgZnJvbSAoMSArIDEpIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgJGxpc3Q6IFwiI3skbGlzdH0sIC5jb2wteHMtI3skaX0sIC5jb2wtc20tI3skaX0sIC5jb2wtbWQtI3skaX0sIC5jb2wtbGctI3skaX1cIjtcbiAgfVxuICAjeyRsaXN0fSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgICBwYWRkaW5nLWxlZnQ6ICBjZWlsKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gICAgcGFkZGluZy1yaWdodDogZmxvb3IoKCRncmlkLWd1dHRlci13aWR0aCAvIDIpKTtcbiAgfVxufVxuXG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gZmxvYXQtZ3JpZC1jb2x1bW5zKCRjbGFzcywgJGk6IDEsICRsaXN0OiBcIi5jb2wtI3skY2xhc3N9LSN7JGl9XCIpIHtcbiAgQGZvciAkaSBmcm9tICgxICsgMSkgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAkbGlzdDogXCIjeyRsaXN0fSwgLmNvbC0jeyRjbGFzc30tI3skaX1cIjtcbiAgfVxuICAjeyRsaXN0fSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuXG5AbWl4aW4gY2FsYy1ncmlkLWNvbHVtbigkaW5kZXgsICRjbGFzcywgJHR5cGUpIHtcbiAgQGlmICgkdHlwZSA9PSB3aWR0aCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tI3skaW5kZXh9IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVzaCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVzaC0jeyRpbmRleH0ge1xuICAgICAgbGVmdDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1c2gpIGFuZCAoJGluZGV4ID09IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdXNoLTAge1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdWxsKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdWxsLSN7JGluZGV4fSB7XG4gICAgICByaWdodDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1bGwpIGFuZCAoJGluZGV4ID09IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdWxsLTAge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gb2Zmc2V0KSB7XG4gICAgLmNvbC0jeyRjbGFzc30tb2Zmc2V0LSN7JGluZGV4fSB7XG4gICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIGxvb3AtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zLCAkY2xhc3MsICR0eXBlKSB7XG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgIEBpbmNsdWRlIGNhbGMtZ3JpZC1jb2x1bW4oJGksICRjbGFzcywgJHR5cGUpO1xuICB9XG59XG5cblxuLy8gQ3JlYXRlIGdyaWQgZm9yIHNwZWNpZmljIGNsYXNzXG5AbWl4aW4gbWFrZS1ncmlkKCRjbGFzcykge1xuICBAaW5jbHVkZSBmbG9hdC1ncmlkLWNvbHVtbnMoJGNsYXNzKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCB3aWR0aCk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgcHVsbCk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgcHVzaCk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgb2Zmc2V0KTtcbn1cbiIsIi8vXG4vLyBUYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxudGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7XG59XG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG50aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cblxuLy8gQmFzZWxpbmUgc3R5bGVzXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgLy8gQ2VsbHNcbiAgPiB0aGVhZCxcbiAgPiB0Ym9keSxcbiAgPiB0Zm9vdCB7XG4gICAgPiB0ciB7XG4gICAgICA+IHRoLFxuICAgICAgPiB0ZCB7XG4gICAgICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIEJvdHRvbSBhbGlnbiBmb3IgY29sdW1uIGhlYWRpbmdzXG4gID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG4gIC8vIFJlbW92ZSB0b3AgYm9yZGVyIGZyb20gdGhlYWQgYnkgZGVmYXVsdFxuICA+IGNhcHRpb24gKyB0aGVhZCxcbiAgPiBjb2xncm91cCArIHRoZWFkLFxuICA+IHRoZWFkOmZpcnN0LWNoaWxkIHtcbiAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gQWNjb3VudCBmb3IgbXVsdGlwbGUgdGJvZHkgaW5zdGFuY2VzXG4gID4gdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAvLyBOZXN0aW5nXG4gIC50YWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7XG4gIH1cbn1cblxuXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG5cbi50YWJsZS1jb25kZW5zZWQge1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgcGFkZGluZzogJHRhYmxlLWNvbmRlbnNlZC1jZWxsLXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gQm9yZGVyZWQgdmVyc2lvblxuLy9cbi8vIEFkZCBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgPiB0aGVhZCxcbiAgPiB0Ym9keSxcbiAgPiB0Zm9vdCB7XG4gICAgPiB0ciB7XG4gICAgICA+IHRoLFxuICAgICAgPiB0ZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gdGhlYWQgPiB0ciB7XG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZy1hY2NlbnQ7XG4gIH1cbn1cblxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gID4gdGJvZHkgPiB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnLWhvdmVyO1xuICB9XG59XG5cblxuLy8gVGFibGUgY2VsbCBzaXppbmdcbi8vXG4vLyBSZXNldCBkZWZhdWx0IHRhYmxlIGJlaGF2aW9yXG5cbnRhYmxlIGNvbFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgcG9zaXRpb246IHN0YXRpYzsgLy8gUHJldmVudCBib3JkZXIgaGlkaW5nIGluIEZpcmVmb3ggYW5kIElFOS0xMSAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2MjMpXG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiB0YWJsZS1jb2x1bW47XG59XG50YWJsZSB7XG4gIHRkLFxuICB0aCB7XG4gICAgJltjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IC8vIFByZXZlbnQgYm9yZGVyIGhpZGluZyBpbiBGaXJlZm94IGFuZCBJRTktMTEgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjIzKVxuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbi8vIEdlbmVyYXRlIHRoZSBjb250ZXh0dWFsIHZhcmlhbnRzXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnYWN0aXZlJywgJHRhYmxlLWJnLWFjdGl2ZSk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnc3VjY2VzcycsICRzdGF0ZS1zdWNjZXNzLWJnKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCdpbmZvJywgJHN0YXRlLWluZm8tYmcpO1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJ3dhcm5pbmcnLCAkc3RhdGUtd2FybmluZy1iZyk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnZGFuZ2VyJywgJHN0YXRlLWRhbmdlci1iZyk7XG5cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBXcmFwIHlvdXIgdGFibGVzIGluIGAudGFibGUtcmVzcG9uc2l2ZWAgYW5kIHdlJ2xsIG1ha2UgdGhlbSBtb2JpbGUgZnJpZW5kbHlcbi8vIGJ5IGVuYWJsaW5nIGhvcml6b250YWwgc2Nyb2xsaW5nLiBPbmx5IGFwcGxpZXMgPDc2OHB4LiBFdmVyeXRoaW5nIGFib3ZlIHRoYXRcbi8vIHdpbGwgZGlzcGxheSBub3JtYWxseS5cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAwLjAxJTsgLy8gV29ya2Fyb3VuZCBmb3IgSUU5IGJ1ZyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTQ4MzcpXG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICogMC43NSk7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgICAvLyBUaWdodGVuIHVwIHNwYWNpbmdcbiAgICA+IC50YWJsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAvLyBFbnN1cmUgdGhlIGNvbnRlbnQgZG9lc24ndCB3cmFwXG4gICAgICA+IHRoZWFkLFxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICA+IHRoLFxuICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTcGVjaWFsIG92ZXJyaWRlcyBmb3IgdGhlIGJvcmRlcmVkIHRhYmxlc1xuICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIGJvcmRlcjogMDtcblxuICAgICAgLy8gTnVrZSB0aGUgYXBwcm9wcmlhdGUgYm9yZGVycyBzbyB0aGF0IHRoZSBwYXJlbnQgY2FuIGhhbmRsZSB0aGVtXG4gICAgICA+IHRoZWFkLFxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICA+IHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICAgID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgICA+IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPbmx5IG51a2UgdGhlIGxhc3Qgcm93J3MgYm90dG9tLWJvcmRlciBpbiBgdGJvZHlgIGFuZCBgdGZvb3RgIHNpbmNlXG4gICAgICAvLyBjaGFuY2VzIGFyZSB0aGVyZSB3aWxsIGJlIG9ubHkgb25lIGB0cmAgaW4gYSBgdGhlYWRgIGFuZCB0aGF0IHdvdWxkXG4gICAgICAvLyByZW1vdmUgdGhlIGJvcmRlciBhbHRvZ2V0aGVyLlxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICAgID4gdGgsXG4gICAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlID4gdGhlYWQgPiB0cixcbiAgLnRhYmxlID4gdGJvZHkgPiB0cixcbiAgLnRhYmxlID4gdGZvb3QgPiB0ciB7XG4gICAgPiB0ZC4jeyRzdGF0ZX0sXG4gICAgPiB0aC4jeyRzdGF0ZX0sXG4gICAgJi4jeyRzdGF0ZX0gPiB0ZCxcbiAgICAmLiN7JHN0YXRlfSA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIge1xuICAgID4gdGQuI3skc3RhdGV9OmhvdmVyLFxuICAgID4gdGguI3skc3RhdGV9OmhvdmVyLFxuICAgICYuI3skc3RhdGV9OmhvdmVyID4gdGQsXG4gICAgJjpob3ZlciA+IC4jeyRzdGF0ZX0sXG4gICAgJi4jeyRzdGF0ZX06aG92ZXIgPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBGb3Jtc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBOb3JtYWxpemUgbm9uLWNvbnRyb2xzXG4vL1xuLy8gUmVzdHlsZSBhbmQgYmFzZWxpbmUgbm9uLWNvbnRyb2wgZm9ybSBlbGVtZW50cy5cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgLy8gQ2hyb21lIGFuZCBGaXJlZm94IHNldCBhIGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyBzbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBpdCBiZWhhdmVzIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5LlxuICBtaW4td2lkdGg6IDA7XG59XG5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICRsZWdlbmQtY29sb3I7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsZWdlbmQtYm9yZGVyLWNvbG9yO1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBGb3JjZSBJRTggdG8gd3JhcCBsb25nIGNvbnRlbnQgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEzMTQxKVxuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5cbi8vIE5vcm1hbGl6ZSBmb3JtIGNvbnRyb2xzXG4vL1xuLy8gV2hpbGUgbW9zdCBvZiBvdXIgZm9ybSBzdHlsZXMgcmVxdWlyZSBleHRyYSBjbGFzc2VzLCBzb21lIGJhc2ljIG5vcm1hbGl6YXRpb25cbi8vIGlzIHJlcXVpcmVkIHRvIGVuc3VyZSBvcHRpbXVtIGRpc3BsYXkgd2l0aCBvciB3aXRob3V0IHRob3NlIGNsYXNzZXMgdG8gYmV0dGVyXG4vLyBhZGRyZXNzIGJyb3dzZXIgaW5jb25zaXN0ZW5jaWVzLlxuXG4vLyBPdmVycmlkZSBjb250ZW50LWJveCBpbiBOb3JtYWxpemUgKCogaXNuJ3Qgc3BlY2lmaWMgZW5vdWdoKVxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG59XG5cbi8vIFBvc2l0aW9uIHJhZGlvcyBhbmQgY2hlY2tib3hlcyBiZXR0ZXJcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIG1hcmdpbjogNHB4IDAgMDtcbiAgbWFyZ2luLXRvcDogMXB4IFxcOTsgLy8gSUU4LTlcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gTWFrZSByYW5nZSBpbnB1dHMgYmVoYXZlIGxpa2UgdGV4dHVhbCBmb3JtIGNvbnRyb2xzXG5pbnB1dFt0eXBlPVwicmFuZ2VcIl0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIE1ha2UgbXVsdGlwbGUgc2VsZWN0IGVsZW1lbnRzIGhlaWdodCBub3QgZml4ZWRcbnNlbGVjdFttdWx0aXBsZV0sXG5zZWxlY3Rbc2l6ZV0ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIEZvY3VzIGZvciBmaWxlLCByYWRpbywgYW5kIGNoZWNrYm94XG5pbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyB7XG4gIEBpbmNsdWRlIHRhYi1mb2N1cztcbn1cblxuLy8gQWRqdXN0IG91dHB1dCBlbGVtZW50XG5vdXRwdXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG59XG5cblxuLy8gQ29tbW9uIGZvcm0gY29udHJvbHNcbi8vXG4vLyBTaGFyZWQgc2l6ZSBhbmQgdHlwZSByZXNldHMgZm9yIGZvcm0gY29udHJvbHMuIEFwcGx5IGAuZm9ybS1jb250cm9sYCB0byBhbnlcbi8vIG9mIHRoZSBmb2xsb3dpbmcgZm9ybSBjb250cm9sczpcbi8vXG4vLyBzZWxlY3Rcbi8vIHRleHRhcmVhXG4vLyBpbnB1dFt0eXBlPVwidGV4dFwiXVxuLy8gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl1cbi8vIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXVxuLy8gaW5wdXRbdHlwZT1cImRhdGVcIl1cbi8vIGlucHV0W3R5cGU9XCJtb250aFwiXVxuLy8gaW5wdXRbdHlwZT1cInRpbWVcIl1cbi8vIGlucHV0W3R5cGU9XCJ3ZWVrXCJdXG4vLyBpbnB1dFt0eXBlPVwibnVtYmVyXCJdXG4vLyBpbnB1dFt0eXBlPVwiZW1haWxcIl1cbi8vIGlucHV0W3R5cGU9XCJ1cmxcIl1cbi8vIGlucHV0W3R5cGU9XCJzZWFyY2hcIl1cbi8vIGlucHV0W3R5cGU9XCJ0ZWxcIl1cbi8vIGlucHV0W3R5cGU9XCJjb2xvclwiXVxuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtYmFzZTsgLy8gTWFrZSBpbnB1dHMgYXQgbGVhc3QgdGhlIGhlaWdodCBvZiB0aGVpciBidXR0b24gY291bnRlcnBhcnQgKGJhc2UgbGluZS1oZWlnaHQgKyBwYWRkaW5nICsgYm9yZGVyKVxuICBwYWRkaW5nOiAkcGFkZGluZy1iYXNlLXZlcnRpY2FsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMjE0XG4gIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzOyAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiA8c2VsZWN0PnMgaW4gQ1NTLlxuICAvL0BpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXMpO1xuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLWZvY3VzO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gIEBpbmNsdWRlIHBsYWNlaG9sZGVyO1xuXG4gIC8vIERpc2FibGVkIGFuZCByZWFkLW9ubHkgaW5wdXRzXG4gIC8vXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gIC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgJltkaXNhYmxlZF0sXG4gICZbcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWRpc2FibGVkO1xuICAgIG9wYWNpdHk6IDE7IC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTVcbiAgfVxuXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIHRleHRhcmVhJiB0byB0ZXh0YXJlYS5mb3JtLWNvbnRyb2xcbn1cblxuLy8gUmVzZXQgaGVpZ2h0IGZvciBgdGV4dGFyZWFgc1xudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFNlYXJjaCBpbnB1dHMgaW4gaU9TXG4vL1xuLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4vLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5cbi8vIFNwZWNpYWwgc3R5bGVzIGZvciBpT1MgdGVtcG9yYWwgaW5wdXRzXG4vL1xuLy8gSW4gTW9iaWxlIFNhZmFyaSwgc2V0dGluZyBgZGlzcGxheTogYmxvY2tgIG9uIHRlbXBvcmFsIGlucHV0cyBjYXVzZXMgdGhlXG4vLyB0ZXh0IHdpdGhpbiB0aGUgaW5wdXQgdG8gYmVjb21lIHZlcnRpY2FsbHkgbWlzYWxpZ25lZC4gQXMgYSB3b3JrYXJvdW5kLCB3ZVxuLy8gc2V0IGEgcGl4ZWwgbGluZS1oZWlnaHQgdGhhdCBtYXRjaGVzIHRoZSBnaXZlbiBoZWlnaHQgb2YgdGhlIGlucHV0LCBidXQgb25seVxuLy8gZm9yIFNhZmFyaS4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzk4NDhcbi8vXG4vLyBOb3RlIHRoYXQgYXMgb2YgOC4zLCBpT1MgZG9lc24ndCBzdXBwb3J0IGBkYXRldGltZWAgb3IgYHdlZWtgLlxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7XG4gIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuICBpbnB1dFt0eXBlPVwidGltZVwiXSxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICBpbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAgICYuZm9ybS1jb250cm9sIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWJhc2U7XG4gICAgfVxuXG4gICAgJi5pbnB1dC1zbSxcbiAgICAuaW5wdXQtZ3JvdXAtc20gJiB7XG4gICAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICB9XG5cbiAgICAmLmlucHV0LWxnLFxuICAgIC5pbnB1dC1ncm91cC1sZyAmIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZvcm0gZ3JvdXBzXG4vL1xuLy8gRGVzaWduZWQgdG8gaGVscCB3aXRoIHRoZSBvcmdhbml6YXRpb24gYW5kIHNwYWNpbmcgb2YgdmVydGljYWwgZm9ybXMuIEZvclxuLy8gaG9yaXpvbnRhbCBmb3JtcywgdXNlIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5yYWRpbyxcbi5jaGVja2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgbGFiZWwge1xuICAgIG1pbi1oZWlnaHQ6ICRsaW5lLWhlaWdodC1jb21wdXRlZDsgLy8gRW5zdXJlIHRoZSBpbnB1dCBkb2Vzbid0IGp1bXAgd2hlbiB0aGVyZSBpcyBubyB0ZXh0XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbi5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4ucmFkaW8taW5saW5lIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4uY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBtYXJnaW4tdG9wOiA0cHggXFw5O1xufVxuXG4ucmFkaW8gKyAucmFkaW8sXG4uY2hlY2tib3ggKyAuY2hlY2tib3gge1xuICBtYXJnaW4tdG9wOiAtNXB4OyAvLyBNb3ZlIHVwIHNpYmxpbmcgcmFkaW9zIG9yIGNoZWNrYm94ZXMgZm9yIHRpZ2h0ZXIgc3BhY2luZ1xufVxuXG4vLyBSYWRpb3MgYW5kIGNoZWNrYm94ZXMgb24gc2FtZSBsaW5lXG4ucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5yYWRpby1pbmxpbmUgKyAucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSArIC5jaGVja2JveC1pbmxpbmUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogMTBweDsgLy8gc3BhY2Ugb3V0IGNvbnNlY3V0aXZlIGlubGluZSBjb250cm9sc1xufVxuXG4vLyBBcHBseSBzYW1lIGRpc2FibGVkIGN1cnNvciB0d2VhayBhcyBmb3IgaW5wdXRzXG4vLyBTb21lIHNwZWNpYWwgY2FyZSBpcyBuZWVkZWQgYmVjYXVzZSA8bGFiZWw+cyBkb24ndCBpbmhlcml0IHRoZWlyIHBhcmVudCdzIGBjdXJzb3JgLlxuLy9cbi8vIE5vdGU6IE5laXRoZXIgcmFkaW9zIG5vciBjaGVja2JveGVzIGNhbiBiZSByZWFkb25seS5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG4vLyBUaGVzZSBjbGFzc2VzIGFyZSB1c2VkIGRpcmVjdGx5IG9uIDxsYWJlbD5zXG4ucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSB7XG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cbi8vIFRoZXNlIGNsYXNzZXMgYXJlIHVzZWQgb24gZWxlbWVudHMgd2l0aCA8bGFiZWw+IGRlc2NlbmRhbnRzXG4ucmFkaW8sXG4uY2hlY2tib3gge1xuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgbGFiZWwge1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFN0YXRpYyBmb3JtIGNvbnRyb2wgdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgYHBgIGVsZW1lbnQgdG8gbWFrZSBhbnkgc3RyaW5nIG9mIHRleHQgYWxpZ24gd2l0aCBsYWJlbHMgaW5cbi8vIGEgaG9yaXpvbnRhbCBmb3JtIGxheW91dC5cblxuLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAvLyBTaXplIGl0IGFwcHJvcHJpYXRlbHkgbmV4dCB0byByZWFsIGZvcm0gY29udHJvbHNcbiAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XG4gIHBhZGRpbmctYm90dG9tOiAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpO1xuICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gZnJvbSBgcGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWluLWhlaWdodDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICRmb250LXNpemUtYmFzZSk7XG5cbiAgJi5pbnB1dC1sZyxcbiAgJi5pbnB1dC1zbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gVGhlIGAuZm9ybS1ncm91cC0qIGZvcm0tY29udHJvbGAgdmFyaWF0aW9ucyBhcmUgc2FkbHkgZHVwbGljYXRlZCB0byBhdm9pZCB0aGVcbi8vIGlzc3VlIGRvY3VtZW50ZWQgaW4gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNTA3NC5cblxuQGluY2x1ZGUgaW5wdXQtc2l6ZSgnLmlucHV0LXNtJywgJGlucHV0LWhlaWdodC1zbWFsbCwgJHBhZGRpbmctc21hbGwtdmVydGljYWwsICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWwsICRmb250LXNpemUtc21hbGwsICRsaW5lLWhlaWdodC1zbWFsbCwgJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGwpO1xuLmZvcm0tZ3JvdXAtc20ge1xuICAuZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gICAgcGFkZGluZzogJHBhZGRpbmctc21hbGwtdmVydGljYWwgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1zbWFsbDtcbiAgICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbDtcbiAgfVxuICBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gIH1cbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sLFxuICBzZWxlY3RbbXVsdGlwbGVdLmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gICAgbWluLWhlaWdodDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICRmb250LXNpemUtc21hbGwpO1xuICAgIHBhZGRpbmc6ICgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCArIDEpICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtc21hbGw7XG4gIH1cbn1cblxuQGluY2x1ZGUgaW5wdXQtc2l6ZSgnLmlucHV0LWxnJywgJGlucHV0LWhlaWdodC1sYXJnZSwgJHBhZGRpbmctbGFyZ2UtdmVydGljYWwsICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWwsICRmb250LXNpemUtbGFyZ2UsICRsaW5lLWhlaWdodC1sYXJnZSwgJGlucHV0LWJvcmRlci1yYWRpdXMtbGFyZ2UpO1xuLmZvcm0tZ3JvdXAtbGcge1xuICAuZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gICAgcGFkZGluZzogJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbGFyZ2U7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1sYXJnZTtcbiAgICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZTtcbiAgfVxuICBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gIH1cbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sLFxuICBzZWxlY3RbbXVsdGlwbGVdLmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gICAgbWluLWhlaWdodDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICRmb250LXNpemUtbGFyZ2UpO1xuICAgIHBhZGRpbmc6ICgkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCArIDEpICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtbGFyZ2U7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgZmVlZGJhY2sgc3RhdGVzXG4vL1xuLy8gQXBwbHkgY29udGV4dHVhbCBhbmQgc2VtYW50aWMgc3RhdGVzIHRvIGluZGl2aWR1YWwgZm9ybSBjb250cm9scy5cblxuLmhhcy1mZWVkYmFjayB7XG4gIC8vIEVuYWJsZSBhYnNvbHV0ZSBwb3NpdGlvbmluZ1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gRW5zdXJlIGljb25zIGRvbid0IG92ZXJsYXAgdGV4dFxuICAuZm9ybS1jb250cm9sIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWJhc2U7XG4gIH1cbn1cbi8vIEZlZWRiYWNrIGljb24gKHJlcXVpcmVzIC5nbHlwaGljb24gY2xhc3Nlcylcbi5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDI7IC8vIEVuc3VyZSBpY29uIGlzIGFib3ZlIGlucHV0IGdyb3Vwc1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRpbnB1dC1oZWlnaHQtYmFzZTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uaW5wdXQtbGcgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmlucHV0LWdyb3VwLWxnICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgd2lkdGg6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG59XG4uaW5wdXQtc20gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmlucHV0LWdyb3VwLXNtICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgd2lkdGg6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG59XG5cbi8vIEZlZWRiYWNrIHN0YXRlc1xuLmhhcy1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHN0YXRlLXN1Y2Nlc3MtdGV4dCwgJHN0YXRlLXN1Y2Nlc3MtdGV4dCwgJHN0YXRlLXN1Y2Nlc3MtYmcpO1xufVxuLmhhcy13YXJuaW5nIHtcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHN0YXRlLXdhcm5pbmctdGV4dCwgJHN0YXRlLXdhcm5pbmctdGV4dCwgJHN0YXRlLXdhcm5pbmctYmcpO1xufVxuLmhhcy1lcnJvciB7XG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRzdGF0ZS1kYW5nZXItdGV4dCwgJHN0YXRlLWRhbmdlci10ZXh0LCAkc3RhdGUtZGFuZ2VyLWJnKTtcbn1cblxuLy8gUmVwb3NpdGlvbiBmZWVkYmFjayBpY29uIGlmIGlucHV0IGhhcyB2aXNpYmxlIGxhYmVsIGFib3ZlXG4uaGFzLWZlZWRiYWNrIGxhYmVsIHtcblxuICAmIH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgIHRvcDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCArIDUpOyAvLyBIZWlnaHQgb2YgdGhlIGBsYWJlbGAgYW5kIGl0cyBtYXJnaW5cbiAgfVxuICAmLnNyLW9ubHkgfiAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICAgdG9wOiAwO1xuICB9XG59XG5cblxuLy8gSGVscCB0ZXh0XG4vL1xuLy8gQXBwbHkgdG8gYW55IGVsZW1lbnQgeW91IHdpc2ggdG8gY3JlYXRlIGxpZ2h0IHRleHQgZm9yIHBsYWNlbWVudCBpbW1lZGlhdGVseVxuLy8gYmVsb3cgYSBmb3JtIGNvbnRyb2wuIFVzZSBmb3IgZ2VuZXJhbCBoZWxwLCBmb3JtYXR0aW5nLCBvciBpbnN0cnVjdGlvbmFsIHRleHQuXG5cbi5oZWxwLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7IC8vIGFjY291bnQgZm9yIGFueSBlbGVtZW50IHVzaW5nIGhlbHAtYmxvY2tcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogbGlnaHRlbigkdGV4dC1jb2xvciwgMjUlKTsgLy8gbGlnaHRlbiB0aGUgdGV4dCBzb21lIGZvciBjb250cmFzdFxufVxuXG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG4vL1xuLy8gSGVhZHMgdXAhIFRoaXMgaXMgbWl4aW4tZWQgaW50byBgLm5hdmJhci1mb3JtYCBpbiBuYXZiYXJzLmxlc3MuXG5cbi8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBmcm9tIGAuZm9ybS1pbmxpbmVgIGZvciBsaWJzYXNzIGNvbXBhdGliaWxpdHlcbkBtaXhpbiBmb3JtLWlubGluZSB7XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIEluIG5hdmJhci1mb3JtLCBhbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAuaW5wdXQtZ3JvdXAtYWRkb24sXG4gICAgICAuaW5wdXQtZ3JvdXAtYnRuLFxuICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElucHV0IGdyb3VwcyBuZWVkIHRoYXQgMTAwJSB3aWR0aCB0aG91Z2hcbiAgICAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5yYWRpbyxcbiAgICAuY2hlY2tib3gge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICAuY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC8vIFJlLW92ZXJyaWRlIHRoZSBmZWVkYmFjayBpY29uLlxuICAgIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG59XG4vLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYXMgYEBtaXhpbiBmb3JtLWlubGluZWAgZm9yIGxpYnNhc3MgY29tcGF0aWJpbGl0eVxuLmZvcm0taW5saW5lIHtcbiAgQGluY2x1ZGUgZm9ybS1pbmxpbmU7XG59XG5cblxuXG4vLyBIb3Jpem9udGFsIGZvcm1zXG4vL1xuLy8gSG9yaXpvbnRhbCBmb3JtcyBhcmUgYnVpbHQgb24gZ3JpZCBjbGFzc2VzIGFuZCBhbGxvdyB5b3UgdG8gY3JlYXRlIGZvcm1zIHdpdGhcbi8vIGxhYmVscyBvbiB0aGUgbGVmdCBhbmQgaW5wdXRzIG9uIHRoZSByaWdodC5cblxuLmZvcm0taG9yaXpvbnRhbCB7XG5cbiAgLy8gQ29uc2lzdGVudCB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzXG4gIC8vXG4gIC8vIExhYmVscyBhbHNvIGdldCBzb21lIHJlc2V0IHN0eWxlcywgYnV0IHRoYXQgaXMgc2NvcGVkIHRvIGEgbWVkaWEgcXVlcnkgYmVsb3cuXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94LFxuICAucmFkaW8taW5saW5lLFxuICAuY2hlY2tib3gtaW5saW5lIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7IC8vIERlZmF1bHQgcGFkZGluZyBwbHVzIGEgYm9yZGVyXG4gIH1cbiAgLy8gQWNjb3VudCBmb3IgcGFkZGluZyB3ZSdyZSBhZGRpbmcgdG8gZW5zdXJlIHRoZSBhbGlnbm1lbnQgYW5kIG9mIGhlbHAgdGV4dFxuICAvLyBhbmQgb3RoZXIgY29udGVudCBiZWxvdyBpdGVtc1xuICAucmFkaW8sXG4gIC5jaGVja2JveCB7XG4gICAgbWluLWhlaWdodDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSkpO1xuICB9XG5cbiAgLy8gTWFrZSBmb3JtIGdyb3VwcyBiZWhhdmUgbGlrZSByb3dzXG4gIC5mb3JtLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdztcbiAgfVxuXG4gIC8vIFJlc2V0IHNwYWNpbmcgYW5kIHJpZ2h0IGFsaWduIGxhYmVscywgYnV0IHNjb3BlIHRvIG1lZGlhIHF1ZXJpZXMgc28gdGhhdFxuICAvLyBsYWJlbHMgb24gbmFycm93IHZpZXdwb3J0cyBzdGFjayB0aGUgc2FtZSBhcyBhIGRlZmF1bHQgZm9ybSBleGFtcGxlLlxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLXRvcDogKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTsgLy8gRGVmYXVsdCBwYWRkaW5nIHBsdXMgYSBib3JkZXJcbiAgICB9XG4gIH1cblxuICAvLyBWYWxpZGF0aW9uIHN0YXRlc1xuICAvL1xuICAvLyBSZXBvc2l0aW9uIHRoZSBpY29uIGJlY2F1c2UgaXQncyBub3cgd2l0aGluIGEgZ3JpZCBjb2x1bW4gYW5kIGNvbHVtbnMgaGF2ZVxuICAvLyBgcG9zaXRpb246IHJlbGF0aXZlO2Agb24gdGhlbS4gQWxzbyBhY2NvdW50cyBmb3IgdGhlIGdyaWQgZ3V0dGVyIHBhZGRpbmcuXG4gIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgcmlnaHQ6IGZsb29yKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gIH1cblxuICAvLyBGb3JtIGdyb3VwIHNpemVzXG4gIC8vXG4gIC8vIFF1aWNrIHV0aWxpdHkgY2xhc3MgZm9yIGFwcGx5aW5nIGAuaW5wdXQtbGdgIGFuZCBgLmlucHV0LXNtYCBzdHlsZXMgdG8gdGhlXG4gIC8vIGlucHV0cyBhbmQgbGFiZWxzIHdpdGhpbiBhIGAuZm9ybS1ncm91cGAuXG4gIC5mb3JtLWdyb3VwLWxnIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICgoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgKiAkbGluZS1oZWlnaHQtbGFyZ2UpICsgMSk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZvcm0tZ3JvdXAtc20ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgICAgLmNvbnRyb2wtbGFiZWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICsgMSk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi8vXG4vLyBVc2VkIGluIGZvcm1zLmxlc3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0gdmFsaWRhdGlvbiBDU1MgZm9yIHdhcm5pbmdzLCBlcnJvcnMsXG4vLyBhbmQgc3VjY2Vzc2VzLlxuXG5AbWl4aW4gZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHRleHQtY29sb3I6ICM1NTUsICRib3JkZXItY29sb3I6ICNjY2MsICRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1KSB7XG4gIC8vIENvbG9yIHRoZSBsYWJlbCBhbmQgaGVscCB0ZXh0XG4gIC5oZWxwLWJsb2NrLFxuICAuY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gICYucmFkaW8gbGFiZWwsXG4gICYuY2hlY2tib3ggbGFiZWwsXG4gICYucmFkaW8taW5saW5lIGxhYmVsLFxuICAmLmNoZWNrYm94LWlubGluZSBsYWJlbCAge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxuICAvLyBTZXQgdGhlIGJvcmRlciBhbmQgYm94IHNoYWRvdyBvbiBzcGVjaWZpYyBpbnB1dHMgdG8gbWF0Y2hcbiAgLmZvcm0tY29udHJvbC5ib290c3RyYXAtc2VsZWN0LFxuICAuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSk7IC8vIFJlZGVjbGFyZSBzbyB0cmFuc2l0aW9ucyB3b3JrXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLWNvbG9yLCAxMCUpO1xuICAgICAgJHNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA2cHggbGlnaHRlbigkYm9yZGVyLWNvbG9yLCAyMCUpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93KTtcbiAgICB9XG4gIH1cbiAgLy8gU2V0IHZhbGlkYXRpb24gc3RhdGVzIGFsc28gZm9yIGFkZG9uc1xuICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gIH1cbiAgLy8gT3B0aW9uYWwgZmVlZGJhY2sgaWNvblxuICAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtYm9yZGVyLWZvY3VzYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygkY29sb3I6ICRpbnB1dC1ib3JkZXItZm9jdXMpIHtcbiAgJGNvbG9yLXJnYmE6IHJnYmEocmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKSwgLjYpO1xuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWNvbG9yLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZy1mb2N1cztcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggJGNvbG9yLXJnYmEpO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBSZWxhdGl2ZSB0ZXh0IHNpemUsIHBhZGRpbmcsIGFuZCBib3JkZXItcmFkaWkgY2hhbmdlcyBmb3IgZm9ybSBjb250cm9scy4gRm9yXG4vLyBob3Jpem9udGFsIHNpemluZywgd3JhcCBjb250cm9scyBpbiB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuIGA8c2VsZWN0PmBcbi8vIGVsZW1lbnQgZ2V0cyBzcGVjaWFsIGxvdmUgYmVjYXVzZSBpdCdzIHNwZWNpYWwsIGFuZCB0aGF0J3MgYSBmYWN0IVxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gaW5wdXQtc2l6ZSgkcGFyZW50LCAkaW5wdXQtaGVpZ2h0LCAkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIHNlbGVjdCN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gIHRleHRhcmVhI3skcGFyZW50fSxcbiAgc2VsZWN0W211bHRpcGxlXSN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuIiwiLy9cbi8vIEJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIEZvciBpbnB1dC5idG5cbiAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNFxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsLCAkZm9udC1zaXplLWJhc2UsICRsaW5lLWhlaWdodC1iYXNlLCAkYnRuLWJvcmRlci1yYWRpdXMtYmFzZSk7XG4gIEBpbmNsdWRlIHVzZXItc2VsZWN0KG5vbmUpO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIHRhYi1mb2N1cztcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogJGJ0bi1kZWZhdWx0LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgb3V0bGluZTogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIC8vQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDNweCA1cHggcmdiYSgwLDAsMCwuMTI1KSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KC42NSk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJiB0byBhLmJ0blxufVxuXG5hLmJ0biB7XG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWRlZmF1bHQge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWRlZmF1bHQtY29sb3IsICRidG4tZGVmYXVsdC1iZywgJGJ0bi1kZWZhdWx0LWJvcmRlcik7XG59XG4uYnRuLXByaW1hcnkge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXByaW1hcnktY29sb3IsICRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJvcmRlcik7XG59XG4vLyBTdWNjZXNzIGFwcGVhcnMgYXMgZ3JlZW5cbi5idG4tc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tc3VjY2Vzcy1jb2xvciwgJGJ0bi1zdWNjZXNzLWJnLCAkYnRuLXN1Y2Nlc3MtYm9yZGVyKTtcbn1cbi8vIEluZm8gYXBwZWFycyBhcyBibHVlLWdyZWVuXG4uYnRuLWluZm8ge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWluZm8tY29sb3IsICRidG4taW5mby1iZywgJGJ0bi1pbmZvLWJvcmRlcik7XG59XG4vLyBXYXJuaW5nIGFwcGVhcnMgYXMgb3JhbmdlXG4uYnRuLXdhcm5pbmcge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXdhcm5pbmctY29sb3IsICRidG4td2FybmluZy1iZywgJGJ0bi13YXJuaW5nLWJvcmRlcik7XG59XG4vLyBEYW5nZXIgYW5kIGVycm9yIGFwcGVhciBhcyByZWRcbi5idG4tZGFuZ2VyIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1kYW5nZXItY29sb3IsICRidG4tZGFuZ2VyLWJnLCAkYnRuLWRhbmdlci1ib3JkZXIpO1xufVxuXG5cbi8vIExpbmsgYnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCdXR0b24gU2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tbGcge1xuICAvLyBsaW5lLWhlaWdodDogZW5zdXJlIGV2ZW4tbnVtYmVyZWQgaGVpZ2h0IG9mIGJ1dHRvbiBuZXh0IHRvIGxhcmdlIGlucHV0XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsLCAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsLCAkZm9udC1zaXplLWxhcmdlLCAkbGluZS1oZWlnaHQtbGFyZ2UsICRidG4tYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG59XG4uYnRuLXNtIHtcbiAgLy8gbGluZS1oZWlnaHQ6IGVuc3VyZSBwcm9wZXIgaGVpZ2h0IG9mIGJ1dHRvbiBuZXh0IHRvIHNtYWxsIGlucHV0XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsLCAkcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsLCAkZm9udC1zaXplLXNtYWxsLCAkbGluZS1oZWlnaHQtc21hbGwsICRidG4tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG59XG4uYnRuLXhzIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmcteHMtdmVydGljYWwsICRwYWRkaW5nLXhzLWhvcml6b250YWwsICRmb250LXNpemUtc21hbGwsICRsaW5lLWhlaWdodC1zbWFsbCwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbn1cblxuXG4vLyBCbG9jayBidXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbi5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5idG4tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQsICRib3JkZXIpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMjUlKTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMTIlKTtcbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTclKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAyNSUpO1xuICAgIH1cbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAuYmFkZ2Uge1xuICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cbiIsIi8vIE9wYWNpdHlcblxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcbiAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIC8vIElFOCBmaWx0ZXJcbiAgJG9wYWNpdHktaWU6ICgkb3BhY2l0eSAqIDEwMCk7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0kb3BhY2l0eS1pZSk7XG59XG4iLCIvL1xuLy8gQ29tcG9uZW50IGFuaW1hdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhlYWRzIHVwIVxuLy9cbi8vIFdlIGRvbid0IHVzZSB0aGUgYC5vcGFjaXR5KClgIG1peGluIGhlcmUgc2luY2UgaXQgY2F1c2VzIGEgYnVnIHdpdGggdGV4dFxuLy8gZmllbGRzIGluIElFNy04LiBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzM1NTIuXG5cbi5mYWRlIHtcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IC4xNXMgbGluZWFyKTtcbiAgJi5pbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICBkaXNwbGF5OiBub25lO1xuXG4gICYuaW4gICAgICB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCB0ciYuaW4gdG8gdHIuY29sbGFwc2UuaW5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIHRib2R5Ji5pbiB0byB0Ym9keS5jb2xsYXBzZS5pblxufVxuXG50ci5jb2xsYXBzZS5pbiAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuXG50Ym9keS5jb2xsYXBzZS5pbiB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXByb3BlcnR5KGhlaWdodCwgdmlzaWJpbGl0eSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZHVyYXRpb24oLjM1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKGVhc2UpO1xufVxuIiwiLy9cbi8vIERyb3Bkb3duIG1lbnVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIERyb3Bkb3duIGFycm93L2NhcmV0XG4uY2FyZXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci10b3A6ICAgJGNhcmV0LXdpZHRoLWJhc2UgZGFzaGVkO1xuICBib3JkZXItdG9wOiAgICRjYXJldC13aWR0aC1iYXNlIHNvbGlkIFxcOTsgLy8gSUU4XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoLWJhc2Ugc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAgJGNhcmV0LXdpZHRoLWJhc2Ugc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChkaXYpXG4uZHJvcHVwLFxuLmRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLyBQcmV2ZW50IHRoZSBmb2N1cyBvbiB0aGUgZHJvcGRvd24gdG9nZ2xlIHdoZW4gY2xvc2luZyBkcm9wZG93bnNcbi5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudSAodWwpXG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAxNjBweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAycHggMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgJGRyb3Bkb3duLWZhbGxiYWNrLWJvcmRlcjsgLy8gSUU4IGZhbGxiYWNrXG4gIGJvcmRlcjogMXB4IHNvbGlkICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCA2cHggMTJweCByZ2JhKDAsMCwwLC4xNzUpKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAvLyBBbGlnbnMgdGhlIGRyb3Bkb3duIG1lbnUgdG8gcmlnaHRcbiAgLy9cbiAgLy8gRGVwcmVjYXRlZCBhcyBvZiAzLjEuMCBpbiBmYXZvciBvZiBgLmRyb3Bkb3duLW1lbnUtW2Rpcl1gXG4gICYucHVsbC1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIC8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiB0aGUgZHJvcGRvd25cbiAgLmRpdmlkZXIge1xuICAgIEBpbmNsdWRlIG5hdi1kaXZpZGVyKCRkcm9wZG93bi1kaXZpZGVyLWJnKTtcbiAgfVxuXG4gIC8vIExpbmtzIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuICA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmctdmVydGljYWwgJGRyb3Bkb3duLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIH1cbn1cblxuLy8gSG92ZXIvRm9jdXMgc3RhdGVcbi5kcm9wZG93bi1tZW51ID4gbGkgPiBhIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1iZztcbiAgfVxufVxuXG4vLyBBY3RpdmUgc3RhdGVcbi5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGEge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZztcbiAgfVxufVxuXG4vLyBEaXNhYmxlZCBzdGF0ZVxuLy9cbi8vIEdyYXkgb3V0IHRleHQgYW5kIGVuc3VyZSB0aGUgaG92ZXIvZm9jdXMgc3RhdGUgcmVtYWlucyBncmF5XG5cbi5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgfVxuXG4gIC8vIE51a2UgaG92ZXIvZm9jdXMgZWZmZWN0c1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIENTUyBncmFkaWVudFxuICAgIEBpbmNsdWRlIHJlc2V0LWZpbHRlcjtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cblxuLy8gT3BlbiBzdGF0ZSBmb3IgdGhlIGRyb3Bkb3duXG4ub3BlbiB7XG4gIC8vIFNob3cgdGhlIG1lbnVcbiAgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIG91dGxpbmUgd2hlbiA6Zm9jdXMgaXMgdHJpZ2dlcmVkXG4gID4gYSB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLyBNZW51IHBvc2l0aW9uaW5nXG4vL1xuLy8gQWRkIGV4dHJhIGNsYXNzIHRvIGAuZHJvcGRvd24tbWVudWAgdG8gZmxpcCB0aGUgYWxpZ25tZW50IG9mIHRoZSBkcm9wZG93blxuLy8gbWVudSB3aXRoIHRoZSBwYXJlbnQuXG4uZHJvcGRvd24tbWVudS1yaWdodCB7XG4gIGxlZnQ6IGF1dG87IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gYC5kcm9wZG93bi1tZW51YFxuICByaWdodDogMDtcbn1cbi8vIFdpdGggdjMsIHdlIGVuYWJsZWQgYXV0by1mbGlwcGluZyBpZiB5b3UgaGF2ZSBhIGRyb3Bkb3duIHdpdGhpbiBhIHJpZ2h0XG4vLyBhbGlnbmVkIG5hdiBjb21wb25lbnQuIFRvIGVuYWJsZSB0aGUgdW5kb2luZyBvZiB0aGF0LCB3ZSBwcm92aWRlIGFuIG92ZXJyaWRlXG4vLyB0byByZXN0b3JlIHRoZSBkZWZhdWx0IGRyb3Bkb3duIG1lbnUgYWxpZ25tZW50LlxuLy9cbi8vIFRoaXMgaXMgb25seSBmb3IgbGVmdC1hbGlnbmluZyBhIGRyb3Bkb3duIG1lbnUgd2l0aGluIGEgYC5uYXZiYXItcmlnaHRgIG9yXG4vLyBgLnB1bGwtcmlnaHRgIG5hdiBjb21wb25lbnQuXG4uZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAzcHggMjBweDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkZHJvcGRvd24taGVhZGVyLWNvbG9yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIEJhY2tkcm9wIHRvIGNhdGNoIGJvZHkgY2xpY2tzIG9uIG1vYmlsZSwgZXRjLlxuLmRyb3Bkb3duLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6ICgkemluZGV4LWRyb3Bkb3duIC0gMTApO1xufVxuXG4vLyBSaWdodCBhbGlnbmVkIGRyb3Bkb3duc1xuLnB1bGwtcmlnaHQgPiAuZHJvcGRvd24tbWVudSB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQsIGJyby5cbi8vIFRPRE86IGFic3RyYWN0IHRoaXMgc28gdGhhdCB0aGUgbmF2YmFyIGZpeGVkIHN0eWxlcyBhcmUgbm90IHBsYWNlZCBoZXJlP1xuXG4uZHJvcHVwLFxuLm5hdmJhci1maXhlZC1ib3R0b20gLmRyb3Bkb3duIHtcbiAgLy8gUmV2ZXJzZSB0aGUgY2FyZXRcbiAgLmNhcmV0IHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aC1iYXNlIGRhc2hlZDtcbiAgICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGgtYmFzZSBzb2xpZCBcXDk7IC8vIElFOFxuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbiAgLy8gRGlmZmVyZW50IHBvc2l0aW9uaW5nIGZvciBib3R0b20gdXAgbWVudVxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIH1cbn1cblxuXG4vLyBDb21wb25lbnQgYWxpZ25tZW50XG4vL1xuLy8gUmVpdGVyYXRlIHBlciBuYXZiYXIubGVzcyBhbmQgdGhlIG1vZGlmaWVkIGNvbXBvbmVudCBhbGlnbm1lbnQgdGhlcmUuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gIC5uYXZiYXItcmlnaHQge1xuICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIHJpZ2h0OiAwOyBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgICAvLyBOZWNlc3NhcnkgZm9yIG92ZXJyaWRlcyBvZiB0aGUgZGVmYXVsdCByaWdodCBhbGlnbmVkIG1lbnUuXG4gICAgLy8gV2lsbCByZW1vdmUgY29tZSB2NCBpbiBhbGwgbGlrZWxpaG9vZC5cbiAgICAuZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgICAgIGxlZnQ6IDA7IHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAjZTVlNWU1KSB7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG59XG4iLCIvLyBSZXNldCBmaWx0ZXJzIGZvciBJRVxuLy9cbi8vIFdoZW4geW91IG5lZWQgdG8gcmVtb3ZlIGEgZ3JhZGllbnQgYmFja2dyb3VuZCwgZG8gbm90IGZvcmdldCB0byB1c2UgdGhpcyB0byByZXNldFxuLy8gdGhlIElFIGZpbHRlciBmb3IgSUU5IGFuZCBiZWxvdy5cblxuQG1peGluIHJlc2V0LWZpbHRlcigpIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtcbn1cbiIsIi8vXG4vLyBCdXR0b24gZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGJ1dHRvbiB0byB0aGUgZnJvbnRcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cbn1cblxuLy8gUHJldmVudCBkb3VibGUgYm9yZGVycyB3aGVuIGJ1dHRvbnMgYXJlIG5leHQgdG8gZWFjaCBvdGhlclxuLmJ0bi1ncm91cCB7XG4gIC5idG4gKyAuYnRuLFxuICAuYnRuICsgLmJ0bi1ncm91cCxcbiAgLmJ0bi1ncm91cCArIC5idG4sXG4gIC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBtYXJnaW4tbGVmdDogLTVweDsgLy8gT2Zmc2V0IHRoZSBmaXJzdCBjaGlsZCdzIG1hcmdpblxuICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAuYnRuLFxuICAuYnRuLWdyb3VwLFxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwLFxuICA+IC5pbnB1dC1ncm91cCB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgfVxufVxuXG4uYnRuLWdyb3VwID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIFNldCBjb3JuZXJzIGluZGl2aWR1YWwgYmVjYXVzZSBzb21ldGltZXMgYSBzaW5nbGUgYnV0dG9uIGNhbiBiZSBpbiBhIC5idG4tZ3JvdXAgYW5kIHdlIG5lZWQgOmZpcnN0LWNoaWxkIGFuZCA6bGFzdC1jaGlsZCB0byBib3RoIG1hdGNoXG4uYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAmOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG59XG4vLyBOZWVkIC5kcm9wZG93bi10b2dnbGUgc2luY2UgOmxhc3QtY2hpbGQgZG9lc24ndCBhcHBseSBnaXZlbiBhIC5kcm9wZG93bi1tZW51IGltbWVkaWF0ZWx5IGFmdGVyIGl0XG4uYnRuLWdyb3VwID4gLmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmJ0bi1ncm91cCA+IC5kcm9wZG93bi10b2dnbGU6bm90KDpmaXJzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG5cbi8vIEN1c3RvbSBlZGl0cyBmb3IgaW5jbHVkaW5nIGJ0bi1ncm91cHMgd2l0aGluIGJ0bi1ncm91cHMgKHVzZWZ1bCBmb3IgaW5jbHVkaW5nIGRyb3Bkb3duIGJ1dHRvbnMgd2l0aGluIGEgYnRuLWdyb3VwKVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXAge1xuICBmbG9hdDogbGVmdDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICA+IC5idG46bGFzdC1jaGlsZCxcbiAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cblxuLy8gT24gYWN0aXZlIGFuZCBvcGVuLCBkb24ndCBzaG93IG91dGxpbmVcbi5idG4tZ3JvdXAgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIG91dGxpbmU6IDA7XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAteHMgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXhzOyB9XG4uYnRuLWdyb3VwLXNtID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1zbTsgfVxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyBAZXh0ZW5kIC5idG4tbGc7IH1cblxuXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEdpdmUgdGhlIGxpbmUgYmV0d2VlbiBidXR0b25zIHNvbWUgZGVwdGhcbi5idG4tZ3JvdXAgPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUge1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XG59XG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBhbmQgc2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpKTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vLyBSZXBvc2l0aW9uIHRoZSBjYXJldFxuLmJ0biAuY2FyZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi8vIENhcmV0cyBpbiBvdGhlciBidXR0b24gc2l6ZXNcbi5idG4tbGcgLmNhcmV0IHtcbiAgYm9yZGVyLXdpZHRoOiAkY2FyZXQtd2lkdGgtbGFyZ2UgJGNhcmV0LXdpZHRoLWxhcmdlIDA7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG59XG4vLyBVcHNpZGUgZG93biBjYXJldHMgZm9yIC5kcm9wdXBcbi5kcm9wdXAgLmJ0bi1sZyAuY2FyZXQge1xuICBib3JkZXItd2lkdGg6IDAgJGNhcmV0LXdpZHRoLWxhcmdlICRjYXJldC13aWR0aC1sYXJnZTtcbn1cblxuXG4vLyBWZXJ0aWNhbCBidXR0b24gZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCxcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQ2xlYXIgZmxvYXRzIHNvIGRyb3Bkb3duIG1lbnVzIGNhbiBiZSBwcm9wZXJseSBwbGFjZWRcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICA+IC5idG4ge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgPiAuYnRuICsgLmJ0bixcbiAgPiAuYnRuICsgLmJ0bi1ncm91cCxcbiAgPiAuYnRuLWdyb3VwICsgLmJ0bixcbiAgPiAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biB7XG4gICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICAmOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYnRuLWJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRidG4tYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgPiAuYnRuOmxhc3QtY2hpbGQsXG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG5cblxuLy8gSnVzdGlmaWVkIGJ1dHRvbiBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1ncm91cC1qdXN0aWZpZWQge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiAxJTtcbiAgfVxuICA+IC5idG4tZ3JvdXAgLmJ0biB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG4tZ3JvdXAgLmRyb3Bkb3duLW1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbiIsIi8vXG4vLyBJbnB1dCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEJhc2Ugc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBkcm9wZG93bnNcbiAgZGlzcGxheTogdGFibGU7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7IC8vIHByZXZlbnQgaW5wdXQgZ3JvdXBzIGZyb20gaW5oZXJpdGluZyBib3JkZXIgc3R5bGVzIGZyb20gdGFibGUgY2VsbHMgd2hlbiBwbGFjZWQgd2l0aGluIGEgdGFibGVcblxuICAvLyBVbmRvIHBhZGRpbmcgYW5kIGZsb2F0IG9mIGdyaWQgY2xhc3Nlc1xuICAmW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgLy8gRW5zdXJlIHRoYXQgdGhlIGlucHV0IGlzIGFsd2F5cyBhYm92ZSB0aGUgKmFwcGVuZGVkKiBhZGRvbiBidXR0b24gZm9yXG4gICAgLy8gcHJvcGVyIGJvcmRlciBjb2xvcnMuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAvLyBJRTkgZnViYXJzIHRoZSBwbGFjZWhvbGRlciBhdHRyaWJ1dGUgaW4gdGV4dCBpbnB1dHMgYW5kIHRoZSBhcnJvd3Mgb25cbiAgICAvLyBzZWxlY3QgZWxlbWVudHMgaW4gaW5wdXQgZ3JvdXBzLiBUbyBmaXggaXQsIHdlIGZsb2F0IHRoZSBpbnB1dC4gRGV0YWlsczpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTYxI2lzc3VlY29tbWVudC0yODkzNjg1NVxuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLyBTaXppbmcgb3B0aW9uc1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHtcbiAgQGV4dGVuZCAuaW5wdXQtbGc7XG59XG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICBAZXh0ZW5kIC5pbnB1dC1zbTtcbn1cblxuXG4vLyBEaXNwbGF5IGFzIHRhYmxlLWNlbGxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4sXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cbiAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4vLyBBZGRvbiBhbmQgYWRkb24gd3JhcHBlciBmb3IgYnV0dG9uc1xuLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIHdpZHRoOiAxJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gTWF0Y2ggdGhlIGlucHV0c1xufVxuXG4vLyBUZXh0IGlucHV0IGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgcGFkZGluZzogJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAkcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgLy8gU2l6aW5nXG4gICYuaW5wdXQtc20ge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtYWxsO1xuICB9XG4gICYuaW5wdXQtbGcge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxhcmdlO1xuICB9XG5cbiAgLy8gTnVrZSBkZWZhdWx0IG1hcmdpbnMgZnJvbSBjaGVja2JveGVzIGFuZCByYWRpb3MgdG8gdmVydGljYWxseSBjZW50ZXIgd2l0aGluLlxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4vLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bi1ncm91cCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogMDtcbn1cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmxhc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYWRkb246bGFzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi8vIEJ1dHRvbiBpbnB1dCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cC1idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEphbmtpbHkgcHJldmVudCBpbnB1dCBidXR0b24gZ3JvdXBzIGZyb20gd3JhcHBpbmcgd2l0aCBgd2hpdGUtc3BhY2VgIGFuZFxuICAvLyBgZm9udC1zaXplYCBpbiBjb21iaW5hdGlvbiB3aXRoIGBpbmxpbmUtYmxvY2tgIG9uIGJ1dHRvbnMuXG4gIGZvbnQtc2l6ZTogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIHNwYWNpbmcsIHBvc2l0aW9uIGZvciBicmluZ2luZyBob3ZlcmVkL2ZvY3VzZWQvYWN0aXZlZFxuICAvLyBlbGVtZW50IGFib3ZlIHRoZSBzaWJsaW5ncy5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgKyAuYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBidXR0b24gdG8gdGhlIGZyb250XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICB9XG5cbiAgLy8gTmVnYXRpdmUgbWFyZ2luIHRvIG9ubHkgaGF2ZSBhIDFweCBib3JkZXIgYmV0d2VlbiB0aGUgdHdvXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgIH1cbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIE5hdnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm5hdiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCB1bC9vbFxuICBsaXN0LXN0eWxlOiBub25lO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAkbmF2LWxpbmstcGFkZGluZztcbiAgICAgIC8vJjpmb2N1cyxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtbGluay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZSBzZXRzIHRleHQgdG8gZ3JheSBhbmQgbnVrZXMgaG92ZXIvdGFiIGVmZmVjdHNcbiAgICAmLmRpc2FibGVkID4gYSB7XG4gICAgICBjb2xvcjogJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yO1xuXG4gICAgICAvLyY6Zm9jdXMsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE9wZW4gZHJvcGRvd25zXG4gIC5vcGVuID4gYSB7XG4gICAgJixcbiAgICAvLyY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LWxpbmstaG92ZXItYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5hdiBkaXZpZGVycyAoZGVwcmVjYXRlZCB3aXRoIHYzLjAuMSlcbiAgLy9cbiAgLy8gVGhpcyBzaG91bGQgaGF2ZSBiZWVuIHJlbW92ZWQgaW4gdjMgd2l0aCB0aGUgZHJvcHBpbmcgb2YgYC5uYXYtbGlzdGAsIGJ1dFxuICAvLyB3ZSBtaXNzZWQgaXQuIFdlIGRvbid0IGN1cnJlbnRseSBzdXBwb3J0IHRoaXMgYW55d2hlcmUsIGJ1dCBpbiB0aGUgaW50ZXJlc3RcbiAgLy8gb2YgbWFpbnRhaW5pbmcgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBpbiBjYXNlIHlvdSB1c2UgaXQsIGl0J3MgZGVwcmVjYXRlZC5cbiAgLm5hdi1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBuYXYtZGl2aWRlcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgSUU4IGZyb20gbWlzcGxhY2luZyBpbWdzXG4gIC8vXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9pc3N1ZXMvOTg0I2lzc3VlY29tbWVudC0zOTg1OTg5XG4gID4gbGkgPiBhID4gaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBUYWJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEdpdmUgdGhlIHRhYnMgc29tZXRoaW5nIHRvIHNpdCBvblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC8vIE1ha2UgdGhlIGxpc3QtaXRlbXMgb3ZlcmxheSB0aGUgYm90dG9tIGJvcmRlclxuICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG5cbiAgICAvLyBBY3R1YWwgdGFicyAoYXMgbGlua3MpXG4gICAgPiBhIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlICRib3JkZXItcmFkaXVzLWJhc2UgMCAwO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvciAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZSwgYW5kIGl0cyA6aG92ZXIgdG8gb3ZlcnJpZGUgbm9ybWFsIDpob3ZlclxuICAgICYuYWN0aXZlID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIHB1bGxpbmcgdGhpcyBpbiBtYWlubHkgZm9yIGxlc3Mgc2hvcnRoYW5kXG4gICYubmF2LWp1c3RpZmllZCB7XG4gICAgQGV4dGVuZCAubmF2LWp1c3RpZmllZDtcbiAgICBAZXh0ZW5kIC5uYXYtdGFicy1qdXN0aWZpZWQ7XG4gIH1cbn1cblxuXG4vLyBQaWxsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm5hdi1waWxscyB7XG4gID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgLy8gTGlua3MgcmVuZGVyZWQgYXMgcGlsbHNcbiAgICA+IGEge1xuICAgICAgYm9yZGVyLXJhZGl1czogJG5hdi1waWxscy1ib3JkZXItcmFkaXVzO1xuICAgIH1cbiAgICArIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFN0YWNrZWQgcGlsbHNcbi5uYXYtc3RhY2tlZCB7XG4gID4gbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IC8vIG5vIG5lZWQgZm9yIHRoaXMgZ2FwIGJldHdlZW4gbmF2IGl0ZW1zXG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2IHZhcmlhdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEp1c3RpZmllZCBuYXYgbGlua3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm5hdi1qdXN0aWZpZWQge1xuICB3aWR0aDogMTAwJTtcblxuICA+IGxpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICA+IGEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cbiAgfVxuXG4gID4gLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgID4gYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE1vdmUgYm9yZGVycyB0byBhbmNob3JzIGluc3RlYWQgb2YgYm90dG9tIG9mIGxpc3Rcbi8vXG4vLyBNaXhpbiBmb3IgYWRkaW5nIG9uIHRvcCB0aGUgc2hhcmVkIGAubmF2LWp1c3RpZmllZGAgc3R5bGVzIGZvciBvdXIgdGFic1xuLm5hdi10YWJzLWp1c3RpZmllZCB7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgPiBsaSA+IGEge1xuICAgIC8vIE92ZXJyaWRlIG1hcmdpbiBmcm9tIC5uYXYtdGFic1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICB9XG5cbiAgPiAuYWN0aXZlID4gYSxcbiAgPiAuYWN0aXZlID4gYTpob3ZlcixcbiAgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZSAkYm9yZGVyLXJhZGl1cy1iYXNlIDAgMDtcbiAgICB9XG4gICAgPiAuYWN0aXZlID4gYSxcbiAgICA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuICAgID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcblxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5cblxuLy8gRHJvcGRvd25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNwZWNpZmljIGRyb3Bkb3duc1xuLm5hdi10YWJzIC5kcm9wZG93bi1tZW51IHtcbiAgLy8gbWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIC8vIFJlbW92ZSB0aGUgdG9wIHJvdW5kZWQgY29ybmVycyBoZXJlIHNpbmNlIHRoZXJlIGlzIGEgaGFyZCBlZGdlIGFib3ZlIHRoZSBtZW51XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xufVxuIiwiLy9cbi8vIE5hdmJhcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gV3JhcHBlciBhbmQgYmFzZSBjbGFzc1xuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogJG5hdmJhci1oZWlnaHQ7IC8vIEVuc3VyZSBhIG5hdmJhciBhbHdheXMgc2hvd3MgKGUuZy4sIHdpdGhvdXQgYSAubmF2YmFyLWJyYW5kIGluIGNvbGxhcHNlZCBtb2RlKVxuICBtYXJnaW4tYm90dG9tOiAkbmF2YmFyLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gIC8vIFByZXZlbnQgZmxvYXRzIGZyb20gYnJlYWtpbmcgdGhlIG5hdmJhclxuICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGJvcmRlci1yYWRpdXM6ICRuYXZiYXItYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBoZWFkaW5nXG4vL1xuLy8gR3JvdXBzIGAubmF2YmFyLWJyYW5kYCBhbmQgYC5uYXZiYXItdG9nZ2xlYCBpbnRvIGEgc2luZ2xlIGNvbXBvbmVudCBmb3IgZWFzeVxuLy8gc3R5bGluZyBvZiByZXNwb25zaXZlIGFzcGVjdHMuXG5cbi5uYXZiYXItaGVhZGVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBjb2xsYXBzZSAoYm9keSlcbi8vXG4vLyBHcm91cCB5b3VyIG5hdmJhciBjb250ZW50IGludG8gdGhpcyBmb3IgZWFzeSBjb2xsYXBzaW5nIGFuZCBleHBhbmRpbmcgYWNyb3NzXG4vLyB2YXJpb3VzIGRldmljZSBzaXplcy4gQnkgZGVmYXVsdCwgdGhpcyBjb250ZW50IGlzIGNvbGxhcHNlZCB3aGVuIDw3NjhweCwgYnV0XG4vLyB3aWxsIGV4cGFuZCBwYXN0IHRoYXQgZm9yIGEgaG9yaXpvbnRhbCBkaXNwbGF5LlxuLy9cbi8vIFRvIHN0YXJ0IChvbiBtb2JpbGUgZGV2aWNlcykgdGhlIG5hdmJhciBsaW5rcywgZm9ybXMsIGFuZCBidXR0b25zIGFyZSBzdGFja2VkXG4vLyB2ZXJ0aWNhbGx5IGFuZCBpbmNsdWRlIGEgYG1heC1oZWlnaHRgIHRvIG92ZXJmbG93IGluIGNhc2UgeW91IGhhdmUgdG9vIG11Y2hcbi8vIGNvbnRlbnQgZm9yIHRoZSB1c2VyJ3Mgdmlld3BvcnQuXG5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICBwYWRkaW5nLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgcGFkZGluZy1sZWZ0OiAgJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAmLmluIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IHNldHRpbmdcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi5pbiB7XG4gICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8vIFVuZG8gdGhlIGNvbGxhcHNlIHNpZGUgcGFkZGluZyBmb3IgbmF2YmFycyB3aXRoIGNvbnRhaW5lcnMgdG8gZW5zdXJlXG4gICAgLy8gYWxpZ25tZW50IG9mIHJpZ2h0LWFsaWduZWQgY29udGVudHMuXG4gICAgLm5hdmJhci1maXhlZC10b3AgJixcbiAgICAubmF2YmFyLXN0YXRpYy10b3AgJixcbiAgICAubmF2YmFyLWZpeGVkLWJvdHRvbSAmIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5uYXZiYXItZml4ZWQtdG9wLFxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBtYXgtaGVpZ2h0OiAkbmF2YmFyLWNvbGxhcHNlLW1heC1oZWlnaHQ7XG5cbiAgICBAbWVkaWEgKG1heC1kZXZpY2Utd2lkdGg6ICRzY3JlZW4teHMtbWluKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEJvdGggbmF2YmFyIGhlYWRlciBhbmQgY29sbGFwc2Vcbi8vXG4vLyBXaGVuIGEgY29udGFpbmVyIGlzIHByZXNlbnQsIGNoYW5nZSB0aGUgYmVoYXZpb3Igb2YgdGhlIGhlYWRlciBhbmQgY29sbGFwc2UuXG5cbi5jb250YWluZXIsXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgPiAubmF2YmFyLWhlYWRlcixcbiAgPiAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBtYXJnaW4tbGVmdDogIC0kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogIDA7XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIE5hdmJhciBhbGlnbm1lbnQgb3B0aW9uc1xuLy9cbi8vIERpc3BsYXkgdGhlIG5hdmJhciBhY3Jvc3MgdGhlIGVudGlyZXR5IG9mIHRoZSBwYWdlIG9yIGZpeGVkIGl0IHRvIHRoZSB0b3Agb3Jcbi8vIGJvdHRvbSBvZiB0aGUgcGFnZS5cblxuLy8gU3RhdGljIHRvcCAodW5maXhlZCwgYnV0IDEwMCUgd2lkZSkgbmF2YmFyXG4ubmF2YmFyLXN0YXRpYy10b3Age1xuICB6LWluZGV4OiAkemluZGV4LW5hdmJhcjtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuXG4vLyBGaXggdGhlIHRvcC9ib3R0b20gbmF2YmFycyB3aGVuIHNjcmVlbiByZWFsIGVzdGF0ZSBzdXBwb3J0cyBpdFxuLm5hdmJhci1maXhlZC10b3AsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbmF2YmFyLWZpeGVkO1xuXG4gIC8vIFVuZG8gdGhlIHJvdW5kZWQgY29ybmVyc1xuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cbi5uYXZiYXItZml4ZWQtdG9wIHtcbiAgdG9wOiAwO1xuICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG59XG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gb3ZlcnJpZGUgLm5hdmJhciBkZWZhdWx0c1xuICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG59XG5cblxuLy8gQnJhbmQvcHJvamVjdCBuYW1lXG5cbi5uYXZiYXItYnJhbmQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemUtbGFyZ2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGhlaWdodDogJG5hdmJhci1oZWlnaHQ7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgPiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICAubmF2YmFyID4gLmNvbnRhaW5lciAmLFxuICAgIC5uYXZiYXIgPiAuY29udGFpbmVyLWZsdWlkICYge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdG9nZ2xlXG4vL1xuLy8gQ3VzdG9tIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIGAubmF2YmFyLWNvbGxhcHNlYCwgcG93ZXJlZCBieSB0aGUgY29sbGFwc2Vcbi8vIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4ubmF2YmFyLXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBwYWRkaW5nOiA5cHggMTBweDtcbiAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRuYXZiYXItaGVpZ2h0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgLy8gV2UgcmVtb3ZlIHRoZSBgb3V0bGluZWAgaGVyZSwgYnV0IGxhdGVyIGNvbXBlbnNhdGUgYnkgYXR0YWNoaW5nIGA6aG92ZXJgXG4gIC8vIHN0eWxlcyB0byBgOmZvY3VzYC5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8vIEJhcnNcbiAgLmljb24tYmFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIH1cbiAgLmljb24tYmFyICsgLmljb24tYmFyIHtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2IGxpbmtzXG4vL1xuLy8gQnVpbGRzIG9uIHRvcCBvZiB0aGUgYC5uYXZgIGNvbXBvbmVudHMgd2l0aCBpdHMgb3duIG1vZGlmaWVyIGNsYXNzIHRvIG1ha2Vcbi8vIHRoZSBuYXYgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSBob3Jpem9udGFsIG5hdiAoYWJvdmUgNzY4cHgpLlxuXG4ubmF2YmFyLW5hdiB7XG4gIG1hcmdpbjogKCRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbCAvIDIpICgtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWwpO1xuXG4gID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nLXRvcDogICAgMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgLy8gRHJvcGRvd25zIGdldCBjdXN0b20gZGlzcGxheSB3aGVuIGNvbGxhcHNlZFxuICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgID4gbGkgPiBhLFxuICAgICAgLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4IDVweCAyNXB4O1xuICAgICAgfVxuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVW5jb2xsYXBzZSB0aGUgbmF2XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgPiBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgID4gYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAgICAkbmF2YmFyLXBhZGRpbmctdmVydGljYWw7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLXBhZGRpbmctdmVydGljYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGZvcm1cbi8vXG4vLyBFeHRlbnNpb24gb2YgdGhlIGAuZm9ybS1pbmxpbmVgIHdpdGggc29tZSBleHRyYSBmbGF2b3IgZm9yIG9wdGltdW0gZGlzcGxheSBpblxuLy8gb3VyIG5hdmJhcnMuXG5cbi5uYXZiYXItZm9ybSB7XG4gIG1hcmdpbi1sZWZ0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIG1hcmdpbi1yaWdodDogLSRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBwYWRkaW5nOiAxMHB4ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgJHNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKSwgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93KTtcblxuICAvLyBNaXhpbiBiZWhhdmlvciBmb3Igb3B0aW11bSBkaXNwbGF5XG4gIEBpbmNsdWRlIGZvcm0taW5saW5lO1xuXG4gIC5mb3JtLWdyb3VwIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbGx5IGNlbnRlciBpbiBleHBhbmRlZCwgaG9yaXpvbnRhbCBuYXZiYXJcbiAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRpbnB1dC1oZWlnaHQtYmFzZSk7XG5cbiAgLy8gVW5kbyAxMDAlIHdpZHRoIGZvciBwdWxsIGNsYXNzZXNcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vLyBEcm9wZG93biBtZW51c1xuXG4vLyBNZW51IHBvc2l0aW9uIGFuZCBtZW51IGNhcmV0c1xuLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG4vLyBNZW51IHBvc2l0aW9uIGFuZCBtZW51IGNhcmV0IHN1cHBvcnQgZm9yIGRyb3B1cHMgdmlhIGV4dHJhIGRyb3B1cCBjbGFzc1xuLm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG5hdmJhci1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG59XG5cblxuLy8gQnV0dG9ucyBpbiBuYXZiYXJzXG4vL1xuLy8gVmVydGljYWxseSBjZW50ZXIgYSBidXR0b24gd2l0aGluIGEgbmF2YmFyICh3aGVuICpub3QqIGluIGEgZm9ybSkuXG5cbi5uYXZiYXItYnRuIHtcbiAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRpbnB1dC1oZWlnaHQtYmFzZSk7XG5cbiAgJi5idG4tc20ge1xuICAgIEBpbmNsdWRlIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkaW5wdXQtaGVpZ2h0LXNtYWxsKTtcbiAgfVxuICAmLmJ0bi14cyB7XG4gICAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKDIyKTtcbiAgfVxufVxuXG5cbi8vIFRleHQgaW4gbmF2YmFyc1xuLy9cbi8vIEFkZCBhIGNsYXNzIHRvIG1ha2UgYW55IGVsZW1lbnQgcHJvcGVybHkgYWxpZ24gaXRzZWxmIHZlcnRpY2FsbHkgd2l0aGluIHRoZSBuYXZiYXJzLlxuXG4ubmF2YmFyLXRleHQge1xuICBAaW5jbHVkZSBuYXZiYXItdmVydGljYWwtYWxpZ24oJGxpbmUtaGVpZ2h0LWNvbXB1dGVkKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICB9XG59XG5cblxuLy8gQ29tcG9uZW50IGFsaWdubWVudFxuLy9cbi8vIFJlcHVycG9zZSB0aGUgcHVsbCB1dGlsaXRpZXMgYXMgdGhlaXIgb3duIG5hdmJhciB1dGlsaXRpZXMgdG8gYXZvaWQgc3BlY2lmaWNpdHlcbi8vIGlzc3VlcyB3aXRoIHBhcmVudHMgYW5kIGNoYWluaW5nLiBPbmx5IGRvIHRoaXMgd2hlbiB0aGUgbmF2YmFyIGlzIHVuY29sbGFwc2VkXG4vLyB0aG91Z2ggc28gdGhhdCBuYXZiYXIgY29udGVudHMgcHJvcGVybHkgc3RhY2sgYW5kIGFsaWduIGluIG1vYmlsZS5cbi8vXG4vLyBEZWNsYXJlZCBhZnRlciB0aGUgbmF2YmFyIGNvbXBvbmVudHMgdG8gZW5zdXJlIG1vcmUgc3BlY2lmaWNpdHkgb24gdGhlIG1hcmdpbnMuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gIC5uYXZiYXItbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAubmF2YmFyLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG5cbiAgICB+IC5uYXZiYXItcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBuYXZiYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBEZWZhdWx0IG5hdmJhclxuLm5hdmJhci1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWJnO1xuICBib3JkZXItY29sb3I6ICRuYXZiYXItZGVmYXVsdC1ib3JkZXI7XG5cbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtY29sb3I7XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWJvcmRlci1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZztcbiAgICB9XG4gICAgLmljb24tYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1jb2xsYXBzZSxcbiAgLm5hdmJhci1mb3JtIHtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGVmYXVsdC1ib3JkZXI7XG4gIH1cblxuICAvLyBEcm9wZG93biBtZW51IGl0ZW1zXG4gIC5uYXZiYXItbmF2IHtcbiAgICAvLyBSZW1vdmUgYmFja2dyb3VuZCBjb2xvciBmcm9tIG9wZW4gZHJvcGRvd25cbiAgICA+IC5vcGVuID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgICAvLyBEcm9wZG93bnMgZ2V0IGN1c3RvbSBkaXNwbGF5IHdoZW4gY29sbGFwc2VkXG4gICAgICAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gTGlua3MgaW4gbmF2YmFyc1xuICAvL1xuICAvLyBBZGQgYSBjbGFzcyB0byBlbnN1cmUgbGlua3Mgb3V0c2lkZSB0aGUgbmF2YmFyIG5hdiBhcmUgY29sb3JlZCBjb3JyZWN0bHkuXG5cbiAgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gICAgJltkaXNhYmxlZF0sXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEludmVyc2UgbmF2YmFyXG5cbi5uYXZiYXItaW52ZXJzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1iZztcbiAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtYm9yZGVyO1xuXG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtYnJhbmQtY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRGFya2VuIHRoZSByZXNwb25zaXZlIG5hdiB0b2dnbGVcbiAgLm5hdmJhci10b2dnbGUge1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ib3JkZXItY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS10b2dnbGUtaG92ZXItYmc7XG4gICAgfVxuICAgIC5pY29uLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtdG9nZ2xlLWljb24tYmFyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItY29sbGFwc2UsXG4gIC5uYXZiYXItZm9ybSB7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCA3JSk7XG4gIH1cblxuICAvLyBEcm9wZG93bnNcbiAgLm5hdmJhci1uYXYge1xuICAgID4gLm9wZW4gPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZztcbiAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgIC8vIERyb3Bkb3ducyBnZXQgY3VzdG9tIGRpc3BsYXlcbiAgICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgPiAuZHJvcGRvd24taGVhZGVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRuYXZiYXItaW52ZXJzZS1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgLmRpdmlkZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgPiBsaSA+IGEge1xuICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmRpc2FibGVkID4gYSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gICAgJltkaXNhYmxlZF0sXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBOYXZiYXIgdmVydGljYWwgYWxpZ25cbi8vXG4vLyBWZXJ0aWNhbGx5IGNlbnRlciBlbGVtZW50cyBpbiB0aGUgbmF2YmFyLlxuLy8gRXhhbXBsZTogYW4gZWxlbWVudCBoYXMgYSBoZWlnaHQgb2YgMzBweCwgc28gd3JpdGUgb3V0IGAubmF2YmFyLXZlcnRpY2FsLWFsaWduKDMwcHgpO2AgdG8gY2FsY3VsYXRlIHRoZSBhcHByb3ByaWF0ZSB0b3AgbWFyZ2luLlxuXG5AbWl4aW4gbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRlbGVtZW50LWhlaWdodCkge1xuICBtYXJnaW4tdG9wOiAoKCRuYXZiYXItaGVpZ2h0IC0gJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAoKCRuYXZiYXItaGVpZ2h0IC0gJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xufVxuIiwiLy9cbi8vIFBhZ2luYXRpb24gKG11bHRpcGxlIHBhZ2VzKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbjogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIDA7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lOyAvLyBSZW1vdmUgbGlzdC1zdHlsZSBhbmQgYmxvY2stbGV2ZWwgZGVmYXVsdHNcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBDb2xsYXBzZSB3aGl0ZS1zcGFjZVxuICAgICAgcGFkZGluZzogJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAkcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1iZztcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwYWdpbmF0aW9uLWJvcmRlcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMtYmFzZSk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gbGkgPiBhLFxuICA+IGxpID4gc3BhbiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24taG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gID4gLmFjdGl2ZSA+IGEsXG4gID4gLmFjdGl2ZSA+IHNwYW4ge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbiAgfVxuXG4gID4gLmRpc2FibGVkIHtcbiAgICA+IHNwYW4sXG4gICAgPiBzcGFuOmhvdmVyLFxuICAgID4gc3Bhbjpmb2N1cyxcbiAgICA+IGEsXG4gICAgPiBhOmhvdmVyLFxuICAgID4gYTpmb2N1cyB7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIExhcmdlXG4ucGFnaW5hdGlvbi1sZyB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCwgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1sYXJnZSwgJGxpbmUtaGVpZ2h0LWxhcmdlLCAkYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG59XG5cbi8vIFNtYWxsXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCwgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1zbWFsbCwgJGxpbmUtaGVpZ2h0LXNtYWxsLCAkYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgPiBsaSB7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gTGFiZWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmc6IC4yZW0gLjZlbSAuM2VtO1xuICBmb250LXNpemU6IDc1JTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgYm9yZGVyLXJhZGl1czogLjI1ZW07XG5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGEmIHRvIGEubGFiZWxcblxuICAvLyBFbXB0eSBsYWJlbHMgY29sbGFwc2UgYXV0b21hdGljYWxseSAobm90IGF2YWlsYWJsZSBpbiBJRTgpXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBRdWljayBmaXggZm9yIGxhYmVscyBpbiBidXR0b25zXG4gIC5idG4gJiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgfVxufVxuXG4vLyBBZGQgaG92ZXIgZWZmZWN0cywgYnV0IG9ubHkgZm9yIGxpbmtzXG5hLmxhYmVsIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRsYWJlbC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gQ29sb3JzXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnMgKGxpbmtlZCBsYWJlbHMgZ2V0IGRhcmtlciBvbiA6aG92ZXIpXG5cbi5sYWJlbC1kZWZhdWx0IHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtZGVmYXVsdC1iZyk7XG59XG5cbi5sYWJlbC1wcmltYXJ5IHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtcHJpbWFyeS1iZyk7XG59XG5cbi5sYWJlbC1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtc3VjY2Vzcy1iZyk7XG59XG5cbi5sYWJlbC1pbmZvIHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtaW5mby1iZyk7XG59XG5cbi5sYWJlbC13YXJuaW5nIHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtd2FybmluZy1iZyk7XG59XG5cbi5sYWJlbC1kYW5nZXIge1xuICBAaW5jbHVkZSBsYWJlbC12YXJpYW50KCRsYWJlbC1kYW5nZXItYmcpO1xufVxuIiwiLy8gTGFiZWxzXG5cbkBtaXhpbiBsYWJlbC12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgJltocmVmXSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFkZ2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAxMHB4O1xuICBwYWRkaW5nOiAzcHggN3B4O1xuICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG4gIGxpbmUtaGVpZ2h0OiAkYmFkZ2UtbGluZS1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLWJnO1xuICBib3JkZXItcmFkaXVzOiAkYmFkZ2UtYm9yZGVyLXJhZGl1cztcblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseSAobm90IGF2YWlsYWJsZSBpbiBJRTgpXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBRdWljayBmaXggZm9yIGJhZGdlcyBpbiBidXR0b25zXG4gIC5idG4gJiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgfVxuXG4gIC5idG4teHMgJixcbiAgLmJ0bi1ncm91cC14cyA+IC5idG4gJiB7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmc6IDFweCA1cHg7XG4gIH1cblxuICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYSYgdG8gYS5iYWRnZVxuXG4gIC8vIEFjY291bnQgZm9yIGJhZGdlcyBpbiBuYXZzXG4gIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlID4gJixcbiAgLm5hdi1waWxscyA+IC5hY3RpdmUgPiBhID4gJiB7XG4gICAgY29sb3I6ICRiYWRnZS1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLWFjdGl2ZS1iZztcbiAgfVxuXG4gIC5saXN0LWdyb3VwLWl0ZW0gPiAmIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cblxuICAubGlzdC1ncm91cC1pdGVtID4gJiArICYge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICB9XG5cbiAgLm5hdi1waWxscyA+IGxpID4gYSA+ICYge1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gIH1cbn1cblxuLy8gSG92ZXIgc3RhdGUsIGJ1dCBvbmx5IGZvciBsaW5rc1xuYS5iYWRnZSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkYmFkZ2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG4iLCIvL1xuLy8gVGh1bWJuYWlsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBNaXhpbiBhbmQgYWRqdXN0IHRoZSByZWd1bGFyIGltYWdlIGNsYXNzXG4udGh1bWJuYWlsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYm9yZGVyIC4ycyBlYXNlLWluLW91dCk7XG5cbiAgPiBpbWcsXG4gIGEgPiBpbWcge1xuICAgIEBpbmNsdWRlIGltZy1yZXNwb25zaXZlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJjpob3ZlciwgYSY6Zm9jdXMsIGEmLmFjdGl2ZSB0byBhLnRodW1ibmFpbDpob3ZlciwgYS50aHVtYm5haWw6Zm9jdXMsIGEudGh1bWJuYWlsLmFjdGl2ZVxuXG4gIC8vIEltYWdlIGNhcHRpb25zXG4gIC5jYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAkdGh1bWJuYWlsLWNhcHRpb24tcGFkZGluZztcbiAgICBjb2xvcjogJHRodW1ibmFpbC1jYXB0aW9uLWNvbG9yO1xuICB9XG59XG5cbi8vIEFkZCBhIGhvdmVyIHN0YXRlIGZvciBsaW5rZWQgdmVyc2lvbnMgb25seVxuYS50aHVtYm5haWw6aG92ZXIsXG5hLnRodW1ibmFpbDpmb2N1cyxcbmEudGh1bWJuYWlsLmFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogJGxpbmstY29sb3I7XG59XG4iLCIvL1xuLy8gQWxlcnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2Ugc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hbGVydCB7XG4gIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYWxlcnQtYm9yZGVyLXJhZGl1cztcblxuICAvLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xuICBoNCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICAvLyBTcGVjaWZpZWQgZm9yIHRoZSBoNCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4gIC5hbGVydC1saW5rIHtcbiAgICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG4gIH1cblxuICAvLyBJbXByb3ZlIGFsaWdubWVudCBhbmQgc3BhY2luZyBvZiBpbm5lciBjb250ZW50XG4gID4gcCxcbiAgPiB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gID4gcCArIHAge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxufVxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NhYmxlLCAvLyBUaGUgbWlzc3BlbGxlZCAuYWxlcnQtZGlzbWlzc2FibGUgd2FzIGRlcHJlY2F0ZWQgaW4gMy4yLjAuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAoJGFsZXJ0LXBhZGRpbmcgKyAyMCk7XG5cbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMnB4O1xuICAgIHJpZ2h0OiAtMjFweDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBBbHRlcm5hdGUgc3R5bGVzXG4vL1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydC5cblxuLmFsZXJ0LXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1zdWNjZXNzLWJnLCAkYWxlcnQtc3VjY2Vzcy1ib3JkZXIsICRhbGVydC1zdWNjZXNzLXRleHQpO1xufVxuXG4uYWxlcnQtaW5mbyB7XG4gIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LWluZm8tYmcsICRhbGVydC1pbmZvLWJvcmRlciwgJGFsZXJ0LWluZm8tdGV4dCk7XG59XG5cbi5hbGVydC13YXJuaW5nIHtcbiAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCgkYWxlcnQtd2FybmluZy1iZywgJGFsZXJ0LXdhcm5pbmctYm9yZGVyLCAkYWxlcnQtd2FybmluZy10ZXh0KTtcbn1cblxuLmFsZXJ0LWRhbmdlciB7XG4gIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LWRhbmdlci1iZywgJGFsZXJ0LWRhbmdlci1ib3JkZXIsICRhbGVydC1kYW5nZXItdGV4dCk7XG59XG4iLCIvLyBBbGVydHNcblxuQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICR0ZXh0LWNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIGNvbG9yOiAkdGV4dC1jb2xvcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkdGV4dC1jb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy9cbi8vIFByb2dyZXNzIGJhcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFyIGFuaW1hdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gV2ViS2l0XG5ALXdlYmtpdC1rZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICBmcm9tICB7IGJhY2tncm91bmQtcG9zaXRpb246IDQwcHggMDsgfVxuICB0byAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxufVxuXG4vLyBTcGVjIGFuZCBJRTEwK1xuQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gIGZyb20gIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOyB9XG4gIHRvICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG59XG5cblxuLy8gQmFyIGl0c2VsZlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBPdXRlciBjb250YWluZXJcbi5wcm9ncmVzcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLWJvcmRlci1yYWRpdXM7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpKTtcbn1cblxuLy8gQmFyIG9mIHByb2dyZXNzXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtc2hhZG93OiAtMXB4IDAgJHByb2dyZXNzLWJhci1iZywgMCAxcHggJHByb2dyZXNzLWJhci1iZywgMXB4IDAgJHByb2dyZXNzLWJhci1iZywgMCAtMXB4ICRwcm9ncmVzcy1iYXItYmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmc7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAtMXB4IDAgcmdiYSgwLDAsMCwuMTUpKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbih3aWR0aCAuNnMgZWFzZSk7XG59XG5cbi8vIFN0cmlwZWQgYmFyc1xuLy9cbi8vIGAucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyYCBpcyBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBpbiBmYXZvciBvZiB0aGVcbi8vIGAucHJvZ3Jlc3MtYmFyLXN0cmlwZWRgIGNsYXNzLCB3aGljaCB5b3UganVzdCBhZGQgdG8gYW4gZXhpc3Rpbmdcbi8vIGAucHJvZ3Jlc3MtYmFyYC5cbi5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXIsXG4ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkO1xuICBiYWNrZ3JvdW5kLXNpemU6IDQwcHggNDBweDtcbn1cblxuLy8gQ2FsbCBhbmltYXRpb24gZm9yIHRoZSBhY3RpdmUgb25lXG4vL1xuLy8gYC5wcm9ncmVzcy5hY3RpdmUgLnByb2dyZXNzLWJhcmAgaXMgZGVwcmVjYXRlZCBhcyBvZiB2My4yLjAgaW4gZmF2b3Igb2YgdGhlXG4vLyBgLnByb2dyZXNzLWJhci5hY3RpdmVgIGFwcHJvYWNoLlxuLnByb2dyZXNzLmFjdGl2ZSAucHJvZ3Jlc3MtYmFyLFxuLnByb2dyZXNzLWJhci5hY3RpdmUge1xuICBAaW5jbHVkZSBhbmltYXRpb24ocHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlKTtcbn1cblxuXG4vLyBWYXJpYXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wcm9ncmVzcy1iYXItc3VjY2VzcyB7XG4gIEBpbmNsdWRlIHByb2dyZXNzLWJhci12YXJpYW50KCRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZyk7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5mbyB7XG4gIEBpbmNsdWRlIHByb2dyZXNzLWJhci12YXJpYW50KCRwcm9ncmVzcy1iYXItaW5mby1iZyk7XG59XG5cbi5wcm9ncmVzcy1iYXItd2FybmluZyB7XG4gIEBpbmNsdWRlIHByb2dyZXNzLWJhci12YXJpYW50KCRwcm9ncmVzcy1iYXItd2FybmluZy1iZyk7XG59XG5cbi5wcm9ncmVzcy1iYXItZGFuZ2VyIHtcbiAgQGluY2x1ZGUgcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJHByb2dyZXNzLWJhci1kYW5nZXItYmcpO1xufVxuIiwiLy8gR3JhZGllbnRzXG5cblxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0xKTsgLy8gSUU5IGFuZCBkb3duXG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7ICAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7ICAvLyBPcGVyYSAxMlxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTApOyAvLyBJRTkgYW5kIGRvd25cbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG59XG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTEpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xufVxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAjNTU1LCAkb3V0ZXItY29sb3I6ICMzMzMpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi8vIFByb2dyZXNzIGJhcnNcblxuQG1peGluIHByb2dyZXNzLWJhci12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgLy8gRGVwcmVjYXRlZCBwYXJlbnQgY2xhc3MgcmVxdWlyZW1lbnQgYXMgb2YgdjMuMi4wXG4gIC5wcm9ncmVzcy1zdHJpcGVkICYge1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQ7XG4gIH1cbn1cbiIsIi5tZWRpYSB7XG4gIC8vIFByb3BlciBzcGFjaW5nIGJldHdlZW4gaW5zdGFuY2VzIG9mIC5tZWRpYVxuICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLm1lZGlhLFxuLm1lZGlhLWJvZHkge1xuICB6b29tOiAxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubWVkaWEtYm9keSB7XG4gIHdpZHRoOiAxMDAwMHB4O1xufVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLy8gRml4IGNvbGxhcHNlIGluIHdlYmtpdCBmcm9tIG1heC13aWR0aDogMTAwJSBhbmQgZGlzcGxheTogdGFibGUtY2VsbC5cbiAgJi5pbWctdGh1bWJuYWlsIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuLm1lZGlhLXJpZ2h0LFxuLm1lZGlhID4gLnB1bGwtcmlnaHQge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG5cbi5tZWRpYS1sZWZ0LFxuLm1lZGlhID4gLnB1bGwtbGVmdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG5cbi5tZWRpYS1sZWZ0LFxuLm1lZGlhLXJpZ2h0LFxuLm1lZGlhLWJvZHkge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4ubWVkaWEtbWlkZGxlIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm1lZGlhLWJvdHRvbSB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbi8vIFJlc2V0IG1hcmdpbnMgb24gaGVhZGluZ3MgZm9yIHRpZ2h0ZXIgZGVmYXVsdCBzcGFjaW5nXG4ubWVkaWEtaGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLy8gTWVkaWEgbGlzdCB2YXJpYXRpb25cbi8vXG4vLyBVbmRvIGRlZmF1bHQgdWwvb2wgc3R5bGVzXG4ubWVkaWEtbGlzdCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vXG4vLyBMaXN0IGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgLy8gUGxhY2UgdGhlIGJvcmRlciBvbiB0aGUgbGlzdCBpdGVtcyBhbmQgbmVnYXRpdmUgbWFyZ2luIHVwIGZvciBiZXR0ZXIgc3R5bGluZ1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgJGxpc3QtZ3JvdXAtYm9yZGVyO1xuXG4gIC8vIFJvdW5kIHRoZSBmaXJzdCBhbmQgbGFzdCBpdGVtc1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlIGl0ZW1zLlxuLy8gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzaG93aW5nIHNlbGVjdGVkIGl0ZW1zLlxuXG5hLmxpc3QtZ3JvdXAtaXRlbSxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBjb2xvcjogJGxpc3QtZ3JvdXAtbGluay1jb2xvcjtcblxuICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cbn1cblxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJi5kaXNhYmxlZCxcbiAgJi5kaXNhYmxlZDpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yO1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcblxuICAgIC8vIEZvcmNlIGNvbG9yIHRvIGluaGVyaXQgZm9yIGN1c3RvbSBjb250ZW50XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICAgICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQWN0aXZlIGNsYXNzIG9uIGl0ZW0gaXRzZWxmLCBub3QgcGFyZW50XG4gICYuYWN0aXZlLFxuICAmLmFjdGl2ZTpob3ZlcixcbiAgJi5hY3RpdmU6Zm9jdXMge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyO1xuXG4gICAgLy8gRm9yY2UgY29sb3IgdG8gaW5oZXJpdCBmb3IgY3VzdG9tIGNvbnRlbnRcbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gc21hbGwsXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gLnNtYWxsIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICAgICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoc3VjY2VzcywgJHN0YXRlLXN1Y2Nlc3MtYmcsICRzdGF0ZS1zdWNjZXNzLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoaW5mbywgJHN0YXRlLWluZm8tYmcsICRzdGF0ZS1pbmZvLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQod2FybmluZywgJHN0YXRlLXdhcm5pbmctYmcsICRzdGF0ZS13YXJuaW5nLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoZGFuZ2VyLCAkc3RhdGUtZGFuZ2VyLWJnLCAkc3RhdGUtZGFuZ2VyLXRleHQpO1xuXG5cbi8vIEN1c3RvbSBjb250ZW50IG9wdGlvbnNcbi8vXG4vLyBFeHRyYSBjbGFzc2VzIGZvciBjcmVhdGluZyB3ZWxsLWZvcm1hdHRlZCBjb250ZW50IHdpdGhpbiBgLmxpc3QtZ3JvdXAtaXRlbWBzLlxuXG4ubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4ubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJiwgYnV0dG9uJiB0byBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9XG4gIH1cblxuICBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuICAgICYuYWN0aXZlLFxuICAgICYuYWN0aXZlOmhvdmVyLFxuICAgICYuYWN0aXZlOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gUGFuZWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi5wYW5lbCB7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJHBhbmVsLWJvcmRlci1yYWRpdXM7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KSk7XG59XG5cbi8vIFBhbmVsIGNvbnRlbnRzXG4ucGFuZWwtYm9keSB7XG4gIHBhZGRpbmc6ICRwYW5lbC1ib2R5LXBhZGRpbmc7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBPcHRpb25hbCBoZWFkaW5nXG4ucGFuZWwtaGVhZGluZyB7XG4gIHBhZGRpbmc6ICRwYW5lbC1oZWFkaW5nLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuXG4gID4gLmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFdpdGhpbiBoZWFkaW5nLCBzdHJpcCBhbnkgYGgqYCB0YWcgb2YgaXRzIGRlZmF1bHQgbWFyZ2lucyBmb3Igc3BhY2luZy5cbi5wYW5lbC10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4xMjUpKTtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgPiBhLFxuICA+IHNtYWxsLFxuICA+IC5zbWFsbCxcbiAgPiBzbWFsbCA+IGEsXG4gID4gLnNtYWxsID4gYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWwgZm9vdGVyIChzdGF5cyBncmF5IGluIGV2ZXJ5IG1vZGlmaWVyIGNsYXNzKVxuLnBhbmVsLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRwYW5lbC1mb290ZXItcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWZvb3Rlci1iZztcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRwYW5lbC1pbm5lci1ib3JkZXI7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcbn1cblxuXG4vLyBMaXN0IGdyb3VwcyBpbiBwYW5lbHNcbi8vXG4vLyBCeSBkZWZhdWx0LCBzcGFjZSBvdXQgbGlzdCBncm91cCBjb250ZW50IGZyb20gcGFuZWwgaGVhZGluZ3MgdG8gYWNjb3VudCBmb3Jcbi8vIGFueSBraW5kIG9mIGN1c3RvbSBjb250ZW50IGJldHdlZW4gdGhlIHR3by5cblxuLnBhbmVsIHtcbiAgPiAubGlzdC1ncm91cCxcbiAgPiAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLy8gQWRkIGJvcmRlciB0b3AgcmFkaXVzIGZvciBmaXJzdCBvbmVcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRkIGJvcmRlciBib3R0b20gcmFkaXVzIGZvciBsYXN0IG9uZVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gLnBhbmVsLWhlYWRpbmcgKyAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cbn1cbi8vIENvbGxhcHNlIHNwYWNlIGJldHdlZW4gd2hlbiB0aGVyZSdzIG5vIGFkZGl0aW9uYWwgY29udGVudC5cbi5wYW5lbC1oZWFkaW5nICsgLmxpc3QtZ3JvdXAge1xuICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICB9XG59XG4ubGlzdC1ncm91cCArIC5wYW5lbC1mb290ZXIge1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xufVxuXG4vLyBUYWJsZXMgaW4gcGFuZWxzXG4vL1xuLy8gUGxhY2UgYSBub24tYm9yZGVyZWQgYC50YWJsZWAgd2l0aGluIGEgcGFuZWwgKG5vdCB3aXRoaW4gYSBgLnBhbmVsLWJvZHlgKSBhbmRcbi8vIHdhdGNoIGl0IGdvIGZ1bGwgd2lkdGguXG5cbi5wYW5lbCB7XG4gID4gLnRhYmxlLFxuICA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLFxuICA+IC5wYW5lbC1jb2xsYXBzZSA+IC50YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIGNhcHRpb24ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAkcGFuZWwtYm9keS1wYWRkaW5nO1xuICAgICAgcGFkZGluZy1yaWdodDogJHBhbmVsLWJvZHktcGFkZGluZztcbiAgICB9XG4gIH1cbiAgLy8gQWRkIGJvcmRlciB0b3AgcmFkaXVzIGZvciBmaXJzdCBvbmVcbiAgPiAudGFibGU6Zmlyc3QtY2hpbGQsXG4gID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcblxuICAgID4gdGhlYWQ6Zmlyc3QtY2hpbGQsXG4gICAgPiB0Ym9keTpmaXJzdC1jaGlsZCB7XG4gICAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcblxuICAgICAgICB0ZDpmaXJzdC1jaGlsZCxcbiAgICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICB9XG4gICAgICAgIHRkOmxhc3QtY2hpbGQsXG4gICAgICAgIHRoOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBBZGQgYm9yZGVyIGJvdHRvbSByYWRpdXMgZm9yIGxhc3Qgb25lXG4gID4gLnRhYmxlOmxhc3QtY2hpbGQsXG4gID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG5cbiAgICA+IHRib2R5Omxhc3QtY2hpbGQsXG4gICAgPiB0Zm9vdDpsYXN0LWNoaWxkIHtcbiAgICAgID4gdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG5cbiAgICAgICAgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgfVxuICAgICAgICB0ZDpsYXN0LWNoaWxkLFxuICAgICAgICB0aDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiAucGFuZWwtYm9keSArIC50YWJsZSxcbiAgPiAucGFuZWwtYm9keSArIC50YWJsZS1yZXNwb25zaXZlLFxuICA+IC50YWJsZSArIC5wYW5lbC1ib2R5LFxuICA+IC50YWJsZS1yZXNwb25zaXZlICsgLnBhbmVsLWJvZHkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG4gID4gLnRhYmxlID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgPiAudGFibGUgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG4gID4gLnRhYmxlLWJvcmRlcmVkLFxuICA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gICAgPiB0aGVhZCxcbiAgICA+IHRib2R5LFxuICAgID4gdGZvb3Qge1xuICAgICAgPiB0ciB7XG4gICAgICAgID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAgID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgPiB0aGVhZCxcbiAgICA+IHRib2R5IHtcbiAgICAgID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gdGJvZHksXG4gICAgPiB0Zm9vdCB7XG4gICAgICA+IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gLnRhYmxlLXJlc3BvbnNpdmUge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cblxuLy8gQ29sbGFwc2FibGUgcGFuZWxzIChha2EsIGFjY29yZGlvbilcbi8vXG4vLyBXcmFwIGEgc2VyaWVzIG9mIHBhbmVscyBpbiBgLnBhbmVsLWdyb3VwYCB0byB0dXJuIHRoZW0gaW50byBhbiBhY2NvcmRpb24gd2l0aFxuLy8gdGhlIGhlbHAgb2Ygb3VyIGNvbGxhcHNlIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4ucGFuZWwtZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG5cbiAgLy8gVGlnaHRlbiB1cCBtYXJnaW4gc28gaXQncyBvbmx5IGJldHdlZW4gcGFuZWxzXG4gIC5wYW5lbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkcGFuZWwtYm9yZGVyLXJhZGl1cztcblxuICAgICsgLnBhbmVsIHtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICB9XG4gIH1cblxuICAucGFuZWwtaGVhZGluZyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHksXG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHBhbmVsLWlubmVyLWJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAucGFuZWwtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgICsgLnBhbmVsLWNvbGxhcHNlIC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcGFuZWwtaW5uZXItYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWF0aW9uc1xuLnBhbmVsLWRlZmF1bHQge1xuICBAaW5jbHVkZSBwYW5lbC12YXJpYW50KCRwYW5lbC1kZWZhdWx0LWJvcmRlciwgJHBhbmVsLWRlZmF1bHQtdGV4dCwgJHBhbmVsLWRlZmF1bHQtaGVhZGluZy1iZywgJHBhbmVsLWRlZmF1bHQtYm9yZGVyKTtcbn1cbi5wYW5lbC1wcmltYXJ5IHtcbiAgQGluY2x1ZGUgcGFuZWwtdmFyaWFudCgkcGFuZWwtcHJpbWFyeS1ib3JkZXIsICRwYW5lbC1wcmltYXJ5LXRleHQsICRwYW5lbC1wcmltYXJ5LWhlYWRpbmctYmcsICRwYW5lbC1wcmltYXJ5LWJvcmRlcik7XG59XG4ucGFuZWwtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIHBhbmVsLXZhcmlhbnQoJHBhbmVsLXN1Y2Nlc3MtYm9yZGVyLCAkcGFuZWwtc3VjY2Vzcy10ZXh0LCAkcGFuZWwtc3VjY2Vzcy1oZWFkaW5nLWJnLCAkcGFuZWwtc3VjY2Vzcy1ib3JkZXIpO1xufVxuLnBhbmVsLWluZm8ge1xuICBAaW5jbHVkZSBwYW5lbC12YXJpYW50KCRwYW5lbC1pbmZvLWJvcmRlciwgJHBhbmVsLWluZm8tdGV4dCwgJHBhbmVsLWluZm8taGVhZGluZy1iZywgJHBhbmVsLWluZm8tYm9yZGVyKTtcbn1cbi5wYW5lbC13YXJuaW5nIHtcbiAgQGluY2x1ZGUgcGFuZWwtdmFyaWFudCgkcGFuZWwtd2FybmluZy1ib3JkZXIsICRwYW5lbC13YXJuaW5nLXRleHQsICRwYW5lbC13YXJuaW5nLWhlYWRpbmctYmcsICRwYW5lbC13YXJuaW5nLWJvcmRlcik7XG59XG4ucGFuZWwtZGFuZ2VyIHtcbiAgQGluY2x1ZGUgcGFuZWwtdmFyaWFudCgkcGFuZWwtZGFuZ2VyLWJvcmRlciwgJHBhbmVsLWRhbmdlci10ZXh0LCAkcGFuZWwtZGFuZ2VyLWhlYWRpbmctYmcsICRwYW5lbC1kYW5nZXItYm9yZGVyKTtcbn1cbiIsIi8vIFBhbmVsc1xuXG5AbWl4aW4gcGFuZWwtdmFyaWFudCgkYm9yZGVyLCAkaGVhZGluZy10ZXh0LWNvbG9yLCAkaGVhZGluZy1iZy1jb2xvciwgJGhlYWRpbmctYm9yZGVyKSB7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmID4gLnBhbmVsLWhlYWRpbmcge1xuICAgIGNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGhlYWRpbmctYm9yZGVyO1xuXG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJiA+IC5wYW5lbC1mb290ZXIge1xuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEVtYmVkcyByZXNwb25zaXZlXG4vL1xuLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5lbWJlZC1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vLyBNb2RpZmllciBjbGFzcyBmb3IgMTY6OSBhc3BlY3QgcmF0aW9cbi5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5IHtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cblxuLy8gTW9kaWZpZXIgY2xhc3MgZm9yIDQ6MyBhc3BlY3QgcmF0aW9cbi5lbWJlZC1yZXNwb25zaXZlLTRieTMge1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xufVxuIiwiLy9cbi8vIENsb3NlIGljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAoJGZvbnQtc2l6ZS1iYXNlICogMS41KTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIEBpbmNsdWRlIG9wYWNpdHkoLjIpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KC41KTtcbiAgfVxuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBidXR0b24mIHRvIGJ1dHRvbi5jbG9zZVxufVxuXG4vLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5idXR0b24uY2xvc2Uge1xuICBwYWRkaW5nOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbiIsIi8vXG4vLyBNb2RhbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzaGl0XG5cbi8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuLm1vZGFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgJi5mYWRlIC5tb2RhbC1kaWFsb2cge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgwLCAtMjUlKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXRyYW5zZm9ybSgwLjNzIGVhc2Utb3V0KTtcbiAgfVxuICAmLmluIC5tb2RhbC1kaWFsb2cgeyBAaW5jbHVkZSB0cmFuc2xhdGUoMCwgMCkgfVxufVxuLm1vZGFsLW9wZW4gLm1vZGFsIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDEwcHg7XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1jb250ZW50LWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCAkbW9kYWwtY29udGVudC1mYWxsYmFjay1ib3JkZXItY29sb3I7IC8vb2xkIGJyb3dzZXJzIGZhbGxiYWNrIChpZTggZXRjKVxuICBib3JkZXI6IDFweCBzb2xpZCAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxhcmdlO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgM3B4IDlweCByZ2JhKDAsMCwwLC41KSk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tncm91bmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgQGluY2x1ZGUgb3BhY2l0eSgwKTsgfVxuICAmLmluIHsgQGluY2x1ZGUgb3BhY2l0eSgkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eSk7IH1cbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBwYWRkaW5nOiAkbW9kYWwtdGl0bGUtcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBtaW4taGVpZ2h0OiAoJG1vZGFsLXRpdGxlLXBhZGRpbmcgKyAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQpO1xufVxuLy8gQ2xvc2UgaWNvblxuLm1vZGFsLWhlYWRlciAuY2xvc2Uge1xuICBtYXJnaW4tdG9wOiAtMnB4O1xufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xuICB0ZXh0LWFsaWduOiByaWdodDsgLy8gcmlnaHQgYWxpZ24gYnV0dG9uc1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGNsZWFyZml4OyAvLyBjbGVhciBpdCBpbiBjYXNlIGZvbGtzIHVzZSAucHVsbC0qIGNsYXNzZXMgb24gYnV0dG9uc1xuXG4gIC8vIFByb3Blcmx5IHNwYWNlIG91dCBidXR0b25zXG4gIC5idG4gKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIGFjY291bnQgZm9yIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0gd2hpY2ggZ2V0cyB0aGUgYm90dG9tIG1hcmdpbiBsaWtlIGFsbCBvdGhlciBpbnB1dHNcbiAgfVxuICAvLyBidXQgb3ZlcnJpZGUgdGhhdCBmb3IgYnV0dG9uIGdyb3Vwc1xuICAuYnRuLWdyb3VwIC5idG4gKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgfVxuICAvLyBhbmQgb3ZlcnJpZGUgaXQgZm9yIGJsb2NrIGJ1dHRvbnMgYXMgd2VsbFxuICAuYnRuLWJsb2NrICsgLmJ0bi1ibG9jayB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICB3aWR0aDogJG1vZGFsLW1kO1xuICAgIG1hcmdpbjogMzBweCBhdXRvO1xuICB9XG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgNXB4IDE1cHggcmdiYSgwLDAsMCwuNSkpO1xuICB9XG5cbiAgLy8gTW9kYWwgc2l6ZXNcbiAgLm1vZGFsLXNtIHsgd2lkdGg6ICRtb2RhbC1zbTsgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgLm1vZGFsLWxnIHsgd2lkdGg6ICRtb2RhbC1sZzsgfVxufVxuIiwiLy9cbi8vIFRvb2x0aXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkemluZGV4LXRvb2x0aXA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQ7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcblxuICBAaW5jbHVkZSBvcGFjaXR5KDApO1xuXG4gICYuaW4gICAgIHsgQGluY2x1ZGUgb3BhY2l0eSgkdG9vbHRpcC1vcGFjaXR5KTsgfVxuICAmLnRvcCAgICB7IG1hcmdpbi10b3A6ICAtM3B4OyBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAwOyB9XG4gICYucmlnaHQgIHsgbWFyZ2luLWxlZnQ6ICAzcHg7IHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGg7IH1cbiAgJi5ib3R0b20geyBtYXJnaW4tdG9wOiAgIDNweDsgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctd2lkdGggMDsgfVxuICAmLmxlZnQgICB7IG1hcmdpbi1sZWZ0OiAtM3B4OyBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LXdpZHRoOyB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6IDNweCA4cHg7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZztcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbn1cblxuLy8gQXJyb3dzXG4udG9vbHRpcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbi8vIE5vdGU6IERlcHJlY2F0ZWQgLnRvcC1sZWZ0LCAudG9wLXJpZ2h0LCAuYm90dG9tLWxlZnQsIGFuZCAuYm90dG9tLXJpZ2h0IGFzIG9mIHYzLjMuMVxuLnRvb2x0aXAge1xuICAmLnRvcCAudG9vbHRpcC1hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLnRvcC1sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1ib3R0b206IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi50b3AtcmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tYm90dG9tOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYucmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYubGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5ib3R0b20gLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5ib3R0b20tbGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYuYm90dG9tLXJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxufVxuIiwiQG1peGluIHJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLCIvL1xuLy8gVXRpbGl0eSBjbGFzc2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEZsb2F0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY2xlYXJmaXgge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cbi5jZW50ZXItYmxvY2sge1xuICBAaW5jbHVkZSBjZW50ZXItYmxvY2s7XG59XG4ucHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuLnB1bGwtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gVG9nZ2xpbmcgY29udGVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBOb3RlOiBEZXByZWNhdGVkIC5oaWRlIGluIGZhdm9yIG9mIC5oaWRkZW4gb3IgLnNyLW9ubHkgKGFzIGFwcHJvcHJpYXRlKSBpbiB2My4wLjFcbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnNob3cge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi50ZXh0LWhpZGUge1xuICBAaW5jbHVkZSB0ZXh0LWhpZGU7XG59XG5cblxuLy8gSGlkZSBmcm9tIHNjcmVlbnJlYWRlcnMgYW5kIGJyb3dzZXJzXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5cbi8vIEZvciBBZmZpeCBwbHVnaW5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFmZml4IHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuIiwiLy8gQ2VudGVyLWFsaWduIGEgYmxvY2sgbGV2ZWwgZWxlbWVudFxuXG5AbWl4aW4gY2VudGVyLWJsb2NrKCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuLy9cbi8vIEhlYWRzIHVwISB2MyBsYXVuY2hlZCB3aXRoIG9ubHkgYC5oaWRlLXRleHQoKWAsIGJ1dCBwZXIgb3VyIHBhdHRlcm4gZm9yXG4vLyBtaXhpbnMgYmVpbmcgcmV1c2VkIGFzIGNsYXNzZXMgd2l0aCB0aGUgc2FtZSBuYW1lLCB0aGlzIGRvZXNuJ3QgaG9sZCB1cC4gQXNcbi8vIG9mIHYzLjAuMSB3ZSBoYXZlIGFkZGVkIGAudGV4dC1oaWRlKClgIGFuZCBkZXByZWNhdGVkIGAuaGlkZS10ZXh0KClgLlxuLy9cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvY29tbWl0L2FhMDM5NmVhZTc1N1xuXG4vLyBEZXByZWNhdGVkIGFzIG9mIHYzLjAuMSAod2lsbCBiZSByZW1vdmVkIGluIHY0KVxuQG1peGluIGhpZGUtdGV4dCgpIHtcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbi8vIE5ldyBtaXhpbiB0byB1c2UgYXMgb2YgdjMuMC4xXG5AbWl4aW4gdGV4dC1oaWRlKCkge1xuICBAaW5jbHVkZSBoaWRlLXRleHQ7XG59XG4iLCIvL1xuLy8gUmVzcG9uc2l2ZTogVXRpbGl0eSBjbGFzc2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIElFMTAgaW4gV2luZG93cyAoUGhvbmUpIDhcbi8vXG4vLyBTdXBwb3J0IGZvciByZXNwb25zaXZlIHZpZXdzIHZpYSBtZWRpYSBxdWVyaWVzIGlzIGtpbmQgb2YgYm9ya2VkIGluIElFMTAsIGZvclxuLy8gU3VyZmFjZS9kZXNrdG9wIGluIHNwbGl0IHZpZXcgYW5kIGZvciBXaW5kb3dzIFBob25lIDguIFRoaXMgcGFydGljdWxhciBmaXhcbi8vIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgYSBzbmlwcGV0IG9mIEphdmFTY3JpcHQgdG8gc25pZmYgdGhlIHVzZXIgYWdlbnQgYW5kXG4vLyBhcHBseSBzb21lIGNvbmRpdGlvbmFsIENTUyB0byAqb25seSogdGhlIFN1cmZhY2UvZGVza3RvcCBXaW5kb3dzIDguIExvb2sgYXRcbi8vIG91ciBHZXR0aW5nIFN0YXJ0ZWQgcGFnZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzIGJ1Zy5cbi8vXG4vLyBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSBmb2xsb3dpbmc6XG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTA0OTdcbi8vIERvY3M6IGh0dHA6Ly9nZXRib290c3RyYXAuY29tL2dldHRpbmctc3RhcnRlZC8jc3VwcG9ydC1pZTEwLXdpZHRoXG4vLyBTb3VyY2U6IGh0dHA6Ly90aW1rYWRsZWMuY29tLzIwMTMvMDEvd2luZG93cy1waG9uZS04LWFuZC1kZXZpY2Utd2lkdGgvXG4vLyBTb3VyY2U6IGh0dHA6Ly90aW1rYWRsZWMuY29tLzIwMTIvMTAvaWUxMC1zbmFwLW1vZGUtYW5kLXJlc3BvbnNpdmUtZGVzaWduL1xuXG5AYXQtcm9vdCB7XG4gIEAtbXMtdmlld3BvcnQge1xuICAgIHdpZHRoOiBkZXZpY2Utd2lkdGg7XG4gIH1cbn1cblxuXG4vLyBWaXNpYmlsaXR5IHV0aWxpdGllc1xuLy8gTm90ZTogRGVwcmVjYXRlZCAudmlzaWJsZS14cywgLnZpc2libGUtc20sIC52aXNpYmxlLW1kLCBhbmQgLnZpc2libGUtbGcgYXMgb2YgdjMuMi4wXG5cbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS14cycpO1xuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXNtJyk7XG5AaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLnZpc2libGUtbWQnKTtcbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1sZycpO1xuXG4udmlzaWJsZS14cy1ibG9jayxcbi52aXNpYmxlLXhzLWlubGluZSxcbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayxcbi52aXNpYmxlLXNtLWJsb2NrLFxuLnZpc2libGUtc20taW5saW5lLFxuLnZpc2libGUtc20taW5saW5lLWJsb2NrLFxuLnZpc2libGUtbWQtYmxvY2ssXG4udmlzaWJsZS1tZC1pbmxpbmUsXG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1sZy1ibG9jayxcbi52aXNpYmxlLWxnLWlubGluZSxcbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUteHMnKTtcbn1cbi52aXNpYmxlLXhzLWJsb2NrIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUteHMtaW5saW5lIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtc20nKTtcbn1cbi52aXNpYmxlLXNtLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1zbS1pbmxpbmUge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1zbS1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtbWQnKTtcbn1cbi52aXNpYmxlLW1kLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1tZC1pbmxpbmUge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXZpc2liaWxpdHkoJy52aXNpYmxlLWxnJyk7XG59XG4udmlzaWJsZS1sZy1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1sZy1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4teHMnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tc20nKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tbWQnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcuaGlkZGVuLWxnJyk7XG59XG5cblxuLy8gUHJpbnQgdXRpbGl0aWVzXG4vL1xuLy8gTWVkaWEgcXVlcmllcyBhcmUgcGxhY2VkIG9uIHRoZSBpbnNpZGUgdG8gYmUgbWl4aW4tZnJpZW5kbHkuXG5cbi8vIE5vdGU6IERlcHJlY2F0ZWQgLnZpc2libGUtcHJpbnQgYXMgb2YgdjMuMi4wXG5cbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1wcmludCcpO1xuXG5AbWVkaWEgcHJpbnQge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXZpc2liaWxpdHkoJy52aXNpYmxlLXByaW50Jyk7XG59XG4udmlzaWJsZS1wcmludC1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1wcmludC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1wcmludCcpO1xufVxuIiwiLy8gUmVzcG9uc2l2ZSB1dGlsaXRpZXNcblxuLy9cbi8vIE1vcmUgZWFzaWx5IGluY2x1ZGUgYWxsIHRoZSBzdGF0ZXMgZm9yIHJlc3BvbnNpdmUtdXRpbGl0aWVzLmxlc3MuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiByZXNwb25zaXZlLXZpc2liaWxpdHkoJHBhcmVudCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIHRhYmxlI3skcGFyZW50fSAgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRyI3skcGFyZW50fSAgICAgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aCN7JHBhcmVudH0sXG4gIHRkI3skcGFyZW50fSAgICAgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJHBhcmVudCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8qISBqUXVlcnkgVUkgLSB2MS4xMi4xIC0gMjAxNy0wNi0xMlxuKiBodHRwOi8vanF1ZXJ5dWkuY29tXG4qIEluY2x1ZGVzOiBjb3JlLmNzcywgcmVzaXphYmxlLmNzcywgc29ydGFibGUuY3NzLCB0aGVtZS5jc3NcbiogVG8gdmlldyBhbmQgbW9kaWZ5IHRoaXMgdGhlbWUsIHZpc2l0IGh0dHA6Ly9qcXVlcnl1aS5jb20vdGhlbWVyb2xsZXIvP3Njb3BlPSZmb2xkZXJOYW1lPWJhc2UmY29ybmVyUmFkaXVzU2hhZG93PThweCZvZmZzZXRMZWZ0U2hhZG93PTBweCZvZmZzZXRUb3BTaGFkb3c9MHB4JnRoaWNrbmVzc1NoYWRvdz01cHgmb3BhY2l0eVNoYWRvdz0zMCZiZ0ltZ09wYWNpdHlTaGFkb3c9MCZiZ1RleHR1cmVTaGFkb3c9ZmxhdCZiZ0NvbG9yU2hhZG93PTY2NjY2NiZvcGFjaXR5T3ZlcmxheT0zMCZiZ0ltZ09wYWNpdHlPdmVybGF5PTAmYmdUZXh0dXJlT3ZlcmxheT1mbGF0JmJnQ29sb3JPdmVybGF5PWFhYWFhYSZpY29uQ29sb3JFcnJvcj1jYzAwMDAmZmNFcnJvcj01ZjNmM2YmYm9yZGVyQ29sb3JFcnJvcj1mMWE4OTkmYmdUZXh0dXJlRXJyb3I9ZmxhdCZiZ0NvbG9yRXJyb3I9ZmRkZmRmJmljb25Db2xvckhpZ2hsaWdodD03Nzc2MjAmZmNIaWdobGlnaHQ9Nzc3NjIwJmJvcmRlckNvbG9ySGlnaGxpZ2h0PWRhZDU1ZSZiZ1RleHR1cmVIaWdobGlnaHQ9ZmxhdCZiZ0NvbG9ySGlnaGxpZ2h0PWZmZmE5MCZpY29uQ29sb3JBY3RpdmU9ZmZmZmZmJmZjQWN0aXZlPWZmZmZmZiZib3JkZXJDb2xvckFjdGl2ZT0wMDNlZmYmYmdUZXh0dXJlQWN0aXZlPWZsYXQmYmdDb2xvckFjdGl2ZT0wMDdmZmYmaWNvbkNvbG9ySG92ZXI9NTU1NTU1JmZjSG92ZXI9MmIyYjJiJmJvcmRlckNvbG9ySG92ZXI9Y2NjY2NjJmJnVGV4dHVyZUhvdmVyPWZsYXQmYmdDb2xvckhvdmVyPWVkZWRlZCZpY29uQ29sb3JEZWZhdWx0PTc3Nzc3NyZmY0RlZmF1bHQ9NDU0NTQ1JmJvcmRlckNvbG9yRGVmYXVsdD1jNWM1YzUmYmdUZXh0dXJlRGVmYXVsdD1mbGF0JmJnQ29sb3JEZWZhdWx0PWY2ZjZmNiZpY29uQ29sb3JDb250ZW50PTQ0NDQ0NCZmY0NvbnRlbnQ9MzMzMzMzJmJvcmRlckNvbG9yQ29udGVudD1kZGRkZGQmYmdUZXh0dXJlQ29udGVudD1mbGF0JmJnQ29sb3JDb250ZW50PWZmZmZmZiZpY29uQ29sb3JIZWFkZXI9NDQ0NDQ0JmZjSGVhZGVyPTMzMzMzMyZib3JkZXJDb2xvckhlYWRlcj1kZGRkZGQmYmdUZXh0dXJlSGVhZGVyPWZsYXQmYmdDb2xvckhlYWRlcj1lOWU5ZTkmY29ybmVyUmFkaXVzPTNweCZmd0RlZmF1bHQ9bm9ybWFsJmZzRGVmYXVsdD0xZW0mZmZEZWZhdWx0PUFyaWFsJTJDSGVsdmV0aWNhJTJDc2Fucy1zZXJpZlxuKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yczsgTGljZW5zZWQgTUlUICovXG5cbi8qIExheW91dCBoZWxwZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1oZWxwZXItaGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi51aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUge1xuXHRib3JkZXI6IDA7XG5cdGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cdGhlaWdodDogMXB4O1xuXHRtYXJnaW46IC0xcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDFweDtcbn1cbi51aS1oZWxwZXItcmVzZXQge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMDtcblx0b3V0bGluZTogMDtcblx0bGluZS1oZWlnaHQ6IDEuMztcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRmb250LXNpemU6IDEwMCU7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4udWktaGVscGVyLWNsZWFyZml4OmJlZm9yZSxcbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlwiO1xuXHRkaXNwbGF5OiB0YWJsZTtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIge1xuXHRjbGVhcjogYm90aDtcbn1cbi51aS1oZWxwZXItemZpeCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRvcGFjaXR5OiAwO1xuXHRmaWx0ZXI6QWxwaGEoT3BhY2l0eT0wKTsgLyogc3VwcG9ydDogSUU4ICovXG59XG5cbi51aS1mcm9udCB7XG5cdHotaW5kZXg6IDEwMDtcbn1cblxuXG4vKiBJbnRlcmFjdGlvbiBDdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1zdGF0ZS1kaXNhYmxlZCB7XG5cdGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG4vKiBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktaWNvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0bWFyZ2luLXRvcDogLS4yNWVtO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRleHQtaW5kZW50OiAtOTk5OTlweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLnVpLXdpZGdldC1pY29uLWJsb2NrIHtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tbGVmdDogLThweDtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIE1pc2MgdmlzdWFsc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIE92ZXJsYXlzICovXG4udWktd2lkZ2V0LW92ZXJsYXkge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cbi51aS1yZXNpemFibGUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udWktcmVzaXphYmxlLWhhbmRsZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Zm9udC1zaXplOiAwLjFweDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG5cdHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cbi51aS1yZXNpemFibGUtZGlzYWJsZWQgLnVpLXJlc2l6YWJsZS1oYW5kbGUsXG4udWktcmVzaXphYmxlLWF1dG9oaWRlIC51aS1yZXNpemFibGUtaGFuZGxlIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi51aS1yZXNpemFibGUtbiB7XG5cdGN1cnNvcjogbi1yZXNpemU7XG5cdGhlaWdodDogN3B4O1xuXHR3aWR0aDogMTAwJTtcblx0dG9wOiAtNXB4O1xuXHRsZWZ0OiAwO1xufVxuLnVpLXJlc2l6YWJsZS1zIHtcblx0Y3Vyc29yOiBzLXJlc2l6ZTtcblx0aGVpZ2h0OiA3cHg7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3R0b206IC01cHg7XG5cdGxlZnQ6IDA7XG59XG4udWktcmVzaXphYmxlLWUge1xuXHRjdXJzb3I6IGUtcmVzaXplO1xuXHR3aWR0aDogN3B4O1xuXHRyaWdodDogLTVweDtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG4udWktcmVzaXphYmxlLXcge1xuXHRjdXJzb3I6IHctcmVzaXplO1xuXHR3aWR0aDogN3B4O1xuXHRsZWZ0OiAtNXB4O1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcbn1cbi51aS1yZXNpemFibGUtc2Uge1xuXHRjdXJzb3I6IHNlLXJlc2l6ZTtcblx0d2lkdGg6IDEycHg7XG5cdGhlaWdodDogMTJweDtcblx0cmlnaHQ6IDFweDtcblx0Ym90dG9tOiAxcHg7XG59XG4udWktcmVzaXphYmxlLXN3IHtcblx0Y3Vyc29yOiBzdy1yZXNpemU7XG5cdHdpZHRoOiA5cHg7XG5cdGhlaWdodDogOXB4O1xuXHRsZWZ0OiAtNXB4O1xuXHRib3R0b206IC01cHg7XG59XG4udWktcmVzaXphYmxlLW53IHtcblx0Y3Vyc29yOiBudy1yZXNpemU7XG5cdHdpZHRoOiA5cHg7XG5cdGhlaWdodDogOXB4O1xuXHRsZWZ0OiAtNXB4O1xuXHR0b3A6IC01cHg7XG59XG4udWktcmVzaXphYmxlLW5lIHtcblx0Y3Vyc29yOiBuZS1yZXNpemU7XG5cdHdpZHRoOiA5cHg7XG5cdGhlaWdodDogOXB4O1xuXHRyaWdodDogLTVweDtcblx0dG9wOiAtNXB4O1xufVxuLnVpLXNvcnRhYmxlLWhhbmRsZSB7XG5cdC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG5cdHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLyogQ29tcG9uZW50IGNvbnRhaW5lcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXdpZGdldCB7XG5cdGZvbnQtZmFtaWx5OiBBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtcblx0Zm9udC1zaXplOiAxZW07XG59XG4udWktd2lkZ2V0IC51aS13aWRnZXQge1xuXHRmb250LXNpemU6IDFlbTtcbn1cbi51aS13aWRnZXQgaW5wdXQsXG4udWktd2lkZ2V0IHNlbGVjdCxcbi51aS13aWRnZXQgdGV4dGFyZWEsXG4udWktd2lkZ2V0IGJ1dHRvbiB7XG5cdGZvbnQtZmFtaWx5OiBBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtcblx0Zm9udC1zaXplOiAxZW07XG59XG4udWktd2lkZ2V0LnVpLXdpZGdldC1jb250ZW50IHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2M1YzVjNTtcbn1cbi51aS13aWRnZXQtY29udGVudCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7XG5cdGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cdGNvbG9yOiAjMzMzMzMzO1xufVxuLnVpLXdpZGdldC1jb250ZW50IGEge1xuXHRjb2xvcjogIzMzMzMzMztcbn1cbi51aS13aWRnZXQtaGVhZGVyIHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2RkZGRkZDtcblx0YmFja2dyb3VuZDogI2U5ZTllOTtcblx0Y29sb3I6ICMzMzMzMzM7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnVpLXdpZGdldC1oZWFkZXIgYSB7XG5cdGNvbG9yOiAjMzMzMzMzO1xufVxuXG4vKiBJbnRlcmFjdGlvbiBzdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXN0YXRlLWRlZmF1bHQsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRlZmF1bHQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGVmYXVsdCxcbi51aS1idXR0b24sXG5cbi8qIFdlIHVzZSBodG1sIGhlcmUgYmVjYXVzZSB3ZSBuZWVkIGEgZ3JlYXRlciBzcGVjaWZpY2l0eSB0byBtYWtlIHN1cmUgZGlzYWJsZWRcbndvcmtzIHByb3Blcmx5IHdoZW4gY2xpY2tlZCBvciBob3ZlcmVkICovXG5odG1sIC51aS1idXR0b24udWktc3RhdGUtZGlzYWJsZWQ6aG92ZXIsXG5odG1sIC51aS1idXR0b24udWktc3RhdGUtZGlzYWJsZWQ6YWN0aXZlIHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2M1YzVjNTtcblx0YmFja2dyb3VuZDogI2Y2ZjZmNjtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Y29sb3I6ICM0NTQ1NDU7XG59XG4udWktc3RhdGUtZGVmYXVsdCBhLFxuLnVpLXN0YXRlLWRlZmF1bHQgYTpsaW5rLFxuLnVpLXN0YXRlLWRlZmF1bHQgYTp2aXNpdGVkLFxuYS51aS1idXR0b24sXG5hOmxpbmsudWktYnV0dG9uLFxuYTp2aXNpdGVkLnVpLWJ1dHRvbixcbi51aS1idXR0b24ge1xuXHRjb2xvcjogIzQ1NDU0NTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1ob3Zlcixcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3Zlcixcbi51aS1zdGF0ZS1mb2N1cyxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZm9jdXMsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXMsXG4udWktYnV0dG9uOmhvdmVyLFxuLnVpLWJ1dHRvbjpmb2N1cyB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XG5cdGJhY2tncm91bmQ6ICNlZGVkZWQ7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGNvbG9yOiAjMmIyYjJiO1xufVxuLnVpLXN0YXRlLWhvdmVyIGEsXG4udWktc3RhdGUtaG92ZXIgYTpob3Zlcixcbi51aS1zdGF0ZS1ob3ZlciBhOmxpbmssXG4udWktc3RhdGUtaG92ZXIgYTp2aXNpdGVkLFxuLnVpLXN0YXRlLWZvY3VzIGEsXG4udWktc3RhdGUtZm9jdXMgYTpob3Zlcixcbi51aS1zdGF0ZS1mb2N1cyBhOmxpbmssXG4udWktc3RhdGUtZm9jdXMgYTp2aXNpdGVkLFxuYS51aS1idXR0b246aG92ZXIsXG5hLnVpLWJ1dHRvbjpmb2N1cyB7XG5cdGNvbG9yOiAjMmIyYjJiO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi51aS12aXN1YWwtZm9jdXMge1xuXHRib3gtc2hhZG93OiAwIDAgM3B4IDFweCByZ2IoOTQsIDE1OCwgMjE0KTtcbn1cbi51aS1zdGF0ZS1hY3RpdmUsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWFjdGl2ZSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1hY3RpdmUsXG5hLnVpLWJ1dHRvbjphY3RpdmUsXG4udWktYnV0dG9uOmFjdGl2ZSxcbi51aS1idXR0b24udWktc3RhdGUtYWN0aXZlOmhvdmVyIHtcblx0Ym9yZGVyOiAxcHggc29saWQgIzAwM2VmZjtcblx0YmFja2dyb3VuZDogIzAwN2ZmZjtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Y29sb3I6ICNmZmZmZmY7XG59XG4udWktaWNvbi1iYWNrZ3JvdW5kLFxuLnVpLXN0YXRlLWFjdGl2ZSAudWktaWNvbi1iYWNrZ3JvdW5kIHtcblx0Ym9yZGVyOiAjMDAzZWZmO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuLnVpLXN0YXRlLWFjdGl2ZSBhLFxuLnVpLXN0YXRlLWFjdGl2ZSBhOmxpbmssXG4udWktc3RhdGUtYWN0aXZlIGE6dmlzaXRlZCB7XG5cdGNvbG9yOiAjZmZmZmZmO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIEludGVyYWN0aW9uIEN1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXN0YXRlLWhpZ2hsaWdodCxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0LFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNkYWQ1NWU7XG5cdGJhY2tncm91bmQ6ICNmZmZhOTA7XG5cdGNvbG9yOiAjNzc3NjIwO1xufVxuLnVpLXN0YXRlLWNoZWNrZWQge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjZGFkNTVlO1xuXHRiYWNrZ3JvdW5kOiAjZmZmYTkwO1xufVxuLnVpLXN0YXRlLWhpZ2hsaWdodCBhLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQgYSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1oaWdobGlnaHQgYSB7XG5cdGNvbG9yOiAjNzc3NjIwO1xufVxuLnVpLXN0YXRlLWVycm9yLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvcixcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvciB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNmMWE4OTk7XG5cdGJhY2tncm91bmQ6ICNmZGRmZGY7XG5cdGNvbG9yOiAjNWYzZjNmO1xufVxuLnVpLXN0YXRlLWVycm9yIGEsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yIGEsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3IgYSB7XG5cdGNvbG9yOiAjNWYzZjNmO1xufVxuLnVpLXN0YXRlLWVycm9yLXRleHQsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLXRleHQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3ItdGV4dCB7XG5cdGNvbG9yOiAjNWYzZjNmO1xufVxuLnVpLXByaW9yaXR5LXByaW1hcnksXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXByaW9yaXR5LXByaW1hcnksXG4udWktd2lkZ2V0LWhlYWRlciAudWktcHJpb3JpdHktcHJpbWFyeSB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnVpLXByaW9yaXR5LXNlY29uZGFyeSxcbi51aS13aWRnZXQtY29udGVudCAudWktcHJpb3JpdHktc2Vjb25kYXJ5LFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXNlY29uZGFyeSB7XG5cdG9wYWNpdHk6IC43O1xuXHRmaWx0ZXI6QWxwaGEoT3BhY2l0eT03MCk7IC8qIHN1cHBvcnQ6IElFOCAqL1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xufVxuLnVpLXN0YXRlLWRpc2FibGVkLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1kaXNhYmxlZCxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kaXNhYmxlZCB7XG5cdG9wYWNpdHk6IC4zNTtcblx0ZmlsdGVyOkFscGhhKE9wYWNpdHk9MzUpOyAvKiBzdXBwb3J0OiBJRTggKi9cblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi51aS1zdGF0ZS1kaXNhYmxlZCAudWktaWNvbiB7XG5cdGZpbHRlcjpBbHBoYShPcGFjaXR5PTM1KTsgLyogc3VwcG9ydDogSUU4IC0gU2VlICM2MDU5ICovXG59XG5cbi8qIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogc3RhdGVzIGFuZCBpbWFnZXMgKi9cbi51aS1pY29uIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cbi51aS1pY29uLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1pY29uIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3VpLWljb25zXzQ0NDQ0NF8yNTZ4MjQwLnBuZ1wiKTtcbn1cbi51aS13aWRnZXQtaGVhZGVyIC51aS1pY29uIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3VpLWljb25zXzQ0NDQ0NF8yNTZ4MjQwLnBuZ1wiKTtcbn1cbi51aS1zdGF0ZS1ob3ZlciAudWktaWNvbixcbi51aS1zdGF0ZS1mb2N1cyAudWktaWNvbixcbi51aS1idXR0b246aG92ZXIgLnVpLWljb24sXG4udWktYnV0dG9uOmZvY3VzIC51aS1pY29uIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3VpLWljb25zXzU1NTU1NV8yNTZ4MjQwLnBuZ1wiKTtcbn1cbi51aS1zdGF0ZS1hY3RpdmUgLnVpLWljb24sXG4udWktYnV0dG9uOmFjdGl2ZSAudWktaWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy91aS1pY29uc19mZmZmZmZfMjU2eDI0MC5wbmdcIik7XG59XG4udWktc3RhdGUtaGlnaGxpZ2h0IC51aS1pY29uLFxuLnVpLWJ1dHRvbiAudWktc3RhdGUtaGlnaGxpZ2h0LnVpLWljb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfNzc3NjIwXzI1NngyNDAucG5nXCIpO1xufVxuLnVpLXN0YXRlLWVycm9yIC51aS1pY29uLFxuLnVpLXN0YXRlLWVycm9yLXRleHQgLnVpLWljb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfY2MwMDAwXzI1NngyNDAucG5nXCIpO1xufVxuLnVpLWJ1dHRvbiAudWktaWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy91aS1pY29uc183Nzc3NzdfMjU2eDI0MC5wbmdcIik7XG59XG5cbi8qIHBvc2l0aW9uaW5nICovXG4udWktaWNvbi1ibGFuayB7IGJhY2tncm91bmQtcG9zaXRpb246IDE2cHggMTZweDsgfVxuLnVpLWljb24tY2FyZXQtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4udWktaWNvbi1jYXJldC0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggMDsgfVxuLnVpLWljb24tY2FyZXQtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggMDsgfVxuLnVpLWljb24tY2FyZXQtMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IDA7IH1cbi51aS1pY29uLWNhcmV0LTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NXB4IDA7IH1cbi51aS1pY29uLWNhcmV0LTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAwOyB9XG4udWktaWNvbi1jYXJldC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAwOyB9XG4udWktaWNvbi1jYXJldC0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IDA7IH1cbi51aS1pY29uLWNhcmV0LTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IDA7IH1cbi51aS1pY29uLWNhcmV0LTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IDA7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTEtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY1cHggLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNnB4OyB9XG4udWktaWNvbi10cmlhbmdsZS0yLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTZweDsgfVxuLnVpLWljb24tYXJyb3ctMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjVweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTItbmUtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0yLXNlLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvd3N0b3AtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvd3N0b3AtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvd3N0b3AtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvd3N0b3AtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDFweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTItbmUtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMi1zZS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJuLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC02NHB4OyB9XG4udWktaWNvbi1hcnJvd3JldHVybi0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZXR1cm4tMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJuLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3ctNCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgwcHg7IH1cbi51aS1pY29uLWFycm93LTQtZGlhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC04MHB4OyB9XG4udWktaWNvbi1leHRsaW5rIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTgwcHg7IH1cbi51aS1pY29uLW5ld3dpbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC04MHB4OyB9XG4udWktaWNvbi1yZWZyZXNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTgwcHg7IH1cbi51aS1pY29uLXNodWZmbGUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtODBweDsgfVxuLnVpLWljb24tdHJhbnNmZXItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTgwcHg7IH1cbi51aS1pY29uLXRyYW5zZmVydGhpY2stZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC04MHB4OyB9XG4udWktaWNvbi1mb2xkZXItY29sbGFwc2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTZweDsgfVxuLnVpLWljb24tZm9sZGVyLW9wZW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtOTZweDsgfVxuLnVpLWljb24tZG9jdW1lbnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTZweDsgfVxuLnVpLWljb24tZG9jdW1lbnQtYiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC05NnB4OyB9XG4udWktaWNvbi1ub3RlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTk2cHg7IH1cbi51aS1pY29uLW1haWwtY2xvc2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTk2cHg7IH1cbi51aS1pY29uLW1haWwtb3BlbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC05NnB4OyB9XG4udWktaWNvbi1zdWl0Y2FzZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTZweDsgfVxuLnVpLWljb24tY29tbWVudCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtOTZweDsgfVxuLnVpLWljb24tcGVyc29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC05NnB4OyB9XG4udWktaWNvbi1wcmludCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtOTZweDsgfVxuLnVpLWljb24tdHJhc2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTk2cHg7IH1cbi51aS1pY29uLWxvY2tlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtOTZweDsgfVxuLnVpLWljb24tdW5sb2NrZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTk2cHg7IH1cbi51aS1pY29uLWJvb2ttYXJrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC05NnB4OyB9XG4udWktaWNvbi10YWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTk2cHg7IH1cbi51aS1pY29uLWhvbWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMTJweDsgfVxuLnVpLWljb24tZmxhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xMTJweDsgfVxuLnVpLWljb24tY2FsZW5kYXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTEycHg7IH1cbi51aS1pY29uLWNhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTEycHg7IH1cbi51aS1pY29uLXBlbmNpbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xMTJweDsgfVxuLnVpLWljb24tY2xvY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTEycHg7IH1cbi51aS1pY29uLWRpc2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTEycHg7IH1cbi51aS1pY29uLWNhbGN1bGF0b3IgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTExMnB4OyB9XG4udWktaWNvbi16b29taW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTExMnB4OyB9XG4udWktaWNvbi16b29tb3V0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMTJweDsgfVxuLnVpLWljb24tc2VhcmNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xMTJweDsgfVxuLnVpLWljb24td3JlbmNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xMTJweDsgfVxuLnVpLWljb24tZ2VhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTEycHg7IH1cbi51aS1pY29uLWhlYXJ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xMTJweDsgfVxuLnVpLWljb24tc3RhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtMTEycHg7IH1cbi51aS1pY29uLWxpbmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTExMnB4OyB9XG4udWktaWNvbi1jYW5jZWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjhweDsgfVxuLnVpLWljb24tcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xMjhweDsgfVxuLnVpLWljb24tcGx1c3RoaWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTEyOHB4OyB9XG4udWktaWNvbi1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xMjhweDsgfVxuLnVpLWljb24tbWludXN0aGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xMjhweDsgfVxuLnVpLWljb24tY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTI4cHg7IH1cbi51aS1pY29uLWNsb3NldGhpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTI4cHg7IH1cbi51aS1pY29uLWtleSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTI4cHg7IH1cbi51aS1pY29uLWxpZ2h0YnVsYiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTI4cHg7IH1cbi51aS1pY29uLXNjaXNzb3JzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMjhweDsgfVxuLnVpLWljb24tY2xpcGJvYXJkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xMjhweDsgfVxuLnVpLWljb24tY29weSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTI4cHg7IH1cbi51aS1pY29uLWNvbnRhY3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTEyOHB4OyB9XG4udWktaWNvbi1pbWFnZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTI4cHg7IH1cbi51aS1pY29uLXZpZGVvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0xMjhweDsgfVxuLnVpLWljb24tc2NyaXB0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0xMjhweDsgfVxuLnVpLWljb24tYWxlcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDRweDsgfVxuLnVpLWljb24taW5mbyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNDRweDsgfVxuLnVpLWljb24tbm90aWNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE0NHB4OyB9XG4udWktaWNvbi1oZWxwIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE0NHB4OyB9XG4udWktaWNvbi1jaGVjayB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNDRweDsgfVxuLnVpLWljb24tYnVsbGV0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE0NHB4OyB9XG4udWktaWNvbi1yYWRpby1vbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNDRweDsgfVxuLnVpLWljb24tcmFkaW8tb2ZmIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNDRweDsgfVxuLnVpLWljb24tcGluLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE0NHB4OyB9XG4udWktaWNvbi1waW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTQ0cHg7IH1cbi51aS1pY29uLXBsYXkgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNjBweDsgfVxuLnVpLWljb24tcGF1c2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTYwcHg7IH1cbi51aS1pY29uLXNlZWstbmV4dCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNjBweDsgfVxuLnVpLWljb24tc2Vlay1wcmV2IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE2MHB4OyB9XG4udWktaWNvbi1zZWVrLWVuZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNjBweDsgfVxuLnVpLWljb24tc2Vlay1zdGFydCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNjBweDsgfVxuLyogdWktaWNvbi1zZWVrLWZpcnN0IGlzIGRlcHJlY2F0ZWQsIHVzZSB1aS1pY29uLXNlZWstc3RhcnQgaW5zdGVhZCAqL1xuLnVpLWljb24tc2Vlay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNjBweDsgfVxuLnVpLWljb24tc3RvcCB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNjBweDsgfVxuLnVpLWljb24tZWplY3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE2MHB4OyB9XG4udWktaWNvbi12b2x1bWUtb2ZmIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNjBweDsgfVxuLnVpLWljb24tdm9sdW1lLW9uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNjBweDsgfVxuLnVpLWljb24tcG93ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNzZweDsgfVxuLnVpLWljb24tc2lnbmFsLWRpYWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTc2cHg7IH1cbi51aS1pY29uLXNpZ25hbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNzZweDsgfVxuLnVpLWljb24tYmF0dGVyeS0wIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE3NnB4OyB9XG4udWktaWNvbi1iYXR0ZXJ5LTEgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTc2cHg7IH1cbi51aS1pY29uLWJhdHRlcnktMiB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNzZweDsgfVxuLnVpLWljb24tYmF0dGVyeS0zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE3NnB4OyB9XG4udWktaWNvbi1jaXJjbGUtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtbWludXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS1hcnJvdy1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLWFycm93LXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtYXJyb3ctdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS1hcnJvdy1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLXpvb21pbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS16b29tb3V0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLWNoZWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlc21hbGwtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwOHB4OyB9XG4udWktaWNvbi1jaXJjbGVzbWFsbC1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0yMDhweDsgfVxuLnVpLWljb24tY2lyY2xlc21hbGwtY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMjA4cHg7IH1cbi51aS1pY29uLXNxdWFyZXNtYWxsLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMjA4cHg7IH1cbi51aS1pY29uLXNxdWFyZXNtYWxsLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTIwOHB4OyB9XG4udWktaWNvbi1zcXVhcmVzbWFsbC1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0yMDhweDsgfVxuLnVpLWljb24tZ3JpcC1kb3R0ZWQtdmVydGljYWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMjRweDsgfVxuLnVpLWljb24tZ3JpcC1kb3R0ZWQtaG9yaXpvbnRhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0yMjRweDsgfVxuLnVpLWljb24tZ3JpcC1zb2xpZC12ZXJ0aWNhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0yMjRweDsgfVxuLnVpLWljb24tZ3JpcC1zb2xpZC1ob3Jpem9udGFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTIyNHB4OyB9XG4udWktaWNvbi1ncmlwc21hbGwtZGlhZ29uYWwtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMjI0cHg7IH1cbi51aS1pY29uLWdyaXAtZGlhZ29uYWwtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjI0cHg7IH1cblxuXG4vKiBNaXNjIHZpc3VhbHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBDb3JuZXIgcmFkaXVzICovXG4udWktY29ybmVyLWFsbCxcbi51aS1jb3JuZXItdG9wLFxuLnVpLWNvcm5lci1sZWZ0LFxuLnVpLWNvcm5lci10bCB7XG5cdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbn1cbi51aS1jb3JuZXItYWxsLFxuLnVpLWNvcm5lci10b3AsXG4udWktY29ybmVyLXJpZ2h0LFxuLnVpLWNvcm5lci10ciB7XG5cdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG59XG4udWktY29ybmVyLWFsbCxcbi51aS1jb3JuZXItYm90dG9tLFxuLnVpLWNvcm5lci1sZWZ0LFxuLnVpLWNvcm5lci1ibCB7XG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbn1cbi51aS1jb3JuZXItYWxsLFxuLnVpLWNvcm5lci1ib3R0b20sXG4udWktY29ybmVyLXJpZ2h0LFxuLnVpLWNvcm5lci1iciB7XG5cdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG59XG5cbi8qIE92ZXJsYXlzICovXG4udWktd2lkZ2V0LW92ZXJsYXkge1xuXHRiYWNrZ3JvdW5kOiAjYWFhYWFhO1xuXHRvcGFjaXR5OiAuMztcblx0ZmlsdGVyOiBBbHBoYShPcGFjaXR5PTMwKTsgLyogc3VwcG9ydDogSUU4ICovXG59XG4udWktd2lkZ2V0LXNoYWRvdyB7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCA1cHggIzY2NjY2Njtcblx0Ym94LXNoYWRvdzogMHB4IDBweCA1cHggIzY2NjY2Njtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi5hbmltYXRlZCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICYuaW5maW5pdGUge1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICB9XG4gICYuaGluZ2Uge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gIH1cbiAgJi5mbGlwT3V0WCB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzO1xuICB9XG4gICYuZmxpcE91dFkge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcbiAgfVxuICAmLmJvdW5jZUluIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IC43NXM7XG4gIH1cbiAgJi5ib3VuY2VPdXQge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcbiAgfVxuICAmLmZsaXAge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBhbmltYXRpb24tbmFtZTogZmxpcDtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICB9XG4gIDIwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cbiAgNTMlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuICA4MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuICA0MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICB9XG4gIDQzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gIH1cbiAgNzAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgfVxuICA5MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuICAyMCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICB9XG4gIDUzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cbiAgODAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuICB0byB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cbiAgNDAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgfVxuICA0MyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICB9XG4gIDcwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gIH1cbn1cbi5ib3VuY2Uge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xuICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxhc2gge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAyNSUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNzUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZsYXNoIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMjUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmZsYXNoIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbiAgNTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuICA1MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuLnB1bHNlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuICAzMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gIH1cbiAgNTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuICA2NSUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcbiAgfVxuICA3NSUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG4gIDMwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gIH1cbiAgNDAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgfVxuICA1MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICB9XG4gIDY1JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpO1xuICB9XG4gIDc1JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuLnJ1YmJlckJhbmQge1xuICBhbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZSB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgMTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgMzAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgNTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgNzAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgMjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxuICA2MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbiAgODAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNoYWtlIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICAxMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuICAzMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuICA1MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuICA3MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuICA5MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuICAyMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbiAgNDAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxuICA4MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbn1cbi5zaGFrZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBoZWFkU2hha2Uge1xuICAwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAwLjUlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgfVxuICAxLjUlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICB9XG4gIDIuNSUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICB9XG4gIDMuNSUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgaGVhZFNoYWtlIHtcbiAgMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIDUwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgMC41JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gIH1cbiAgMS41JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgfVxuICAyLjUlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgfVxuICAzLjUlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICB9XG59XG4uaGVhZFNoYWtlIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgfVxuICA0MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgfVxuICA4MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gIH1cbiAgNjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICB9XG4gIDgwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICB9XG59XG4uc3dpbmcge1xuICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB0YWRhIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbiAgMTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG4gIDIwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuICAzMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG4gIDUwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cbiAgNzAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuICA5MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuICA2MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cbiAgODAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyB0YWRhIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbiAgMTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG4gIDIwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuICAzMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG4gIDUwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cbiAgNzAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuICA5MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuICA2MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cbiAgODAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuLnRhZGEge1xuICBhbmltYXRpb24tbmFtZTogdGFkYTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB3b2JibGUge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAxNSUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuICAzMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG4gIDQ1JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cbiAgNzUlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuQGtleWZyYW1lcyB3b2JibGUge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAxNSUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuICAzMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG4gIDQ1JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cbiAgNzUlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLndvYmJsZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgamVsbG8ge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgMC4xJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgMS4yJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gIH1cbiAgMi4zJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgfVxuICAzLjQlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gIH1cbiAgNC41JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICB9XG4gIDUuNiUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG4gIDYuNyUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICB9XG4gIDcuOCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgamVsbG8ge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgMC4xJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgMS4yJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gIH1cbiAgMi4zJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgfVxuICAzLjQlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gIH1cbiAgNC41JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICB9XG4gIDUuNiUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG4gIDYuNyUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICB9XG4gIDcuOCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gIH1cbn1cbi5qZWxsbyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBqZWxsbztcbiAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG4gIDIwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuICA0MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cbiAgNjAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cbiAgODAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG4gIDIwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuICA0MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cbiAgNjAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cbiAgODAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cbn1cbi5ib3VuY2VJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG4gIDYwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gIH1cbiAgNzUlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuICA5MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG4gIDYwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gIH1cbiAgNzUlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuICA5MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgfVxufVxuLmJvdW5jZUluRG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuICA2MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuICA2MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gIH1cbn1cbi5ib3VuY2VJbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gIH1cbiAgNjAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG4gIDkwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gIH1cbiAgNjAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG4gIDkwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4uYm91bmNlSW5SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gIH1cbiAgNjAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG4gIDkwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgfVxuICA2MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cbiAgNzUlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmJvdW5jZUluVXAge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXQge1xuICAyMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuICA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cbiAgNTUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG59XG4uYm91bmNlT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuLmJvdW5jZU91dERvd24ge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuLmJvdW5jZU91dExlZnQge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG4uYm91bmNlT3V0UmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgfVxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gIH1cbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuLmJvdW5jZU91dFVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmZhZGVJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLmZhZGVJbkRvd24ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi5mYWRlSW5Eb3duQmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLmZhZGVJbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi5mYWRlSW5MZWZ0QmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi5mYWRlSW5SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4uZmFkZUluUmlnaHRCaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi5mYWRlSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4uZmFkZUluVXBCaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5mYWRlT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cbi5mYWRlT3V0RG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG4uZmFkZU91dERvd25CaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG4uZmFkZU91dExlZnQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbi5mYWRlT3V0TGVmdEJpZyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG4uZmFkZU91dFJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbi5mYWRlT3V0UmlnaHRCaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG4uZmFkZU91dFVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG4uZmFkZU91dFVwQmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cbiAgNTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIDgwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuQGtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cbiAgNTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIDgwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblgge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNDAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbiAgNjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDgwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuQGtleWZyYW1lcyBmbGlwSW5YIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA4MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cbi5mbGlwSW5YIHtcbiAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSlcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA4MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmxpcEluWSB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA0MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuICA2MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgODAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG4uZmxpcEluWSB7XG4gIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFgge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbiAgMzAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmxpcE91dFgge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbiAgMzAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5mbGlwT3V0WCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSlcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG4gIDMwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG4gIDMwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uZmxpcE91dFkge1xuICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KVxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgODAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgODAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmxpZ2h0U3BlZWRJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5saWdodFNwZWVkT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4ge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLnJvdGF0ZUluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLnJvdGF0ZUluRG93bkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLnJvdGF0ZUluRG93blJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5yb3RhdGVJblVwTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLnJvdGF0ZUluVXBSaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5yb3RhdGVPdXQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5yb3RhdGVPdXREb3duTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLnJvdGF0ZU91dERvd25SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLnJvdGF0ZU91dFVwTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4ucm90YXRlT3V0VXBSaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGhpbmdlIHtcbiAgMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuICAyMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cbiAgNjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDgwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cbiAgMjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuICA0MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA4MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5oaW5nZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuQGtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLnJvbGxJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gIH1cbn1cbi5yb2xsT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi56b29tSW4ge1xuICBhbmltYXRpb24tbmFtZTogem9vbUluO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cbi56b29tSW5Eb3duIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21JbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuLnpvb21JbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogem9vbUluTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cbi56b29tSW5SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cbi56b29tSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uem9vbU91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG4uem9vbU91dERvd24ge1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dExlZnQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICB9XG59XG4uem9vbU91dExlZnQge1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuLnpvb21PdXRSaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21PdXRVcCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuLnpvb21PdXRVcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uc2xpZGVJbkRvd24ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uc2xpZGVJbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLnNsaWRlSW5SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLnNsaWRlSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cbi5zbGlkZU91dERvd24ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuLnNsaWRlT3V0TGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuLnNsaWRlT3V0UmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuLnNsaWRlT3V0VXAge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbn0iLCIvKiFcbiAqICBGb250IEF3ZXNvbWUgNC40LjAgYnkgQGRhdmVnYW5keSAtIGh0dHA6Ly9mb250YXdlc29tZS5pbyAtIEBmb250YXdlc29tZVxuICogIExpY2Vuc2UgLSBodHRwOi8vZm9udGF3ZXNvbWUuaW8vbGljZW5zZSAoRm9udDogU0lMIE9GTCAxLjEsIENTUzogTUlUIExpY2Vuc2UpXG4gKi9cblxuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcInBhdGhcIjtcbkBpbXBvcnQgXCJjb3JlXCI7XG5AaW1wb3J0IFwibGFyZ2VyXCI7XG5AaW1wb3J0IFwiZml4ZWQtd2lkdGhcIjtcbkBpbXBvcnQgXCJsaXN0XCI7XG5AaW1wb3J0IFwiYm9yZGVyZWQtcHVsbGVkXCI7XG5AaW1wb3J0IFwiYW5pbWF0ZWRcIjtcbkBpbXBvcnQgXCJyb3RhdGVkLWZsaXBwZWRcIjtcbkBpbXBvcnQgXCJzdGFja2VkXCI7XG5AaW1wb3J0IFwiaWNvbnNcIjtcbiIsIi8qIEZPTlQgUEFUSFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LmVvdD92PSN7JGZhLXZlcnNpb259Jyk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQuZW90PyNpZWZpeCZ2PSN7JGZhLXZlcnNpb259JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LndvZmYyP3Y9I3skZmEtdmVyc2lvbn0nKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZj92PSN7JGZhLXZlcnNpb259JykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQudHRmP3Y9I3skZmEtdmVyc2lvbn0nKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQuc3ZnP3Y9I3skZmEtdmVyc2lvbn0jZm9udGF3ZXNvbWVyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbi8vICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9Gb250QXdlc29tZS5vdGYnKSBmb3JtYXQoJ29wZW50eXBlJyk7IC8vIHVzZWQgd2hlbiBkZXZlbG9waW5nIGZvbnRzXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbiIsIi8vIEJhc2UgQ2xhc3MgRGVmaW5pdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsICN7JGZhLWZvbnQtc2l6ZS1iYXNlfS8jeyRmYS1saW5lLWhlaWdodC1iYXNlfSBGb250QXdlc29tZTsgLy8gc2hvcnRlbmluZyBmb250IGRlY2xhcmF0aW9uXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgLy8gY2FuJ3QgaGF2ZSBmb250LXNpemUgaW5oZXJpdCBvbiBsaW5lIGFib3ZlLCBzbyBuZWVkIHRvIG92ZXJyaWRlXG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvOyAvLyBvcHRpbWl6ZWxlZ2liaWxpdHkgdGhyb3dzIHRoaW5ncyBvZmYgIzEwOTRcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuIiwiLy8gSWNvbiBTaXplc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKiBtYWtlcyB0aGUgZm9udCAzMyUgbGFyZ2VyIHJlbGF0aXZlIHRvIHRoZSBpY29uIGNvbnRhaW5lciAqL1xuLiN7JGZhLWNzcy1wcmVmaXh9LWxnIHtcbiAgZm9udC1zaXplOiAoNGVtIC8gMyk7XG4gIGxpbmUtaGVpZ2h0OiAoM2VtIC8gNCk7XG4gIHZlcnRpY2FsLWFsaWduOiAtMTUlO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LTJ4IHsgZm9udC1zaXplOiAyZW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS0zeCB7IGZvbnQtc2l6ZTogM2VtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tNHggeyBmb250LXNpemU6IDRlbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LTV4IHsgZm9udC1zaXplOiA1ZW07IH1cbiIsIi8vIEZpeGVkIFdpZHRoIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uI3skZmEtY3NzLXByZWZpeH0tZncge1xuICB3aWR0aDogKDE4ZW0gLyAxNCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIi8vIExpc3QgSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXVsIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogJGZhLWxpLXdpZHRoO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gID4gbGkgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbn1cbi4jeyRmYS1jc3MtcHJlZml4fS1saSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLSRmYS1saS13aWR0aDtcbiAgd2lkdGg6ICRmYS1saS13aWR0aDtcbiAgdG9wOiAoMmVtIC8gMTQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICYuI3skZmEtY3NzLXByZWZpeH0tbGcge1xuICAgIGxlZnQ6IC0kZmEtbGktd2lkdGggKyAoNGVtIC8gMTQpO1xuICB9XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmYS1mb250LXBhdGg6ICAgICAgICBcIi4uL2ZvbnRzXCIgIWRlZmF1bHQ7XG4kZmEtZm9udC1zaXplLWJhc2U6ICAgMTRweCAhZGVmYXVsdDtcbiRmYS1saW5lLWhlaWdodC1iYXNlOiAxICFkZWZhdWx0O1xuLy8kZmEtZm9udC1wYXRoOiAgICAgICAgXCIvL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjQuMC9mb250c1wiICFkZWZhdWx0OyAvLyBmb3IgcmVmZXJlbmNpbmcgQm9vdHN0cmFwIENETiBmb250IGZpbGVzIGRpcmVjdGx5XG4kZmEtY3NzLXByZWZpeDogICAgICAgZmEgIWRlZmF1bHQ7XG4kZmEtdmVyc2lvbjogICAgICAgICAgXCI0LjQuMFwiICFkZWZhdWx0O1xuJGZhLWJvcmRlci1jb2xvcjogICAgICNlZWUgIWRlZmF1bHQ7XG4kZmEtaW52ZXJzZTogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRmYS1saS13aWR0aDogICAgICAgICAoMzBlbSAvIDE0KSAhZGVmYXVsdDtcblxuJGZhLXZhci01MDBweDogXCJcXGYyNmVcIjtcbiRmYS12YXItYWRqdXN0OiBcIlxcZjA0MlwiO1xuJGZhLXZhci1hZG46IFwiXFxmMTcwXCI7XG4kZmEtdmFyLWFsaWduLWNlbnRlcjogXCJcXGYwMzdcIjtcbiRmYS12YXItYWxpZ24tanVzdGlmeTogXCJcXGYwMzlcIjtcbiRmYS12YXItYWxpZ24tbGVmdDogXCJcXGYwMzZcIjtcbiRmYS12YXItYWxpZ24tcmlnaHQ6IFwiXFxmMDM4XCI7XG4kZmEtdmFyLWFtYXpvbjogXCJcXGYyNzBcIjtcbiRmYS12YXItYW1idWxhbmNlOiBcIlxcZjBmOVwiO1xuJGZhLXZhci1hbmNob3I6IFwiXFxmMTNkXCI7XG4kZmEtdmFyLWFuZHJvaWQ6IFwiXFxmMTdiXCI7XG4kZmEtdmFyLWFuZ2VsbGlzdDogXCJcXGYyMDlcIjtcbiRmYS12YXItYW5nbGUtZG91YmxlLWRvd246IFwiXFxmMTAzXCI7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1sZWZ0OiBcIlxcZjEwMFwiO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtcmlnaHQ6IFwiXFxmMTAxXCI7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS11cDogXCJcXGYxMDJcIjtcbiRmYS12YXItYW5nbGUtZG93bjogXCJcXGYxMDdcIjtcbiRmYS12YXItYW5nbGUtbGVmdDogXCJcXGYxMDRcIjtcbiRmYS12YXItYW5nbGUtcmlnaHQ6IFwiXFxmMTA1XCI7XG4kZmEtdmFyLWFuZ2xlLXVwOiBcIlxcZjEwNlwiO1xuJGZhLXZhci1hcHBsZTogXCJcXGYxNzlcIjtcbiRmYS12YXItYXJjaGl2ZTogXCJcXGYxODdcIjtcbiRmYS12YXItYXJlYS1jaGFydDogXCJcXGYxZmVcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLWRvd246IFwiXFxmMGFiXCI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1sZWZ0OiBcIlxcZjBhOFwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtby1kb3duOiBcIlxcZjAxYVwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtby1sZWZ0OiBcIlxcZjE5MFwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtby1yaWdodDogXCJcXGYxOGVcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLW8tdXA6IFwiXFxmMDFiXCI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1yaWdodDogXCJcXGYwYTlcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLXVwOiBcIlxcZjBhYVwiO1xuJGZhLXZhci1hcnJvdy1kb3duOiBcIlxcZjA2M1wiO1xuJGZhLXZhci1hcnJvdy1sZWZ0OiBcIlxcZjA2MFwiO1xuJGZhLXZhci1hcnJvdy1yaWdodDogXCJcXGYwNjFcIjtcbiRmYS12YXItYXJyb3ctdXA6IFwiXFxmMDYyXCI7XG4kZmEtdmFyLWFycm93czogXCJcXGYwNDdcIjtcbiRmYS12YXItYXJyb3dzLWFsdDogXCJcXGYwYjJcIjtcbiRmYS12YXItYXJyb3dzLWg6IFwiXFxmMDdlXCI7XG4kZmEtdmFyLWFycm93cy12OiBcIlxcZjA3ZFwiO1xuJGZhLXZhci1hc3RlcmlzazogXCJcXGYwNjlcIjtcbiRmYS12YXItYXQ6IFwiXFxmMWZhXCI7XG4kZmEtdmFyLWF1dG9tb2JpbGU6IFwiXFxmMWI5XCI7XG4kZmEtdmFyLWJhY2t3YXJkOiBcIlxcZjA0YVwiO1xuJGZhLXZhci1iYWxhbmNlLXNjYWxlOiBcIlxcZjI0ZVwiO1xuJGZhLXZhci1iYW46IFwiXFxmMDVlXCI7XG4kZmEtdmFyLWJhbms6IFwiXFxmMTljXCI7XG4kZmEtdmFyLWJhci1jaGFydDogXCJcXGYwODBcIjtcbiRmYS12YXItYmFyLWNoYXJ0LW86IFwiXFxmMDgwXCI7XG4kZmEtdmFyLWJhcmNvZGU6IFwiXFxmMDJhXCI7XG4kZmEtdmFyLWJhcnM6IFwiXFxmMGM5XCI7XG4kZmEtdmFyLWJhdHRlcnktMDogXCJcXGYyNDRcIjtcbiRmYS12YXItYmF0dGVyeS0xOiBcIlxcZjI0M1wiO1xuJGZhLXZhci1iYXR0ZXJ5LTI6IFwiXFxmMjQyXCI7XG4kZmEtdmFyLWJhdHRlcnktMzogXCJcXGYyNDFcIjtcbiRmYS12YXItYmF0dGVyeS00OiBcIlxcZjI0MFwiO1xuJGZhLXZhci1iYXR0ZXJ5LWVtcHR5OiBcIlxcZjI0NFwiO1xuJGZhLXZhci1iYXR0ZXJ5LWZ1bGw6IFwiXFxmMjQwXCI7XG4kZmEtdmFyLWJhdHRlcnktaGFsZjogXCJcXGYyNDJcIjtcbiRmYS12YXItYmF0dGVyeS1xdWFydGVyOiBcIlxcZjI0M1wiO1xuJGZhLXZhci1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOiBcIlxcZjI0MVwiO1xuJGZhLXZhci1iZWQ6IFwiXFxmMjM2XCI7XG4kZmEtdmFyLWJlZXI6IFwiXFxmMGZjXCI7XG4kZmEtdmFyLWJlaGFuY2U6IFwiXFxmMWI0XCI7XG4kZmEtdmFyLWJlaGFuY2Utc3F1YXJlOiBcIlxcZjFiNVwiO1xuJGZhLXZhci1iZWxsOiBcIlxcZjBmM1wiO1xuJGZhLXZhci1iZWxsLW86IFwiXFxmMGEyXCI7XG4kZmEtdmFyLWJlbGwtc2xhc2g6IFwiXFxmMWY2XCI7XG4kZmEtdmFyLWJlbGwtc2xhc2gtbzogXCJcXGYxZjdcIjtcbiRmYS12YXItYmljeWNsZTogXCJcXGYyMDZcIjtcbiRmYS12YXItYmlub2N1bGFyczogXCJcXGYxZTVcIjtcbiRmYS12YXItYmlydGhkYXktY2FrZTogXCJcXGYxZmRcIjtcbiRmYS12YXItYml0YnVja2V0OiBcIlxcZjE3MVwiO1xuJGZhLXZhci1iaXRidWNrZXQtc3F1YXJlOiBcIlxcZjE3MlwiO1xuJGZhLXZhci1iaXRjb2luOiBcIlxcZjE1YVwiO1xuJGZhLXZhci1ibGFjay10aWU6IFwiXFxmMjdlXCI7XG4kZmEtdmFyLWJvbGQ6IFwiXFxmMDMyXCI7XG4kZmEtdmFyLWJvbHQ6IFwiXFxmMGU3XCI7XG4kZmEtdmFyLWJvbWI6IFwiXFxmMWUyXCI7XG4kZmEtdmFyLWJvb2s6IFwiXFxmMDJkXCI7XG4kZmEtdmFyLWJvb2ttYXJrOiBcIlxcZjAyZVwiO1xuJGZhLXZhci1ib29rbWFyay1vOiBcIlxcZjA5N1wiO1xuJGZhLXZhci1icmllZmNhc2U6IFwiXFxmMGIxXCI7XG4kZmEtdmFyLWJ0YzogXCJcXGYxNWFcIjtcbiRmYS12YXItYnVnOiBcIlxcZjE4OFwiO1xuJGZhLXZhci1idWlsZGluZzogXCJcXGYxYWRcIjtcbiRmYS12YXItYnVpbGRpbmctbzogXCJcXGYwZjdcIjtcbiRmYS12YXItYnVsbGhvcm46IFwiXFxmMGExXCI7XG4kZmEtdmFyLWJ1bGxzZXllOiBcIlxcZjE0MFwiO1xuJGZhLXZhci1idXM6IFwiXFxmMjA3XCI7XG4kZmEtdmFyLWJ1eXNlbGxhZHM6IFwiXFxmMjBkXCI7XG4kZmEtdmFyLWNhYjogXCJcXGYxYmFcIjtcbiRmYS12YXItY2FsY3VsYXRvcjogXCJcXGYxZWNcIjtcbiRmYS12YXItY2FsZW5kYXI6IFwiXFxmMDczXCI7XG4kZmEtdmFyLWNhbGVuZGFyLWNoZWNrLW86IFwiXFxmMjc0XCI7XG4kZmEtdmFyLWNhbGVuZGFyLW1pbnVzLW86IFwiXFxmMjcyXCI7XG4kZmEtdmFyLWNhbGVuZGFyLW86IFwiXFxmMTMzXCI7XG4kZmEtdmFyLWNhbGVuZGFyLXBsdXMtbzogXCJcXGYyNzFcIjtcbiRmYS12YXItY2FsZW5kYXItdGltZXMtbzogXCJcXGYyNzNcIjtcbiRmYS12YXItY2FtZXJhOiBcIlxcZjAzMFwiO1xuJGZhLXZhci1jYW1lcmEtcmV0cm86IFwiXFxmMDgzXCI7XG4kZmEtdmFyLWNhcjogXCJcXGYxYjlcIjtcbiRmYS12YXItY2FyZXQtZG93bjogXCJcXGYwZDdcIjtcbiRmYS12YXItY2FyZXQtbGVmdDogXCJcXGYwZDlcIjtcbiRmYS12YXItY2FyZXQtcmlnaHQ6IFwiXFxmMGRhXCI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1vLWRvd246IFwiXFxmMTUwXCI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1vLWxlZnQ6IFwiXFxmMTkxXCI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1vLXJpZ2h0OiBcIlxcZjE1MlwiO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtby11cDogXCJcXGYxNTFcIjtcbiRmYS12YXItY2FyZXQtdXA6IFwiXFxmMGQ4XCI7XG4kZmEtdmFyLWNhcnQtYXJyb3ctZG93bjogXCJcXGYyMThcIjtcbiRmYS12YXItY2FydC1wbHVzOiBcIlxcZjIxN1wiO1xuJGZhLXZhci1jYzogXCJcXGYyMGFcIjtcbiRmYS12YXItY2MtYW1leDogXCJcXGYxZjNcIjtcbiRmYS12YXItY2MtZGluZXJzLWNsdWI6IFwiXFxmMjRjXCI7XG4kZmEtdmFyLWNjLWRpc2NvdmVyOiBcIlxcZjFmMlwiO1xuJGZhLXZhci1jYy1qY2I6IFwiXFxmMjRiXCI7XG4kZmEtdmFyLWNjLW1hc3RlcmNhcmQ6IFwiXFxmMWYxXCI7XG4kZmEtdmFyLWNjLXBheXBhbDogXCJcXGYxZjRcIjtcbiRmYS12YXItY2Mtc3RyaXBlOiBcIlxcZjFmNVwiO1xuJGZhLXZhci1jYy12aXNhOiBcIlxcZjFmMFwiO1xuJGZhLXZhci1jZXJ0aWZpY2F0ZTogXCJcXGYwYTNcIjtcbiRmYS12YXItY2hhaW46IFwiXFxmMGMxXCI7XG4kZmEtdmFyLWNoYWluLWJyb2tlbjogXCJcXGYxMjdcIjtcbiRmYS12YXItY2hlY2s6IFwiXFxmMDBjXCI7XG4kZmEtdmFyLWNoZWNrLWNpcmNsZTogXCJcXGYwNThcIjtcbiRmYS12YXItY2hlY2stY2lyY2xlLW86IFwiXFxmMDVkXCI7XG4kZmEtdmFyLWNoZWNrLXNxdWFyZTogXCJcXGYxNGFcIjtcbiRmYS12YXItY2hlY2stc3F1YXJlLW86IFwiXFxmMDQ2XCI7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLWRvd246IFwiXFxmMTNhXCI7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLWxlZnQ6IFwiXFxmMTM3XCI7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLXJpZ2h0OiBcIlxcZjEzOFwiO1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cDogXCJcXGYxMzlcIjtcbiRmYS12YXItY2hldnJvbi1kb3duOiBcIlxcZjA3OFwiO1xuJGZhLXZhci1jaGV2cm9uLWxlZnQ6IFwiXFxmMDUzXCI7XG4kZmEtdmFyLWNoZXZyb24tcmlnaHQ6IFwiXFxmMDU0XCI7XG4kZmEtdmFyLWNoZXZyb24tdXA6IFwiXFxmMDc3XCI7XG4kZmEtdmFyLWNoaWxkOiBcIlxcZjFhZVwiO1xuJGZhLXZhci1jaHJvbWU6IFwiXFxmMjY4XCI7XG4kZmEtdmFyLWNpcmNsZTogXCJcXGYxMTFcIjtcbiRmYS12YXItY2lyY2xlLW86IFwiXFxmMTBjXCI7XG4kZmEtdmFyLWNpcmNsZS1vLW5vdGNoOiBcIlxcZjFjZVwiO1xuJGZhLXZhci1jaXJjbGUtdGhpbjogXCJcXGYxZGJcIjtcbiRmYS12YXItY2xpcGJvYXJkOiBcIlxcZjBlYVwiO1xuJGZhLXZhci1jbG9jay1vOiBcIlxcZjAxN1wiO1xuJGZhLXZhci1jbG9uZTogXCJcXGYyNGRcIjtcbiRmYS12YXItY2xvc2U6IFwiXFxmMDBkXCI7XG4kZmEtdmFyLWNsb3VkOiBcIlxcZjBjMlwiO1xuJGZhLXZhci1jbG91ZC1kb3dubG9hZDogXCJcXGYwZWRcIjtcbiRmYS12YXItY2xvdWQtdXBsb2FkOiBcIlxcZjBlZVwiO1xuJGZhLXZhci1jbnk6IFwiXFxmMTU3XCI7XG4kZmEtdmFyLWNvZGU6IFwiXFxmMTIxXCI7XG4kZmEtdmFyLWNvZGUtZm9yazogXCJcXGYxMjZcIjtcbiRmYS12YXItY29kZXBlbjogXCJcXGYxY2JcIjtcbiRmYS12YXItY29mZmVlOiBcIlxcZjBmNFwiO1xuJGZhLXZhci1jb2c6IFwiXFxmMDEzXCI7XG4kZmEtdmFyLWNvZ3M6IFwiXFxmMDg1XCI7XG4kZmEtdmFyLWNvbHVtbnM6IFwiXFxmMGRiXCI7XG4kZmEtdmFyLWNvbW1lbnQ6IFwiXFxmMDc1XCI7XG4kZmEtdmFyLWNvbW1lbnQtbzogXCJcXGYwZTVcIjtcbiRmYS12YXItY29tbWVudGluZzogXCJcXGYyN2FcIjtcbiRmYS12YXItY29tbWVudGluZy1vOiBcIlxcZjI3YlwiO1xuJGZhLXZhci1jb21tZW50czogXCJcXGYwODZcIjtcbiRmYS12YXItY29tbWVudHMtbzogXCJcXGYwZTZcIjtcbiRmYS12YXItY29tcGFzczogXCJcXGYxNGVcIjtcbiRmYS12YXItY29tcHJlc3M6IFwiXFxmMDY2XCI7XG4kZmEtdmFyLWNvbm5lY3RkZXZlbG9wOiBcIlxcZjIwZVwiO1xuJGZhLXZhci1jb250YW86IFwiXFxmMjZkXCI7XG4kZmEtdmFyLWNvcHk6IFwiXFxmMGM1XCI7XG4kZmEtdmFyLWNvcHlyaWdodDogXCJcXGYxZjlcIjtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9uczogXCJcXGYyNWVcIjtcbiRmYS12YXItY3JlZGl0LWNhcmQ6IFwiXFxmMDlkXCI7XG4kZmEtdmFyLWNyb3A6IFwiXFxmMTI1XCI7XG4kZmEtdmFyLWNyb3NzaGFpcnM6IFwiXFxmMDViXCI7XG4kZmEtdmFyLWNzczM6IFwiXFxmMTNjXCI7XG4kZmEtdmFyLWN1YmU6IFwiXFxmMWIyXCI7XG4kZmEtdmFyLWN1YmVzOiBcIlxcZjFiM1wiO1xuJGZhLXZhci1jdXQ6IFwiXFxmMGM0XCI7XG4kZmEtdmFyLWN1dGxlcnk6IFwiXFxmMGY1XCI7XG4kZmEtdmFyLWRhc2hib2FyZDogXCJcXGYwZTRcIjtcbiRmYS12YXItZGFzaGN1YmU6IFwiXFxmMjEwXCI7XG4kZmEtdmFyLWRhdGFiYXNlOiBcIlxcZjFjMFwiO1xuJGZhLXZhci1kZWRlbnQ6IFwiXFxmMDNiXCI7XG4kZmEtdmFyLWRlbGljaW91czogXCJcXGYxYTVcIjtcbiRmYS12YXItZGVza3RvcDogXCJcXGYxMDhcIjtcbiRmYS12YXItZGV2aWFudGFydDogXCJcXGYxYmRcIjtcbiRmYS12YXItZGlhbW9uZDogXCJcXGYyMTlcIjtcbiRmYS12YXItZGlnZzogXCJcXGYxYTZcIjtcbiRmYS12YXItZG9sbGFyOiBcIlxcZjE1NVwiO1xuJGZhLXZhci1kb3QtY2lyY2xlLW86IFwiXFxmMTkyXCI7XG4kZmEtdmFyLWRvd25sb2FkOiBcIlxcZjAxOVwiO1xuJGZhLXZhci1kcmliYmJsZTogXCJcXGYxN2RcIjtcbiRmYS12YXItZHJvcGJveDogXCJcXGYxNmJcIjtcbiRmYS12YXItZHJ1cGFsOiBcIlxcZjFhOVwiO1xuJGZhLXZhci1lZGl0OiBcIlxcZjA0NFwiO1xuJGZhLXZhci1lamVjdDogXCJcXGYwNTJcIjtcbiRmYS12YXItZWxsaXBzaXMtaDogXCJcXGYxNDFcIjtcbiRmYS12YXItZWxsaXBzaXMtdjogXCJcXGYxNDJcIjtcbiRmYS12YXItZW1waXJlOiBcIlxcZjFkMVwiO1xuJGZhLXZhci1lbnZlbG9wZTogXCJcXGYwZTBcIjtcbiRmYS12YXItZW52ZWxvcGUtbzogXCJcXGYwMDNcIjtcbiRmYS12YXItZW52ZWxvcGUtc3F1YXJlOiBcIlxcZjE5OVwiO1xuJGZhLXZhci1lcmFzZXI6IFwiXFxmMTJkXCI7XG4kZmEtdmFyLWV1cjogXCJcXGYxNTNcIjtcbiRmYS12YXItZXVybzogXCJcXGYxNTNcIjtcbiRmYS12YXItZXhjaGFuZ2U6IFwiXFxmMGVjXCI7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uOiBcIlxcZjEyYVwiO1xuJGZhLXZhci1leGNsYW1hdGlvbi1jaXJjbGU6IFwiXFxmMDZhXCI7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOiBcIlxcZjA3MVwiO1xuJGZhLXZhci1leHBhbmQ6IFwiXFxmMDY1XCI7XG4kZmEtdmFyLWV4cGVkaXRlZHNzbDogXCJcXGYyM2VcIjtcbiRmYS12YXItZXh0ZXJuYWwtbGluazogXCJcXGYwOGVcIjtcbiRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmU6IFwiXFxmMTRjXCI7XG4kZmEtdmFyLWV5ZTogXCJcXGYwNmVcIjtcbiRmYS12YXItZXllLXNsYXNoOiBcIlxcZjA3MFwiO1xuJGZhLXZhci1leWVkcm9wcGVyOiBcIlxcZjFmYlwiO1xuJGZhLXZhci1mYWNlYm9vazogXCJcXGYwOWFcIjtcbiRmYS12YXItZmFjZWJvb2stZjogXCJcXGYwOWFcIjtcbiRmYS12YXItZmFjZWJvb2stb2ZmaWNpYWw6IFwiXFxmMjMwXCI7XG4kZmEtdmFyLWZhY2Vib29rLXNxdWFyZTogXCJcXGYwODJcIjtcbiRmYS12YXItZmFzdC1iYWNrd2FyZDogXCJcXGYwNDlcIjtcbiRmYS12YXItZmFzdC1mb3J3YXJkOiBcIlxcZjA1MFwiO1xuJGZhLXZhci1mYXg6IFwiXFxmMWFjXCI7XG4kZmEtdmFyLWZlZWQ6IFwiXFxmMDllXCI7XG4kZmEtdmFyLWZlbWFsZTogXCJcXGYxODJcIjtcbiRmYS12YXItZmlnaHRlci1qZXQ6IFwiXFxmMGZiXCI7XG4kZmEtdmFyLWZpbGU6IFwiXFxmMTViXCI7XG4kZmEtdmFyLWZpbGUtYXJjaGl2ZS1vOiBcIlxcZjFjNlwiO1xuJGZhLXZhci1maWxlLWF1ZGlvLW86IFwiXFxmMWM3XCI7XG4kZmEtdmFyLWZpbGUtY29kZS1vOiBcIlxcZjFjOVwiO1xuJGZhLXZhci1maWxlLWV4Y2VsLW86IFwiXFxmMWMzXCI7XG4kZmEtdmFyLWZpbGUtaW1hZ2UtbzogXCJcXGYxYzVcIjtcbiRmYS12YXItZmlsZS1tb3ZpZS1vOiBcIlxcZjFjOFwiO1xuJGZhLXZhci1maWxlLW86IFwiXFxmMDE2XCI7XG4kZmEtdmFyLWZpbGUtcGRmLW86IFwiXFxmMWMxXCI7XG4kZmEtdmFyLWZpbGUtcGhvdG8tbzogXCJcXGYxYzVcIjtcbiRmYS12YXItZmlsZS1waWN0dXJlLW86IFwiXFxmMWM1XCI7XG4kZmEtdmFyLWZpbGUtcG93ZXJwb2ludC1vOiBcIlxcZjFjNFwiO1xuJGZhLXZhci1maWxlLXNvdW5kLW86IFwiXFxmMWM3XCI7XG4kZmEtdmFyLWZpbGUtdGV4dDogXCJcXGYxNWNcIjtcbiRmYS12YXItZmlsZS10ZXh0LW86IFwiXFxmMGY2XCI7XG4kZmEtdmFyLWZpbGUtdmlkZW8tbzogXCJcXGYxYzhcIjtcbiRmYS12YXItZmlsZS13b3JkLW86IFwiXFxmMWMyXCI7XG4kZmEtdmFyLWZpbGUtemlwLW86IFwiXFxmMWM2XCI7XG4kZmEtdmFyLWZpbGVzLW86IFwiXFxmMGM1XCI7XG4kZmEtdmFyLWZpbG06IFwiXFxmMDA4XCI7XG4kZmEtdmFyLWZpbHRlcjogXCJcXGYwYjBcIjtcbiRmYS12YXItZmlyZTogXCJcXGYwNmRcIjtcbiRmYS12YXItZmlyZS1leHRpbmd1aXNoZXI6IFwiXFxmMTM0XCI7XG4kZmEtdmFyLWZpcmVmb3g6IFwiXFxmMjY5XCI7XG4kZmEtdmFyLWZsYWc6IFwiXFxmMDI0XCI7XG4kZmEtdmFyLWZsYWctY2hlY2tlcmVkOiBcIlxcZjExZVwiO1xuJGZhLXZhci1mbGFnLW86IFwiXFxmMTFkXCI7XG4kZmEtdmFyLWZsYXNoOiBcIlxcZjBlN1wiO1xuJGZhLXZhci1mbGFzazogXCJcXGYwYzNcIjtcbiRmYS12YXItZmxpY2tyOiBcIlxcZjE2ZVwiO1xuJGZhLXZhci1mbG9wcHktbzogXCJcXGYwYzdcIjtcbiRmYS12YXItZm9sZGVyOiBcIlxcZjA3YlwiO1xuJGZhLXZhci1mb2xkZXItbzogXCJcXGYxMTRcIjtcbiRmYS12YXItZm9sZGVyLW9wZW46IFwiXFxmMDdjXCI7XG4kZmEtdmFyLWZvbGRlci1vcGVuLW86IFwiXFxmMTE1XCI7XG4kZmEtdmFyLWZvbnQ6IFwiXFxmMDMxXCI7XG4kZmEtdmFyLWZvbnRpY29uczogXCJcXGYyODBcIjtcbiRmYS12YXItZm9ydW1iZWU6IFwiXFxmMjExXCI7XG4kZmEtdmFyLWZvcndhcmQ6IFwiXFxmMDRlXCI7XG4kZmEtdmFyLWZvdXJzcXVhcmU6IFwiXFxmMTgwXCI7XG4kZmEtdmFyLWZyb3duLW86IFwiXFxmMTE5XCI7XG4kZmEtdmFyLWZ1dGJvbC1vOiBcIlxcZjFlM1wiO1xuJGZhLXZhci1nYW1lcGFkOiBcIlxcZjExYlwiO1xuJGZhLXZhci1nYXZlbDogXCJcXGYwZTNcIjtcbiRmYS12YXItZ2JwOiBcIlxcZjE1NFwiO1xuJGZhLXZhci1nZTogXCJcXGYxZDFcIjtcbiRmYS12YXItZ2VhcjogXCJcXGYwMTNcIjtcbiRmYS12YXItZ2VhcnM6IFwiXFxmMDg1XCI7XG4kZmEtdmFyLWdlbmRlcmxlc3M6IFwiXFxmMjJkXCI7XG4kZmEtdmFyLWdldC1wb2NrZXQ6IFwiXFxmMjY1XCI7XG4kZmEtdmFyLWdnOiBcIlxcZjI2MFwiO1xuJGZhLXZhci1nZy1jaXJjbGU6IFwiXFxmMjYxXCI7XG4kZmEtdmFyLWdpZnQ6IFwiXFxmMDZiXCI7XG4kZmEtdmFyLWdpdDogXCJcXGYxZDNcIjtcbiRmYS12YXItZ2l0LXNxdWFyZTogXCJcXGYxZDJcIjtcbiRmYS12YXItZ2l0aHViOiBcIlxcZjA5YlwiO1xuJGZhLXZhci1naXRodWItYWx0OiBcIlxcZjExM1wiO1xuJGZhLXZhci1naXRodWItc3F1YXJlOiBcIlxcZjA5MlwiO1xuJGZhLXZhci1naXR0aXA6IFwiXFxmMTg0XCI7XG4kZmEtdmFyLWdsYXNzOiBcIlxcZjAwMFwiO1xuJGZhLXZhci1nbG9iZTogXCJcXGYwYWNcIjtcbiRmYS12YXItZ29vZ2xlOiBcIlxcZjFhMFwiO1xuJGZhLXZhci1nb29nbGUtcGx1czogXCJcXGYwZDVcIjtcbiRmYS12YXItZ29vZ2xlLXBsdXMtc3F1YXJlOiBcIlxcZjBkNFwiO1xuJGZhLXZhci1nb29nbGUtd2FsbGV0OiBcIlxcZjFlZVwiO1xuJGZhLXZhci1ncmFkdWF0aW9uLWNhcDogXCJcXGYxOWRcIjtcbiRmYS12YXItZ3JhdGlwYXk6IFwiXFxmMTg0XCI7XG4kZmEtdmFyLWdyb3VwOiBcIlxcZjBjMFwiO1xuJGZhLXZhci1oLXNxdWFyZTogXCJcXGYwZmRcIjtcbiRmYS12YXItaGFja2VyLW5ld3M6IFwiXFxmMWQ0XCI7XG4kZmEtdmFyLWhhbmQtZ3JhYi1vOiBcIlxcZjI1NVwiO1xuJGZhLXZhci1oYW5kLWxpemFyZC1vOiBcIlxcZjI1OFwiO1xuJGZhLXZhci1oYW5kLW8tZG93bjogXCJcXGYwYTdcIjtcbiRmYS12YXItaGFuZC1vLWxlZnQ6IFwiXFxmMGE1XCI7XG4kZmEtdmFyLWhhbmQtby1yaWdodDogXCJcXGYwYTRcIjtcbiRmYS12YXItaGFuZC1vLXVwOiBcIlxcZjBhNlwiO1xuJGZhLXZhci1oYW5kLXBhcGVyLW86IFwiXFxmMjU2XCI7XG4kZmEtdmFyLWhhbmQtcGVhY2UtbzogXCJcXGYyNWJcIjtcbiRmYS12YXItaGFuZC1wb2ludGVyLW86IFwiXFxmMjVhXCI7XG4kZmEtdmFyLWhhbmQtcm9jay1vOiBcIlxcZjI1NVwiO1xuJGZhLXZhci1oYW5kLXNjaXNzb3JzLW86IFwiXFxmMjU3XCI7XG4kZmEtdmFyLWhhbmQtc3BvY2stbzogXCJcXGYyNTlcIjtcbiRmYS12YXItaGFuZC1zdG9wLW86IFwiXFxmMjU2XCI7XG4kZmEtdmFyLWhkZC1vOiBcIlxcZjBhMFwiO1xuJGZhLXZhci1oZWFkZXI6IFwiXFxmMWRjXCI7XG4kZmEtdmFyLWhlYWRwaG9uZXM6IFwiXFxmMDI1XCI7XG4kZmEtdmFyLWhlYXJ0OiBcIlxcZjAwNFwiO1xuJGZhLXZhci1oZWFydC1vOiBcIlxcZjA4YVwiO1xuJGZhLXZhci1oZWFydGJlYXQ6IFwiXFxmMjFlXCI7XG4kZmEtdmFyLWhpc3Rvcnk6IFwiXFxmMWRhXCI7XG4kZmEtdmFyLWhvbWU6IFwiXFxmMDE1XCI7XG4kZmEtdmFyLWhvc3BpdGFsLW86IFwiXFxmMGY4XCI7XG4kZmEtdmFyLWhvdGVsOiBcIlxcZjIzNlwiO1xuJGZhLXZhci1ob3VyZ2xhc3M6IFwiXFxmMjU0XCI7XG4kZmEtdmFyLWhvdXJnbGFzcy0xOiBcIlxcZjI1MVwiO1xuJGZhLXZhci1ob3VyZ2xhc3MtMjogXCJcXGYyNTJcIjtcbiRmYS12YXItaG91cmdsYXNzLTM6IFwiXFxmMjUzXCI7XG4kZmEtdmFyLWhvdXJnbGFzcy1lbmQ6IFwiXFxmMjUzXCI7XG4kZmEtdmFyLWhvdXJnbGFzcy1oYWxmOiBcIlxcZjI1MlwiO1xuJGZhLXZhci1ob3VyZ2xhc3MtbzogXCJcXGYyNTBcIjtcbiRmYS12YXItaG91cmdsYXNzLXN0YXJ0OiBcIlxcZjI1MVwiO1xuJGZhLXZhci1ob3V6ejogXCJcXGYyN2NcIjtcbiRmYS12YXItaHRtbDU6IFwiXFxmMTNiXCI7XG4kZmEtdmFyLWktY3Vyc29yOiBcIlxcZjI0NlwiO1xuJGZhLXZhci1pbHM6IFwiXFxmMjBiXCI7XG4kZmEtdmFyLWltYWdlOiBcIlxcZjAzZVwiO1xuJGZhLXZhci1pbmJveDogXCJcXGYwMWNcIjtcbiRmYS12YXItaW5kZW50OiBcIlxcZjAzY1wiO1xuJGZhLXZhci1pbmR1c3RyeTogXCJcXGYyNzVcIjtcbiRmYS12YXItaW5mbzogXCJcXGYxMjlcIjtcbiRmYS12YXItaW5mby1jaXJjbGU6IFwiXFxmMDVhXCI7XG4kZmEtdmFyLWlucjogXCJcXGYxNTZcIjtcbiRmYS12YXItaW5zdGFncmFtOiBcIlxcZjE2ZFwiO1xuJGZhLXZhci1pbnN0aXR1dGlvbjogXCJcXGYxOWNcIjtcbiRmYS12YXItaW50ZXJuZXQtZXhwbG9yZXI6IFwiXFxmMjZiXCI7XG4kZmEtdmFyLWludGVyc2V4OiBcIlxcZjIyNFwiO1xuJGZhLXZhci1pb3hob3N0OiBcIlxcZjIwOFwiO1xuJGZhLXZhci1pdGFsaWM6IFwiXFxmMDMzXCI7XG4kZmEtdmFyLWpvb21sYTogXCJcXGYxYWFcIjtcbiRmYS12YXItanB5OiBcIlxcZjE1N1wiO1xuJGZhLXZhci1qc2ZpZGRsZTogXCJcXGYxY2NcIjtcbiRmYS12YXIta2V5OiBcIlxcZjA4NFwiO1xuJGZhLXZhci1rZXlib2FyZC1vOiBcIlxcZjExY1wiO1xuJGZhLXZhci1rcnc6IFwiXFxmMTU5XCI7XG4kZmEtdmFyLWxhbmd1YWdlOiBcIlxcZjFhYlwiO1xuJGZhLXZhci1sYXB0b3A6IFwiXFxmMTA5XCI7XG4kZmEtdmFyLWxhc3RmbTogXCJcXGYyMDJcIjtcbiRmYS12YXItbGFzdGZtLXNxdWFyZTogXCJcXGYyMDNcIjtcbiRmYS12YXItbGVhZjogXCJcXGYwNmNcIjtcbiRmYS12YXItbGVhbnB1YjogXCJcXGYyMTJcIjtcbiRmYS12YXItbGVnYWw6IFwiXFxmMGUzXCI7XG4kZmEtdmFyLWxlbW9uLW86IFwiXFxmMDk0XCI7XG4kZmEtdmFyLWxldmVsLWRvd246IFwiXFxmMTQ5XCI7XG4kZmEtdmFyLWxldmVsLXVwOiBcIlxcZjE0OFwiO1xuJGZhLXZhci1saWZlLWJvdXk6IFwiXFxmMWNkXCI7XG4kZmEtdmFyLWxpZmUtYnVveTogXCJcXGYxY2RcIjtcbiRmYS12YXItbGlmZS1yaW5nOiBcIlxcZjFjZFwiO1xuJGZhLXZhci1saWZlLXNhdmVyOiBcIlxcZjFjZFwiO1xuJGZhLXZhci1saWdodGJ1bGItbzogXCJcXGYwZWJcIjtcbiRmYS12YXItbGluZS1jaGFydDogXCJcXGYyMDFcIjtcbiRmYS12YXItbGluazogXCJcXGYwYzFcIjtcbiRmYS12YXItbGlua2VkaW46IFwiXFxmMGUxXCI7XG4kZmEtdmFyLWxpbmtlZGluLXNxdWFyZTogXCJcXGYwOGNcIjtcbiRmYS12YXItbGludXg6IFwiXFxmMTdjXCI7XG4kZmEtdmFyLWxpc3Q6IFwiXFxmMDNhXCI7XG4kZmEtdmFyLWxpc3QtYWx0OiBcIlxcZjAyMlwiO1xuJGZhLXZhci1saXN0LW9sOiBcIlxcZjBjYlwiO1xuJGZhLXZhci1saXN0LXVsOiBcIlxcZjBjYVwiO1xuJGZhLXZhci1sb2NhdGlvbi1hcnJvdzogXCJcXGYxMjRcIjtcbiRmYS12YXItbG9jazogXCJcXGYwMjNcIjtcbiRmYS12YXItbG9uZy1hcnJvdy1kb3duOiBcIlxcZjE3NVwiO1xuJGZhLXZhci1sb25nLWFycm93LWxlZnQ6IFwiXFxmMTc3XCI7XG4kZmEtdmFyLWxvbmctYXJyb3ctcmlnaHQ6IFwiXFxmMTc4XCI7XG4kZmEtdmFyLWxvbmctYXJyb3ctdXA6IFwiXFxmMTc2XCI7XG4kZmEtdmFyLW1hZ2ljOiBcIlxcZjBkMFwiO1xuJGZhLXZhci1tYWduZXQ6IFwiXFxmMDc2XCI7XG4kZmEtdmFyLW1haWwtZm9yd2FyZDogXCJcXGYwNjRcIjtcbiRmYS12YXItbWFpbC1yZXBseTogXCJcXGYxMTJcIjtcbiRmYS12YXItbWFpbC1yZXBseS1hbGw6IFwiXFxmMTIyXCI7XG4kZmEtdmFyLW1hbGU6IFwiXFxmMTgzXCI7XG4kZmEtdmFyLW1hcDogXCJcXGYyNzlcIjtcbiRmYS12YXItbWFwLW1hcmtlcjogXCJcXGYwNDFcIjtcbiRmYS12YXItbWFwLW86IFwiXFxmMjc4XCI7XG4kZmEtdmFyLW1hcC1waW46IFwiXFxmMjc2XCI7XG4kZmEtdmFyLW1hcC1zaWduczogXCJcXGYyNzdcIjtcbiRmYS12YXItbWFyczogXCJcXGYyMjJcIjtcbiRmYS12YXItbWFycy1kb3VibGU6IFwiXFxmMjI3XCI7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlOiBcIlxcZjIyOVwiO1xuJGZhLXZhci1tYXJzLXN0cm9rZS1oOiBcIlxcZjIyYlwiO1xuJGZhLXZhci1tYXJzLXN0cm9rZS12OiBcIlxcZjIyYVwiO1xuJGZhLXZhci1tYXhjZG46IFwiXFxmMTM2XCI7XG4kZmEtdmFyLW1lYW5wYXRoOiBcIlxcZjIwY1wiO1xuJGZhLXZhci1tZWRpdW06IFwiXFxmMjNhXCI7XG4kZmEtdmFyLW1lZGtpdDogXCJcXGYwZmFcIjtcbiRmYS12YXItbWVoLW86IFwiXFxmMTFhXCI7XG4kZmEtdmFyLW1lcmN1cnk6IFwiXFxmMjIzXCI7XG4kZmEtdmFyLW1pY3JvcGhvbmU6IFwiXFxmMTMwXCI7XG4kZmEtdmFyLW1pY3JvcGhvbmUtc2xhc2g6IFwiXFxmMTMxXCI7XG4kZmEtdmFyLW1pbnVzOiBcIlxcZjA2OFwiO1xuJGZhLXZhci1taW51cy1jaXJjbGU6IFwiXFxmMDU2XCI7XG4kZmEtdmFyLW1pbnVzLXNxdWFyZTogXCJcXGYxNDZcIjtcbiRmYS12YXItbWludXMtc3F1YXJlLW86IFwiXFxmMTQ3XCI7XG4kZmEtdmFyLW1vYmlsZTogXCJcXGYxMGJcIjtcbiRmYS12YXItbW9iaWxlLXBob25lOiBcIlxcZjEwYlwiO1xuJGZhLXZhci1tb25leTogXCJcXGYwZDZcIjtcbiRmYS12YXItbW9vbi1vOiBcIlxcZjE4NlwiO1xuJGZhLXZhci1tb3J0YXItYm9hcmQ6IFwiXFxmMTlkXCI7XG4kZmEtdmFyLW1vdG9yY3ljbGU6IFwiXFxmMjFjXCI7XG4kZmEtdmFyLW1vdXNlLXBvaW50ZXI6IFwiXFxmMjQ1XCI7XG4kZmEtdmFyLW11c2ljOiBcIlxcZjAwMVwiO1xuJGZhLXZhci1uYXZpY29uOiBcIlxcZjBjOVwiO1xuJGZhLXZhci1uZXV0ZXI6IFwiXFxmMjJjXCI7XG4kZmEtdmFyLW5ld3NwYXBlci1vOiBcIlxcZjFlYVwiO1xuJGZhLXZhci1vYmplY3QtZ3JvdXA6IFwiXFxmMjQ3XCI7XG4kZmEtdmFyLW9iamVjdC11bmdyb3VwOiBcIlxcZjI0OFwiO1xuJGZhLXZhci1vZG5va2xhc3NuaWtpOiBcIlxcZjI2M1wiO1xuJGZhLXZhci1vZG5va2xhc3NuaWtpLXNxdWFyZTogXCJcXGYyNjRcIjtcbiRmYS12YXItb3BlbmNhcnQ6IFwiXFxmMjNkXCI7XG4kZmEtdmFyLW9wZW5pZDogXCJcXGYxOWJcIjtcbiRmYS12YXItb3BlcmE6IFwiXFxmMjZhXCI7XG4kZmEtdmFyLW9wdGluLW1vbnN0ZXI6IFwiXFxmMjNjXCI7XG4kZmEtdmFyLW91dGRlbnQ6IFwiXFxmMDNiXCI7XG4kZmEtdmFyLXBhZ2VsaW5lczogXCJcXGYxOGNcIjtcbiRmYS12YXItcGFpbnQtYnJ1c2g6IFwiXFxmMWZjXCI7XG4kZmEtdmFyLXBhcGVyLXBsYW5lOiBcIlxcZjFkOFwiO1xuJGZhLXZhci1wYXBlci1wbGFuZS1vOiBcIlxcZjFkOVwiO1xuJGZhLXZhci1wYXBlcmNsaXA6IFwiXFxmMGM2XCI7XG4kZmEtdmFyLXBhcmFncmFwaDogXCJcXGYxZGRcIjtcbiRmYS12YXItcGFzdGU6IFwiXFxmMGVhXCI7XG4kZmEtdmFyLXBhdXNlOiBcIlxcZjA0Y1wiO1xuJGZhLXZhci1wYXc6IFwiXFxmMWIwXCI7XG4kZmEtdmFyLXBheXBhbDogXCJcXGYxZWRcIjtcbiRmYS12YXItcGVuY2lsOiBcIlxcZjA0MFwiO1xuJGZhLXZhci1wZW5jaWwtc3F1YXJlOiBcIlxcZjE0YlwiO1xuJGZhLXZhci1wZW5jaWwtc3F1YXJlLW86IFwiXFxmMDQ0XCI7XG4kZmEtdmFyLXBob25lOiBcIlxcZjA5NVwiO1xuJGZhLXZhci1waG9uZS1zcXVhcmU6IFwiXFxmMDk4XCI7XG4kZmEtdmFyLXBob3RvOiBcIlxcZjAzZVwiO1xuJGZhLXZhci1waWN0dXJlLW86IFwiXFxmMDNlXCI7XG4kZmEtdmFyLXBpZS1jaGFydDogXCJcXGYyMDBcIjtcbiRmYS12YXItcGllZC1waXBlcjogXCJcXGYxYTdcIjtcbiRmYS12YXItcGllZC1waXBlci1hbHQ6IFwiXFxmMWE4XCI7XG4kZmEtdmFyLXBpbnRlcmVzdDogXCJcXGYwZDJcIjtcbiRmYS12YXItcGludGVyZXN0LXA6IFwiXFxmMjMxXCI7XG4kZmEtdmFyLXBpbnRlcmVzdC1zcXVhcmU6IFwiXFxmMGQzXCI7XG4kZmEtdmFyLXBsYW5lOiBcIlxcZjA3MlwiO1xuJGZhLXZhci1wbGF5OiBcIlxcZjA0YlwiO1xuJGZhLXZhci1wbGF5LWNpcmNsZTogXCJcXGYxNDRcIjtcbiRmYS12YXItcGxheS1jaXJjbGUtbzogXCJcXGYwMWRcIjtcbiRmYS12YXItcGx1ZzogXCJcXGYxZTZcIjtcbiRmYS12YXItcGx1czogXCJcXGYwNjdcIjtcbiRmYS12YXItcGx1cy1jaXJjbGU6IFwiXFxmMDU1XCI7XG4kZmEtdmFyLXBsdXMtc3F1YXJlOiBcIlxcZjBmZVwiO1xuJGZhLXZhci1wbHVzLXNxdWFyZS1vOiBcIlxcZjE5NlwiO1xuJGZhLXZhci1wb3dlci1vZmY6IFwiXFxmMDExXCI7XG4kZmEtdmFyLXByaW50OiBcIlxcZjAyZlwiO1xuJGZhLXZhci1wdXp6bGUtcGllY2U6IFwiXFxmMTJlXCI7XG4kZmEtdmFyLXFxOiBcIlxcZjFkNlwiO1xuJGZhLXZhci1xcmNvZGU6IFwiXFxmMDI5XCI7XG4kZmEtdmFyLXF1ZXN0aW9uOiBcIlxcZjEyOFwiO1xuJGZhLXZhci1xdWVzdGlvbi1jaXJjbGU6IFwiXFxmMDU5XCI7XG4kZmEtdmFyLXF1b3RlLWxlZnQ6IFwiXFxmMTBkXCI7XG4kZmEtdmFyLXF1b3RlLXJpZ2h0OiBcIlxcZjEwZVwiO1xuJGZhLXZhci1yYTogXCJcXGYxZDBcIjtcbiRmYS12YXItcmFuZG9tOiBcIlxcZjA3NFwiO1xuJGZhLXZhci1yZWJlbDogXCJcXGYxZDBcIjtcbiRmYS12YXItcmVjeWNsZTogXCJcXGYxYjhcIjtcbiRmYS12YXItcmVkZGl0OiBcIlxcZjFhMVwiO1xuJGZhLXZhci1yZWRkaXQtc3F1YXJlOiBcIlxcZjFhMlwiO1xuJGZhLXZhci1yZWZyZXNoOiBcIlxcZjAyMVwiO1xuJGZhLXZhci1yZWdpc3RlcmVkOiBcIlxcZjI1ZFwiO1xuJGZhLXZhci1yZW1vdmU6IFwiXFxmMDBkXCI7XG4kZmEtdmFyLXJlbnJlbjogXCJcXGYxOGJcIjtcbiRmYS12YXItcmVvcmRlcjogXCJcXGYwYzlcIjtcbiRmYS12YXItcmVwZWF0OiBcIlxcZjAxZVwiO1xuJGZhLXZhci1yZXBseTogXCJcXGYxMTJcIjtcbiRmYS12YXItcmVwbHktYWxsOiBcIlxcZjEyMlwiO1xuJGZhLXZhci1yZXR3ZWV0OiBcIlxcZjA3OVwiO1xuJGZhLXZhci1ybWI6IFwiXFxmMTU3XCI7XG4kZmEtdmFyLXJvYWQ6IFwiXFxmMDE4XCI7XG4kZmEtdmFyLXJvY2tldDogXCJcXGYxMzVcIjtcbiRmYS12YXItcm90YXRlLWxlZnQ6IFwiXFxmMGUyXCI7XG4kZmEtdmFyLXJvdGF0ZS1yaWdodDogXCJcXGYwMWVcIjtcbiRmYS12YXItcm91YmxlOiBcIlxcZjE1OFwiO1xuJGZhLXZhci1yc3M6IFwiXFxmMDllXCI7XG4kZmEtdmFyLXJzcy1zcXVhcmU6IFwiXFxmMTQzXCI7XG4kZmEtdmFyLXJ1YjogXCJcXGYxNThcIjtcbiRmYS12YXItcnVibGU6IFwiXFxmMTU4XCI7XG4kZmEtdmFyLXJ1cGVlOiBcIlxcZjE1NlwiO1xuJGZhLXZhci1zYWZhcmk6IFwiXFxmMjY3XCI7XG4kZmEtdmFyLXNhdmU6IFwiXFxmMGM3XCI7XG4kZmEtdmFyLXNjaXNzb3JzOiBcIlxcZjBjNFwiO1xuJGZhLXZhci1zZWFyY2g6IFwiXFxmMDAyXCI7XG4kZmEtdmFyLXNlYXJjaC1taW51czogXCJcXGYwMTBcIjtcbiRmYS12YXItc2VhcmNoLXBsdXM6IFwiXFxmMDBlXCI7XG4kZmEtdmFyLXNlbGxzeTogXCJcXGYyMTNcIjtcbiRmYS12YXItc2VuZDogXCJcXGYxZDhcIjtcbiRmYS12YXItc2VuZC1vOiBcIlxcZjFkOVwiO1xuJGZhLXZhci1zZXJ2ZXI6IFwiXFxmMjMzXCI7XG4kZmEtdmFyLXNoYXJlOiBcIlxcZjA2NFwiO1xuJGZhLXZhci1zaGFyZS1hbHQ6IFwiXFxmMWUwXCI7XG4kZmEtdmFyLXNoYXJlLWFsdC1zcXVhcmU6IFwiXFxmMWUxXCI7XG4kZmEtdmFyLXNoYXJlLXNxdWFyZTogXCJcXGYxNGRcIjtcbiRmYS12YXItc2hhcmUtc3F1YXJlLW86IFwiXFxmMDQ1XCI7XG4kZmEtdmFyLXNoZWtlbDogXCJcXGYyMGJcIjtcbiRmYS12YXItc2hlcWVsOiBcIlxcZjIwYlwiO1xuJGZhLXZhci1zaGllbGQ6IFwiXFxmMTMyXCI7XG4kZmEtdmFyLXNoaXA6IFwiXFxmMjFhXCI7XG4kZmEtdmFyLXNoaXJ0c2luYnVsazogXCJcXGYyMTRcIjtcbiRmYS12YXItc2hvcHBpbmctY2FydDogXCJcXGYwN2FcIjtcbiRmYS12YXItc2lnbi1pbjogXCJcXGYwOTBcIjtcbiRmYS12YXItc2lnbi1vdXQ6IFwiXFxmMDhiXCI7XG4kZmEtdmFyLXNpZ25hbDogXCJcXGYwMTJcIjtcbiRmYS12YXItc2ltcGx5YnVpbHQ6IFwiXFxmMjE1XCI7XG4kZmEtdmFyLXNpdGVtYXA6IFwiXFxmMGU4XCI7XG4kZmEtdmFyLXNreWF0bGFzOiBcIlxcZjIxNlwiO1xuJGZhLXZhci1za3lwZTogXCJcXGYxN2VcIjtcbiRmYS12YXItc2xhY2s6IFwiXFxmMTk4XCI7XG4kZmEtdmFyLXNsaWRlcnM6IFwiXFxmMWRlXCI7XG4kZmEtdmFyLXNsaWRlc2hhcmU6IFwiXFxmMWU3XCI7XG4kZmEtdmFyLXNtaWxlLW86IFwiXFxmMTE4XCI7XG4kZmEtdmFyLXNvY2Nlci1iYWxsLW86IFwiXFxmMWUzXCI7XG4kZmEtdmFyLXNvcnQ6IFwiXFxmMGRjXCI7XG4kZmEtdmFyLXNvcnQtYWxwaGEtYXNjOiBcIlxcZjE1ZFwiO1xuJGZhLXZhci1zb3J0LWFscGhhLWRlc2M6IFwiXFxmMTVlXCI7XG4kZmEtdmFyLXNvcnQtYW1vdW50LWFzYzogXCJcXGYxNjBcIjtcbiRmYS12YXItc29ydC1hbW91bnQtZGVzYzogXCJcXGYxNjFcIjtcbiRmYS12YXItc29ydC1hc2M6IFwiXFxmMGRlXCI7XG4kZmEtdmFyLXNvcnQtZGVzYzogXCJcXGYwZGRcIjtcbiRmYS12YXItc29ydC1kb3duOiBcIlxcZjBkZFwiO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtYXNjOiBcIlxcZjE2MlwiO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtZGVzYzogXCJcXGYxNjNcIjtcbiRmYS12YXItc29ydC11cDogXCJcXGYwZGVcIjtcbiRmYS12YXItc291bmRjbG91ZDogXCJcXGYxYmVcIjtcbiRmYS12YXItc3BhY2Utc2h1dHRsZTogXCJcXGYxOTdcIjtcbiRmYS12YXItc3Bpbm5lcjogXCJcXGYxMTBcIjtcbiRmYS12YXItc3Bvb246IFwiXFxmMWIxXCI7XG4kZmEtdmFyLXNwb3RpZnk6IFwiXFxmMWJjXCI7XG4kZmEtdmFyLXNxdWFyZTogXCJcXGYwYzhcIjtcbiRmYS12YXItc3F1YXJlLW86IFwiXFxmMDk2XCI7XG4kZmEtdmFyLXN0YWNrLWV4Y2hhbmdlOiBcIlxcZjE4ZFwiO1xuJGZhLXZhci1zdGFjay1vdmVyZmxvdzogXCJcXGYxNmNcIjtcbiRmYS12YXItc3RhcjogXCJcXGYwMDVcIjtcbiRmYS12YXItc3Rhci1oYWxmOiBcIlxcZjA4OVwiO1xuJGZhLXZhci1zdGFyLWhhbGYtZW1wdHk6IFwiXFxmMTIzXCI7XG4kZmEtdmFyLXN0YXItaGFsZi1mdWxsOiBcIlxcZjEyM1wiO1xuJGZhLXZhci1zdGFyLWhhbGYtbzogXCJcXGYxMjNcIjtcbiRmYS12YXItc3Rhci1vOiBcIlxcZjAwNlwiO1xuJGZhLXZhci1zdGVhbTogXCJcXGYxYjZcIjtcbiRmYS12YXItc3RlYW0tc3F1YXJlOiBcIlxcZjFiN1wiO1xuJGZhLXZhci1zdGVwLWJhY2t3YXJkOiBcIlxcZjA0OFwiO1xuJGZhLXZhci1zdGVwLWZvcndhcmQ6IFwiXFxmMDUxXCI7XG4kZmEtdmFyLXN0ZXRob3Njb3BlOiBcIlxcZjBmMVwiO1xuJGZhLXZhci1zdGlja3ktbm90ZTogXCJcXGYyNDlcIjtcbiRmYS12YXItc3RpY2t5LW5vdGUtbzogXCJcXGYyNGFcIjtcbiRmYS12YXItc3RvcDogXCJcXGYwNGRcIjtcbiRmYS12YXItc3RyZWV0LXZpZXc6IFwiXFxmMjFkXCI7XG4kZmEtdmFyLXN0cmlrZXRocm91Z2g6IFwiXFxmMGNjXCI7XG4kZmEtdmFyLXN0dW1ibGV1cG9uOiBcIlxcZjFhNFwiO1xuJGZhLXZhci1zdHVtYmxldXBvbi1jaXJjbGU6IFwiXFxmMWEzXCI7XG4kZmEtdmFyLXN1YnNjcmlwdDogXCJcXGYxMmNcIjtcbiRmYS12YXItc3Vid2F5OiBcIlxcZjIzOVwiO1xuJGZhLXZhci1zdWl0Y2FzZTogXCJcXGYwZjJcIjtcbiRmYS12YXItc3VuLW86IFwiXFxmMTg1XCI7XG4kZmEtdmFyLXN1cGVyc2NyaXB0OiBcIlxcZjEyYlwiO1xuJGZhLXZhci1zdXBwb3J0OiBcIlxcZjFjZFwiO1xuJGZhLXZhci10YWJsZTogXCJcXGYwY2VcIjtcbiRmYS12YXItdGFibGV0OiBcIlxcZjEwYVwiO1xuJGZhLXZhci10YWNob21ldGVyOiBcIlxcZjBlNFwiO1xuJGZhLXZhci10YWc6IFwiXFxmMDJiXCI7XG4kZmEtdmFyLXRhZ3M6IFwiXFxmMDJjXCI7XG4kZmEtdmFyLXRhc2tzOiBcIlxcZjBhZVwiO1xuJGZhLXZhci10YXhpOiBcIlxcZjFiYVwiO1xuJGZhLXZhci10ZWxldmlzaW9uOiBcIlxcZjI2Y1wiO1xuJGZhLXZhci10ZW5jZW50LXdlaWJvOiBcIlxcZjFkNVwiO1xuJGZhLXZhci10ZXJtaW5hbDogXCJcXGYxMjBcIjtcbiRmYS12YXItdGV4dC1oZWlnaHQ6IFwiXFxmMDM0XCI7XG4kZmEtdmFyLXRleHQtd2lkdGg6IFwiXFxmMDM1XCI7XG4kZmEtdmFyLXRoOiBcIlxcZjAwYVwiO1xuJGZhLXZhci10aC1sYXJnZTogXCJcXGYwMDlcIjtcbiRmYS12YXItdGgtbGlzdDogXCJcXGYwMGJcIjtcbiRmYS12YXItdGh1bWItdGFjazogXCJcXGYwOGRcIjtcbiRmYS12YXItdGh1bWJzLWRvd246IFwiXFxmMTY1XCI7XG4kZmEtdmFyLXRodW1icy1vLWRvd246IFwiXFxmMDg4XCI7XG4kZmEtdmFyLXRodW1icy1vLXVwOiBcIlxcZjA4N1wiO1xuJGZhLXZhci10aHVtYnMtdXA6IFwiXFxmMTY0XCI7XG4kZmEtdmFyLXRpY2tldDogXCJcXGYxNDVcIjtcbiRmYS12YXItdGltZXM6IFwiXFxmMDBkXCI7XG4kZmEtdmFyLXRpbWVzLWNpcmNsZTogXCJcXGYwNTdcIjtcbiRmYS12YXItdGltZXMtY2lyY2xlLW86IFwiXFxmMDVjXCI7XG4kZmEtdmFyLXRpbnQ6IFwiXFxmMDQzXCI7XG4kZmEtdmFyLXRvZ2dsZS1kb3duOiBcIlxcZjE1MFwiO1xuJGZhLXZhci10b2dnbGUtbGVmdDogXCJcXGYxOTFcIjtcbiRmYS12YXItdG9nZ2xlLW9mZjogXCJcXGYyMDRcIjtcbiRmYS12YXItdG9nZ2xlLW9uOiBcIlxcZjIwNVwiO1xuJGZhLXZhci10b2dnbGUtcmlnaHQ6IFwiXFxmMTUyXCI7XG4kZmEtdmFyLXRvZ2dsZS11cDogXCJcXGYxNTFcIjtcbiRmYS12YXItdHJhZGVtYXJrOiBcIlxcZjI1Y1wiO1xuJGZhLXZhci10cmFpbjogXCJcXGYyMzhcIjtcbiRmYS12YXItdHJhbnNnZW5kZXI6IFwiXFxmMjI0XCI7XG4kZmEtdmFyLXRyYW5zZ2VuZGVyLWFsdDogXCJcXGYyMjVcIjtcbiRmYS12YXItdHJhc2g6IFwiXFxmMWY4XCI7XG4kZmEtdmFyLXRyYXNoLW86IFwiXFxmMDE0XCI7XG4kZmEtdmFyLXRyZWU6IFwiXFxmMWJiXCI7XG4kZmEtdmFyLXRyZWxsbzogXCJcXGYxODFcIjtcbiRmYS12YXItdHJpcGFkdmlzb3I6IFwiXFxmMjYyXCI7XG4kZmEtdmFyLXRyb3BoeTogXCJcXGYwOTFcIjtcbiRmYS12YXItdHJ1Y2s6IFwiXFxmMGQxXCI7XG4kZmEtdmFyLXRyeTogXCJcXGYxOTVcIjtcbiRmYS12YXItdHR5OiBcIlxcZjFlNFwiO1xuJGZhLXZhci10dW1ibHI6IFwiXFxmMTczXCI7XG4kZmEtdmFyLXR1bWJsci1zcXVhcmU6IFwiXFxmMTc0XCI7XG4kZmEtdmFyLXR1cmtpc2gtbGlyYTogXCJcXGYxOTVcIjtcbiRmYS12YXItdHY6IFwiXFxmMjZjXCI7XG4kZmEtdmFyLXR3aXRjaDogXCJcXGYxZThcIjtcbiRmYS12YXItdHdpdHRlcjogXCJcXGYwOTlcIjtcbiRmYS12YXItdHdpdHRlci1zcXVhcmU6IFwiXFxmMDgxXCI7XG4kZmEtdmFyLXVtYnJlbGxhOiBcIlxcZjBlOVwiO1xuJGZhLXZhci11bmRlcmxpbmU6IFwiXFxmMGNkXCI7XG4kZmEtdmFyLXVuZG86IFwiXFxmMGUyXCI7XG4kZmEtdmFyLXVuaXZlcnNpdHk6IFwiXFxmMTljXCI7XG4kZmEtdmFyLXVubGluazogXCJcXGYxMjdcIjtcbiRmYS12YXItdW5sb2NrOiBcIlxcZjA5Y1wiO1xuJGZhLXZhci11bmxvY2stYWx0OiBcIlxcZjEzZVwiO1xuJGZhLXZhci11bnNvcnRlZDogXCJcXGYwZGNcIjtcbiRmYS12YXItdXBsb2FkOiBcIlxcZjA5M1wiO1xuJGZhLXZhci11c2Q6IFwiXFxmMTU1XCI7XG4kZmEtdmFyLXVzZXI6IFwiXFxmMDA3XCI7XG4kZmEtdmFyLXVzZXItbWQ6IFwiXFxmMGYwXCI7XG4kZmEtdmFyLXVzZXItcGx1czogXCJcXGYyMzRcIjtcbiRmYS12YXItdXNlci1zZWNyZXQ6IFwiXFxmMjFiXCI7XG4kZmEtdmFyLXVzZXItdGltZXM6IFwiXFxmMjM1XCI7XG4kZmEtdmFyLXVzZXJzOiBcIlxcZjBjMFwiO1xuJGZhLXZhci12ZW51czogXCJcXGYyMjFcIjtcbiRmYS12YXItdmVudXMtZG91YmxlOiBcIlxcZjIyNlwiO1xuJGZhLXZhci12ZW51cy1tYXJzOiBcIlxcZjIyOFwiO1xuJGZhLXZhci12aWFjb2luOiBcIlxcZjIzN1wiO1xuJGZhLXZhci12aWRlby1jYW1lcmE6IFwiXFxmMDNkXCI7XG4kZmEtdmFyLXZpbWVvOiBcIlxcZjI3ZFwiO1xuJGZhLXZhci12aW1lby1zcXVhcmU6IFwiXFxmMTk0XCI7XG4kZmEtdmFyLXZpbmU6IFwiXFxmMWNhXCI7XG4kZmEtdmFyLXZrOiBcIlxcZjE4OVwiO1xuJGZhLXZhci12b2x1bWUtZG93bjogXCJcXGYwMjdcIjtcbiRmYS12YXItdm9sdW1lLW9mZjogXCJcXGYwMjZcIjtcbiRmYS12YXItdm9sdW1lLXVwOiBcIlxcZjAyOFwiO1xuJGZhLXZhci13YXJuaW5nOiBcIlxcZjA3MVwiO1xuJGZhLXZhci13ZWNoYXQ6IFwiXFxmMWQ3XCI7XG4kZmEtdmFyLXdlaWJvOiBcIlxcZjE4YVwiO1xuJGZhLXZhci13ZWl4aW46IFwiXFxmMWQ3XCI7XG4kZmEtdmFyLXdoYXRzYXBwOiBcIlxcZjIzMlwiO1xuJGZhLXZhci13aGVlbGNoYWlyOiBcIlxcZjE5M1wiO1xuJGZhLXZhci13aWZpOiBcIlxcZjFlYlwiO1xuJGZhLXZhci13aWtpcGVkaWEtdzogXCJcXGYyNjZcIjtcbiRmYS12YXItd2luZG93czogXCJcXGYxN2FcIjtcbiRmYS12YXItd29uOiBcIlxcZjE1OVwiO1xuJGZhLXZhci13b3JkcHJlc3M6IFwiXFxmMTlhXCI7XG4kZmEtdmFyLXdyZW5jaDogXCJcXGYwYWRcIjtcbiRmYS12YXIteGluZzogXCJcXGYxNjhcIjtcbiRmYS12YXIteGluZy1zcXVhcmU6IFwiXFxmMTY5XCI7XG4kZmEtdmFyLXktY29tYmluYXRvcjogXCJcXGYyM2JcIjtcbiRmYS12YXIteS1jb21iaW5hdG9yLXNxdWFyZTogXCJcXGYxZDRcIjtcbiRmYS12YXIteWFob286IFwiXFxmMTllXCI7XG4kZmEtdmFyLXljOiBcIlxcZjIzYlwiO1xuJGZhLXZhci15Yy1zcXVhcmU6IFwiXFxmMWQ0XCI7XG4kZmEtdmFyLXllbHA6IFwiXFxmMWU5XCI7XG4kZmEtdmFyLXllbjogXCJcXGYxNTdcIjtcbiRmYS12YXIteW91dHViZTogXCJcXGYxNjdcIjtcbiRmYS12YXIteW91dHViZS1wbGF5OiBcIlxcZjE2YVwiO1xuJGZhLXZhci15b3V0dWJlLXNxdWFyZTogXCJcXGYxNjZcIjtcblxuIiwiLy8gQm9yZGVyZWQgJiBQdWxsZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlciB7XG4gIHBhZGRpbmc6IC4yZW0gLjI1ZW0gLjE1ZW07XG4gIGJvcmRlcjogc29saWQgLjA4ZW0gJGZhLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogLjFlbTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtbGVmdCB7IGZsb2F0OiBsZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHVsbC1yaWdodCB7IGZsb2F0OiByaWdodDsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0ge1xuICAmLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtbGVmdCB7IG1hcmdpbi1yaWdodDogLjNlbTsgfVxuICAmLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtcmlnaHQgeyBtYXJnaW4tbGVmdDogLjNlbTsgfVxufVxuXG4vKiBEZXByZWNhdGVkIGFzIG9mIDQuNC4wICovXG4ucHVsbC1yaWdodCB7IGZsb2F0OiByaWdodDsgfVxuLnB1bGwtbGVmdCB7IGZsb2F0OiBsZWZ0OyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fSB7XG4gICYucHVsbC1sZWZ0IHsgbWFyZ2luLXJpZ2h0OiAuM2VtOyB9XG4gICYucHVsbC1yaWdodCB7IG1hcmdpbi1sZWZ0OiAuM2VtOyB9XG59XG4iLCIvLyBTcGlubmluZyBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgICAgYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bHNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG4gICAgICAgICAgYW5pbWF0aW9uOiBmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhLXNwaW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cbiIsIi8vIFJvdGF0ZWQgJiBGbGlwcGVkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAgIHsgQGluY2x1ZGUgZmEtaWNvbi1yb3RhdGUoOTBkZWcsIDEpOyAgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS0xODAgeyBAaW5jbHVkZSBmYS1pY29uLXJvdGF0ZSgxODBkZWcsIDIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCB7IEBpbmNsdWRlIGZhLWljb24tcm90YXRlKDI3MGRlZywgMyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCB7IEBpbmNsdWRlIGZhLWljb24tZmxpcCgtMSwgMSwgMCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLXZlcnRpY2FsICAgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoMSwgLTEsIDIpOyB9XG5cbi8vIEhvb2sgZm9yIElFOC05XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbjpyb290IC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAsXG46cm9vdCAuI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTE4MCxcbjpyb290IC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtMjcwLFxuOnJvb3QgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCxcbjpyb290IC4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLXZlcnRpY2FsIHtcbiAgZmlsdGVyOiBub25lO1xufVxuIiwiLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gZmEtaWNvbigpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAjeyRmYS1mb250LXNpemUtYmFzZX0vI3skZmEtbGluZS1oZWlnaHQtYmFzZX0gRm9udEF3ZXNvbWU7IC8vIHNob3J0ZW5pbmcgZm9udCBkZWNsYXJhdGlvblxuICBmb250LXNpemU6IGluaGVyaXQ7IC8vIGNhbid0IGhhdmUgZm9udC1zaXplIGluaGVyaXQgb24gbGluZSBhYm92ZSwgc28gbmVlZCB0byBvdmVycmlkZVxuICB0ZXh0LXJlbmRlcmluZzogYXV0bzsgLy8gb3B0aW1pemVsZWdpYmlsaXR5IHRocm93cyB0aGluZ3Mgb2ZmICMxMDk0XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG59XG5cbkBtaXhpbiBmYS1pY29uLXJvdGF0ZSgkZGVncmVlcywgJHJvdGF0aW9uKSB7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249I3skcm90YXRpb259KTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbn1cblxuQG1peGluIGZhLWljb24tZmxpcCgkaG9yaXosICR2ZXJ0LCAkcm90YXRpb24pIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0jeyRyb3RhdGlvbn0pO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJGhvcml6LCAkdmVydCk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgkaG9yaXosICR2ZXJ0KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCRob3JpeiwgJHZlcnQpO1xufVxuIiwiLy8gU3RhY2tlZCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDJlbTtcbiAgaGVpZ2h0OiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stMXgsIC4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0yeCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0xeCB7IGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stMnggeyBmb250LXNpemU6IDJlbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWludmVyc2UgeyBjb2xvcjogJGZhLWludmVyc2U7IH1cbiIsIi8qIEZvbnQgQXdlc29tZSB1c2VzIHRoZSBVbmljb2RlIFByaXZhdGUgVXNlIEFyZWEgKFBVQSkgdG8gZW5zdXJlIHNjcmVlblxuICAgcmVhZGVycyBkbyBub3QgcmVhZCBvZmYgcmFuZG9tIGNoYXJhY3RlcnMgdGhhdCByZXByZXNlbnQgaWNvbnMgKi9cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2xhc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tdXNpYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW11c2ljOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2VhcmNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVudmVsb3BlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhlYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0YXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGFyLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbG06YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGgtbGFyZ2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aC1sYXJnZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aC1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGgtbGlzdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hlY2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZW1vdmU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3NlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10aW1lczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRpbWVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoLXBsdXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zZWFyY2gtcGx1czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlYXJjaC1taW51czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNlYXJjaC1taW51czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvd2VyLW9mZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBvd2VyLW9mZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ25hbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNpZ25hbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlYXI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYXNoLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmFzaC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9tZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhvbWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG9jay1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2xvY2stbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvYWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yb2FkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kb3dubG9hZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1vLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtby1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLW8tdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtby11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluYm94OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5ib3g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGF5LWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGxheS1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS1yaWdodDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcmVwZWF0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVwZWF0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVmcmVzaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlZnJlc2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpc3QtYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9jazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxvY2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmxhZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRwaG9uZXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oZWFkcGhvbmVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sdW1lLW9mZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZvbHVtZS1vZmY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZvbHVtZS1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sdW1lLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdm9sdW1lLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXJjb2RlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcXJjb2RlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFyY29kZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhcmNvZGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YWc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWdzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGFnczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ib29rOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9va21hcms6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ib29rbWFyazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByaW50OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcHJpbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYW1lcmE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYW1lcmE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9udDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbGQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ib2xkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXRhbGljOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaXRhbGljOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGV4dC1oZWlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZXh0LWhlaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRleHQtd2lkdGg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZXh0LXdpZHRoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFsaWduLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1jZW50ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbGlnbi1jZW50ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFsaWduLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tanVzdGlmeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFsaWduLWp1c3RpZnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlzdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlZGVudDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tb3V0ZGVudDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW91dGRlbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmRlbnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbmRlbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWRlby1jYW1lcmE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12aWRlby1jYW1lcmE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG90bzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taW1hZ2U6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpY3R1cmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpY3R1cmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBlbmNpbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXAtbWFya2VyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRqdXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWRqdXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGludDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRpbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lZGl0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1wZW5jaWwtc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wZW5jaWwtc3F1YXJlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZS1zcXVhcmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoYXJlLXNxdWFyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGVjay1zcXVhcmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGVwLWJhY2t3YXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFzdC1iYWNrd2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZhc3QtYmFja3dhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWNrd2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhY2t3YXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxheTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsYXk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXVzZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhdXNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0b3A7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9yd2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhc3QtZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZhc3QtZm9yd2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZXAtZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0ZXAtZm9yd2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVqZWN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZWplY3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXMtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGx1cy1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taW51cy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taW51cy1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW1lcy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aW1lcy1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGVjay1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdWVzdGlvbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xdWVzdGlvbi1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmZvLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWluZm8tY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3Jvc3NoYWlyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNyb3NzaGFpcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW1lcy1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRpbWVzLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGVjay1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1haWwtZm9yd2FyZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4cGFuZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4cGFuZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXByZXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tcHJlc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGx1czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWludXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hc3RlcmlzazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFzdGVyaXNrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhjbGFtYXRpb24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXhjbGFtYXRpb24tY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2lmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdpZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZWFmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGVhZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXllOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXllOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXllLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXllLXNsYXNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2FybmluZzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leGNsYW1hdGlvbi10cmlhbmdsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGxhbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbGVuZGFyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFuZG9tOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmFuZG9tOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbW1lbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWduZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYWduZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJldHdlZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZXR3ZWV0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctY2FydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNob3BwaW5nLWNhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb2xkZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItb3BlbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbGRlci1vcGVuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLXY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvd3MtdjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93cy1oOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3dzLWg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXItY2hhcnQtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmFyLWNoYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmFyLWNoYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHdpdHRlci1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10d2l0dGVyLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZhY2Vib29rLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbWVyYS1yZXRybzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbWVyYS1yZXRybzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtleTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWtleTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlYXJzOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jb2dzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29nczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tbWVudHM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aHVtYnMtby11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRodW1icy1vLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLW8tZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRodW1icy1vLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWhhbGY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGFyLWhhbGY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFydC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGVhcnQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ24tb3V0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2lnbi1vdXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5rZWRpbi1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saW5rZWRpbi1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aHVtYi10YWNrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGh1bWItdGFjazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4dGVybmFsLWxpbms6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leHRlcm5hbC1saW5rOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbi1pbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNpZ24taW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cm9waHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cm9waHk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRodWItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2l0aHViLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVwbG9hZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlbW9uLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sZW1vbi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waG9uZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3F1YXJlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rbWFyay1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYm9va21hcmstbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBob25lLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR3aXR0ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10d2l0dGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stZjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mYWNlYm9vazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1YjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdpdGh1YjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVubG9jazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVubG9jazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWRpdC1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3JlZGl0LWNhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mZWVkOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZGQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhkZC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVsbGhvcm46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idWxsaG9ybjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWxsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2VydGlmaWNhdGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jZXJ0aWZpY2F0ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtby1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1vLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLW8tdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLW8tdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLW8tZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtby1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdsb2JlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td3JlbmNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd3JlbmNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFza3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YXNrczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbHRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbHRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyaWVmY2FzZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJyaWVmY2FzZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93cy1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvd3MtYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JvdXA6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFpbjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tbGluazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpbms7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNsb3VkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhc2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbGFzazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWN1dDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc2Npc3NvcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zY2lzc29yczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvcHk6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGVzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlcy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFwZXJjbGlwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGFwZXJjbGlwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2F2ZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmxvcHB5LW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbG9wcHktbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5hdmljb246YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlb3JkZXI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlzdC11bDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpc3QtdWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LW9sOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlzdC1vbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmlrZXRocm91Z2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdHJpa2V0aHJvdWdoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5kZXJsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW5kZXJsaW5lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YWJsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hZ2ljOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFnaWM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cnVjazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRydWNrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGludGVyZXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpbnRlcmVzdC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nb29nbGUtcGx1cy1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdvb2dsZS1wbHVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tb25leTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbHVtbnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2x1bW5zOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5zb3J0ZWQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1kb3duOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWRlc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LWRlc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LXVwOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtYXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbnZlbG9wZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbmtlZGluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlua2VkaW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtbGVmdDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdW5kbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVuZG87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZWdhbDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZ2F2ZWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nYXZlbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRhc2hib2FyZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGFjaG9tZXRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRhY2hvbWV0ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21tZW50LW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50cy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tbWVudHMtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYXNoOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ib2x0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYm9sdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpdGVtYXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaXRlbWFwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW1icmVsbGE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11bWJyZWxsYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhc3RlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jbGlwYm9hcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jbGlwYm9hcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saWdodGJ1bGItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpZ2h0YnVsYi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhjaGFuZ2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leGNoYW5nZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLWRvd25sb2FkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2xvdWQtZG93bmxvYWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC11cGxvYWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jbG91ZC11cGxvYWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLW1kOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci1tZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZXRob3Njb3BlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RldGhvc2NvcGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdWl0Y2FzZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN1aXRjYXNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVsbC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29mZmVlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29mZmVlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0bGVyeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWN1dGxlcnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXRleHQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtdGV4dC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVpbGRpbmctbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1aWxkaW5nLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG9zcGl0YWwtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtYnVsYW5jZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFtYnVsYW5jZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGtpdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1lZGtpdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpZ2h0ZXItamV0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlnaHRlci1qZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWgtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsdXMtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS1kb3VibGUtbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLWRvdWJsZS1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLWRvdWJsZS11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtZG91YmxlLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXNrdG9wOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZGVza3RvcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhcHRvcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxhcHRvcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhYmxldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRhYmxldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vYmlsZS1waG9uZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbW9iaWxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1b3RlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xdW90ZS1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVvdGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xdW90ZS1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW5uZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zcGlubmVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFpbC1yZXBseTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcmVwbHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZXBseTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1Yi1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1naXRodWItYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb2xkZXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlci1vcGVuLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb2xkZXItb3Blbi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21pbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNtaWxlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcm93bi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZnJvd24tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1laC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWVoLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYW1lcGFkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2FtZXBhZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtleWJvYXJkLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1rZXlib2FyZC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhZy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmxhZy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhZy1jaGVja2VyZWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbGFnLWNoZWNrZXJlZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlcm1pbmFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGVybWluYWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29kZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1haWwtcmVwbHktYWxsOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBseS1hbGw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZXBseS1hbGw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWhhbGYtZW1wdHk6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItaGFsZi1mdWxsOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWhhbGYtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0YXItaGFsZi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9jYXRpb24tYXJyb3c6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sb2NhdGlvbi1hcnJvdzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyb3A6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jcm9wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZS1mb3JrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29kZS1mb3JrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5saW5rOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFpbi1icm9rZW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGFpbi1icm9rZW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdWVzdGlvbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXF1ZXN0aW9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5mbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWluZm87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4Y2xhbWF0aW9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VwZXJzY3JpcHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdXBlcnNjcmlwdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1YnNjcmlwdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN1YnNjcmlwdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVyYXNlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVyYXNlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1enpsZS1waWVjZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXB1enpsZS1waWVjZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvcGhvbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taWNyb3Bob25lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9waG9uZS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1pY3JvcGhvbmUtc2xhc2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGllbGQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGllbGQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsZW5kYXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlyZS1leHRpbmd1aXNoZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb2NrZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yb2NrZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXhjZG46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXhjZG47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tY2lyY2xlLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1jaXJjbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tY2lyY2xlLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1odG1sNTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWh0bWw1OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3NzMzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNzczM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmNob3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmNob3I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bmxvY2stYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW5sb2NrLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1bGxzZXllOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnVsbHNleWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGxpcHNpcy1oOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZWxsaXBzaXMtaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsbGlwc2lzLXY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbGxpcHNpcy12OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnNzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJzcy1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGF5LWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsYXktY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGlja2V0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGlja2V0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWludXMtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXMtc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taW51cy1zcXVhcmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxldmVsLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGV2ZWwtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXZlbC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGV2ZWwtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZWNrLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wZW5jaWwtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXh0ZXJuYWwtbGluay1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leHRlcm5hbC1saW5rLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoYXJlLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXBhc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21wYXNzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLWRvd246YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1vLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1zcXVhcmUtby1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLXVwOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtby11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LXNxdWFyZS1vLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLXJpZ2h0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtby1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LXNxdWFyZS1vLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXVybzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZXVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2JwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2JwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9sbGFyOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS11c2Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydXBlZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taW5yOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5yOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY255OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ybWI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXllbjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tanB5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItanB5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVibGU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdWJsZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcnViOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcnViOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td29uOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1rcnc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1rcnc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXRjb2luOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1idGM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idGM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdGV4dDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtdGV4dDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYWxwaGEtYXNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydC1hbHBoYS1hc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFscGhhLWRlc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LWFscGhhLWRlc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFtb3VudC1hc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LWFtb3VudC1hc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFtb3VudC1kZXNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydC1hbW91bnQtZGVzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtbnVtZXJpYy1hc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LW51bWVyaWMtYXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLWRlc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LW51bWVyaWMtZGVzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1icy11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRodW1icy11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1icy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGh1bWJzLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15b3V0dWJlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXlvdXR1YmUtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teW91dHViZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXlvdXR1YmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS14aW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteGluZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXhpbmctc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteGluZy1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15b3V0dWJlLXBsYXk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci15b3V0dWJlLXBsYXk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcm9wYm94OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZHJvcGJveDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLW92ZXJmbG93OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RhY2stb3ZlcmZsb3c7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnN0YWdyYW06YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbnN0YWdyYW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlja3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbGlja3I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZG46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hZG47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXRidWNrZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iaXRidWNrZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXRidWNrZXQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYml0YnVja2V0LXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR1bWJscjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXR1bWJscjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR1bWJsci1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10dW1ibHItc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG9uZy1hcnJvdy1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxvbmctYXJyb3ctdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sb25nLWFycm93LWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG9uZy1hcnJvdy1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcGxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXBwbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3dzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2luZG93czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZHJvaWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmRyb2lkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGludXg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saW51eDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyaWJiYmxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZHJpYmJibGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za3lwZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNreXBlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm91cnNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvdXJzcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmVsbG86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmVsbG87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mZW1hbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mZW1hbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdHRpcDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZ3JhdGlwYXk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ncmF0aXBheTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1bi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3VuLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb29uLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tb29uLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcmNoaXZlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJjaGl2ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1ZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1ZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdms7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13ZWlibzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdlaWJvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVucmVuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVucmVuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFnZWxpbmVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGFnZWxpbmVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stZXhjaGFuZ2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGFjay1leGNoYW5nZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1vLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLW8tcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLW8tbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS1sZWZ0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtby1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyZXQtc3F1YXJlLW8tbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvdC1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRvdC1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdoZWVsY2hhaXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aGVlbGNoYWlyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmltZW8tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmltZW8tc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHVya2lzaC1saXJhOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10cnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGx1cy1zcXVhcmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwYWNlLXNodXR0bGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zcGFjZS1zaHV0dGxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xhY2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbGFjazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVudmVsb3BlLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdvcmRwcmVzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdvcmRwcmVzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZW5pZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9wZW5pZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluc3RpdHV0aW9uOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYW5rOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS11bml2ZXJzaXR5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW5pdmVyc2l0eTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vcnRhci1ib2FyZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZ3JhZHVhdGlvbi1jYXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ncmFkdWF0aW9uLWNhcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlhaG9vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteWFob287IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nb29nbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRkaXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWRkaXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRkaXQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVkZGl0LXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0dW1ibGV1cG9uLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0dW1ibGV1cG9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3R1bWJsZXVwb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZWxpY2lvdXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kZWxpY2lvdXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWdnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZGlnZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waWVkLXBpcGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllZC1waXBlci1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waWVkLXBpcGVyLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRydXBhbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRydXBhbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpvb21sYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWpvb21sYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhbmd1YWdlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGFuZ3VhZ2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYXg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mYXg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWlsZGluZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1aWxkaW5nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hpbGQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGlsZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhdzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhdzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwb29uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3Bvb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jdWJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3ViZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWN1YmVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3ViZXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWhhbmNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVoYW5jZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlaGFuY2Utc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVoYW5jZS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGVhbTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0ZWFtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlYW0tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RlYW0tc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVjeWNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlY3ljbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdXRvbW9iaWxlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jYXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRheGk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YXhpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJlZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyZWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcG90aWZ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3BvdGlmeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRldmlhbnRhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kZXZpYW50YXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc291bmRjbG91ZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvdW5kY2xvdWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kYXRhYmFzZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRhdGFiYXNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1wZGYtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtcGRmLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXdvcmQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtd29yZC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1leGNlbC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1leGNlbC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1wb3dlcnBvaW50LW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLXBvd2VycG9pbnQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcGhvdG8tbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1waWN0dXJlLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW1hZ2UtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtaW1hZ2UtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtemlwLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtYXJjaGl2ZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1hcmNoaXZlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXNvdW5kLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtYXVkaW8tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtYXVkaW8tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtbW92aWUtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS12aWRlby1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS12aWRlby1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1jb2RlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLWNvZGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12aW5lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZXBlbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvZGVwZW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qc2ZpZGRsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWpzZmlkZGxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlmZS1ib3V5OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1saWZlLWJ1b3k6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZmUtc2F2ZXI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1cHBvcnQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZmUtcmluZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpZmUtcmluZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNpcmNsZS1vLW5vdGNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2lyY2xlLW8tbm90Y2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcmViZWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWJlbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1lbXBpcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbXBpcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2l0LXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdpdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXktY29tYmluYXRvci1zcXVhcmU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXljLXNxdWFyZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taGFja2VyLW5ld3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYWNrZXItbmV3czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbmNlbnQtd2VpYm86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZW5jZW50LXdlaWJvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xcTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlY2hhdDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0td2VpeGluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2VpeGluOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VuZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcGFwZXItcGxhbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXBlci1wbGFuZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlbmQtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcGFwZXItcGxhbmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhcGVyLXBsYW5lLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaXN0b3J5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGlzdG9yeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNpcmNsZS10aGluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2lyY2xlLXRoaW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oZWFkZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXJhZ3JhcGg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXJhZ3JhcGg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGlkZXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2xpZGVyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoYXJlLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLWFsdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGFyZS1hbHQtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9tYjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJvbWI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb2NjZXItYmFsbC1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1mdXRib2wtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZ1dGJvbC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHR5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHR5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlub2N1bGFyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJpbm9jdWxhcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGx1ZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNsaWRlc2hhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbGlkZXNoYXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHdpdGNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHdpdGNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWVscDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXllbHA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uZXdzcGFwZXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW5ld3NwYXBlci1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2lmaTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpZmk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxjdWxhdG9yOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsY3VsYXRvcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBheXBhbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBheXBhbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS13YWxsZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nb29nbGUtd2FsbGV0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtdmlzYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLXZpc2E7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1tYXN0ZXJjYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtbWFzdGVyY2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWRpc2NvdmVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtZGlzY292ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1hbWV4OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtYW1leDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLXBheXBhbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLXBheXBhbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLXN0cmlwZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLXN0cmlwZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGwtc2xhc2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWxsLXNsYXNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbC1zbGFzaC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVsbC1zbGFzaC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhc2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmFzaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvcHlyaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvcHlyaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWVkcm9wcGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXllZHJvcHBlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhaW50LWJydXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGFpbnQtYnJ1c2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXJ0aGRheS1jYWtlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmlydGhkYXktY2FrZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFyZWEtY2hhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcmVhLWNoYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllLWNoYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGllLWNoYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGluZS1jaGFydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpbmUtY2hhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXN0Zm06YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sYXN0Zm07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXN0Zm0tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGFzdGZtLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS1vZmY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10b2dnbGUtb2ZmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdG9nZ2xlLW9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmljeWNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJpY3ljbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pb3hob3N0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW94aG9zdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2VsbGlzdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2VsbGlzdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGVrZWw6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoZXFlbDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taWxzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaWxzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVhbnBhdGg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tZWFucGF0aDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1eXNlbGxhZHM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idXlzZWxsYWRzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29ubmVjdGRldmVsb3A6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb25uZWN0ZGV2ZWxvcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRhc2hjdWJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZGFzaGN1YmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb3J1bWJlZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvcnVtYmVlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVhbnB1YjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxlYW5wdWI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWxsc3k6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zZWxsc3k7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGlydHNpbmJ1bGs6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGlydHNpbmJ1bGs7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaW1wbHlidWlsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNpbXBseWJ1aWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2t5YXRsYXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1za3lhdGxhczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnQtcGx1czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcnQtcGx1czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnQtYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcnQtYXJyb3ctZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpYW1vbmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kaWFtb25kOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoaXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXNlY3JldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZXItc2VjcmV0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW90b3JjeWNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1vdG9yY3ljbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHJlZXQtdmlldzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0cmVldC12aWV3OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnRiZWF0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGVhcnRiZWF0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVudXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12ZW51czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVyY3VyeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1lcmN1cnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnRlcnNleDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdHJhbnNnZW5kZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmFuc2dlbmRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYW5zZ2VuZGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyYW5zZ2VuZGVyLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlbnVzLWRvdWJsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZlbnVzLWRvdWJsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtZG91YmxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFycy1kb3VibGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12ZW51cy1tYXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmVudXMtbWFyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFycy1zdHJva2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzLXN0cm9rZS12OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFycy1zdHJva2UtdjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlLWg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXJzLXN0cm9rZS1oOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmV1dGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbmV1dGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2VuZGVybGVzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdlbmRlcmxlc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYWNlYm9vay1vZmZpY2lhbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZhY2Vib29rLW9mZmljaWFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0LXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waW50ZXJlc3QtcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdoYXRzYXBwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2hhdHNhcHA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZXJ2ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zZXJ2ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXBsdXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyLXBsdXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXRpbWVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci10aW1lczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdGVsOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iZWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWFjb2luOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmlhY29pbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJhaW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdWJ3YXk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdWJ3YXk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWRpdW06YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tZWRpdW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15YzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0teS1jb21iaW5hdG9yOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteS1jb21iaW5hdG9yOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3B0aW4tbW9uc3RlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9wdGluLW1vbnN0ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcGVuY2FydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9wZW5jYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwZWRpdGVkc3NsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXhwZWRpdGVkc3NsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS00OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXR0ZXJ5LWZ1bGw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LTM6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS0yOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWhhbGY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXR0ZXJ5LWhhbGY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LTE6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktcXVhcnRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdHRlcnktcXVhcnRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktMDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdHRlcnktZW1wdHk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3VzZS1wb2ludGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbW91c2UtcG9pbnRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWktY3Vyc29yOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaS1jdXJzb3I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vYmplY3QtZ3JvdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vYmplY3QtZ3JvdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vYmplY3QtdW5ncm91cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9iamVjdC11bmdyb3VwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RpY2t5LW5vdGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGlja3ktbm90ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0aWNreS1ub3RlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGlja3ktbm90ZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtamNiOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtamNiOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtZGluZXJzLWNsdWI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1kaW5lcnMtY2x1YjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb25lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2xvbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWxhbmNlLXNjYWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmFsYW5jZS1zY2FsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG91cmdsYXNzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtMTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLXN0YXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG91cmdsYXNzLXN0YXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLTI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG91cmdsYXNzLWhhbGY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtMzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLWVuZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhvdXJnbGFzcy1lbmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3VyZ2xhc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWdyYWItbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1yb2NrLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLXJvY2stbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtc3RvcC1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBhcGVyLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLXBhcGVyLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXNjaXNzb3JzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLXNjaXNzb3JzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWxpemFyZC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1saXphcmQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtc3BvY2stbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtc3BvY2stbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcG9pbnRlci1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1wb2ludGVyLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBlYWNlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLXBlYWNlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFkZW1hcms6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmFkZW1hcms7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWdpc3RlcmVkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVnaXN0ZXJlZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2c6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdnLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdnLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyaXBhZHZpc29yOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJpcGFkdmlzb3I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vZG5va2xhc3NuaWtpOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb2Rub2tsYXNzbmlraTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9kbm9rbGFzc25pa2ktc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb2Rub2tsYXNzbmlraS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZXQtcG9ja2V0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2V0LXBvY2tldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpa2lwZWRpYS13OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2lraXBlZGlhLXc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYWZhcmk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zYWZhcmk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaHJvbWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaHJvbWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJlZm94OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlyZWZveDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZXJhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb3BlcmE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnRlcm5ldC1leHBsb3JlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWludGVybmV0LWV4cGxvcmVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHY6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbGV2aXNpb246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZWxldmlzaW9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29udGFvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29udGFvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tNTAwcHg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci01MDBweDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtYXpvbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFtYXpvbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXBsdXMtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbGVuZGFyLXBsdXMtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLW1pbnVzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYWxlbmRhci1taW51cy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItdGltZXMtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbGVuZGFyLXRpbWVzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1jaGVjay1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsZW5kYXItY2hlY2stbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZHVzdHJ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5kdXN0cnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtcGluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFwLXBpbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1zaWduczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcC1zaWduczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFwLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50aW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tbWVudGluZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRpbmctbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbW1lbnRpbmctbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXp6OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG91eno7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aW1lbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZpbWVvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxhY2stdGllOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmxhY2stdGllOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udGljb25zOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9udGljb25zOyB9XG4iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgc3JjOiAgdXJsKCcuLi9mb250cy9pY29tb29uLmVvdD8xcm8zdHcnKTtcbiAgc3JjOiAgdXJsKCcuLi9mb250cy9pY29tb29uLmVvdD8xcm8zdHcjaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgnLi4vZm9udHMvaWNvbW9vbi53b2ZmMj8xcm8zdHcnKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnLi4vZm9udHMvaWNvbW9vbi50dGY/MXJvM3R3JykgZm9ybWF0KCd0cnVldHlwZScpLFxuICB1cmwoJy4uL2ZvbnRzL2ljb21vb24ud29mZj8xcm8zdHcnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCcuLi9mb250cy9pY29tb29uLnN2Zz8xcm8zdHcjaWNvbW9vbicpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLmljbyB7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcblxuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5pY28tc2hvdy1uYW1lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMFwiO1xufVxuLmljby1vYmplY3QtYXJyb3ctYm9yZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNiXCI7XG59XG4uaWNvLW9iamVjdC1hcnJvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzZFwiO1xufVxuLmljby1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI2XCI7XG59XG4uaWNvLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQ0XCI7XG59XG4uaWNvLWFycm93LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTU0XCI7XG59XG4uaWNvLWFycm93LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTBcIjtcbn1cbi5pY28tYXJyb3ctdXAtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1NVwiO1xufVxuLmljby1hcnJvdy1sZWZ0LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI3XCI7XG59XG4uaWNvLWFycm93LWFyci1yaWdodC1idG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDJcIjtcbn1cbi5pY28tcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMVwiO1xufVxuLmljby1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyZVwiO1xufVxuLmljby16b29tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJkXCI7XG59XG4uaWNvLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBiXCI7XG59XG4uaWNvLXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NWJcIjtcbn1cbi5pY28tZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTFcIjtcbn1cbi5pY28tdXBsb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTU2XCI7XG59XG4uaWNvLWdlYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTJcIjtcbn1cbi5pY28tc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQ5XCI7XG59XG4uaWNvLXdhdGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTVhXCI7XG59XG4uaWNvLXdhcm5pbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NTlcIjtcbn1cbi5pY28tbG9jYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjlcIjtcbn1cbi5pY28tY2FtZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XG59XG4uaWNvLXN0cmVldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0ZlwiO1xufVxuLmljby1yZXBvcnRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQzXCI7XG59XG4uaWNvLWZpbHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNFwiO1xufVxuLmljby1ncmFwaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyMVwiO1xufVxuLmljby1mb2xsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTVcIjtcbn1cbi5pY28tdHJhZmZpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyY1wiO1xufVxuLmljby1zYXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQ4XCI7XG59XG4uaWNvLXRvb2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzdcIjtcbn1cbi5pY28tcnVsZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDZcIjtcbn1cbi5pY28tcnVsZXItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0N1wiO1xufVxuLmljby1nZWFyLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzZcIjtcbn1cbi5pY28tc2Vuc29yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTMwXCI7XG59XG4uaWNvLXNpZ25hbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxOFwiO1xufVxuLmljby1ob3VzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0YlwiO1xufVxuLmljby1wb2ludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0ZFwiO1xufVxuLmljby1sb2dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTMyXCI7XG59XG4uaWNvLW9wdGlvbnMtaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzYVwiO1xufVxuLmljby1vcHRpb25zLXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDFcIjtcbn1cbi5pY28tc3R5bGl6ZS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTUwXCI7XG59XG4uaWNvLXN0eWxpemUtMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1MVwiO1xufVxuLmljby1kZXRhaWxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBlXCI7XG59XG4uaWNvLWFjY291bnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzlcIjtcbn1cbi5pY28tdXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzOFwiO1xufVxuLmljby11c2VyLWFkZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1N1wiO1xufVxuLmljby11c2VyLXNldHRpbmdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTU4XCI7XG59XG4uaWNvLW9iamVjdC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJhXCI7XG59XG4uaWNvLW9iamVjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzNFwiO1xufVxuLmljby1vYmplY3QtYWRkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNlXCI7XG59XG4uaWNvLW9iamVjdC1pbXBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjBcIjtcbn1cbi5pY28tc2hvdy1uYW1lczI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NGNcIjtcbn1cbi5pY28tc2hvdy10cmFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwM1wiO1xufVxuLmljby1maXRib3VuZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzVcIjtcbn1cbi5pY28tZ3JvdXBpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5M2NcIjtcbn1cbi5pY28tcG9pOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTMzXCI7XG59XG4uaWNvLXBvaS1pbXBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTdcIjtcbn1cbi5pY28tYWRkLWV2ZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG59XG4uaWNvLWV2ZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTMxXCI7XG59XG4uaWNvLWV2ZW50LWFkZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNVwiO1xufVxuLmljby1nZW9mZW5jZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyYlwiO1xufVxuLmljby1nZW9mZW5jZS1pbXBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjVcIjtcbn1cbi5pY28tcGFya2luZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0MFwiO1xufVxuLmljby10aW1lLXRvZGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFmXCI7XG59XG4uaWNvLXRpbWUtaG91cjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyMlwiO1xufVxuLmljby10aW1lLXllc3RlcmRheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyM1wiO1xufVxuLmljby1nc20tMDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxOVwiO1xufVxuLmljby1nc20tMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxYVwiO1xufVxuLmljby1nc20tMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxYlwiO1xufVxuLmljby1nc20tMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxY1wiO1xufVxuLmljby1nc20tNDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxZFwiO1xufVxuLmljby1nc20tNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxZVwiO1xufVxuLmljby1iYXR0ZXJ5LTA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDZcIjtcbn1cbi5pY28tYmF0dGVyeS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XG59XG4uaWNvLWJhdHRlcnktMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwOFwiO1xufVxuLmljby1iYXR0ZXJ5LTM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDlcIjtcbn1cbi5pY28tYmF0dGVyeS00OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBjXCI7XG59XG4uaWNvLWJhdHRlcnktNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwZFwiO1xufVxuLmljby1lbmdpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTNcIjtcbn1cbi5pY28taWduaXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjRcIjtcbn1cbi5pY28tZnVlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNlwiO1xufVxuLmljby1vZG9tZXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzZlwiO1xufVxuLmljby1iYXR0ZXJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBmXCI7XG59XG4uaWNvLXJwbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0NVwiO1xufVxuLmljby1zcGVlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0ZVwiO1xufVxuLmljby10YWNob21ldGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTUyXCI7XG59XG4uaWNvLXRlbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NTNcIjtcbn1cbi5pY28tZG9vcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjBcIjtcbn1cbi5pY28tY3B1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI4XCI7XG59XG4uaWNvLWRiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJmXCI7XG59XG4uaWNvLXJhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0MlwiO1xufVxuLmljby1jb25uZWN0ZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NGFcIjtcbn1cbi5pY28tZGlzY29ubmVjdGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTVjXCI7XG59XG4uaWNvLXNvczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1ZFwiO1xufVxuLmljby16b25laW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NWVcIjtcbn1cbi5pY28tem9uZW91dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1ZlwiO1xufVxuLmljby1sb2dpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTYxXCI7XG59XG4uaWNvLWVuZ2luZS1ob3VyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2MlwiO1xufVxuLmljby1zZWF0YmVsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2M1wiO1xufVxuLmljby10ZXh0dWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTY0XCI7XG59XG4uaWNvLWxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjVcIjtcbn0iLCIvL1xuLy8gQ2hlY2tib3hlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBjaGVja2JveC12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGxhYmVsOiAnbGFiZWwnKSB7XG4gICN7JHBhcmVudH0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyAjeyRsYWJlbH0sXG4gICN7JHBhcmVudH0gaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyAjeyRsYWJlbH0ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogJGNoZWNrYm94LWFjdGl2ZS1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gICAgJjo6YWZ0ZXJ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICBAaWYgJGNoZWNrYm94LWFjdGl2ZS1ib3JkZXItY29sb3Itc2FtZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY2hlY2tib3gtY29udGFpbmVyKCRzZWxlY3Rvcikge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6ICgkY2hlY2tib3gtc2l6ZSAtIDMpO1xuICAgICAgICBoZWlnaHQ6ICgkY2hlY2tib3gtc2l6ZSAtIDMpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNoZWNrYm94LWJhY2tncm91bmQtY29sb3I7XG5cbiAgICAgICAgbWFyZ2luOiAxcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBwYWRkaW5nOiAkY2hlY2tib3gtcGFkZGluZztcbiAgICAgICAgZm9udC1zaXplOiAkY2hlY2tib3gtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGNoZWNrYm94LWZvbnQtd2VpZ2h0O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGNoZWNrYm94LWJvcmRlci1yYWRpdXM7XG5cbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXIgMC4xNXMgZWFzZS1pbi1vdXQsIGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0KTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogJGNoZWNrYm94LXNpemU7XG4gICAgICAgIGhlaWdodDogJGNoZWNrYm94LXNpemU7XG4gICAgICAgIGNvbnRlbnQ6ICdcXDAwMDAnO1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaGVja2JveC1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRjaGVja2JveC1ib3JkZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cbn1cbkBtaXhpbiBjaGVja2JveC1jaGVja2VkKCRzZWxlY3Rvcil7XG4gICN7JHNlbGVjdG9yfTo6YmVmb3Jle1xuICAgIGZvbnQtZmFtaWx5OiAkY2hlY2tib3gtZm9udC1mYW1pbHk7XG4gICAgY29udGVudDogJGNoZWNrYm94LWNoZWNrLWljb247XG4gIH1cbn1cblxuQG1peGluIGNoZWNrYm94KCRwYXJlbnQsICRsYWJlbCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgQGluY2x1ZGUgY2hlY2tib3gtY29udGFpbmVyKCRsYWJlbCk7XG5cbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICY6Zm9jdXMgKyAjeyRsYWJlbH06OmJlZm9yZSB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWNoZWNrZWQoJyY6Y2hlY2tlZCArICN7JGxhYmVsfScpO1xuXG4gICAgICAmOmNoZWNrZWQ6ZGlzYWJsZWQgKyAjeyRsYWJlbH06OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG5cbiAgICAgICY6ZGlzYWJsZWQgKyAjeyRsYWJlbH0ge1xuICAgICAgICBvcGFjaXR5OiAwLjQ1O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWRpc2FibGVkO1xuICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgICYuY2hlY2tib3gtaW5saW5lIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFJhZGlvc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIHJhZGlvLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0gaW5wdXRbdHlwZT1cInJhZGlvXCJde1xuICAgICsgbGFiZWx7XG4gICAgICAmOjphZnRlcntcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICAgICY6Y2hlY2tlZCArIGxhYmVse1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcImJvb3RzdHJhcC1jaGVja2JveC1taXhpbnNcIjtcblxuQGluY2x1ZGUgY2hlY2tib3goJy5jaGVja2JveCcsICdsYWJlbCcpO1xuQGluY2x1ZGUgY2hlY2tib3goJy5jaGVja2JveC1pbmxpbmUnLCAnbGFiZWwnKTtcblxuQGluY2x1ZGUgY2hlY2tib3gtdmFyaWFudCgnLmNoZWNrYm94LWlubGluZScsICRjaGVja2JveC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcik7XG5AaW5jbHVkZSBjaGVja2JveC12YXJpYW50KCcuY2hlY2tib3gnLCAkY2hlY2tib3gtYWN0aXZlLWJhY2tncm91bmQtY29sb3IpO1xuQGluY2x1ZGUgY2hlY2tib3gtdmFyaWFudCgnLmNoZWNrYm94LXByaW1hcnknLCAkYnJhbmQtcHJpbWFyeSk7XG5AaW5jbHVkZSBjaGVja2JveC12YXJpYW50KCcuY2hlY2tib3gtZGFuZ2VyJywgICRicmFuZC1kYW5nZXIpO1xuQGluY2x1ZGUgY2hlY2tib3gtdmFyaWFudCgnLmNoZWNrYm94LWluZm8nLCAgICAkYnJhbmQtaW5mbyk7XG5AaW5jbHVkZSBjaGVja2JveC12YXJpYW50KCcuY2hlY2tib3gtd2FybmluZycsICRicmFuZC13YXJuaW5nKTtcbkBpbmNsdWRlIGNoZWNrYm94LXZhcmlhbnQoJy5jaGVja2JveC1zdWNjZXNzJywgJGJyYW5kLXN1Y2Nlc3MpO1xuXG4uY2hlY2tib3gsXG4uY2hlY2tib3gtaW5saW5lIHtcbiAgJi5jaGVja2JveC1sZyB7XG4gICAgbGFiZWx7XG4gICAgICAmOjpiZWZvcmV7XG4gICAgICAgIHdpZHRoOiAoJGNoZWNrYm94LXNpemUgKyAxMCAtIDIpO1xuICAgICAgICBoZWlnaHQ6ICgkY2hlY2tib3gtc2l6ZSArIDEwIC0gMik7XG4gICAgICAgIGZvbnQtc2l6ZTogKCRjaGVja2JveC1mb250LXNpemUgKyAxMCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkY2hlY2tib3gtZm9udC13ZWlnaHQ7XG4gICAgICB9XG4gICAgICAmOjphZnRlcntcbiAgICAgICAgd2lkdGg6ICgkY2hlY2tib3gtc2l6ZSArIDEwKTtcbiAgICAgICAgaGVpZ2h0OiAoJGNoZWNrYm94LXNpemUgKyAxMCk7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbn1cblxuLnJhZGlvLFxuLnJhZGlvLWlubGluZSB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vZGlzcGxheTogYmxvY2s7XG4gIC8vbWFyZ2luOiAwIDAgNXB4IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcblxuICBsYWJlbHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XG5cbiAgICAmOjpiZWZvcmV7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAoJGNoZWNrYm94LXNpemUgLSA2KTtcbiAgICAgIGhlaWdodDogKCRjaGVja2JveC1zaXplIC0gNik7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNoZWNrYm94LWJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgIG1hcmdpbjogM3B4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG5cbiAgICAgIC8vQGluY2x1ZGUgc2NhbGUoMCwgMCk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXRyYW5zZm9ybSguMXMgY3ViaWMtYmV6aWVyKC44LC0wLjMzLC4yLDEuMzMpKTtcbiAgICB9XG5cbiAgICAmOjphZnRlcntcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIHdpZHRoOiAkY2hlY2tib3gtc2l6ZTtcbiAgICAgIGhlaWdodDogJGNoZWNrYm94LXNpemU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY2hlY2tib3gtYm9yZGVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNoZWNrYm94LWJhY2tncm91bmQtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYm9yZGVyIDAuMTVzIGVhc2UtaW4tb3V0KTtcbiAgICB9XG4gIH1cblxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl17XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogMDtcblxuICAgICY6Zm9jdXMgKyBsYWJlbDo6YmVmb3Jle1xuICAgICAgLy9AaW5jbHVkZSB0YWItZm9jdXMoKTtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuXG4gICAgJjpjaGVja2VkICsgbGFiZWw6OmJlZm9yZXtcbiAgICAgIC8vQGluY2x1ZGUgc2NhbGUoMSwgMSk7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCArIGxhYmVse1xuICAgICAgb3BhY2l0eTogMC42NTtcblxuICAgICAgJjo6YmVmb3Jle1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYucmFkaW8taW5saW5le1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuQGluY2x1ZGUgcmFkaW8tdmFyaWFudCgnLnJhZGlvLWlubGluZScsICRicmFuZC1wcmltYXJ5KTtcbkBpbmNsdWRlIHJhZGlvLXZhcmlhbnQoJy5yYWRpbycsICRicmFuZC1wcmltYXJ5KTtcbkBpbmNsdWRlIHJhZGlvLXZhcmlhbnQoJy5yYWRpby1wcmltYXJ5JywgJGJyYW5kLXByaW1hcnkpO1xuQGluY2x1ZGUgcmFkaW8tdmFyaWFudCgnLnJhZGlvLWRhbmdlcicsICAkYnJhbmQtZGFuZ2VyKTtcbkBpbmNsdWRlIHJhZGlvLXZhcmlhbnQoJy5yYWRpby1pbmZvJywgICAgJGJyYW5kLWluZm8pO1xuQGluY2x1ZGUgcmFkaW8tdmFyaWFudCgnLnJhZGlvLXdhcm5pbmcnLCAkYnJhbmQtd2FybmluZyk7XG5AaW5jbHVkZSByYWRpby12YXJpYW50KCcucmFkaW8tc3VjY2VzcycsICRicmFuZC1zdWNjZXNzKTtcblxuXG4iLCIvKiFcbiAqIERhdGVwaWNrZXIgZm9yIEJvb3RzdHJhcFxuICpcbiAqIENvcHlyaWdodCAyMDEyIFN0ZWZhbiBQZXRyZVxuICogSW1wcm92ZW1lbnRzIGJ5IEFzaGxleSBOb3Zha1xuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlIHYyLjBcbiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqL1xuXG5AbWl4aW4gZGF0ZXBpY2tlci1idXR0b24tdmFyaWFudCgkY29sb3IsICRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kOy8vZGFya2VuKCRiYWNrZ3JvdW5kLCA4JSk7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMTIlKTtcbiAgfVxuXG4gICY6aG92ZXJ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDglKTtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuICB9XG59XG5cbi5kYXRlcGlja2VyIHtcbiAgLy9wYWRkaW5nOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICYuZGF0ZXBpY2tlci1pbmxpbmUge1xuICAgIHdpZHRoOiAyMjBweDtcbiAgfVxuICAmLmRhdGVwaWNrZXItZHJvcGRvd24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBib3JkZXItbGVmdDogICA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6ICA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiA3cHggc29saWQgJGRyb3Bkb3duLWJvcmRlcjtcbiAgICAgIGJvcmRlci10b3A6ICAgIDA7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZHJvcGRvd24tYm9yZGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYm9yZGVyLWxlZnQ6ICAgNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAgNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICRkcm9wZG93bi1iZztcbiAgICAgIGJvcmRlci10b3A6ICAgIDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgICYuZGF0ZXBpY2tlci1vcmllbnQtbGVmdDpiZWZvcmUgICB7IGxlZnQ6IDZweDsgfVxuICAgICYuZGF0ZXBpY2tlci1vcmllbnQtbGVmdDphZnRlciAgICB7IGxlZnQ6IDdweDsgfVxuICAgICYuZGF0ZXBpY2tlci1vcmllbnQtcmlnaHQ6YmVmb3JlICB7IHJpZ2h0OiA2cHg7IH1cbiAgICAmLmRhdGVwaWNrZXItb3JpZW50LXJpZ2h0OmFmdGVyICAgeyByaWdodDogN3B4OyB9XG4gICAgJi5kYXRlcGlja2VyLW9yaWVudC1ib3R0b206YmVmb3JlIHsgdG9wOiAtN3B4OyB9XG4gICAgJi5kYXRlcGlja2VyLW9yaWVudC1ib3R0b206YWZ0ZXIgIHsgdG9wOiAtNnB4OyB9XG4gICAgJi5kYXRlcGlja2VyLW9yaWVudC10b3A6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogICAgICAgIC03cHg7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXRvcDogICAgN3B4IHNvbGlkICRkcm9wZG93bi1ib3JkZXI7XG4gICAgfVxuICAgICYuZGF0ZXBpY2tlci1vcmllbnQtdG9wOmFmdGVyIHtcbiAgICAgIGJvdHRvbTogICAgICAgIC02cHg7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXRvcDogICAgNnB4IHNvbGlkICRkcm9wZG93bi1iZztcbiAgICB9XG4gIH1cbiAgPmRpdiB7XG4gICAgLy9kaXNwbGF5OiBub25lO1xuICB9XG4gICYuZGF5cyBkaXYuZGF0ZXBpY2tlci1kYXlzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAmLm1vbnRocyBkaXYuZGF0ZXBpY2tlci1tb250aHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gICYueWVhcnMgZGl2LmRhdGVwaWNrZXIteWVhcnMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIHRhYmxle1xuICAgIG1hcmdpbjogMDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdHIge1xuICAgICAgdGQsIHRoIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIElubGluZSBkaXNwbGF5IGluc2lkZSBhIHRhYmxlIHByZXNlbnRzIHNvbWUgcHJvYmxlbXMgd2l0aFxuICAvLyBib3JkZXIgYW5kIGJhY2tncm91bmQgY29sb3JzLlxuICAudGFibGUtc3RyaXBlZCAmIHRhYmxlIHRyIHtcbiAgICB0ZCwgdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbiAgdGFibGUgdHIgdGQge1xuICAgICYuZGF5OmhvdmVyLCAmLmRheS5mb2N1c2VkIHtcbiAgICAgIGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgICYub2xkLFxuICAgICYubmV3IHtcbiAgICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgfVxuICAgICYuZGlzYWJsZWQsXG4gICAgJi5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG4gICAgJi50b2RheSxcbiAgICAmLnRvZGF5OmhvdmVyLFxuICAgICYudG9kYXkuZGlzYWJsZWQsXG4gICAgJi50b2RheS5kaXNhYmxlZDpob3ZlciB7XG4gICAgICAkdG9kYXktYmc6ICRicmFuZC1pbmZvO1xuICAgICAgQGluY2x1ZGUgZGF0ZXBpY2tlci1idXR0b24tdmFyaWFudCgkZ3JheS1kYXJrLCAkdG9kYXktYmcsIGRhcmtlbigkdG9kYXktYmcsIDIwJSkpO1xuICAgIH1cbiAgICAmLnRvZGF5OmhvdmVyOmhvdmVyIHsgLy8gVGhhbmsgYm9vdHN0cmFwIDIuMCBmb3IgdGhpcyBzZWxlY3Rvci4uLlxuICAgICAgLy8gVE9ETzogQnVtcCBtaW4gQlMgdG8gMi4xLCB1c2UgJHRleHRDb2xvciBpbiBidXR0b25CYWNrZ3JvdW5kIGFib3ZlXG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG4gICAgJi50b2RheS5hY3RpdmU6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICAgICYucmFuZ2UsXG4gICAgJi5yYW5nZTpob3ZlcixcbiAgICAmLnJhbmdlLmRpc2FibGVkLFxuICAgICYucmFuZ2UuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDokZ3JheS1saWdodGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gICAgJi5yYW5nZS50b2RheSxcbiAgICAmLnJhbmdlLnRvZGF5OmhvdmVyLFxuICAgICYucmFuZ2UudG9kYXkuZGlzYWJsZWQsXG4gICAgJi5yYW5nZS50b2RheS5kaXNhYmxlZDpob3ZlciB7XG4gICAgICAkdG9kYXktYmc6ICRicmFuZC1pbmZvO1xuICAgICAgQGluY2x1ZGUgZGF0ZXBpY2tlci1idXR0b24tdmFyaWFudCgjMDAwLCAkdG9kYXktYmcsIGRhcmtlbigkdG9kYXktYmcsIDIwJSkpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gICAgJi5zZWxlY3RlZCxcbiAgICAmLnNlbGVjdGVkOmhvdmVyLFxuICAgICYuc2VsZWN0ZWQuZGlzYWJsZWQsXG4gICAgJi5zZWxlY3RlZC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBAaW5jbHVkZSBkYXRlcGlja2VyLWJ1dHRvbi12YXJpYW50KCNmZmYsICRncmF5LWxpZ2h0LCAkZ3JheSk7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO1xuICAgIH1cbiAgICAmLmFjdGl2ZSxcbiAgICAmLmFjdGl2ZTpob3ZlcixcbiAgICAmLmFjdGl2ZS5kaXNhYmxlZCxcbiAgICAmLmFjdGl2ZS5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBAaW5jbHVkZSBkYXRlcGlja2VyLWJ1dHRvbi12YXJpYW50KCNmZmYsICRicmFuZC1wcmltYXJ5LCAkYnJhbmQtcHJpbWFyeSk7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO1xuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDIzJTtcbiAgICAgIGhlaWdodDogNTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1NHB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDElO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodGVyO1xuICAgICAgfVxuICAgICAgJi5kaXNhYmxlZCxcbiAgICAgICYuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB9XG4gICAgICAmLmFjdGl2ZSxcbiAgICAgICYuYWN0aXZlOmhvdmVyLFxuICAgICAgJi5hY3RpdmUuZGlzYWJsZWQsXG4gICAgICAmLmFjdGl2ZS5kaXNhYmxlZDpob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIGRhdGVwaWNrZXItYnV0dG9uLXZhcmlhbnQoJGJ0bi1wcmltYXJ5LWNvbG9yLCAkYnRuLXByaW1hcnktYmcsICRidG4tcHJpbWFyeS1ib3JkZXIpO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO1xuICAgICAgfVxuICAgICAgJi5vbGQsXG4gICAgICAmLm5ldyB7XG4gICAgICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdGguZGF0ZXBpY2tlci1zd2l0Y2gge1xuICAgIHdpZHRoOiAxNDVweDtcbiAgfVxuXG4gIC5kYXRlcGlja2VyLXN3aXRjaCxcbiAgLm5leHQsXG4gIC5wcmV2LFxuICB0Zm9vdCB0ciB0aCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodGVyO1xuICAgIH1cbiAgfVxuXG4gIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoLFxuICB0Zm9vdCB0ciB0aCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAmOmhvdmVye1xuICAgICAgYmFja2dyb3VuZDogJGdyYXktbGlnaHRlcjtcbiAgICB9XG4gIH1cbiAgLyouZG93IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZCAhaW1wb3J0YW50O1xuICB9Ki9cblxuICAvLyBCYXNpYyBzdHlsaW5nIGZvciBjYWxlbmRhci13ZWVrIGNlbGxzXG4gIC5jdyB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIHBhZGRpbmc6IDAgMnB4IDAgNXB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbiAgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGguY3cge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuLmlucHV0LWdyb3VwIHtcbiAgJi5kYXRlIHtcbiAgICAuaW5wdXQtZ3JvdXAtYWRkb24gaSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICB9XG4gIH1cbn1cbi5pbnB1dC1kYXRlcmFuZ2Uge1xuICBpbnB1dCB7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gIH1cbiAgaW5wdXQ6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAwIDAgM3B4O1xuICB9XG4gIGlucHV0Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgM3B4IDNweCAwO1xuICB9XG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWluLXdpZHRoOiAxNnB4O1xuICAgIHBhZGRpbmc6IDRweCA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtc2hhZG93OiAwIDFweCAwICNmZmY7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gICAgYm9yZGVyOiBzb2xpZCAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci13aWR0aDogMXB4IDA7XG4gICAgbWFyZ2luLWxlZnQ6LTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6LTVweDtcbiAgfVxufSIsIiRkdHAtdG9kYXktYmc6ICRicmFuZC1pbmZvO1xuJGR0cC10b2RheS1jb2xvcjogJGdyYXktZGFyaztcbiRkdHAtdG9kYXktYm9yZGVyOiBkYXJrZW4oJGR0cC10b2RheS1iZywgMjAlKTtcblxuLmRhdGV0aW1lcGlja2VyIHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAmOm5vdCguZm9ybS1jb250cm9sKSB7XG4gICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMXB4O1xuICAgIH1cbiAgICAmLmRhdGV0aW1lcGlja2VyLXJ0bCB7XG4gICAgICAgIGRpcmVjdGlvbjogcnRsO1xuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmID4gZGl2IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgJi5taW51dGVzIHtcbiAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICYuZGF0ZXRpbWVwaWNrZXItbWludXRlcyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5ob3VycyB7XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICAmLmRhdGV0aW1lcGlja2VyLWhvdXJzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmRheXMge1xuICAgICAgICBkaXYge1xuICAgICAgICAgICAgJi5kYXRldGltZXBpY2tlci1kYXlzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLm1vbnRocyB7XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICAmLmRhdGV0aW1lcGlja2VyLW1vbnRocyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi55ZWFycyB7XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICAmLmRhdGV0aW1lcGlja2VyLXllYXJzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICB0YWJsZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdHIge1xuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICYubWludXRlIHtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuaG91ciB7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyYXktbGlnaHRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmRheSB7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyYXktbGlnaHRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMyU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNTRweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDU0cHg7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDElO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAgICAgICAgICAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5vbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZGF0ZXRpbWVwaWNrZXItaG91cnMge1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGhlaWdodDogMjZweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5kYXRldGltZXBpY2tlci1taW51dGVzIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0aCB7XG4gICAgICAgICYuc3dpdGNoIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNDVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5kYXRldGltZXBpY2tlci1pbmxpbmUge1xuICAgIHdpZHRoOiAyMjBweDtcbn1cbi5kYXRldGltZXBpY2tlci1kcm9wZG93biwgLmRhdGV0aW1lcGlja2VyLWRyb3Bkb3duLWxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xufVxuW2NsYXNzKj1cImRhdGV0aW1lcGlja2VyLWRyb3Bkb3duXCJdOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICRkcm9wZG93bi1ib3JkZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuW2NsYXNzKj1cImRhdGV0aW1lcGlja2VyLWRyb3Bkb3duXCJdOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgJGRyb3Bkb3duLWJnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbltjbGFzcyo9XCJkYXRldGltZXBpY2tlci1kcm9wZG93bi10b3BcIl06YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiA3cHggc29saWQgJGRyb3Bkb3duLWJvcmRlcjtcbiAgICBib3JkZXItYm90dG9tOiAwO1xufVxuW2NsYXNzKj1cImRhdGV0aW1lcGlja2VyLWRyb3Bkb3duLXRvcFwiXTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogNnB4IHNvbGlkICRkcm9wZG93bi1iZztcbiAgICBib3JkZXItYm90dG9tOiAwO1xufVxuLmRhdGV0aW1lcGlja2VyLWRyb3Bkb3duLWJvdHRvbS1sZWZ0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRvcDogLTdweDtcbiAgICAgICAgcmlnaHQ6IDZweDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIHRvcDogLTZweDtcbiAgICAgICAgcmlnaHQ6IDdweDtcbiAgICB9XG59XG4uZGF0ZXRpbWVwaWNrZXItZHJvcGRvd24tYm90dG9tLXJpZ2h0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRvcDogLTdweDtcbiAgICAgICAgbGVmdDogNnB4O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgdG9wOiAtNnB4O1xuICAgICAgICBsZWZ0OiA3cHg7XG4gICAgfVxufVxuLmRhdGV0aW1lcGlja2VyLWRyb3Bkb3duLXRvcC1sZWZ0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJvdHRvbTogLTdweDtcbiAgICAgICAgcmlnaHQ6IDZweDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogLTZweDtcbiAgICAgICAgcmlnaHQ6IDdweDtcbiAgICB9XG59XG4uZGF0ZXRpbWVwaWNrZXItZHJvcGRvd24tdG9wLXJpZ2h0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJvdHRvbTogLTdweDtcbiAgICAgICAgbGVmdDogNnB4O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAtNnB4O1xuICAgICAgICBsZWZ0OiA3cHg7XG4gICAgfVxufVxuLmRhdGV0aW1lcGlja2VyICB0ZCxcbi5kYXRldGltZXBpY2tlciB0aCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgYm9yZGVyOiBub25lO1xufVxuLnRhYmxlLXN0cmlwZWQgLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLFxuLnRhYmxlLXN0cmlwZWQgLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5vbGQsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQubmV3IHtcbiAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xufVxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmRpc2FibGVkLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmRpc2FibGVkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHRwLXRvZGF5LWJnO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgJGR0cC10b2RheS1iZywgJGR0cC10b2RheS1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICRkdHAtdG9kYXktYmcsICRkdHAtdG9kYXktYmcpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbSgkZHRwLXRvZGF5LWJnKSwgdG8oJGR0cC10b2RheS1iZykpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgJGR0cC10b2RheS1iZywgJGR0cC10b2RheS1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJGR0cC10b2RheS1iZywgJGR0cC10b2RheS1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvcCwgJGR0cC10b2RheS1iZywgJGR0cC10b2RheS1iZyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyRkdHAtdG9kYXktYmcnLCBlbmRDb2xvcnN0cj0nJGR0cC10b2RheS1iZycsIEdyYWRpZW50VHlwZT0wKTtcbiAgICBib3JkZXItY29sb3I6ICRkdHAtdG9kYXktYmcgJGR0cC10b2RheS1iZyAkZHRwLXRvZGF5LWJnO1xuICAgIC8vYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSkgcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSk7XG59XG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXIsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXI6aG92ZXIsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXIsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXI6aG92ZXIsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyOmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXI6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3Zlci5hY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQuYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyLmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3Zlci5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZC5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3Zlci5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheVtkaXNhYmxlZF0sXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXJbZGlzYWJsZWRdLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkW2Rpc2FibGVkXSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3ZlcltkaXNhYmxlZF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkdHAtdG9kYXktYmc7XG59XG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyOmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXI6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3Zlci5hY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQuYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGR0cC10b2RheS1iZyBcXDk7XG59XG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTpob3Zlcixcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLXByaW1hcnktYmc7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAkYnRuLXByaW1hcnktYmcsICRidG4tcHJpbWFyeS1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJnKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oJGJ0bi1wcmltYXJ5LWJnKSwgdG8oJGJ0bi1wcmltYXJ5LWJnKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAkYnRuLXByaW1hcnktYmcsICRidG4tcHJpbWFyeS1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYmcpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0b3AsICRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJGJ0bi1wcmltYXJ5LWJnJywgZW5kQ29sb3JzdHI9JyRidG4tcHJpbWFyeS1iZycsIEdyYWRpZW50VHlwZT0wKTtcbiAgICBib3JkZXItY29sb3I6ICRidG4tcHJpbWFyeS1iZyAkYnRuLXByaW1hcnktYmcgJGJ0bi1wcmltYXJ5LWJnO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQ9ZmFsc2UpO1xuICAgIGNvbG9yOiAkYnRuLXByaW1hcnktY29sb3I7XG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTpob3Zlcjpob3Zlcixcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyOmhvdmVyLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyOmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZDpob3ZlcjphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXIuYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZC5hY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyLmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyLmRpc2FibGVkLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZC5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIuZGlzYWJsZWQsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlW2Rpc2FibGVkXSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXJbZGlzYWJsZWRdLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZFtkaXNhYmxlZF0sXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyW2Rpc2FibGVkXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ0bi1wcmltYXJ5LWJnO1xufVxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyOmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZDpob3ZlcjphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXIuYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZC5hY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXByaW1hcnkgXFw5O1xufVxuLmRhdGV0aW1lcGlja2VyIC5kYXRldGltZXBpY2tlci1ob3VycyB0YWJsZSB0ciB0ZCBzcGFuLmhvdXJfYW0sXG4uZGF0ZXRpbWVwaWNrZXIgLmRhdGV0aW1lcGlja2VyLWhvdXJzIHRhYmxlIHRyIHRkIHNwYW4uaG91cl9wbSB7XG4gICAgd2lkdGg6IDE0LjYlO1xufVxuLmRhdGV0aW1lcGlja2VyIC5kYXRldGltZXBpY2tlci1ob3VycyBmaWVsZHNldCBsZWdlbmQsXG4uZGF0ZXRpbWVwaWNrZXIgLmRhdGV0aW1lcGlja2VyLW1pbnV0ZXMgZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xufVxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uZGlzYWJsZWQsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlcixcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ0bi1wcmltYXJ5LWJnO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYmcpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAkYnRuLXByaW1hcnktYmcsICRidG4tcHJpbWFyeS1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKCRidG4tcHJpbWFyeS1iZyksIHRvKCRidG4tcHJpbWFyeS1iZykpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYmcpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJnKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG9wLCAkYnRuLXByaW1hcnktYmcsICRidG4tcHJpbWFyeS1iZyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyRidG4tcHJpbWFyeS1iZycsIGVuZENvbG9yc3RyPSckYnRuLXByaW1hcnktYmcnLCBHcmFkaWVudFR5cGU9MCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkYnRuLXByaW1hcnktYmcgJGJ0bi1wcmltYXJ5LWJnICRidG4tcHJpbWFyeS1iZztcbiAgICAvL2JvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQ9ZmFsc2UpO1xuICAgIGNvbG9yOiAkYnRuLXByaW1hcnktY29sb3I7XG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXIsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXI6aG92ZXIsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXI6aG92ZXIsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyOmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXI6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlci5hY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQuYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyLmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlci5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZC5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3Zlci5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZVtkaXNhYmxlZF0sXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXJbZGlzYWJsZWRdLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkW2Rpc2FibGVkXSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3ZlcltkaXNhYmxlZF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidG4tcHJpbWFyeS1iZztcbn1cbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXI6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3ZlcjphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyLmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZC5hY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtcHJpbWFyeSBcXDk7XG59XG4uZGF0ZXRpbWVwaWNrZXIgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGgsXG4uZGF0ZXRpbWVwaWNrZXIgdGZvb3QgdHI6Zmlyc3QtY2hpbGQgdGgge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5kYXRldGltZXBpY2tlciB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aDpob3Zlcixcbi5kYXRldGltZXBpY2tlciB0Zm9vdCB0cjpmaXJzdC1jaGlsZCB0aDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGdyYXktbGlnaHRlcjtcbn1cbi5pbnB1dC1hcHBlbmQuZGF0ZSAuYWRkLW9uIGksXG4uaW5wdXQtcHJlcGVuZC5kYXRlIC5hZGQtb24gaSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbn1cblxuIiwiJGNvbG9yLXJlZC1lcnJvcjogcmdiKDE4NSwgNzQsIDcyKSAhZGVmYXVsdDtcbiRjb2xvci1ncmV5LWFycm93OiAkZHJvcGRvd24tYmcgIWRlZmF1bHQ7XG5cbiR3aWR0aC1kZWZhdWx0OiAyMjBweCAhZGVmYXVsdDsgLy8gMyA5NjBweC1ncmlkIGNvbHVtbnNcblxuLy8gUHJlY2lzYSBmaWNhciBhY2ltYSBkZSBxdWFscXVlciBtb2RhbC4gTyBnZXJlbmNpYWRvciBkZSBtb2RhaXMgZW1waWxoYSBkZSAxMFxuLy8gZW0gMTAgKDEwNTAgbm8gcHJpbWVpcm8sIDEwNjAgbm8gc2VndW5kbywgMTA3MCBubyB0ZXJjZWlyby4uLiksIGVudGFvIDEwNjBcbi8vIGVtcGF0YXZhIGNvbSBvIHNlZ3VuZG8gbW9kYWwgZSBhIGxpc3RhIGFicmlhIGF0cmFzIGRlbGUuXG4kemluZGV4LXNlbGVjdC1kcm9wZG93bjogMjAwMCAhZGVmYXVsdDtcblxuLy8qKiBQbGFjZWhvbGRlciB0ZXh0IGNvbG9yXG4kaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI6ICM5OTkgIWRlZmF1bHQ7XG5cblxuQGZ1bmN0aW9uIGZhZGUoJGNvbG9yLCAkYW1udCkge1xuICBAaWYgJGFtbnQgPiAxIHtcbiAgICAkYW1udDogJGFtbnQgLyAxMDA7IC8vIGNvbnZlcnQgdG8gcGVyY2VudGFnZSBpZiBpbnRcbiAgfVxuICBAcmV0dXJuIHJnYmEoJGNvbG9yLCAkYW1udCk7XG59XG5cbi5ib290c3RyYXAtc2VsZWN0IHtcbiAgd2lkdGg6IDIyMHB4IFxcMDsgLypJRTkgYW5kIGJlbG93Ki9cblxuICAvLyBUaGUgc2VsZWN0cGlja2VyIGJ1dHRvblxuICA+IC5kcm9wZG93bi10b2dnbGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gICAgei1pbmRleDogMTtcblxuICAgICYuYnMtcGxhY2Vob2xkZXIsXG4gICAgJi5icy1wbGFjZWhvbGRlcjpob3ZlcixcbiAgICAmLmJzLXBsYWNlaG9sZGVyOmZvY3VzLFxuICAgICYuYnMtcGxhY2Vob2xkZXI6YWN0aXZlIHsgY29sb3I6ICRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcjsgfVxuICB9XG5cbiAgPiBzZWxlY3Qge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMC41cHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgICYubW9iaWxlLWRldmljZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxuXG4gIC8vIEVycm9yIGRpc3BsYXlcbiAgLmhhcy1lcnJvciAmIC5kcm9wZG93bi10b2dnbGUsXG4gIC5lcnJvciAmIC5kcm9wZG93bi10b2dnbGUge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXJlZC1lcnJvcjtcbiAgfVxuXG4gICYuZml0LXdpZHRoIHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgJjpub3QoW2NsYXNzKj1cImNvbC1cIl0pOm5vdChbY2xhc3MqPVwiZm9ybS1jb250cm9sXCJdKTpub3QoLmlucHV0LWdyb3VwLWJ0bikge1xuICAgIHdpZHRoOiAkd2lkdGgtZGVmYXVsdDtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cztcbiAgICAvKlxuICAgIG91dGxpbmU6IHRoaW4gZG90dGVkICMzMzMzMzMgIWltcG9ydGFudDtcbiAgICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3IgIWltcG9ydGFudDtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgICAqL1xuICB9XG59XG5cbi8vIFJ1bGVzXG5zZWxlY3QuYnMtc2VsZWN0LWhpZGRlbixcbnNlbGVjdC5zZWxlY3RwaWNrZXIsXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uYm9vdHN0cmFwLXNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG5cbiAgJjpub3QoW2NsYXNzKj1cImNvbC1cIl0pIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICYuaW5wdXQtZ3JvdXAtYnRuIHtcbiAgICB6LWluZGV4OiBhdXRvO1xuXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgID4gLmJ0biB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1idG4uYm9vdHN0cmFwLXNlbGVjdC5idG4tZ3JvdXAge1xuICA+IC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi8vIFRoZSBzZWxlY3RwaWNrZXIgY29tcG9uZW50c1xuLmJvb3RzdHJhcC1zZWxlY3QuYnRuLWdyb3VwIHtcbiAgJjpub3QoLmlucHV0LWdyb3VwLWJ0biksXG4gICZbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gRm9yY2VzIHRoZSBwdWxsIHRvIHRoZSByaWdodCwgaWYgbmVjZXNzYXJ5XG4gICYsXG4gICZbY2xhc3MqPVwiY29sLVwiXSxcbiAgLnJvdyAmW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICYuZHJvcGRvd24tbWVudS1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0taW5saW5lICYsXG4gIC5mb3JtLWhvcml6b250YWwgJixcbiAgLmZvcm0tZ3JvdXAgJiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5mb3JtLWdyb3VwLWxnICYuZm9ybS1jb250cm9sLFxuICAuZm9ybS1ncm91cC1zbSAmLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5kcm9wZG93bi10b2dnbGUge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldCB0aGUgd2lkdGggb2YgdGhlIGxpdmUgc2VhcmNoIChhbmQgYW55IG90aGVyIGZvcm0gY29udHJvbCB3aXRoaW4gYW4gaW5saW5lIGZvcm0pXG4gIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vc2lsdmlvbW9yZXRvL2Jvb3RzdHJhcC1zZWxlY3QvaXNzdWVzLzY4NVxuICAuZm9ybS1pbmxpbmUgJiAuZm9ybS1jb250cm9sIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gID4gLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAmLmJzLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblxuICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtc2VsZWN0LWRyb3Bkb3duO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSBzZWxlY3RwaWNrZXIgYnV0dG9uXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIC5maWx0ZXItb3B0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG5cbiAgICAuY2FyZXQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMTJweDtcbiAgICAgIC8vbWFyZ2luLXRvcDogLTJweDtcbiAgICAgIG1hcmdpbi10b3A6IC03cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICB9XG5cbiAgJltjbGFzcyo9XCJjb2wtXCJdIC5kcm9wZG93bi10b2dnbGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gVGhlIHNlbGVjdHBpY2tlciBkcm9wZG93blxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG5cbiAgICAmLmlubmVyIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICYuYWN0aXZlIHNtYWxsIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQgYSB7XG4gICAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgJi5vcHQge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuMjVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4uY2hlY2stbWFyayB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4udGV4dCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNtYWxsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubm90aWZ5IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogNXB4O1xuICAgICAgd2lkdGg6IDk2JTtcbiAgICAgIG1hcmdpbjogMCAyJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDI2cHg7XG4gICAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgICAgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiKDIyNywgMjI3LCAyMjcpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggZmFkZShyZ2IoMCwgMCwgMCksIDUpKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICB9XG4gIH1cblxuICAubm8tcmVzdWx0cyB7XG4gICAgcGFkZGluZzogM3B4O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1iZy0xMDA7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgJi5maXQtd2lkdGggLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgLmZpbHRlci1vcHRpb24ge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB9XG5cbiAgICAvKlxuICAgIC5jYXJldCB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICB9XG4gICAgKi9cbiAgfVxuXG4gICYuc2hvdy10aWNrIC5kcm9wZG93bi1tZW51IGxpIHtcbiAgICAmLnNlbGVjdGVkIGEgc3Bhbi5jaGVjay1tYXJrIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIH1cblxuICAgIGEgc3Bhbi50ZXh0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzRweDtcbiAgICB9XG4gIH1cbn1cblxuLmJvb3RzdHJhcC1zZWxlY3Quc2hvdy1tZW51LWFycm93IHtcbiAgJi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgei1pbmRleDogKCR6aW5kZXgtc2VsZWN0LWRyb3Bkb3duICsgMSk7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtNHB4O1xuICAgICAgbGVmdDogOXB4O1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICRkcm9wZG93bi1iZztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTRweDtcbiAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYuZHJvcHVwIC5kcm9wZG93bi10b2dnbGUge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogLTNweDtcbiAgICAgIGJvcmRlci10b3A6IDdweCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogLTNweDtcbiAgICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCAkZHJvcGRvd24tYmc7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gICYucHVsbC1yaWdodCAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICByaWdodDogMTJweDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICByaWdodDogMTNweDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgJi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLmJzLXNlYXJjaGJveCxcbi5icy1hY3Rpb25zYm94LFxuLmJzLWRvbmVidXR0b24ge1xuICBtYXJnaW46ICRkcm9wZG93bi1wYWRkaW5nLXZlcnRpY2FsICRkcm9wZG93bi1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi5icy1hY3Rpb25zYm94IHtcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcblxuICAmIC5idG4tZ3JvdXAgYnV0dG9uIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cbi5icy1kb25lYnV0dG9uIHtcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcblxuICAmIC5idG4tZ3JvdXAgYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uYnMtc2VhcmNoYm94IHtcbiAgJiAuZm9ybS1jb250cm9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cblxuLmJzLWlucHV0IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG4gIGhlaWdodDogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcblxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLmJvb3RzdHJhcC1zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgLmRyb3Bkb3duLW1lbnUuaW5uZXIge1xuICAgICA+IGxpIHtcbiAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgIEBleHRlbmQgLmNvbC1zbS0xMjtcbiAgICAgICBAaW5jbHVkZSB0ZXh0LW92ZXJmbG93O1xuXG4gICAgICAgJltkYXRhLW9yaWdpbmFsLWluZGV4XVtkYXRhLW9wdGdyb3VwXSB7XG4gICAgICAgICBAZXh0ZW5kIC5jb2wtc20tMTI7XG4gICAgICAgfVxuXG4gICAgICAgJi5kcm9wZG93bi1oZWFkZXIge1xuICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJnLTEwMDtcbiAgICAgICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgIH1cbiAgICAgICAmLmRpdmlkZXIge1xuICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICB9XG4gICAgIH1cbiAgIH1cbiB9XG5cbi5ib290c3RyYXAtc2VsZWN0LmZvcm0tY29udHJvbC5tdWx0aWV4cGFuZCB7XG4gIGhlaWdodDogYXV0bztcbiAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmRyb3Bkb3duLW1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudS5pbm5lciB7XG4gICAgbWluLWhlaWdodDogMTYwcHg7XG4gICAgbWF4LWhlaWdodDogMTYwcHg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBAZXh0ZW5kIC5zY3JvbGxiYXI7XG5cbiAgICA+IGxpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBAZXh0ZW5kIC5jb2wtc20tMTI7XG4gICAgICBAaW5jbHVkZSB0ZXh0LW92ZXJmbG93O1xuXG4gICAgICA+IGEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgICAgIEBpbmNsdWRlIHRleHQtb3ZlcmZsb3coKTtcbiAgICAgIH1cblxuICAgICAgJltkYXRhLW9yaWdpbmFsLWluZGV4XSxcbiAgICAgICZbZGF0YS1vcmlnaW5hbC1pbmRleF1bZGF0YS1vcHRncm91cF0ge1xuICAgICAgICBAZXh0ZW5kIC5jb2wtc20tNDtcbiAgICAgIH1cblxuICAgICAgJi5uby1yZXN1bHRzLFxuICAgICAgJi5kcm9wZG93bi1oZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmctMTAwO1xuICAgICAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgICAgJi5kaXZpZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5oYWxmIHtcbiAgICAuZHJvcGRvd24tbWVudS5pbm5lciBsaVtkYXRhLW9yaWdpbmFsLWluZGV4XSB7XG4gICAgICBAZXh0ZW5kIC5jb2wtc20tNjtcbiAgICB9XG4gIH1cbiAgJi5mdWxsIHtcbiAgICAuZHJvcGRvd24tbWVudS5pbm5lciBsaVtkYXRhLW9yaWdpbmFsLWluZGV4XSB7XG4gICAgICBAZXh0ZW5kIC5jb2wtc20tMTI7XG4gICAgfVxuICB9XG5cbiAgLmJzLWRvbmVidXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuYnMtc2VhcmNoYm94LFxuICAuYnMtYWN0aW9uc2JveCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIC8vQGV4dGVuZCAuY29sLXhzLTY7XG4gIH1cbiAgLmJzLWFjdGlvbnNib3gge1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgLmJ0biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZy1iYXNlLXZlcnRpY2FsLCAkcGFkZGluZy1iYXNlLWhvcml6b250YWwsICRmb250LXNpemUtYmFzZSwgJGxpbmUtaGVpZ2h0LWJhc2UsICRidG4tYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgICB9XG4gIH1cbn1cblxuXG4iLCIvKiFcbiAqIEJvb3RzdHJhcCBDb2xvcnBpY2tlciB2Mi41LjFcbiAqIGh0dHBzOi8vaXRzamF2aS5jb20vYm9vdHN0cmFwLWNvbG9ycGlja2VyL1xuICpcbiAqIE9yaWdpbmFsbHkgd3JpdHRlbiBieSAoYykgMjAxMiBTdGVmYW4gUGV0cmVcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSB2Mi4wXG4gKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAudHh0XG4gKlxuICovXG4kY29sb3JwaWNrZXItaW1nLXBhdGg6IFwiLi4vaW1hZ2VzL2Jvb3RzdHJhcC1jb2xvcnBpY2tlclwiICFkZWZhdWx0O1xuXG5AbWl4aW4gYmdJbWcoJGltZ0ZpbGVuYW1lKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JGNvbG9ycGlja2VyLWltZy1wYXRofS8jeyRpbWdGaWxlbmFtZX1cIik7XG59XG5cbkBtaXhpbiBib3JkZXJSYWRpdXMoJHNpemUpIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkc2l6ZTtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAkc2l6ZTtcbiAgYm9yZGVyLXJhZGl1czogJHNpemU7XG59XG5cbi5jb2xvcnBpY2tlci1zYXR1cmF0aW9uIHtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBAaW5jbHVkZSBiZ0ltZygnc2F0dXJhdGlvbi5wbmcnKTtcbiAgY3Vyc29yOiBjcm9zc2hhaXI7XG4gIGZsb2F0OiBsZWZ0O1xuICBpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDVweDtcbiAgICB3aWR0aDogNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDVweCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogLTRweCAwIDAgLTRweDtcbiAgICBiIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICB3aWR0aDogNXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cyg1cHgpO1xuICAgIH1cbiAgfVxufVxuXG4uY29sb3JwaWNrZXItaHVlLFxuLmNvbG9ycGlja2VyLWFscGhhIHtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBjdXJzb3I6IHJvdy1yZXNpemU7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLmNvbG9ycGlja2VyLWh1ZSBpLFxuLmNvbG9ycGlja2VyLWFscGhhIGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZmZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG59XG5cbi5jb2xvcnBpY2tlci1odWUge1xuICBAaW5jbHVkZSBiZ0ltZygnaHVlLnBuZycpO1xufVxuXG4uY29sb3JwaWNrZXItYWxwaGEge1xuICBAaW5jbHVkZSBiZ0ltZygnYWxwaGEucG5nJyk7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb2xvcnBpY2tlci1zYXR1cmF0aW9uLFxuLmNvbG9ycGlja2VyLWh1ZSxcbi5jb2xvcnBpY2tlci1hbHBoYSB7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbn1cblxuLmNvbG9ycGlja2VyIHtcbiAgcGFkZGluZzogNHB4O1xuICBtaW4td2lkdGg6IDEzMHB4O1xuICBtYXJnaW4tdG9wOiAxcHg7XG4gIEBpbmNsdWRlIGJvcmRlclJhZGl1cyg0cHgpO1xuICB6LWluZGV4OiAyNTAwO1xufVxuXG4uY29sb3JwaWNrZXI6YmVmb3JlLFxuLmNvbG9ycGlja2VyOmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4uY29sb3JwaWNrZXI6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmNvbG9ycGlja2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA3cHggc29saWQgI2NjYztcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTdweDtcbiAgbGVmdDogNnB4O1xufVxuXG4uY29sb3JwaWNrZXI6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNmZmZmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNnB4O1xuICBsZWZ0OiA3cHg7XG59XG5cbi5jb2xvcnBpY2tlciBkaXYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jb2xvcnBpY2tlci5jb2xvcnBpY2tlci13aXRoLWFscGhhIHtcbiAgbWluLXdpZHRoOiAxNDBweDtcbn1cblxuLmNvbG9ycGlja2VyLmNvbG9ycGlja2VyLXdpdGgtYWxwaGEgLmNvbG9ycGlja2VyLWFscGhhIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jb2xvcnBpY2tlci1jb2xvciB7XG4gIGhlaWdodDogMTBweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBjbGVhcjogYm90aDtcbiAgQGluY2x1ZGUgYmdJbWcoJ2FscGhhLnBuZycpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG59XG5cbi5jb2xvcnBpY2tlci1jb2xvciBkaXYge1xuICBoZWlnaHQ6IDEwcHg7XG59XG5cbi5jb2xvcnBpY2tlci1zZWxlY3RvcnMge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDEwcHg7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5jb2xvcnBpY2tlci1zZWxlY3RvcnMgaSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTBweDtcbiAgd2lkdGg6IDEwcHg7XG59XG5cbi5jb2xvcnBpY2tlci1zZWxlY3RvcnMgaSArIGkge1xuICBtYXJnaW4tbGVmdDogM3B4O1xufVxuXG4uY29sb3JwaWNrZXItZWxlbWVudCAuaW5wdXQtZ3JvdXAtYWRkb24gaSxcbi5jb2xvcnBpY2tlci1lbGVtZW50IC5hZGQtb24gaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoZWlnaHQ6IDE2cHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgd2lkdGg6IDE2cHg7XG59XG5cbi5jb2xvcnBpY2tlci5jb2xvcnBpY2tlci1pbmxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHotaW5kZXg6IGF1dG87XG59XG5cbi5jb2xvcnBpY2tlci5jb2xvcnBpY2tlci1ob3Jpem9udGFsIHtcbiAgd2lkdGg6IDExMHB4O1xuICBtaW4td2lkdGg6IDExMHB4O1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5jb2xvcnBpY2tlci5jb2xvcnBpY2tlci1ob3Jpem9udGFsIC5jb2xvcnBpY2tlci1zYXR1cmF0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4uY29sb3JwaWNrZXIuY29sb3JwaWNrZXItaG9yaXpvbnRhbCAuY29sb3JwaWNrZXItY29sb3Ige1xuICB3aWR0aDogMTAwcHg7XG59XG5cbi5jb2xvcnBpY2tlci5jb2xvcnBpY2tlci1ob3Jpem9udGFsIC5jb2xvcnBpY2tlci1odWUsXG4uY29sb3JwaWNrZXIuY29sb3JwaWNrZXItaG9yaXpvbnRhbCAuY29sb3JwaWNrZXItYWxwaGEge1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogMTVweDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGN1cnNvcjogY29sLXJlc2l6ZTtcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4uY29sb3JwaWNrZXIuY29sb3JwaWNrZXItaG9yaXpvbnRhbCAuY29sb3JwaWNrZXItaHVlIGksXG4uY29sb3JwaWNrZXIuY29sb3JwaWNrZXItaG9yaXpvbnRhbCAuY29sb3JwaWNrZXItYWxwaGEgaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDE1cHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMXB4O1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDBweDtcbn1cblxuLmNvbG9ycGlja2VyLmNvbG9ycGlja2VyLWhvcml6b250YWwgLmNvbG9ycGlja2VyLWh1ZSB7XG4gIEBpbmNsdWRlIGJnSW1nKCdodWUtaG9yaXpvbnRhbC5wbmcnKTtcbn1cblxuLmNvbG9ycGlja2VyLmNvbG9ycGlja2VyLWhvcml6b250YWwgLmNvbG9ycGlja2VyLWFscGhhIHtcbiAgQGluY2x1ZGUgYmdJbWcoJ2FscGhhLWhvcml6b250YWwucG5nJyk7XG59XG5cbi5jb2xvcnBpY2tlci1yaWdodDpiZWZvcmUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogNnB4O1xufVxuXG4uY29sb3JwaWNrZXItcmlnaHQ6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogN3B4O1xufVxuXG4uY29sb3JwaWNrZXItbm8tYXJyb3c6YmVmb3JlIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuLmNvbG9ycGlja2VyLW5vLWFycm93OmFmdGVyIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuLmNvbG9ycGlja2VyLFxuLmNvbG9ycGlja2VyLWFscGhhLFxuLmNvbG9ycGlja2VyLXNhdHVyYXRpb24sXG4uY29sb3JwaWNrZXItaHVlLFxuLmNvbG9ycGlja2VyLXNlbGVjdG9ycyB7XG4gICYuY29sb3JwaWNrZXItdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmNvbG9ycGlja2VyLFxuLmNvbG9ycGlja2VyLWFscGhhLFxuLmNvbG9ycGlja2VyLXNhdHVyYXRpb24sXG4uY29sb3JwaWNrZXItaHVlLFxuLmNvbG9ycGlja2VyLXNlbGVjdG9ycyB7XG4gICYuY29sb3JwaWNrZXItaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jb2xvcnBpY2tlci1pbmxpbmUuY29sb3JwaWNrZXItdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbiIsIi8vIE1peC1pbnNcbkBtaXhpbiBib3JkZXJSYWRpdXMoJHJhZGl1cykge1xuICAtbW96LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuQG1peGluIGJveFNoYWRvdygkYm94U2hhZG93KSB7XG4gIC1tb3otYm94LXNoYWRvdzogJGJveFNoYWRvdztcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkYm94U2hhZG93O1xuICBib3gtc2hhZG93OiAkYm94U2hhZG93O1xufVxuXG5AbWl4aW4gd29yZFdyYXAoJHdvcmRXcmFwOiBicmVhay13b3JkKSB7XG4gIC1tcy13b3JkLXdyYXA6ICR3b3JkV3JhcDtcbiAgd29yZC13cmFwOiAkd29yZFdyYXA7XG59XG5cbi8vIFZhcmlhYmxlc1xuJGJsYWNrOiAjMDAwMDAwO1xuJGdyZXk6ICM5OTk5OTk7XG4kbGlnaHQtZ3JleTogI0NDQ0NDQztcbiR3aGl0ZTogI0ZGRkZGRjtcbiRuZWFyLWJsYWNrOiAjMDMwMzAzO1xuJGdyZWVuOiAjNTFBMzUxO1xuJHJlZDogI0JEMzYyRjtcbiRibHVlOiAjMkY5NkI0O1xuJG9yYW5nZTogI0Y4OTQwNjtcblxuLy8gU3R5bGVzXG4udG9hc3QtdGl0bGUge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnRvYXN0LW1lc3NhZ2Uge1xuICBAaW5jbHVkZSB3b3JkV3JhcCgpO1xuXG4gIGEsXG4gIGxhYmVsIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgYTpob3ZlciB7XG4gICAgY29sb3I6ICRsaWdodC1ncmV5O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4udG9hc3QtY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogLTAuM2VtO1xuICB0b3A6IC0wLjNlbTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICAtd2Via2l0LXRleHQtc2hhZG93OiAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsMSk7XG4gIHRleHQtc2hhZG93OiAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsMSk7XG4gIEBpbmNsdWRlIG9wYWNpdHkoMC44KTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgwLjQpO1xuICB9XG59XG5cbi8qQWRkaXRpb25hbCBwcm9wZXJ0aWVzIGZvciBidXR0b24gdmVyc2lvblxuIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLiovXG5idXR0b24udG9hc3QtY2xvc2UtYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vI2VuZHJlZ2lvblxuXG4udG9hc3QtdG9wLWZ1bGwtd2lkdGgge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRvYXN0LWJvdHRvbS1mdWxsLXdpZHRoIHtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50b2FzdC10b3AtbGVmdCB7XG4gIHRvcDogMTJweDtcbiAgbGVmdDogMTJweDtcbn1cblxuLnRvYXN0LXRvcC1yaWdodCB7XG4gIHRvcDogNDhweDtcbiAgcmlnaHQ6IDM3cHg7XG59XG5cbi50b2FzdC1ib3R0b20tcmlnaHQge1xuICByaWdodDogMTJweDtcbiAgYm90dG9tOiAxMnB4O1xufVxuXG4udG9hc3QtYm90dG9tLWxlZnQge1xuICBib3R0b206IDEycHg7XG4gIGxlZnQ6IDEycHg7XG59XG5cbiN0b2FzdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDExMDA7XG5cbiAgKiB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgPiBkaXYge1xuICAgIG1hcmdpbjogMCAwIDZweDtcbiAgICBwYWRkaW5nOiAxNXB4IDE1cHggMTVweCA1MHB4O1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNXB4IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoM3B4IDNweCAzcHggM3B4KTtcbiAgICBAaW5jbHVkZSBib3hTaGFkb3coMCAwIDEycHggJGdyZXkpO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMC44KTtcbiAgfVxuXG4gID4gOmhvdmVyIHtcbiAgICBAaW5jbHVkZSBib3hTaGFkb3coMCAwIDEycHggJGJsYWNrKTtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gID4gLnRvYXN0LWluZm8ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBWUFBQURnZHozNEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFHd1NVUkJWRWhMdFphOVNnTkJFTWM5c1V4eFJjb1VLU3pTV0loWHBGTWhoWVdGaGFCZzR5UFlpV0NYWnhCTEVSc0xSUzNFUWtFZndDS2RqV0pBd1NLQ2dvS0NjdWR2NE81WUxydDdFemdYaGlVMy80K2IyY2ttd1ZqSlNwS2tRNndBaTRnd2hUK3ozd1JCY0V6MHlqU3NlVVRyY1J5ZnNIc1htRDBBbWJIT0M5SWk4VkltbnVYQlBnbEhwUTV3d1NWTTdzTm5URzdaYTRKd0RkQ2p4eUFpSDNueUEybXRhVEp1ZmlEWjVkQ2FxbEl0SUxoMU5IYXRmTjVza3ZqeDlaMzhtNjlDZ3p1WG1aZ1ZyUElHRTc2M0p4OXFLc1JveldZdzZ4T0hkRVIrbm4yS2tPK0JiK1VWNUNCTjZXQzZRdEJnYlJWb3pyYWhBYm1tNkh0VXNndFBDMTl0RmR4WFpZQk9ma2JtRkoxVmFIQTFWQUhqZDBwcDcwb1RaenZSK0VWcngyWWdmZHNxNmV1NTVCSFlSOGhsY2tpK24ra0VSVUZHOEJyQTBCd2plQXYyTThXTFFCdGN5K1NENmZOc21uQjNBbEJMcmdUdFZXMWMyUU40YlZXTEFUYUlTNjBKMkR1NXkxVGlKZ2pTQnZGVlpnVG13Q1UrZEFaRm9QeEdFRXM4bnlIQzlCd2UyR3ZFSnYyV1haYjB2amR5RlQ0Q3hrM2Uva0lxbE9Hb1ZMd3dQZXZwWUhUKzAwVCtoV3dYRGY0QUpBT1VxV2NEaGJ3QUFBQUFTVVZPUks1Q1lJST1cIikgIWltcG9ydGFudDtcbiAgfVxuXG4gID4gLnRvYXN0LWVycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQVlDQVlBQUFEZ2R6MzRBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFBSE9TVVJCVkVoTHJaYS9TZ05CRU1aemgwV0tDQ2xTQ0thSVlPRUQrQUFLZVFRTEc4SFd6dExDSW1CcllhZGdJZFkrZ0lLTllrQkZTd3U3Q0FvcUNna2tvR0JJL0UyOFBkYkxabWVETGd6WnpjeDgzL3paMlNTWEMxajlmcitJMUhxOTNnMnl4SDRpd00xdmtvQldBZHhDbXB6VHhma04yUmN5Wk5hSEZJa1NvMTArOGtneGtYSVVSVjVIR3hUbUZ1Yzc1QjJSZlFrcHhIRzhhQWdhQUZhMHRBSHFZRmZRN0l3ZTJ5aE9EazgrSjRDN3lBb1JUV0kzdy80a2xHUmdSNGxPN1JwbjkrZ3ZNeVdwK3V4Rmg4K0grQVJsZ04xbkp1SnVRQVl2TmtFbndHRmNrMThFcjRxM2VnRWMvb08rbWhMZEtnUnloZE5GaWFjQzBybE9DYmhOVno0SDlGbkFZZ0RCdlUzUUlpb1psSkZMSnRzb0hZUkRmaVpvVXlJeHFDdFJwVmxBTnEwRVU0ZEFwanJ0Z2V6UEZhZDVTMTlXZ2prYzBoTlZudUY0SGpWQTZDN1FyU0lieWxCK29aZTNhSGdCc3FsTnFLWUg0OGpYeUpLTXVBYml5Vko4S3phQjNlUmMwcGc5VndRNG5pRnJ5STY4cWlPaTNBYmp3ZHNmbkF0azBiQ2pUTEpLcjZtckQ5ZzhpcS9TL0I4MWhndU9NbFFUblZ5RzQwd0Fjam5tZ3NDTkVTRHJqbWU3d2ZmdFA0UDdTUDROM0NKWmR2em9OeUdxMmMvSFdPWEpHc3ZWZytSQS9rMk1DL3dONkkyWUEyUHQ4R2tBQUFBQVNVVk9SSzVDWUlJPVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgPiAudG9hc3Qtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQURzU1VSQlZFaExZMkFZQmZRTWdmLy8vM1A4Ky9ldkFJZ3ZBL0ZzSUYrQmF2WUREV01CR3JvYVNNTUJpRThWQzdBWkRySUZhTUZuaWkzQVpUalVnc1VVV1VEQThPZEFINmlRYlFFaHc0SHlHc1BFY0tCWEJJQzRBUmhleDRHNEJzam13ZVUxc29JRmFHZy9XdG9GWlJJWmRFdklNaHhrQ0NqWElWc0FUVjZnRkdBQ3M0UnN3MEVHZ0lJSDNRSllKZ0hTQVJRWkRyV0FCK2phd3pncytRMlVPNDlEN2puUlNSR29FRlJJTGNkbUVNV0dJMGNtMEpKMlFwWUExUkR2Y216SkVXaEFCaEQvcHFyTDBTMENXdUFCS2duUmtpOWxMc2VTN2cyQWxxd0hXUVNLSDRvS0xySUxwUkdoRVFDdzJMaVJVSWE0bHdBQUFBQkpSVTVFcmtKZ2dnPT1cIikgIWltcG9ydGFudDtcbiAgfVxuXG4gID4gLnRvYXN0LXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBWUFBQURnZHozNEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFHWVNVUkJWRWhMNVpTdlRzTlFGTWJYWkdJQ01ZR1ltSmhBUUlKQUlDWVFQQUFDaVNEQjhBaUlDUVFKVDRDcVFFd2dKdllBU0FRQ2laaVltSmhBSUJBVENBUkp5KzlyVHNsZGQ4c0t1MU0wK2RMYjA1N3Y2L2xicS8yckswbVMvVFJOajljV05BS1BZSUpJSTdnSXhDY1E1MWN2cUlEK0dJRVg4QVNHNEIxYks1Z0laRmVRZm9KZEVYT2ZnWDRRQVFnN2tIMkE2NXlRODdseXhiMjdzZ2drQXpBdUZoYmJnMUsya2dDa0IxYlZ3eUlSOW0yTDdQUlBJaERVSVhnR3R5S3c1NzV5ejNsVE5zNlg0SlhualYrTEtNL20zTXlkblRidE9LSWp0ejZWaENCcTR2U20zbmNkckQybGswVmdVWFNWS2pWREpYSnppalcxUlFkc1U3Rjc3SGU4dTY4a29OWlR6OE96NXlHYTZKM0gzbFoweFlnWEJLMlF5bWxXV0ErUlduWWhza0xCdjJ2bUUraEJNQ3RiQTdLWDVkcld5UlQvMkpzcVoySXZmQjlZNGJXRE5NRmJKUkZtQzlFNzRTb1MwQ3F1bHdqa0MwKzVicGNWMUNaOE5NZWo0cGp5MFUrZG9EUXNHeW8xaHpWSnR0SWpoUTdHbkJ0UkZOMVVhclVsSDhGM3hpY3QrSFkwN3JFem9VR1BsV2NqUkZScjQvZ0NoWmdjM1pMMmQ4b0FBQUFBU1VWT1JLNUNZSUk9XCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvKm92ZXJyaWRlcyovXG4gICYudG9hc3QtdG9wLWZ1bGwtd2lkdGggPiBkaXYsXG4gICYudG9hc3QtYm90dG9tLWZ1bGwtd2lkdGggPiBkaXYge1xuICAgIHdpZHRoOiA5NiU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG59XG5cbi50b2FzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRuZWFyLWJsYWNrO1xufVxuXG4udG9hc3Qtc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbn1cblxuLnRvYXN0LWVycm9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbn1cblxuLnRvYXN0LWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbn1cblxuLnRvYXN0LXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xufVxuXG4vKlJlc3BvbnNpdmUgRGVzaWduKi9cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMjQwcHgpIHtcbiAgI3RvYXN0LWNvbnRhaW5lciB7XG5cbiAgICA+IGRpdiB7XG4gICAgICBwYWRkaW5nOiA4cHggOHB4IDhweCA1MHB4O1xuICAgICAgd2lkdGg6IDExZW07XG4gICAgfVxuXG4gICAgJiAudG9hc3QtY2xvc2UtYnV0dG9uIHtcbiAgICAgIHJpZ2h0OiAtMC4yZW07XG4gICAgICB0b3A6IC0wLjJlbTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMjQxcHgpIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAjdG9hc3QtY29udGFpbmVyIHtcbiAgICA+IGRpdiB7XG4gICAgICBwYWRkaW5nOiA4cHggOHB4IDhweCA1MHB4O1xuICAgICAgd2lkdGg6IDE4ZW07XG4gICAgfVxuXG4gICAgJiAudG9hc3QtY2xvc2UtYnV0dG9uIHtcbiAgICAgIHJpZ2h0OiAtMC4yZW07XG4gICAgICB0b3A6IC0wLjJlbTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDgxcHgpIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjdG9hc3QtY29udGFpbmVyIHtcbiAgICA+IGRpdiB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDE1cHggMTVweCA1MHB4O1xuICAgICAgd2lkdGg6IDI1ZW07XG4gICAgfVxuICB9XG59IiwiLy9jb2xvcnNcbiRjb2xvcl9hbHRvX2FwcHJveDogI2RkZDtcbiRjb2xvcl9kZWVwX2NlcnVsZWFuX2FwcHJveDogIzAwNzhhODtcbiR3ZWJfb3JhbmdlOiAgb3JhbmdlO1xuJGNvbG9yX2RvZGdlcl9ibHVlX2FwcHJveDogIzM4ZjtcbiR3aGl0ZV81MDogcmdiYSgyNTUsMjU1LDI1NSwwLjUpO1xuJGJsYWNrXzY1OiByZ2JhKDAsMCwwLDAuNjUpO1xuJHdoaXRlOiAjZmZmO1xuJGNvbG9yX2NlbGVzdGVfYXBwcm94OiAjY2NjO1xuJGJsYWNrOiBibGFjaztcbiR3aWxkX3NhbmQ6ICNmNGY0ZjQ7XG4kY29sb3JfcGlua19zd2FuX2FwcHJveDogI2JiYjtcbiRibGFja180MDogcmdiYSgwLDAsMCwwLjQpO1xuJGNvbG9yX21pbmVfc2hhZnRfYXBwcm94OiAjMzMzO1xuJHdoaXRlXzcwOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4kY29sb3JfdGFwYV9hcHByb3g6ICM3Nzc7XG4kYmxhY2tfMjA6IHJnYmEoMCwwLDAsMC4yKTtcbiRjb2xvcl9wYWxlX3NsYXRlX2FwcHJveDogI2MzYzNjMztcbiRjb2xvcl9tb3VudGFpbl9taXN0X2FwcHJveDogIzk5OTtcbiRjb2xvcl9zdG9ybV9kdXN0X2FwcHJveDogIzY2NjtcbiRjb2xvcl9sb2dfY2FiaW5fYXBwcm94OiAjMjIyO1xuXG4kZXh0ZW5kXzItei1pbmRleDogOTAwO1xuJGxlYWZsZXQtcGFuZS16LWluZGV4OiA0MDA7XG4kbGVhZmxldC16b29tLWJveC16LWluZGV4OiA4MDA7XG4kbGVhZmxldC1vdmVybGF5LXBhbmUtei1pbmRleDogNDAwO1xuJGxlYWZsZXQtdGlsZS1wYW5lLXotaW5kZXg6IDIwMDtcbiRsZWFmbGV0LXNoYWRvdy1wYW5lLXotaW5kZXg6IDUwMDtcbiRsZWFmbGV0LW1hcmtlci1wYW5lLXotaW5kZXg6IDYwMDtcbiRsZWFmbGV0LXRvb2x0aXAtcGFuZS16LWluZGV4OiA2NTA7XG4kbGVhZmxldC1wb3B1cC1wYW5lLXotaW5kZXg6IDcwMDtcbiRsZWFmbGV0LWNvbnRyb2wtei1pbmRleDogODAwO1xuXG4kbGVhZmxldC1tYXAtcGFuZS1jYW52YXMtei1pbmRleDogMTAwO1xuJGxlYWZsZXQtbWFwLXBhbmUtc3ZnLXotaW5kZXg6IDIwMDtcblxuLy9mb250c1xuJGZvbnRfMDogTHVjaWRhIENvbnNvbGU7XG4kZm9udF8xOiBNb25hY287XG4kZm9udF8yOiBtb25vc3BhY2U7XG4kZm9udF8zOiBUYWhvbWE7XG4kZm9udF80OiBWZXJkYW5hO1xuJGZvbnRfNTogc2Fucy1zZXJpZjtcblxuLy91cmxzXG4kdXJsXzA6IHVybCgjZGVmYXVsdCNWTUwpO1xuJHVybF8xOiB1cmwoLi4vaW1hZ2VzL2xheWVycy5wbmcpO1xuJHVybF8yOiB1cmwoLi4vaW1hZ2VzL2xheWVycy0yeC5wbmcpO1xuJHVybF8zOiB1cmwoLi4vaW1hZ2VzL21hcmtlci1pY29uLnBuZyk7XG5cbi8vQGV4dGVuZC1lbGVtZW50c1xuLy9vcmlnaW5hbCBzZWxlY3RvcnNcbi8vLmxlYWZsZXQtcGFuZSwgLmxlYWZsZXQtdGlsZSwgLmxlYWZsZXQtbWFya2VyLWljb24sIC5sZWFmbGV0LW1hcmtlci1zaGFkb3csIC5sZWFmbGV0LXRpbGUtY29udGFpbmVyLCAubGVhZmxldC1wYW5lID5zdmcsIC5sZWFmbGV0LXBhbmUgPmNhbnZhcywgLmxlYWZsZXQtem9vbS1ib3gsIC5sZWFmbGV0LWltYWdlLWxheWVyLCAubGVhZmxldC1sYXllclxuJWV4dGVuZF8xIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG59XG5cbi8vb3JpZ2luYWwgc2VsZWN0b3JzXG4vLy5sZWFmbGV0LXRvcCwgLmxlYWZsZXQtYm90dG9tXG4lZXh0ZW5kXzIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6ICRleHRlbmRfMi16LWluZGV4O1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLy9vcmlnaW5hbCBzZWxlY3RvcnNcbi8vLmxlYWZsZXQtYmFyIGEsIC5sZWFmbGV0LWJhciBhOmhvdmVyXG4lZXh0ZW5kXzMge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfY2VsZXN0ZV9hcHByb3g7XG5cdHdpZHRoOiAyNnB4O1xuXHRoZWlnaHQ6IDI2cHg7XG5cdGxpbmUtaGVpZ2h0OiAyNnB4O1xuXHRkaXNwbGF5OiBibG9jaztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGNvbG9yOiAkYmxhY2s7XG59XG5cbi8vb3JpZ2luYWwgc2VsZWN0b3JzXG4vLy5sZWFmbGV0LWJhciBhLCAubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGVcbiVleHRlbmRfNCB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vL29yaWdpbmFsIHNlbGVjdG9yc1xuLy8ubGVhZmxldC1wb3B1cC1jb250ZW50LXdyYXBwZXIsIC5sZWFmbGV0LXBvcHVwLXRpcFxuJWV4dGVuZF81IHtcblx0YmFja2dyb3VuZDogJHBvcHVwLWJvZHktYmc7XG5cdGNvbG9yOiAkY29sb3JfbWluZV9zaGFmdF9hcHByb3g7XG5cdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdy0xLCAkc2hhZG93LTIsICRzaGFkb3ctMywgJHNoYWRvdy00LCAkc2hhZG93LTUsICRzaGFkb3ctNiwgJHNoYWRvdy03LCAkc2hhZG93LTgsICRzaGFkb3ctOSwgJHNoYWRvdy0xMClcblx0Ym94LXNoYWRvdzogMCAzcHggMTRweCAkYmxhY2tfNDA7XG59XG5cbi8vb3JpZ2luYWwgc2VsZWN0b3JzXG4vLy5sZWFmbGV0LXRvb2x0aXAtdG9wOmJlZm9yZSwgLmxlYWZsZXQtdG9vbHRpcC1ib3R0b206YmVmb3JlLCAubGVhZmxldC10b29sdGlwLWxlZnQ6YmVmb3JlLCAubGVhZmxldC10b29sdGlwLXJpZ2h0OmJlZm9yZVxuJWV4dGVuZF82IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0Ym9yZGVyOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRjb250ZW50OiBcIlwiO1xufVxuXG5cbi5sZWFmbGV0LXBhbmUge1xuXHRAZXh0ZW5kICVleHRlbmRfMTtcblx0ei1pbmRleDogJGxlYWZsZXQtcGFuZS16LWluZGV4O1xuXHQ+IHN2ZyB7XG5cdFx0QGV4dGVuZCAlZXh0ZW5kXzE7XG5cdFx0cGF0aCB7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRcdCYubGVhZmxldC1pbnRlcmFjdGl2ZSB7XG5cdFx0XHRcdHBvaW50ZXItZXZlbnRzOiB2aXNpYmxlUGFpbnRlZDtcblx0XHRcdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdD4gY2FudmFzIHtcblx0XHRAZXh0ZW5kICVleHRlbmRfMTtcblx0fVxufVxuLmxlYWZsZXQtdGlsZSB7XG5cdEBleHRlbmQgJWV4dGVuZF8xO1xuXHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB1c2VyLXNlbGVjdCgkc2VsZWN0KVxuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0ZmlsdGVyOiBpbmhlcml0O1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4ubGVhZmxldC1tYXJrZXItaWNvbiB7XG5cdEBleHRlbmQgJWV4dGVuZF8xO1xuXHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB1c2VyLXNlbGVjdCgkc2VsZWN0KVxuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHQmLmxlYWZsZXQtaW50ZXJhY3RpdmUge1xuXHRcdHBvaW50ZXItZXZlbnRzOiB2aXNpYmxlUGFpbnRlZDtcblx0XHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0fVxufVxuLmxlYWZsZXQtbWFya2VyLXNoYWRvdyB7XG5cdEBleHRlbmQgJWV4dGVuZF8xO1xuXHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB1c2VyLXNlbGVjdCgkc2VsZWN0KVxuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmxlYWZsZXQtdGlsZS1jb250YWluZXIge1xuXHRAZXh0ZW5kICVleHRlbmRfMTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ubGVhZmxldC16b29tLWJveCB7XG5cdEBleHRlbmQgJWV4dGVuZF8xO1xuXHR3aWR0aDogMDtcblx0aGVpZ2h0OiAwO1xuXHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSBib3gtc2l6aW5nKCRicylcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0ei1pbmRleDogJGxlYWZsZXQtem9vbS1ib3gtei1pbmRleDtcblx0Ym9yZGVyOiAycHggZG90dGVkICRjb2xvcl9kb2RnZXJfYmx1ZV9hcHByb3g7XG5cdGJhY2tncm91bmQ6ICR3aGl0ZV81MDtcbn1cbi5sZWFmbGV0LWltYWdlLWxheWVyIHtcblx0QGV4dGVuZCAlZXh0ZW5kXzE7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHQmLmxlYWZsZXQtaW50ZXJhY3RpdmUge1xuXHRcdHBvaW50ZXItZXZlbnRzOiB2aXNpYmxlUGFpbnRlZDtcblx0XHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0fVxufVxuLmxlYWZsZXQtbGF5ZXIge1xuXHRAZXh0ZW5kICVleHRlbmRfMTtcbn1cbi5sZWFmbGV0LWNvbnRhaW5lciB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJhY2tncm91bmQ6ICRjb2xvcl9hbHRvX2FwcHJveDtcblx0b3V0bGluZTogMDtcblx0Zm9udDogMTJweC8xLjUgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuXHQmLmxlYWZsZXQtdG91Y2gtem9vbSB7XG5cdFx0dG91Y2gtYWN0aW9uOiBwYW4teCBwYW4teTtcblx0fVxuXHRhIHtcblx0XHRjb2xvcjogJGNvbG9yX2RlZXBfY2VydWxlYW5fYXBwcm94O1xuXHRcdCYubGVhZmxldC1hY3RpdmUge1xuXHRcdFx0b3V0bGluZTogMnB4IHNvbGlkICR3ZWJfb3JhbmdlO1xuXHRcdH1cbiAgICAgIC8qXG5cdFx0Ji5sZWFmbGV0LXBvcHVwLWNsb3NlLWJ1dHRvbiB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHBhZGRpbmc6IDRweCA0cHggMCAwO1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0d2lkdGg6IDE4cHg7XG5cdFx0XHRoZWlnaHQ6IDE0cHg7XG5cdFx0XHRmb250OiAxNnB4LzE0cHggJGZvbnRfMywgJGZvbnRfNCwgJGZvbnRfNTtcblx0XHRcdGNvbG9yOiAkY29sb3JfcGFsZV9zbGF0ZV9hcHByb3g7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiAkY29sb3JfbW91bnRhaW5fbWlzdF9hcHByb3g7XG5cdFx0XHR9XG5cdFx0fVxuXHQgICovXG5cdH1cblx0LmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbiB7XG5cdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZV83MDtcblx0XHRtYXJnaW46IDA7XG5cdFx0Zm9udC1zaXplOiAxMXB4O1xuXHR9XG5cdC5sZWFmbGV0LWNvbnRyb2wtc2NhbGUge1xuXHRcdGZvbnQtc2l6ZTogMTFweDtcblx0fVxuXHQubGVhZmxldC1vdmVybGF5LXBhbmUgc3ZnIHtcblx0XHRtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXHQubGVhZmxldC1tYXJrZXItcGFuZSBpbWcge1xuXHRcdG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cdC5sZWFmbGV0LXNoYWRvdy1wYW5lIGltZyB7XG5cdFx0bWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblx0LmxlYWZsZXQtdGlsZS1wYW5lIGltZyB7XG5cdFx0bWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblx0aW1nLmxlYWZsZXQtaW1hZ2UtbGF5ZXIge1xuXHRcdG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cdCYubGVhZmxldC10b3VjaC1kcmFnLmxlYWZsZXQtdG91Y2gtem9vbSB7XG5cdFx0dG91Y2gtYWN0aW9uOiBub25lO1xuXHR9XG59XG4ubGVhZmxldC1zYWZhcmkge1xuXHQubGVhZmxldC10aWxlIHtcblx0fVxuXHQubGVhZmxldC10aWxlLWNvbnRhaW5lciB7XG5cdFx0d2lkdGg6IDE2MDBweDtcblx0XHRoZWlnaHQ6IDE2MDBweDtcblx0fVxufVxuLmxlYWZsZXQtdGlsZS1sb2FkZWQge1xuXHR2aXNpYmlsaXR5OiBpbmhlcml0O1xufVxuLmxlYWZsZXQtb3ZlcmxheS1wYW5lIHtcblx0ei1pbmRleDogJGxlYWZsZXQtb3ZlcmxheS1wYW5lLXotaW5kZXg7XG5cdHN2ZyB7XG5cdH1cbn1cbi5sZWFmbGV0LXRpbGUtcGFuZSB7XG5cdHotaW5kZXg6ICRsZWFmbGV0LXRpbGUtcGFuZS16LWluZGV4O1xufVxuLmxlYWZsZXQtc2hhZG93LXBhbmUge1xuXHR6LWluZGV4OiAkbGVhZmxldC1zaGFkb3ctcGFuZS16LWluZGV4O1xufVxuLmxlYWZsZXQtbWFya2VyLXBhbmUge1xuXHR6LWluZGV4OiAkbGVhZmxldC1tYXJrZXItcGFuZS16LWluZGV4O1xufVxuLmxlYWZsZXQtdG9vbHRpcC1wYW5lIHtcblx0ei1pbmRleDogJGxlYWZsZXQtdG9vbHRpcC1wYW5lLXotaW5kZXg7XG59XG4ubGVhZmxldC1wb3B1cC1wYW5lIHtcblx0ei1pbmRleDogJGxlYWZsZXQtcG9wdXAtcGFuZS16LWluZGV4O1xuXHRjdXJzb3I6IGF1dG87XG59XG4ubGVhZmxldC1tYXAtcGFuZSB7XG5cdGNhbnZhcyB7XG5cdFx0ei1pbmRleDogJGxlYWZsZXQtbWFwLXBhbmUtY2FudmFzLXotaW5kZXg7XG5cdH1cblx0c3ZnIHtcblx0XHR6LWluZGV4OiAkbGVhZmxldC1tYXAtcGFuZS1zdmctei1pbmRleDtcblx0fVxufVxuLmxlYWZsZXQtdm1sLXNoYXBlIHtcblx0d2lkdGg6IDFweDtcblx0aGVpZ2h0OiAxcHg7XG59XG4ubHZtbCB7XG5cdGJlaGF2aW9yOiAkdXJsXzA7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IGFic29sdXRlO1xufVxuLmxlYWZsZXQtY29udHJvbCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogJGxlYWZsZXQtY29udHJvbC16LWluZGV4O1xuXHRwb2ludGVyLWV2ZW50czogdmlzaWJsZVBhaW50ZWQ7XG5cdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXHRmbG9hdDogbGVmdDtcblx0Y2xlYXI6IGJvdGg7XG5cdGN1cnNvcjogYXV0bztcbn1cbi5sZWFmbGV0LXRvcCB7XG5cdEBleHRlbmQgJWV4dGVuZF8yO1xuXHR0b3A6IDA7XG5cdC5sZWFmbGV0LWNvbnRyb2wge1xuXHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdH1cbn1cbi5sZWFmbGV0LWJvdHRvbSB7XG5cdEBleHRlbmQgJWV4dGVuZF8yO1xuXHRib3R0b206IDA7XG5cdC5sZWFmbGV0LWNvbnRyb2wge1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdH1cblx0LmxlYWZsZXQtY29udHJvbC1zY2FsZSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHR9XG59XG4ubGVhZmxldC1yaWdodCB7XG5cdHJpZ2h0OiAwO1xuXHQubGVhZmxldC1jb250cm9sIHtcblx0XHQvL2Zsb2F0OiByaWdodDtcblx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdH1cbn1cbi5sZWFmbGV0LWxlZnQge1xuXHRsZWZ0OiAwO1xuXHQubGVhZmxldC1jb250cm9sIHtcblx0XHRtYXJnaW4tbGVmdDogMTBweDtcblx0fVxuXHQubGVhZmxldC1jb250cm9sLXNjYWxlIHtcblx0XHRtYXJnaW4tbGVmdDogNXB4O1xuXHR9XG59XG4ubGVhZmxldC1mYWRlLWFuaW0ge1xuXHQubGVhZmxldC10aWxlIHtcblx0XHR3aWxsLWNoYW5nZTogb3BhY2l0eTtcblx0fVxuXHQubGVhZmxldC1wb3B1cCB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLTEsICR0cmFuc2l0aW9uLTIsICR0cmFuc2l0aW9uLTMsICR0cmFuc2l0aW9uLTQsICR0cmFuc2l0aW9uLTUsICR0cmFuc2l0aW9uLTYsICR0cmFuc2l0aW9uLTcsICR0cmFuc2l0aW9uLTgsICR0cmFuc2l0aW9uLTksICR0cmFuc2l0aW9uLTEwKVxuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG5cdH1cblx0LmxlYWZsZXQtbWFwLXBhbmUgLmxlYWZsZXQtcG9wdXAge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cbi5sZWFmbGV0LXpvb20tYW5pbWF0ZWQge1xuXHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG5cdHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbn1cbi5sZWFmbGV0LXpvb20tYW5pbSB7XG5cdC5sZWFmbGV0LXpvb20tYW5pbWF0ZWQge1xuXHRcdHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG5cdFx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi0xLCAkdHJhbnNpdGlvbi0yLCAkdHJhbnNpdGlvbi0zLCAkdHJhbnNpdGlvbi00LCAkdHJhbnNpdGlvbi01LCAkdHJhbnNpdGlvbi02LCAkdHJhbnNpdGlvbi03LCAkdHJhbnNpdGlvbi04LCAkdHJhbnNpdGlvbi05LCAkdHJhbnNpdGlvbi0xMClcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwwLjI1LDEpO1xuXHR9XG5cdC5sZWFmbGV0LXRpbGUge1xuXHRcdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tMSwgJHRyYW5zaXRpb24tMiwgJHRyYW5zaXRpb24tMywgJHRyYW5zaXRpb24tNCwgJHRyYW5zaXRpb24tNSwgJHRyYW5zaXRpb24tNiwgJHRyYW5zaXRpb24tNywgJHRyYW5zaXRpb24tOCwgJHRyYW5zaXRpb24tOSwgJHRyYW5zaXRpb24tMTApXG5cdFx0dHJhbnNpdGlvbjogbm9uZTtcblx0fVxuXHQubGVhZmxldC16b29tLWhpZGUge1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0fVxufVxuLmxlYWZsZXQtaW50ZXJhY3RpdmUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG4ubGVhZmxldC1ncmFiIHtcbn1cbi5sZWFmbGV0LWNyb3NzaGFpciB7XG5cdGN1cnNvcjogY3Jvc3NoYWlyO1xuXHQubGVhZmxldC1pbnRlcmFjdGl2ZSB7XG5cdFx0Y3Vyc29yOiBjcm9zc2hhaXI7XG5cdH1cbn1cbi5sZWFmbGV0LWRyYWdnaW5nIHtcblx0LmxlYWZsZXQtZ3JhYiB7XG5cdFx0Y3Vyc29yOiBtb3ZlO1xuXHRcdC5sZWFmbGV0LWludGVyYWN0aXZlIHtcblx0XHRcdGN1cnNvcjogbW92ZTtcblx0XHR9XG5cdH1cblx0LmxlYWZsZXQtbWFya2VyLWRyYWdnYWJsZSB7XG5cdFx0Y3Vyc29yOiBtb3ZlO1xuXHR9XG59XG4ubGVhZmxldC1iYXIge1xuXHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSBib3gtc2hhZG93KCRzaGFkb3ctMSwgJHNoYWRvdy0yLCAkc2hhZG93LTMsICRzaGFkb3ctNCwgJHNoYWRvdy01LCAkc2hhZG93LTYsICRzaGFkb3ctNywgJHNoYWRvdy04LCAkc2hhZG93LTksICRzaGFkb3ctMTApXG5cdGJveC1zaGFkb3c6IDAgMXB4IDVweCAkYmxhY2tfNjU7XG5cdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHJhZGl1cywgJHZlcnRpY2FsLXJhZGl1cylcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRhIHtcblx0XHRAZXh0ZW5kICVleHRlbmRfMztcblx0XHRAZXh0ZW5kICVleHRlbmRfNDtcblx0XHQmOmhvdmVyIHtcblx0XHRcdEBleHRlbmQgJWV4dGVuZF8zO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdpbGRfc2FuZDtcblx0XHR9XG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXMpXG5cdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG5cdFx0XHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzKVxuXHRcdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcblx0XHR9XG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cylcblx0XHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcblx0XHRcdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXMpXG5cdFx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHR9XG5cdFx0Ji5sZWFmbGV0LWRpc2FibGVkIHtcblx0XHRcdGN1cnNvcjogZGVmYXVsdDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aWxkX3NhbmQ7XG5cdFx0XHRjb2xvcjogJGNvbG9yX3Bpbmtfc3dhbl9hcHByb3g7XG5cdFx0fVxuXHR9XG59XG4ubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGUge1xuXHRkaXNwbGF5OiBub25lO1xufVxuLmxlYWZsZXQtdG91Y2gge1xuXHQubGVhZmxldC1iYXIge1xuXHRcdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdy0xLCAkc2hhZG93LTIsICRzaGFkb3ctMywgJHNoYWRvdy00LCAkc2hhZG93LTUsICRzaGFkb3ctNiwgJHNoYWRvdy03LCAkc2hhZG93LTgsICRzaGFkb3ctOSwgJHNoYWRvdy0xMClcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkICRibGFja18yMDtcblx0XHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSBiYWNrZ3JvdW5kLWNsaXAoJGNsaXApXG5cdFx0YmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblx0XHRhIHtcblx0XHRcdHdpZHRoOiAzMHB4O1xuXHRcdFx0aGVpZ2h0OiAzMHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDMwcHg7XG5cdFx0fVxuXHR9XG5cdC5sZWFmbGV0LWNvbnRyb2wtem9vbS1pbiB7XG5cdFx0Zm9udC1zaXplOiAyMnB4O1xuXHR9XG5cdC5sZWFmbGV0LWNvbnRyb2wtem9vbS1vdXQge1xuXHRcdGZvbnQtc2l6ZTogMjRweDtcblx0fVxuXHQubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGUge1xuXHRcdC8vd2lkdGg6IDQ0cHg7XG5cdFx0Ly9oZWlnaHQ6IDQ0cHg7XG5cdH1cblx0LmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbiB7XG5cdFx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93LTEsICRzaGFkb3ctMiwgJHNoYWRvdy0zLCAkc2hhZG93LTQsICRzaGFkb3ctNSwgJHNoYWRvdy02LCAkc2hhZG93LTcsICRzaGFkb3ctOCwgJHNoYWRvdy05LCAkc2hhZG93LTEwKVxuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdH1cblx0LmxlYWZsZXQtY29udHJvbC1sYXllcnMge1xuXHRcdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdy0xLCAkc2hhZG93LTIsICRzaGFkb3ctMywgJHNoYWRvdy00LCAkc2hhZG93LTUsICRzaGFkb3ctNiwgJHNoYWRvdy03LCAkc2hhZG93LTgsICRzaGFkb3ctOSwgJHNoYWRvdy0xMClcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkICRibGFja18yMDtcblx0XHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSBiYWNrZ3JvdW5kLWNsaXAoJGNsaXApXG5cdFx0YmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblx0fVxufVxuLmxlYWZsZXQtY29udHJvbC16b29tLWluIHtcblx0Zm9udDogYm9sZCAxOHB4ICRmb250XzAsICRmb250XzEsICRmb250XzI7XG5cdHRleHQtaW5kZW50OiAxcHg7XG59XG4ubGVhZmxldC1jb250cm9sLXpvb20tb3V0IHtcblx0Zm9udDogYm9sZCAxOHB4ICRmb250XzAsICRmb250XzEsICRmb250XzI7XG5cdHRleHQtaW5kZW50OiAxcHg7XG5cdGZvbnQtc2l6ZTogMjBweDtcbn1cbi8qXG4ubGVhZmxldC1jb250cm9sLWxheWVycyB7XG5cdEBleHRlbmQgLmRyb3BhcnJvdztcblx0QGV4dGVuZCAuZHJvcHJpZ2h0O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0LmxlYWZsZXQtY29udHJvbC1sYXllcnMtbGlzdCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRAZXh0ZW5kIC5kcm9wZG93bi1tZW51O1xuXHR9XG5cdGxhYmVsIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW46IDA7XG5cblx0XHRAaW5jbHVkZSBjaGVja2JveCgnZGl2JywgJ3NwYW4nKTtcblx0XHRAaW5jbHVkZSBjaGVja2JveC12YXJpYW50KCdkaXYnLCAkYnJhbmQtcHJpbWFyeSwgJ3NwYW4nKTtcblxuXHRcdGRpdiB7XG5cdFx0XHRwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZy12ZXJ0aWNhbCAkZHJvcGRvd24tcGFkZGluZy1ob3Jpem9udGFsO1xuXHRcdH1cblx0fVxufVxuXG4ubGVhZmxldC1jb250cm9sLWxheWVycy1leHBhbmRlZCB7XG5cdC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWxpc3Qge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG4qL1xuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtc2Nyb2xsYmFyIHtcblx0b3ZlcmZsb3cteTogc2Nyb2xsO1xuXHRwYWRkaW5nLXJpZ2h0OiA1cHg7XG59XG4ubGVhZmxldC1jb250cm9sLWxheWVycy1zZWxlY3RvciB7XG5cdG1hcmdpbi10b3A6IDJweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0b3A6IDFweDtcbn1cbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXNlcGFyYXRvciB7XG5cdGhlaWdodDogMDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcl9hbHRvX2FwcHJveDtcblx0bWFyZ2luOiA1cHggLTEwcHggNXB4IC02cHg7XG59XG4ubGVhZmxldC1kZWZhdWx0LWljb24tcGF0aCB7XG5cdGJhY2tncm91bmQtaW1hZ2U6ICR1cmxfMztcbn1cbi5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24ge1xuXHRwYWRkaW5nOiAwIDVweDtcblx0Y29sb3I6ICRjb2xvcl9taW5lX3NoYWZ0X2FwcHJveDtcblx0YSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0fVxuXHR9XG59XG4ubGVhZmxldC1jb250cm9sLXNjYWxlLWxpbmUge1xuXHRwYWRkaW5nOiAwIDVweDtcblx0Y29sb3I6ICRjb2xvcl9taW5lX3NoYWZ0X2FwcHJveDtcblx0Ym9yZGVyOiAycHggc29saWQgJGNvbG9yX3RhcGFfYXBwcm94O1xuXHRib3JkZXItdG9wOiBub25lO1xuXHRsaW5lLWhlaWdodDogMS4xO1xuXHRwYWRkaW5nOiAycHggNXB4IDFweDtcblx0Zm9udC1zaXplOiAxMXB4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSBib3gtc2l6aW5nKCRicylcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRiYWNrZ3JvdW5kOiAkd2hpdGVfNTA7XG5cdCY6bm90KDpmaXJzdC1jaGlsZCkge1xuXHRcdGJvcmRlci10b3A6IDJweCBzb2xpZCAkY29sb3JfdGFwYV9hcHByb3g7XG5cdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRtYXJnaW4tdG9wOiAtMnB4O1xuXHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG9yX3RhcGFfYXBwcm94O1xuXHRcdH1cblx0fVxufVxuLmxlYWZsZXQtcG9wdXAge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5sZWFmbGV0LXBvcHVwLWNvbnRlbnQtd3JhcHBlciB7XG5cdC8vcGFkZGluZzogMXB4O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRyYWRpdXMsICR2ZXJ0aWNhbC1yYWRpdXMpXG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0Ly9AZXh0ZW5kICVleHRlbmRfNTtcbn1cbi5sZWFmbGV0LXBvcHVwLWNvbnRlbnQge1xuICAvL3dpZHRoOiAzMDBweDtcbn1cbi5sZWFmbGV0LXBvcHVwLXRpcC1jb250YWluZXIge1xuXHR3aWR0aDogNDBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDUwJTtcblx0bWFyZ2luLWxlZnQ6IC0yMHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5sZWFmbGV0LXBvcHVwLXRpcCB7XG5cdHdpZHRoOiAxN3B4O1xuXHRoZWlnaHQ6IDE3cHg7XG5cdHBhZGRpbmc6IDFweDtcblx0bWFyZ2luOiAtMTBweCBhdXRvIDA7XG5cdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG5cdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0QGV4dGVuZCAlZXh0ZW5kXzU7XG59XG4ubGVhZmxldC1wb3B1cC1zY3JvbGxlZCB7XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX2FsdG9fYXBwcm94O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yX2FsdG9fYXBwcm94O1xufVxuLmxlYWZsZXQtb2xkaWUge1xuXHQubGVhZmxldC1wb3B1cC1jb250ZW50LXdyYXBwZXIge1xuXHRcdHpvb206IDE7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yX21vdW50YWluX21pc3RfYXBwcm94O1xuXHR9XG5cdC5sZWFmbGV0LXBvcHVwLXRpcCB7XG5cdFx0d2lkdGg6IDI0cHg7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuTWF0cml4KE0xMT0wLjcwNzEwNjc4LCBNMTI9MC43MDcxMDY3OCwgTTIxPS0wLjcwNzEwNjc4LCBNMjI9MC43MDcxMDY3OCk7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yX21vdW50YWluX21pc3RfYXBwcm94O1xuXHR9XG5cdC5sZWFmbGV0LXBvcHVwLXRpcC1jb250YWluZXIge1xuXHRcdG1hcmdpbi10b3A6IC0xcHg7XG5cdH1cblx0LmxlYWZsZXQtY29udHJvbC16b29tIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfbW91bnRhaW5fbWlzdF9hcHByb3g7XG5cdH1cblx0LmxlYWZsZXQtY29udHJvbC1sYXllcnMge1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9tb3VudGFpbl9taXN0X2FwcHJveDtcblx0fVxufVxuLmxlYWZsZXQtZGl2LWljb24ge1xuXHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9zdG9ybV9kdXN0X2FwcHJveDtcbn1cbi5sZWFmbGV0LXRvb2x0aXAge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHBhZGRpbmc6IDZweDtcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG5cdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHJhZGl1cywgJHZlcnRpY2FsLXJhZGl1cylcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRjb2xvcjogJGNvbG9yX2xvZ19jYWJpbl9hcHByb3g7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHVzZXItc2VsZWN0KCRzZWxlY3QpXG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93LTEsICRzaGFkb3ctMiwgJHNoYWRvdy0zLCAkc2hhZG93LTQsICRzaGFkb3ctNSwgJHNoYWRvdy02LCAkc2hhZG93LTcsICRzaGFkb3ctOCwgJHNoYWRvdy05LCAkc2hhZG93LTEwKVxuXHRib3gtc2hhZG93OiAwIDFweCAzcHggJGJsYWNrXzQwO1xuXHQmLmxlYWZsZXQtY2xpY2thYmxlIHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdH1cbn1cbi5sZWFmbGV0LXRvb2x0aXAtdG9wIHtcblx0bWFyZ2luLXRvcDogLTZweDtcblx0JjpiZWZvcmUge1xuXHRcdEBleHRlbmQgJWV4dGVuZF82O1xuXHRcdGxlZnQ6IDUwJTtcblx0XHRtYXJnaW4tbGVmdDogLTZweDtcblx0XHRib3R0b206IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogLTEycHg7XG5cdFx0Ym9yZGVyLXRvcC1jb2xvcjogJHdoaXRlO1xuXHR9XG59XG4ubGVhZmxldC10b29sdGlwLWJvdHRvbSB7XG5cdG1hcmdpbi10b3A6IDZweDtcblx0JjpiZWZvcmUge1xuXHRcdEBleHRlbmQgJWV4dGVuZF82O1xuXHRcdGxlZnQ6IDUwJTtcblx0XHRtYXJnaW4tbGVmdDogLTZweDtcblx0XHR0b3A6IDA7XG5cdFx0bWFyZ2luLXRvcDogLTEycHg7XG5cdFx0bWFyZ2luLWxlZnQ6IC02cHg7XG5cdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJHdoaXRlO1xuXHR9XG59XG4ubGVhZmxldC10b29sdGlwLWxlZnQge1xuXHRtYXJnaW4tbGVmdDogLTZweDtcblx0JjpiZWZvcmUge1xuXHRcdEBleHRlbmQgJWV4dGVuZF82O1xuXHRcdHRvcDogNTAlO1xuXHRcdG1hcmdpbi10b3A6IC02cHg7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0bWFyZ2luLXJpZ2h0OiAtMTJweDtcblx0XHRib3JkZXItbGVmdC1jb2xvcjogJHdoaXRlO1xuXHR9XG59XG4ubGVhZmxldC10b29sdGlwLXJpZ2h0IHtcblx0bWFyZ2luLWxlZnQ6IDZweDtcblx0JjpiZWZvcmUge1xuXHRcdEBleHRlbmQgJWV4dGVuZF82O1xuXHRcdHRvcDogNTAlO1xuXHRcdG1hcmdpbi10b3A6IC02cHg7XG5cdFx0bGVmdDogMDtcblx0XHRtYXJnaW4tbGVmdDogLTEycHg7XG5cdFx0Ym9yZGVyLXJpZ2h0LWNvbG9yOiAkd2hpdGU7XG5cdH1cbn1cbi5sZWFmbGV0LXBhbi1hbmltIC5sZWFmbGV0LXRpbGUge1xuXHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLTEsICR0cmFuc2l0aW9uLTIsICR0cmFuc2l0aW9uLTMsICR0cmFuc2l0aW9uLTQsICR0cmFuc2l0aW9uLTUsICR0cmFuc2l0aW9uLTYsICR0cmFuc2l0aW9uLTcsICR0cmFuc2l0aW9uLTgsICR0cmFuc2l0aW9uLTksICR0cmFuc2l0aW9uLTEwKVxuXHR0cmFuc2l0aW9uOiBub25lO1xufVxuLmxlYWZsZXQtcmV0aW5hIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSB7XG5cdC8vYmFja2dyb3VuZC1pbWFnZTogJHVybF8yO1xuXHQvL2JhY2tncm91bmQtc2l6ZTogMjZweCAyNnB4O1xufVxuXG5cbiRkZXZpY2UtbWFya2VyLWFycm93LXNpemU6IDEwcHg7XG4kZGV2aWNlLW1hcmtlci1hcnJvdy1ib3JkZXItc2l6ZTogMXB4O1xuJGRldmljZS1tYXJrZXItYXJyb3ctc2l6ZS1pbm5lcjogJGRldmljZS1tYXJrZXItYXJyb3ctc2l6ZTtcbiRkZXZpY2UtbWFya2VyLWFycm93LXNpemUtb3V0dGVyOiAoJGRldmljZS1tYXJrZXItYXJyb3ctc2l6ZSArICRkZXZpY2UtbWFya2VyLWFycm93LWJvcmRlci1zaXplKTtcblxuLmxlYWYtZGV2aWNlLW1hcmtlciB7XG5cdC5pY28ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cdC5uYW1lIHtcblxuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IDEwMCU7XG5cdFx0bWFyZ2luLWJvdHRvbTogJGRldmljZS1tYXJrZXItYXJyb3ctc2l6ZSAvIDI7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwJSk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MCUpO1xuXG5cdFx0JjpiZWZvcmUsXG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR9XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Ym9yZGVyOiAkZGV2aWNlLW1hcmtlci1hcnJvdy1zaXplLW91dHRlciBzb2xpZCB0cmFuc3BhcmVudDtcblxuXHRcdFx0bGVmdDogY2FsYyggNTAlIC0gI3skZGV2aWNlLW1hcmtlci1hcnJvdy1zaXplLW91dHRlcn0gKTtcblx0XHRcdGJvdHRvbTogLSgkZGV2aWNlLW1hcmtlci1hcnJvdy1zaXplLW91dHRlciAtICRkZXZpY2UtbWFya2VyLWFycm93LWJvcmRlci1zaXplKTtcblx0XHRcdGJvcmRlci1ib3R0b206IDA7XG5cdFx0XHRib3JkZXItdG9wLWNvbG9yOiAkY29sb3ItYm9yZGVyLTEwMDtcblx0XHR9XG5cdFx0JjphZnRlciB7XG5cdFx0XHRib3JkZXI6ICRkZXZpY2UtbWFya2VyLWFycm93LXNpemUtaW5uZXIgc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRsZWZ0OiBjYWxjKCA1MCUgLSAjeyRkZXZpY2UtbWFya2VyLWFycm93LXNpemUtaW5uZXJ9ICk7XG5cdFx0XHRib3R0b206IC0oJGRldmljZS1tYXJrZXItYXJyb3ctc2l6ZS1pbm5lciAtICRkZXZpY2UtbWFya2VyLWFycm93LWJvcmRlci1zaXplKTtcblx0XHRcdGJvcmRlci1ib3R0b206IDA7XG5cdFx0XHRib3JkZXItdG9wLWNvbG9yOiAkY29sb3ItYmctMDAwO1xuXHRcdH1cblxuXHRcdGkge1xuXHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci1iZy0wMDA7XG5cdFx0XHRwYWRkaW5nOiA0cHggOHB4O1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci0xMDA7XG5cdFx0XHQvL29wYWNpdHk6IDAuODtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDRweDtcblx0XHR9XG5cdH1cblx0Ji5sZWFmLWRldmljZS1zZWxlY3RlZCB7XG5cdFx0ei1pbmRleDogOTk5OTk5OTk5OSAhaW1wb3J0YW50O1xuXG5cdFx0Lm5hbWUge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0fVxuXHR9XG59XG5cbi5sZWFmbGV0LWhpc3RvcnktbWFya2VyIHtcblx0c3ZnIHtcblx0XHR0ZXh0IHtcblx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRmaWxsOiB3aGl0ZTtcblx0XHRcdHRleHQtYW5jaG9yOiBtaWRkbGU7XG5cdFx0XHRkb21pbmFudC1iYXNlbGluZTogbWlkZGxlO1xuXHRcdH1cblx0fVxufVxuXG4ubGVhZmxldC1wb3B1cC1nZW9mZW5jZSB7XG5cdC5uYW1lIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdHBhZGRpbmc6IDRweDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLTEwMDtcblx0XHRvcGFjaXR5OiAwLjg7XG5cdFx0dGV4dC1zaGFkb3c6IDFweCAxcHggMXB4ICMwMDA7XG5cdH1cblx0LmxlYWZsZXQtcG9wdXAtdGlwLWNvbnRhaW5lciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4ubGVhZmxldC1wb3B1cC1yb3V0ZSB7XG5cdC5uYW1lIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdHBhZGRpbmc6IDRweDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLTEwMDtcblx0XHRvcGFjaXR5OiAwLjg7XG5cdH1cblx0LmxlYWZsZXQtcG9wdXAtdGlwLWNvbnRhaW5lciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4ubGVhZmxldC1wb3B1cC1ldmVudCxcbi5sZWFmbGV0LXBvcHVwLWhpc3Rvcnkge1xuXHRtaW4td2lkdGg6IDI3MHB4O1xufVxuIiwiLmxlYWZsZXQtY29udHJvbC1sYXllcnMge1xuXHQubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0IHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdEBleHRlbmQgLmRyb3Bkb3duLW1lbnU7XG5cdH1cblx0bGFiZWwge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbjogMDtcblxuXHRcdEBpbmNsdWRlIGNoZWNrYm94KCdkaXYnLCAnc3BhbicpO1xuXHRcdEBpbmNsdWRlIGNoZWNrYm94LXZhcmlhbnQoJ2RpdicsICRjaGVja2JveC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvciwgJ3NwYW4nKTtcblxuXHRcdGRpdiB7XG5cdFx0XHRwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZy12ZXJ0aWNhbCAkZHJvcGRvd24tcGFkZGluZy1ob3Jpem9udGFsO1xuXHRcdH1cblx0fVxufVxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtZXhwYW5kZWQge1xuXHQubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuXG4ubWFwLWNvbnRyb2xzIHtcblx0Ji50b3AtcmlnaHQge1xuXHRcdC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIHtcblx0XHRcdEBleHRlbmQgLmRyb3BhcnJvdztcblx0XHRcdEBleHRlbmQgLmRyb3ByaWdodDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR9XG5cdH1cblxuXHQmLnRvcC1sZWZ0IHtcblx0XHQubGVhZmxldC1jb250cm9sLWxheWVycyB7XG5cdFx0XHRAZXh0ZW5kIC5kcm9wYXJyb3c7XG5cdFx0XHRAZXh0ZW5kIC5kcm9wbGVmdDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR9XG5cdH1cblxuXHQmLmJvdHRvbS1yaWdodCB7XG5cdFx0LmxlYWZsZXQtY29udHJvbC1sYXllcnMge1xuXHRcdFx0QGV4dGVuZCAuZHJvcGFycm93O1xuXHRcdFx0QGV4dGVuZCAuZHJvcHJpZ2h0O1xuXHRcdFx0QGV4dGVuZCAudXA7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0fVxuXHR9XG59XG4iLCIkY2x1c3Rlci1ib3JkZXItd2lkdGg6IDNweCAhZGVmYXVsdDtcbiRjbHVzdGVyLWJvcmRlci1zcGFjZTogNHB4ICFkZWZhdWx0O1xuJHNwYWNlOiAkY2x1c3Rlci1ib3JkZXItd2lkdGggKyAkY2x1c3Rlci1ib3JkZXItc3BhY2U7XG5cbiRjbHVzdGVyLXByaW1hcnktY29sb3I6ICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGNsdXN0ZXItc2Vjb25kYXJ5LWNvbG9yOiAkY29sb3Itc3RhdHVzLW9uICFkZWZhdWx0O1xuJGNsdXN0ZXItdGV4dC1jb2xvcjogJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cbi5jbHVzdGVyIHtcbiAgLmNsdXN0ZXItaW5uZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJjphZnRlcixcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvcmRlcjogJGNsdXN0ZXItYm9yZGVyLXdpZHRoIHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY2x1c3Rlci1zZWNvbmRhcnktY29sb3IgJGNsdXN0ZXItc2Vjb25kYXJ5LWNvbG9yIHRyYW5zcGFyZW50ICRjbHVzdGVyLXNlY29uZGFyeS1jb2xvcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBsZWZ0OiAkc3BhY2U7XG4gICAgICB0b3A6ICRzcGFjZTtcbiAgICAgIEBpbmNsdWRlIGNhbGMoJ3dpZHRoJywgNDRweCwgMTAwJSAtICN7JHNwYWNlICogMn0pO1xuICAgICAgQGluY2x1ZGUgY2FsYygnaGVpZ2h0JywgNDRweCwgMTAwJSAtICN7JHNwYWNlICogMn0pO1xuXG4gICAgICBib3JkZXItY29sb3I6ICRjbHVzdGVyLXByaW1hcnktY29sb3IgJGNsdXN0ZXItcHJpbWFyeS1jb2xvciB0cmFuc3BhcmVudCAkY2x1c3Rlci1wcmltYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgIGIge1xuICAgICAgY29sb3I6ICRjbHVzdGVyLXRleHQtY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQ6ICRjbHVzdGVyLXByaW1hcnktY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgIGxlZnQ6ICRzcGFjZSAqIDI7XG4gICAgICB0b3A6ICRzcGFjZSAqIDI7XG5cbiAgICAgIEBpbmNsdWRlIGNhbGMoJ3dpZHRoJywgMzBweCwgMTAwJSAtICN7JHNwYWNlICogMiAqIDJ9KTtcbiAgICAgIEBpbmNsdWRlIGNhbGMoJ2hlaWdodCcsIDMwcHgsIDEwMCUgLSAjeyRzcGFjZSAqIDIgKiAyfSk7XG4gICAgfVxuICB9XG5cbiAgJi5jbHVzdGVyLWxhcmdlIHtcbiAgICAuY2x1c3Rlci1pbm5lciB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNsdXN0ZXItcHJpbWFyeS1jb2xvciAkY2x1c3Rlci1wcmltYXJ5LWNvbG9yIHRyYW5zcGFyZW50ICRjbHVzdGVyLXByaW1hcnktY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjbHVzdGVyLXNlY29uZGFyeS1jb2xvciAkY2x1c3Rlci1zZWNvbmRhcnktY29sb3IgdHJhbnNwYXJlbnQgJGNsdXN0ZXItc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgfVxuXG4gICAgICBiIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNsdXN0ZXItc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubGVhZmxldC1jbHVzdGVyLWFuaW0gLmxlYWZsZXQtbWFya2VyLWljb24sIC5sZWFmbGV0LWNsdXN0ZXItYW5pbSAubGVhZmxldC1tYXJrZXItc2hhZG93IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0LCBvcGFjaXR5IDAuM3MgZWFzZS1pbjtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0LCBvcGFjaXR5IDAuM3MgZWFzZS1pbjtcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQsIG9wYWNpdHkgMC4zcyBlYXNlLWluO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dCwgb3BhY2l0eSAwLjNzIGVhc2UtaW47XG59XG5cbi5sZWFmbGV0LWNsdXN0ZXItc3BpZGVyLWxlZyB7XG4gIC8qIHN0cm9rZS1kYXNob2Zmc2V0IChkdXJhdGlvbiBhbmQgZnVuY3Rpb24pIHNob3VsZCBtYXRjaCB3aXRoIGxlYWZsZXQtbWFya2VyLWljb24gdHJhbnNmb3JtIGluIG9yZGVyIHRvIHRyYWNrIGl0IGV4YWN0bHkgKi9cbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXN0cm9rZS1kYXNob2Zmc2V0IDAuM3MgZWFzZS1vdXQsIC13ZWJraXQtc3Ryb2tlLW9wYWNpdHkgMC4zcyBlYXNlLWluO1xuICAtbW96LXRyYW5zaXRpb246IC1tb3otc3Ryb2tlLWRhc2hvZmZzZXQgMC4zcyBlYXNlLW91dCwgLW1vei1zdHJva2Utb3BhY2l0eSAwLjNzIGVhc2UtaW47XG4gIC1vLXRyYW5zaXRpb246IC1vLXN0cm9rZS1kYXNob2Zmc2V0IDAuM3MgZWFzZS1vdXQsIC1vLXN0cm9rZS1vcGFjaXR5IDAuM3MgZWFzZS1pbjtcbiAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgMC4zcyBlYXNlLW91dCwgc3Ryb2tlLW9wYWNpdHkgMC4zcyBlYXNlLWluO1xufSIsIkBtaXhpbiB0ZXh0LW92ZXJmbG93KCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgLW8tdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbkBtaXhpbiBjYWxjKCRwcm9wZXJ0eSwgJGRlZmF1bHQsICRleHByZXNzaW9uKSB7XG4gICN7JHByb3BlcnR5fTogJGRlZmF1bHQ7XG4gICN7JHByb3BlcnR5fTogLXdlYmtpdC1jYWxjKCN7JGV4cHJlc3Npb259KTtcbiAgI3skcHJvcGVydHl9OiAtbW96LWNhbGMoI3skZXhwcmVzc2lvbn0pO1xuICAjeyRwcm9wZXJ0eX06IC1vLWNhbGMoI3skZXhwcmVzc2lvbn0pO1xuICAjeyRwcm9wZXJ0eX06IGNhbGMoI3skZXhwcmVzc2lvbn0pO1xufVxuXG5AbWl4aW4gc2Nyb2xsYmFycygkc2l6ZSwgJGZvcmVncm91bmQtY29sb3IsICRiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGZvcmVncm91bmQtY29sb3IsIHdoaXRlLCAgNTAlKSkge1xuICAvLyBGb3IgR29vZ2xlIENocm9tZVxuICA6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogICRzaXplO1xuICAgIGhlaWdodDogJHNpemU7XG4gIH1cblxuICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgfVxuXG4gIDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG5cbiAgLy8gRm9yIEludGVybmV0IEV4cGxvcmVyXG4gIGJvZHkge1xuICAgIHNjcm9sbGJhci1mYWNlLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBzY3JvbGxiYXItdHJhY2stY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBUb29sYmFyc1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5sZWFmbGV0LWRyYXctc2VjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubGVhZmxldC1kcmF3LXRvb2xiYXIge1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG59XG5cbi5sZWFmbGV0LWRyYXctdG9vbGJhci10b3Age1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi5sZWFmbGV0LWRyYXctdG9vbGJhci1ub3RvcCBhOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLmxlYWZsZXQtZHJhdy10b29sYmFyLW5vYm90dG9tIGE6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG5cbi5sZWFmbGV0LWRyYXctdG9vbGJhciBhIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9zcHJpdGVzaGVldC5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50KSwgdXJsKCdpbWFnZXMvc3ByaXRlc2hlZXQuc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI3MHB4IDMwcHg7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbn1cblxuLmxlYWZsZXQtcmV0aW5hIC5sZWFmbGV0LWRyYXctdG9vbGJhciBhIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9zcHJpdGVzaGVldC0yeC5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50KSwgdXJsKCdpbWFnZXMvc3ByaXRlc2hlZXQuc3ZnJyk7XG59XG5cbi5sZWFmbGV0LWRyYXcgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmxlYWZsZXQtZHJhdyBhIC5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICBib3JkZXI6IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogVG9vbGJhciBhY3Rpb25zIG1lbnVcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubGVhZmxldC1kcmF3LWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMjZweDsgLyogbGVhZmxldC1kcmF3LXRvb2xiYXIubGVmdCArIGxlYWZsZXQtZHJhdy10b29sYmFyLndpZHRoICovXG4gICAgdG9wOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWRyYXctYWN0aW9ucyB7XG4gICAgbGVmdDogMzJweDtcbn1cblxuLmxlYWZsZXQtcmlnaHQgLmxlYWZsZXQtZHJhdy1hY3Rpb25zIHtcbiAgICByaWdodDogMjZweDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1yaWdodCAubGVhZmxldC1kcmF3LWFjdGlvbnMge1xuICAgIHJpZ2h0OiAzMnB4O1xuICAgIGxlZnQ6IGF1dG87XG59XG5cbi5sZWFmbGV0LWRyYXctYWN0aW9ucyBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ubGVhZmxldC1kcmF3LWFjdGlvbnMgbGk6Zmlyc3QtY2hpbGQgYSB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG5cbi5sZWFmbGV0LWRyYXctYWN0aW9ucyBsaTpsYXN0LWNoaWxkIGEge1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG59XG5cbi5sZWFmbGV0LXJpZ2h0IC5sZWFmbGV0LWRyYXctYWN0aW9ucyBsaTpsYXN0LWNoaWxkIGEge1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4ubGVhZmxldC1yaWdodCAubGVhZmxldC1kcmF3LWFjdGlvbnMgbGk6Zmlyc3QtY2hpbGQgYSB7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDtcbn1cblxuLmxlYWZsZXQtZHJhdy1hY3Rpb25zIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5MTkxODc7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQUFBO1xuICAgIGNvbG9yOiAjRkZGO1xuICAgIGZvbnQ6IDExcHgvMTlweCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIGhlaWdodDogMjhweDtcbn1cblxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtZHJhdy1hY3Rpb25zIGEge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG59XG5cbi5sZWFmbGV0LWRyYXctYWN0aW9ucy1ib3R0b20ge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi5sZWFmbGV0LWRyYXctYWN0aW9ucy10b3Age1xuICAgIG1hcmdpbi10b3A6IDFweDtcbn1cblxuLmxlYWZsZXQtZHJhdy1hY3Rpb25zLXRvcCBhLFxuLmxlYWZsZXQtZHJhdy1hY3Rpb25zLWJvdHRvbSBhIHtcbiAgICBoZWlnaHQ6IDI3cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI3cHg7XG59XG5cbi5sZWFmbGV0LWRyYXctYWN0aW9ucyBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTBBMDk4O1xufVxuXG4ubGVhZmxldC1kcmF3LWFjdGlvbnMtdG9wLmxlYWZsZXQtZHJhdy1hY3Rpb25zLWJvdHRvbSBhIHtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRHJhdyB0b29sYmFyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmxlYWZsZXQtZHJhdy10b29sYmFyIC5sZWFmbGV0LWRyYXctZHJhdy1wb2x5bGluZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTJweCAtMnB4O1xufVxuXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1kcmF3LXBvbHlsaW5lIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xcHg7XG59XG5cbi5sZWFmbGV0LWRyYXctdG9vbGJhciAubGVhZmxldC1kcmF3LWRyYXctcG9seWdvbiB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMxcHggLTJweDtcbn1cblxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtZHJhdy10b29sYmFyIC5sZWFmbGV0LWRyYXctZHJhdy1wb2x5Z29uIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjlweCAtMXB4O1xufVxuXG4ubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1kcmF3LXJlY3RhbmdsZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYycHggLTJweDtcbn1cblxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtZHJhdy10b29sYmFyIC5sZWFmbGV0LWRyYXctZHJhdy1yZWN0YW5nbGUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02MHB4IC0xcHg7XG59XG5cbi5sZWFmbGV0LWRyYXctdG9vbGJhciAubGVhZmxldC1kcmF3LWRyYXctY2lyY2xlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTJweCAtMnB4O1xufVxuXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1kcmF3LWNpcmNsZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTkwcHggLTFweDtcbn1cblxuLmxlYWZsZXQtZHJhdy10b29sYmFyIC5sZWFmbGV0LWRyYXctZHJhdy1tYXJrZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjJweCAtMnB4O1xufVxuXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1kcmF3LW1hcmtlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRWRpdCB0b29sYmFyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmxlYWZsZXQtZHJhdy10b29sYmFyIC5sZWFmbGV0LWRyYXctZWRpdC1lZGl0IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTUycHggLTJweDtcbn1cblxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtZHJhdy10b29sYmFyIC5sZWFmbGV0LWRyYXctZWRpdC1lZGl0IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTUwcHggLTFweDtcbn1cblxuLmxlYWZsZXQtZHJhdy10b29sYmFyIC5sZWFmbGV0LWRyYXctZWRpdC1yZW1vdmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xODJweCAtMnB4O1xufVxuXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1lZGl0LXJlbW92ZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE4MHB4IC0xcHg7XG59XG5cbi5sZWFmbGV0LWRyYXctdG9vbGJhciAubGVhZmxldC1kcmF3LWVkaXQtZWRpdC5sZWFmbGV0LWRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjEycHggLTJweDtcbn1cblxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtZHJhdy10b29sYmFyIC5sZWFmbGV0LWRyYXctZWRpdC1lZGl0LmxlYWZsZXQtZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMTBweCAtMXB4O1xufVxuXG4ubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1lZGl0LXJlbW92ZS5sZWFmbGV0LWRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQycHggLTJweDtcbn1cblxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtZHJhdy10b29sYmFyIC5sZWFmbGV0LWRyYXctZWRpdC1yZW1vdmUubGVhZmxldC1kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0ycHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRHJhd2luZyBzdHlsZXNcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubGVhZmxldC1tb3VzZS1tYXJrZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY3Vyc29yOiBjcm9zc2hhaXI7XG59XG5cbi5sZWFmbGV0LWRyYXctdG9vbHRpcCB7XG4gICAgYmFja2dyb3VuZDogcmdiKDU0LCA1NCwgNTQpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udDogMTJweC8xOHB4IFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMjFweDtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB6LWluZGV4OiA2O1xufVxuXG4ubGVhZmxldC1kcmF3LXRvb2x0aXA6YmVmb3JlIHtcbiAgICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCBibGFjaztcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBib3JkZXItdG9wOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogN3B4O1xuICAgIGxlZnQ6IC03cHg7XG59XG5cbi5sZWFmbGV0LWVycm9yLWRyYXctdG9vbHRpcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0YyREVERTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRTZCNkJEO1xuICAgIGNvbG9yOiAjQjk0QTQ4O1xufVxuXG4ubGVhZmxldC1lcnJvci1kcmF3LXRvb2x0aXA6YmVmb3JlIHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICNFNkI2QkQ7XG59XG5cbi5sZWFmbGV0LWRyYXctdG9vbHRpcC1zaW5nbGUge1xuICAgIG1hcmdpbi10b3A6IC0xMnB4XG59XG5cbi5sZWFmbGV0LWRyYXctdG9vbHRpcC1zdWJ0ZXh0IHtcbiAgICBjb2xvcjogI2Y4ZDVlNDtcbn1cblxuLmxlYWZsZXQtZHJhdy1ndWlkZS1kYXNoIHtcbiAgICBmb250LXNpemU6IDElO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDVweDtcbiAgICBoZWlnaHQ6IDVweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBFZGl0IHN0eWxlc1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5sZWFmbGV0LWVkaXQtbWFya2VyLXNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NCwgODcsIDE2MSwgMC4xKTtcbiAgICBib3JkZXI6IDRweCBkYXNoZWQgcmdiYSgyNTQsIDg3LCAxNjEsIDAuNik7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4ubGVhZmxldC1lZGl0LW1vdmUge1xuICAgIGN1cnNvcjogbW92ZTtcbn1cblxuLmxlYWZsZXQtZWRpdC1yZXNpemUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBPbGQgSUUgc3R5bGVzXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtZHJhdy10b29sYmFyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xufSIsIiNncHMtZGV2aWNlLXBhcmFtZXRlcnMtdmlldyB7XG4gIHdpZHRoOiAzMDBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gIHNwYW5bZGF0YS1kZXZpY2U9XCJzdHJlZXR2aWV3XCJdIHtcbiAgICBtaW4taGVpZ2h0OiAxMjVweDtcbiAgfVxufVxuI2dwcy1kZXZpY2Utc3RyZWV0LXZpZXctbGFyZ2Uge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gIHNwYW5bZGF0YS1kZXZpY2U9XCJzdHJlZXR2aWV3XCJdIHtcbiAgICBtaW4taGVpZ2h0OiAyNjFweDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG59XG5cbi5sZWFmbGV0LXBvcHVwLW1hcC1pY29uIHtcbiAgd2lkdGg6IDIwMHB4O1xufVxuXG4ubGVhZmxldC1wb3B1cC1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogJHBvcHVwLWJvZHktYmc7XG5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDZweCAxMnB4IHJnYmEoMCwwLDAsLjE3NSkpO1xuXG4gIGltZyB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cbi5wb3B1cC1oZWFkZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgYmFja2dyb3VuZDogJHBvcHVwLWhlYWRlci1iZztcblxuICAubmF2LXRhYnMge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICAvL21hcmdpbjogLSgkcG9wdXAtaGVhZGVyLXBhZGRpbmcpO1xuICB9XG5cbiAgLnBvcHVwLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0ZXh0LW92ZXJmbG93O1xuICAgIGZvbnQtc2l6ZTogJHBvcHVwLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJHBvcHVwLXRpdGxlLWNvbG9yO1xuXG4gICAgcGFkZGluZzogJHBvcHVwLWhlYWRlci1wYWRkaW5nO1xuICB9XG59XG5cbi5wb3B1cC1ib2R5IHtcbiAgYmFja2dyb3VuZDogJHBvcHVwLWJvZHktYmc7XG4gIHBhZGRpbmc6ICRwb3B1cC1pbm5lci1wYWRkaW5nO1xuICBjb2xvcjogJHBvcHVwLWJvZHktY29sb3I7XG4gIGZvbnQtc2l6ZTogJHBvcHVwLWJvZHktZm9udC1zaXplO1xuXG4gID4gLm5hdiB7XG4gICAgbWFyZ2luOiAtKCRwb3B1cC1pbm5lci1wYWRkaW5nKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkcG9wdXAtaW5uZXItcGFkZGluZztcbiAgfVxuXG4gIC50YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIHRib2R5ID4gdHIge1xuICAgICAgPiB0aCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHdpZHRoOiAzNSU7XG4gICAgICB9XG4gICAgICA+IHRkLFxuICAgICAgPiB0aCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuYXV0b2NvbXBsZXRlLXN1Z2dlc3Rpb25zIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGRyb3Bkb3duLWJvcmRlcjtcbiAgYmFja2dyb3VuZDogJGRyb3Bkb3duLWJnO1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLmF1dG9jb21wbGV0ZS1zdWdnZXN0aW9uIHtcbiAgcGFkZGluZzogMnB4IDVweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmF1dG9jb21wbGV0ZS1zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQ6ICRkcm9wZG93bi1saW5rLWhvdmVyLWJnO1xufVxuXG4uYXV0b2NvbXBsZXRlLXN1Z2dlc3Rpb25zIHN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG59XG5cbi5hdXRvY29tcGxldGUtZ3JvdXAge1xuICBwYWRkaW5nOiAycHggNXB4O1xufVxuXG4uYXV0b2NvbXBsZXRlLWdyb3VwIHN0cm9uZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG59IiwiLy8gTk9URTogYnkgdXNpbmcgIWRlZmF1bHQgb24gYWxsIHZhcmlhYmxlcywgd2UncmUgc2F5aW5nIG9ubHkgZGVjbGFyZSB0aGUgdmFyaWFibGUgaWYgaXQgZG9lc24ndFxuLy8gYWxyZWFkeSBleGlzdCwgd2hpY2ggYWxsb3dzIGRldnMgdG8gZGVjbGFyZSB0aGVzZSB2YXJpYWJsZXMgdGhlbXNlbHZlcyBhbmQgYXNzaWduIHRoZW0gYW55IHZhbHVlXG4vLyB0aGV5IHdhbnQgYmVmb3JlIGltcG9ydGluZyB0aGlzIGZpbGVcblxuLy8gcmdiYSBpcyBuZWVkZWQgZm9yIHRoZSBzZWxlY3RlZCBmbGFnIGhvdmVyIHN0YXRlIHRvIGJsZW5kIGluIHdpdGhcbi8vIHRoZSBib3JkZXItaGlnaGxpZ2h0aW5nIHNvbWUgYnJvd3NlcnMgZ2l2ZSB0aGUgaW5wdXQgb24gZm9jdXNcbiRob3ZlckNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1iZyAhZGVmYXVsdDtcbiRncmV5VGV4dDogJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kZ3JleUJvcmRlcjogJGRyb3Bkb3duLWJvcmRlciAhZGVmYXVsdDtcblxuJGZsYWdIZWlnaHQ6IDE1cHggIWRlZmF1bHQ7XG4kZmxhZ1dpZHRoOiAyMHB4ICFkZWZhdWx0O1xuJGZsYWdQYWRkaW5nOiA4cHggIWRlZmF1bHQ7XG4vLyB0aGlzIGJvcmRlciB3aWR0aCBpcyB1c2VkIGZvciB0aGUgcG9wdXAgYW5kIGRpdmlkZXIsIGJ1dCBpdCBpcyBhbHNvXG4vLyBhc3N1bWVkIHRvIGJlIHRoZSBib3JkZXIgd2lkdGggb2YgdGhlIGlucHV0LCB3aGljaCB3ZSBkbyBub3QgY29udHJvbFxuJGJvcmRlcldpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbiRhcnJvd0hlaWdodDogNHB4ICFkZWZhdWx0O1xuJGFycm93V2lkdGg6IDZweCAhZGVmYXVsdDtcbiR0cmlhbmdsZUJvcmRlcjogM3B4ICFkZWZhdWx0O1xuJGFycm93UGFkZGluZzogNnB4ICFkZWZhdWx0O1xuJGFycm93Q29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXRQYWRkaW5nOiA2cHggIWRlZmF1bHQ7XG4kc2VsZWN0ZWRGbGFnV2lkdGg6ICRmbGFnV2lkdGggKyAoMiAqICRmbGFnUGFkZGluZykgIWRlZmF1bHQ7XG4kc2VsZWN0ZWRGbGFnQXJyb3dXaWR0aDogJGZsYWdXaWR0aCArICRmbGFnUGFkZGluZyArICRhcnJvd1dpZHRoICsgKDIgKiAkYXJyb3dQYWRkaW5nKSAhZGVmYXVsdDtcblxuLy8gaW1hZ2UgcmVsYXRlZCB2YXJpYWJsZXNcbiRmbGFnc0ltYWdlUGF0aDogXCIuLi9pbWFnZXMvaW50bHRlbGlucHV0L1wiICFkZWZhdWx0O1xuJGZsYWdzSW1hZ2VOYW1lOiBcImZsYWdzXCIgIWRlZmF1bHQ7XG4kZmxhZ3NJbWFnZUV4dGVuc2lvbjogXCJwbmdcIiAhZGVmYXVsdDtcblxuLy8gZW5vdWdoIHNwYWNlIGZvciB0aGVtIHRvIGNsaWNrIG9mZiB0byBjbG9zZVxuJG1vYmlsZVBvcHVwTWFyZ2luOiAzMHB4ICFkZWZhdWx0O1xuXG4uZm9ybS1ncm91cCAuaXRpe1xuICB3aWR0aDogMTAwJTtcbn1cblxuLml0aSB7XG4gIC8vIG5lZWQgcG9zaXRpb24gb24gdGhlIGNvbnRhaW5lciBzbyB0aGUgc2VsZWN0ZWQgZmxhZyBjYW4gYmVcbiAgLy8gYWJzb2x1dGVseSBwb3NpdGlvbmVkIG92ZXIgdGhlIGlucHV0XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8ga2VlcCB0aGUgaW5wdXQncyBkZWZhdWx0IGlubGluZSBwcm9wZXJ0aWVzXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAvLyBwYXVsIGlyaXNoIHNheXMgdGhpcyBpcyBva1xuICAvLyBodHRwOi8vd3d3LnBhdWxpcmlzaC5jb20vMjAxMi9ib3gtc2l6aW5nLWJvcmRlci1ib3gtZnR3L1xuICAqIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gICZfX2hpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLy8gbmVlZCB0aGlzIGR1cmluZyBpbml0LCB0byBnZXQgdGhlIGhlaWdodCBvZiB0aGUgZHJvcGRvd25cbiAgJl9fdi1oaWRlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBzcGVjaWZ5IHR5cGVzIHRvIGluY3JlYXNlIHNwZWNpZmljaXR5IGUuZy4gdG8gb3ZlcnJpZGUgYm9vdHN0cmFwIHYyLjNcbiAgaW5wdXQsIGlucHV0W3R5cGU9dGV4dF0sIGlucHV0W3R5cGU9dGVsXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIGlucHV0IGlzIGJvdHRvbSBsZXZlbCwgYmVsb3cgc2VsZWN0ZWQgZmxhZyBhbmQgZHJvcGRvd25cbiAgICB6LWluZGV4OiAwO1xuXG4gICAgLy8gYW55IHZlcnRpY2FsIG1hcmdpbiB0aGUgdXNlciBoYXMgb24gdGhlaXIgaW5wdXRzIHdvdWxkIG5vIGxvbmdlciB3b3JrIGFzIGV4cGVjdGVkXG4gICAgLy8gYmVjYXVzZSB3ZSB3cmFwIGV2ZXJ5dGhpbmcgaW4gYSBjb250YWluZXIgZGl2LiBpIGp1c3RpZnkgdGhlIHVzZSBvZiAhaW1wb3J0YW50XG4gICAgLy8gaGVyZSBiZWNhdXNlIGkgZG9uJ3QgdGhpbmsgdGhlIHVzZXIgc2hvdWxkIGV2ZXIgaGF2ZSB2ZXJ0aWNhbCBtYXJnaW4gaGVyZSAtIHdoZW5cbiAgICAvLyB0aGUgaW5wdXQgaXMgd3JhcHBlZCBpbiBhIGNvbnRhaW5lciwgdmVydGljYWwgbWFyZ2luIG1lc3NlcyB1cCBhbGlnbm1lbnQgd2l0aCBvdGhlclxuICAgIC8vIGlubGluZSBlbGVtZW50cyAoZS5nLiBhbiBhZGphY2VudCBidXR0b24pIGluIGZpcmVmb3gsIGFuZCBwcm9iYWJseSBvdGhlciBicm93c2Vycy5cbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXG4gICAgLy8gbWFrZSBzcGFjZSBmb3IgdGhlIHNlbGVjdGVkIGZsYWcgb24gcmlnaHQgb2YgaW5wdXQgKGlmIGRpc2FibGVkIGFsbG93RHJvcGRvd24pXG4gICAgLy8gTm90ZTogbm8gIWltcG9ydGFudCBoZXJlLCBhcyB0aGUgdXNlciBtYXkgd2FudCB0byB0d2VhayB0aGlzIHNvIHRoYXQgdGhlXG4gICAgLy8gcGVyY2VpdmVkIGlucHV0IHBhZGRpbmcgbWF0Y2hlcyB0aGVpciBleGlzdGluZyBzdHlsZXNcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc2VsZWN0ZWRGbGFnV2lkdGg7XG5cbiAgICAvLyBhbnkgbWFyZ2luLXJpZ2h0IGhlcmUgd2lsbCBwdXNoIHRoZSBzZWxlY3RlZC1mbGFnIGF3YXlcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICAmX19mbGFnLWNvbnRhaW5lciB7XG4gICAgLy8gcG9zaXRpb25lZCBvdmVyIHRoZSB0b3Agb2YgdGhlIGlucHV0XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vIGZ1bGwgaGVpZ2h0XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICAvLyBwcmV2ZW50IHRoZSBoaWdobGlnaHRlZCBjaGlsZCBmcm9tIG92ZXJsYXBwaW5nIHRoZSBpbnB1dCBib3JkZXJcbiAgICBwYWRkaW5nOiAkYm9yZGVyV2lkdGg7XG4gIH1cblxuICAmX19zZWxlY3RlZC1mbGFnIHtcbiAgICAvLyByZW5kZXIgYWJvdmUgdGhlIGlucHV0XG4gICAgei1pbmRleDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8vIHRoaXMgbXVzdCBiZSBmdWxsLWhlaWdodCBib3RoIGZvciB0aGUgaG92ZXIgaGlnaGxpZ2h0LCBhbmQgdG8gcHVzaCBkb3duIHRoZVxuICAgIC8vIGRyb3Bkb3duIHNvIGl0IGFwcGVhcnMgYmVsb3cgdGhlIGlucHV0XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgJGFycm93UGFkZGluZyAwICRmbGFnUGFkZGluZztcbiAgfVxuXG4gICZfX2Fycm93IHtcbiAgICBtYXJnaW4tbGVmdDogJGFycm93UGFkZGluZztcblxuICAgIC8vIGNzcyB0cmlhbmdsZVxuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogJHRyaWFuZ2xlQm9yZGVyIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogJHRyaWFuZ2xlQm9yZGVyIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6ICRhcnJvd0hlaWdodCBzb2xpZCAkYXJyb3dDb2xvcjtcblxuICAgICYtLXVwIHtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAkYXJyb3dIZWlnaHQgc29saWQgJGFycm93Q29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gdGhlIGRyb3Bkb3duXG4gICZfX2NvdW50cnktbGlzdCB7XG4gICAgQGV4dGVuZCAuc2Nyb2xsYmFyO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vIHBvcHVwIHNvIHJlbmRlciBhYm92ZSBldmVyeXRoaW5nIGVsc2VcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgLy8gb3ZlcnJpZGUgZGVmYXVsdCBsaXN0IHN0eWxlc1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgLy8gaW4gY2FzZSBhbnkgY29udGFpbmVyIGhhcyB0ZXh0LWFsaWduOmNlbnRlclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAvLyBwbGFjZSBtZW51IGFib3ZlIHRoZSBpbnB1dCBlbGVtZW50XG4gICAgJi0tZHJvcHVwIHtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206ICgtJGJvcmRlcldpZHRoKTtcbiAgICB9XG5cbiAgICBwYWRkaW5nOiAwO1xuICAgIC8vIG1hcmdpbi1sZWZ0IHRvIGNvbXBlbnNhdGUgZm9yIHRoZSBwYWRkaW5nIG9uIHRoZSBwYXJlbnRcbiAgICBtYXJnaW46IDAgMCAwICgtJGJvcmRlcldpZHRoKTtcblxuICAgIGJveC1zaGFkb3c6IDFweCAxcHggNHB4IHJnYmEoMCwwLDAsMC4yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmc7XG4gICAgYm9yZGVyOiAkYm9yZGVyV2lkdGggc29saWQgJGdyZXlCb3JkZXI7XG5cbiAgICAvLyBkb24ndCBsZXQgdGhlIGNvbnRlbnRzIHdyYXAgQUtBIHRoZSBjb250YWluZXIgd2lsbCBiZSBhcyB3aWRlIGFzIHRoZSBjb250ZW50c1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLy8gZXhjZXB0IG9uIHNtYWxsIHNjcmVlbnMsIHdoZXJlIHdlIGZvcmNlIHRoZSBkcm9wZG93biB3aWR0aCB0byBtYXRjaCB0aGUgaW5wdXRcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gICAgLy8gRml4ZXMgaHR0cHM6Ly9naXRodWIuY29tL2phY2tvY25yL2ludGwtdGVsLWlucHV0L2lzc3Vlcy83NjVcbiAgICAvLyBBcHBsZSBzdGlsbCBoYXNuJ3QgZml4ZWQgdGhlIGlzc3VlIHdoZXJlIHNldHRpbmcgb3ZlcmZsb3c6IHNjcm9sbCBvbiBhIGRpdiBlbGVtZW50IGRvZXMgbm90IHVzZSBpbmVydGlhIHNjcm9sbGluZ1xuICAgIC8vIElmIHRoaXMgaXMgbm90IHNldCwgdGhlbiB0aGUgY291bnRyeSBsaXN0IHNjcm9sbCBzdG9wcyBtb3ZpbmcgYWZ0ZXIgcmFzaW5nIGEgZmluZ2VyLCBhbmQgdXNlcnMgcmVwb3J0IHRoYXQgc2Nyb2xsIGlzIHNsb3dcbiAgICAvLyBTdGFja292ZXJmbG93IHF1ZXN0aW9uIGFib3V0IGl0OiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zMzYwMTE2NS9zY3JvbGxpbmctc2xvdy1vbi1tb2JpbGUtaW9zLXdoZW4tdXNpbmctb3ZlcmZsb3dzY3JvbGxcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cblxuICAvLyBkcm9wZG93biBmbGFncyBuZWVkIGNvbnNpc3RlbnQgd2lkdGgsIHNvIHdyYXAgaW4gYSBjb250YWluZXJcbiAgJl9fZmxhZy1ib3gge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogJGZsYWdXaWR0aDtcbiAgfVxuXG4gIC8vIHRoZSBkaXZpZGVyIGJlbG93IHRoZSBwcmVmZXJyZWQgY291bnRyaWVzXG4gICZfX2RpdmlkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXJXaWR0aCBzb2xpZCAkZ3JleUJvcmRlcjtcbiAgfVxuXG4gIC8vIGVhY2ggY291bnRyeSBpdGVtIGluIGRyb3Bkb3duICh3ZSBtdXN0IGhhdmUgc2VwYXJhdGUgY2xhc3MgdG8gZGlmZmVyZW50aWF0ZSBmcm9tIGRpdmlkZXJzKVxuICAmX19jb3VudHJ5IHtcbiAgICAvLyBOb3RlOiBkZWNpZGVkIG5vdCB0byB1c2UgbGluZS1oZWlnaHQgaGVyZSBmb3IgYWxpZ25tZW50IGJlY2F1c2UgaXQgY2F1c2VzIGlzc3VlcyBlLmcuIGxhcmdlIGZvbnQtc2l6ZXMgd2lsbCBvdmVybGFwLCBhbmQgYWxzbyBsb29rcyBiYWQgaWYgb25lIGNvdW50cnkgb3ZlcmZsb3dzIG9udG8gMiBsaW5lc1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAvLyB0aGUgZGlhbCBjb2RlcyBhZnRlciB0aGUgY291bnRyeSBuYW1lcyBhcmUgZ3JleWVkIG91dFxuICAmX19kaWFsLWNvZGUge1xuICAgIGNvbG9yOiAkZ3JleVRleHQ7XG4gIH1cbiAgJl9fY291bnRyeS5pdGlfX2hpZ2hsaWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyQ29sb3I7XG4gIH1cblxuICAvLyBzcGFjaW5nIGJldHdlZW4gY291bnRyeSBmbGFnLCBuYW1lIGFuZCBkaWFsIGNvZGVcbiAgJl9fZmxhZy1ib3gsICZfX2NvdW50cnktbmFtZSwgJl9fZGlhbC1jb2RlIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gICZfX2ZsYWctYm94LCAmX19jb3VudHJ5LW5hbWUge1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICB9XG5cbiAgLy8gdGhlc2Ugc2V0dGluZ3MgYXJlIGluZGVwZW5kZW50IG9mIGVhY2ggb3RoZXIsIGJ1dCBib3RoIG1vdmUgc2VsZWN0ZWQgZmxhZyB0byBsZWZ0IG9mIGlucHV0XG4gICYtLWFsbG93LWRyb3Bkb3duLCAmLS1zZXBhcmF0ZS1kaWFsLWNvZGUge1xuICAgIGlucHV0LCBpbnB1dFt0eXBlPXRleHRdLCBpbnB1dFt0eXBlPXRlbF0ge1xuICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0UGFkZGluZztcbiAgICAgIHBhZGRpbmctbGVmdDogJHNlbGVjdGVkRmxhZ0Fycm93V2lkdGggKyAkaW5wdXRQYWRkaW5nO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5pdGlfX2ZsYWctY29udGFpbmVyIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAmLS1hbGxvdy1kcm9wZG93biB7XG4gICAgLy8gaG92ZXIgc3RhdGUgLSBzaG93IGZsYWcgaXMgY2xpY2thYmxlXG4gICAgLml0aV9fZmxhZy1jb250YWluZXI6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgLml0aV9fc2VsZWN0ZWQtZmxhZyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3ZlckNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBkaXNhYmxlIGhvdmVyIHN0YXRlIHdoZW4gaW5wdXQgaXMgZGlzYWJsZWRcbiAgICBpbnB1dFtkaXNhYmxlZF0gKyAuaXRpX19mbGFnLWNvbnRhaW5lcjpob3ZlcixcbiAgICBpbnB1dFtyZWFkb25seV0gKyAuaXRpX19mbGFnLWNvbnRhaW5lcjpob3ZlciB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAuaXRpX19zZWxlY3RlZC1mbGFnIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tc2VwYXJhdGUtZGlhbC1jb2RlIHtcbiAgICAuaXRpX19zZWxlY3RlZC1mbGFnIHtcbiAgICAgIC8vIG5vdyB0aGF0IHdlIGhhdmUgZGlnaXRzIGluIHRoaXMgc2VjdGlvbiwgaXQgbmVlZHMgdGhpcyB2aXN1YWwgc2VwYXJhdGlvblxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyQ29sb3I7XG4gICAgfVxuICAgIC5pdGlfX3NlbGVjdGVkLWRpYWwtY29kZSB7XG4gICAgICBtYXJnaW4tbGVmdDogJGFycm93UGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBpZiBkcm9wZG93bkNvbnRhaW5lciBvcHRpb24gaXMgc2V0LCBpbmNyZWFzZSB6LWluZGV4IHRvIHByZXZlbnQgZGlzcGxheSBpc3N1ZXNcbiAgJi0tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTAwMHB4O1xuICAgIGxlZnQ6IC0xMDAwcHg7XG4gICAgLy8gQWNpbWEgZGUgcXVhbHF1ZXIgbW9kYWw6IG8gZ2VyZW5jaWFkb3IgZW1waWxoYSBkZSAxMCBlbSAxMCAoMTA1MCwgMTA2MCxcbiAgICAvLyAxMDcwLi4uKSwgZW50YW8gMTA2MCBhYnJpYSBhdHJhcyBkbyBzZWd1bmRvIG1vZGFsLlxuICAgIHotaW5kZXg6IDIwMDA7XG4gICAgLy8gdG8ga2VlcCBzdHlsaW5nIGNvbnNpc3RlbnQgd2l0aCAuZmxhZy1jb250YWluZXJcbiAgICBwYWRkaW5nOiAkYm9yZGVyV2lkdGg7XG4gICAgJjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIG92ZXJyaWRlcyBmb3IgbW9iaWxlIHBvcHVwIChub3RlOiAuaXRpLW1vYmlsZSBjbGFzcyBpcyBhcHBsaWVkIG9uIGJvZHkpXG4uaXRpLW1vYmlsZSAuaXRpIHtcbiAgJi0tY29udGFpbmVyIHtcbiAgICB0b3A6ICRtb2JpbGVQb3B1cE1hcmdpbjtcbiAgICBib3R0b206ICRtb2JpbGVQb3B1cE1hcmdpbjtcbiAgICBsZWZ0OiAkbW9iaWxlUG9wdXBNYXJnaW47XG4gICAgcmlnaHQ6ICRtb2JpbGVQb3B1cE1hcmdpbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgJl9fY291bnRyeS1saXN0IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICZfX2NvdW50cnkge1xuICAgIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgICAvLyBpbmNyZWFzZSBsaW5lIGhlaWdodCBiZWNhdXNlIGRyb3Bkb3duIGNvcHkgaXMgdiBsaWtlbHkgdG8gb3ZlcmZsb3cgb24gbW9iaWxlIGFuZCB3aGVuIGl0IGRvZXMgaXQgbmVlZHMgdG8gYmUgd2VsbCBzcGFjZWRcbiAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gIH1cbn1cblxuQGltcG9ydCBcInNwcml0ZVwiO1xuXG4uaXRpX19mbGFnIHtcbiAgaGVpZ2h0OiAkZmxhZ0hlaWdodDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAxcHggMHB4ICM4ODg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JGZsYWdzSW1hZ2VQYXRofSN7JGZsYWdzSW1hZ2VOYW1lfS4jeyRmbGFnc0ltYWdlRXh0ZW5zaW9ufVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLy8gZW1wdHkgc3RhdGVcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RCREJEQjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZsYWdXaWR0aCAwO1xuXG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmbGFnc0ltYWdlUGF0aH0jeyRmbGFnc0ltYWdlTmFtZX1AMnguI3skZmxhZ3NJbWFnZUV4dGVuc2lvbn1cIik7XG4gIH1cbn1cblxuLy8gaGFjayBmb3IgTmVwYWwgd2hpY2ggaXMgdGhlIG9ubHkgZmxhZyB0aGF0IGlzIG5vdCBzcXVhcmUvcmVjdGFuZ2xlLCBzbyBpdCBoYXMgdHJhbnNwYXJlbmN5LCBzbyB5b3UgY2FuIHNlZSB0aGUgZGVmYXVsdCBncmV5IGJlaGluZCBpdFxuLml0aV9fZmxhZy5pdGlfX25wIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59IiwiQGZ1bmN0aW9uIHJldGluYS1zaXplKCR2YWx1ZSkge1xuICBAcmV0dXJuIGZsb29yKCR2YWx1ZSAvIDIpO1xufVxuXG5AbWl4aW4gcmV0aW5hLWJnLXNpemUoJHNwcml0ZVdpZHRoLCAkc3ByaXRlSGVpZ2h0KSB7XG4gIGJhY2tncm91bmQtc2l6ZTogZmxvb3IoJHNwcml0ZVdpZHRoIC8gMikgZmxvb3IoJHNwcml0ZUhlaWdodCAvIDIpO1xufVxuXG4uaXRpX19mbGFnIHtcbiAgJGl0ZW0td2lkdGgtbWFwczogKGFjOiAyMHB4LCBhZDogMjBweCwgYWU6IDIwcHgsIGFmOiAyMHB4LCBhZzogMjBweCwgYWk6IDIwcHgsIGFsOiAyMHB4LCBhbTogMjBweCwgYW86IDIwcHgsIGFxOiAyMHB4LCBhcjogMjBweCwgYXM6IDIwcHgsIGF0OiAyMHB4LCBhdTogMjBweCwgYXc6IDIwcHgsIGF4OiAyMHB4LCBhejogMjBweCwgYmE6IDIwcHgsIGJiOiAyMHB4LCBiZDogMjBweCwgYmU6IDE4cHgsIGJmOiAyMHB4LCBiZzogMjBweCwgYmg6IDIwcHgsIGJpOiAyMHB4LCBiajogMjBweCwgYmw6IDIwcHgsIGJtOiAyMHB4LCBibjogMjBweCwgYm86IDIwcHgsIGJxOiAyMHB4LCBicjogMjBweCwgYnM6IDIwcHgsIGJ0OiAyMHB4LCBidjogMjBweCwgYnc6IDIwcHgsIGJ5OiAyMHB4LCBiejogMjBweCwgY2E6IDIwcHgsIGNjOiAyMHB4LCBjZDogMjBweCwgY2Y6IDIwcHgsIGNnOiAyMHB4LCBjaDogMTVweCwgY2k6IDIwcHgsIGNrOiAyMHB4LCBjbDogMjBweCwgY206IDIwcHgsIGNuOiAyMHB4LCBjbzogMjBweCwgY3A6IDIwcHgsIGNyOiAyMHB4LCBjdTogMjBweCwgY3Y6IDIwcHgsIGN3OiAyMHB4LCBjeDogMjBweCwgY3k6IDIwcHgsIGN6OiAyMHB4LCBkZTogMjBweCwgZGc6IDIwcHgsIGRqOiAyMHB4LCBkazogMjBweCwgZG06IDIwcHgsIGRvOiAyMHB4LCBkejogMjBweCwgZWE6IDIwcHgsIGVjOiAyMHB4LCBlZTogMjBweCwgZWc6IDIwcHgsIGVoOiAyMHB4LCBlcjogMjBweCwgZXM6IDIwcHgsIGV0OiAyMHB4LCBldTogMjBweCwgZmk6IDIwcHgsIGZqOiAyMHB4LCBmazogMjBweCwgZm06IDIwcHgsIGZvOiAyMHB4LCBmcjogMjBweCwgZ2E6IDIwcHgsIGdiOiAyMHB4LCBnZDogMjBweCwgZ2U6IDIwcHgsIGdmOiAyMHB4LCBnZzogMjBweCwgZ2g6IDIwcHgsIGdpOiAyMHB4LCBnbDogMjBweCwgZ206IDIwcHgsIGduOiAyMHB4LCBncDogMjBweCwgZ3E6IDIwcHgsIGdyOiAyMHB4LCBnczogMjBweCwgZ3Q6IDIwcHgsIGd1OiAyMHB4LCBndzogMjBweCwgZ3k6IDIwcHgsIGhrOiAyMHB4LCBobTogMjBweCwgaG46IDIwcHgsIGhyOiAyMHB4LCBodDogMjBweCwgaHU6IDIwcHgsIGljOiAyMHB4LCBpZDogMjBweCwgaWU6IDIwcHgsIGlsOiAyMHB4LCBpbTogMjBweCwgaW46IDIwcHgsIGlvOiAyMHB4LCBpcTogMjBweCwgaXI6IDIwcHgsIGlzOiAyMHB4LCBpdDogMjBweCwgamU6IDIwcHgsIGptOiAyMHB4LCBqbzogMjBweCwganA6IDIwcHgsIGtlOiAyMHB4LCBrZzogMjBweCwga2g6IDIwcHgsIGtpOiAyMHB4LCBrbTogMjBweCwga246IDIwcHgsIGtwOiAyMHB4LCBrcjogMjBweCwga3c6IDIwcHgsIGt5OiAyMHB4LCBrejogMjBweCwgbGE6IDIwcHgsIGxiOiAyMHB4LCBsYzogMjBweCwgbGk6IDIwcHgsIGxrOiAyMHB4LCBscjogMjBweCwgbHM6IDIwcHgsIGx0OiAyMHB4LCBsdTogMjBweCwgbHY6IDIwcHgsIGx5OiAyMHB4LCBtYTogMjBweCwgbWM6IDE5cHgsIG1kOiAyMHB4LCBtZTogMjBweCwgbWY6IDIwcHgsIG1nOiAyMHB4LCBtaDogMjBweCwgbWs6IDIwcHgsIG1sOiAyMHB4LCBtbTogMjBweCwgbW46IDIwcHgsIG1vOiAyMHB4LCBtcDogMjBweCwgbXE6IDIwcHgsIG1yOiAyMHB4LCBtczogMjBweCwgbXQ6IDIwcHgsIG11OiAyMHB4LCBtdjogMjBweCwgbXc6IDIwcHgsIG14OiAyMHB4LCBteTogMjBweCwgbXo6IDIwcHgsIG5hOiAyMHB4LCBuYzogMjBweCwgbmU6IDE4cHgsIG5mOiAyMHB4LCBuZzogMjBweCwgbmk6IDIwcHgsIG5sOiAyMHB4LCBubzogMjBweCwgbnA6IDEzcHgsIG5yOiAyMHB4LCBudTogMjBweCwgbno6IDIwcHgsIG9tOiAyMHB4LCBwYTogMjBweCwgcGU6IDIwcHgsIHBmOiAyMHB4LCBwZzogMjBweCwgcGg6IDIwcHgsIHBrOiAyMHB4LCBwbDogMjBweCwgcG06IDIwcHgsIHBuOiAyMHB4LCBwcjogMjBweCwgcHM6IDIwcHgsIHB0OiAyMHB4LCBwdzogMjBweCwgcHk6IDIwcHgsIHFhOiAyMHB4LCByZTogMjBweCwgcm86IDIwcHgsIHJzOiAyMHB4LCBydTogMjBweCwgcnc6IDIwcHgsIHNhOiAyMHB4LCBzYjogMjBweCwgc2M6IDIwcHgsIHNkOiAyMHB4LCBzZTogMjBweCwgc2c6IDIwcHgsIHNoOiAyMHB4LCBzaTogMjBweCwgc2o6IDIwcHgsIHNrOiAyMHB4LCBzbDogMjBweCwgc206IDIwcHgsIHNuOiAyMHB4LCBzbzogMjBweCwgc3I6IDIwcHgsIHNzOiAyMHB4LCBzdDogMjBweCwgc3Y6IDIwcHgsIHN4OiAyMHB4LCBzeTogMjBweCwgc3o6IDIwcHgsIHRhOiAyMHB4LCB0YzogMjBweCwgdGQ6IDIwcHgsIHRmOiAyMHB4LCB0ZzogMjBweCwgdGg6IDIwcHgsIHRqOiAyMHB4LCB0azogMjBweCwgdGw6IDIwcHgsIHRtOiAyMHB4LCB0bjogMjBweCwgdG86IDIwcHgsIHRyOiAyMHB4LCB0dDogMjBweCwgdHY6IDIwcHgsIHR3OiAyMHB4LCB0ejogMjBweCwgdWE6IDIwcHgsIHVnOiAyMHB4LCB1bTogMjBweCwgdW46IDIwcHgsIHVzOiAyMHB4LCB1eTogMjBweCwgdXo6IDIwcHgsIHZhOiAxNXB4LCB2YzogMjBweCwgdmU6IDIwcHgsIHZnOiAyMHB4LCB2aTogMjBweCwgdm46IDIwcHgsIHZ1OiAyMHB4LCB3ZjogMjBweCwgd3M6IDIwcHgsIHhrOiAyMHB4LCB5ZTogMjBweCwgeXQ6IDIwcHgsIHphOiAyMHB4LCB6bTogMjBweCwgenc6IDIwcHgsICk7XG4gICRzdGFuZGFyZC1jb3VudHJ5OiAnYWMnO1xuICB3aWR0aDogbWFwLWdldCgkaXRlbS13aWR0aC1tYXBzLCAkc3RhbmRhcmQtY291bnRyeSk7XG5cbiAgQGVhY2ggJGtleSwgJHdpZHRoIGluICRpdGVtLXdpZHRoLW1hcHMge1xuICAgIEBpZiAkd2lkdGggIT0gbWFwLWdldCgkaXRlbS13aWR0aC1tYXBzLCAkc3RhbmRhcmQtY291bnRyeSkge1xuICAgICAgJi5pdGlfXyN7JGtleX0ge1xuICAgICAgICB3aWR0aDogJHdpZHRoO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDU2NTJweCAxNXB4O1xuICB9XG5cbiAgJi5pdGlfX2FjIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDBweDtcbiAgfVxuICAmLml0aV9fYWQge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjJweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2FlIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ0cHggMHB4O1xuICB9XG4gICYuaXRpX19hZiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02NnB4IDBweDtcbiAgfVxuICAmLml0aV9fYWcge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODhweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2FpIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMHB4IDBweDtcbiAgfVxuICAmLml0aV9fYWwge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTMycHggMHB4O1xuICB9XG4gICYuaXRpX19hbSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTRweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2FvIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IDBweDtcbiAgfVxuICAmLml0aV9fYXEge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTk4cHggMHB4O1xuICB9XG4gICYuaXRpX19hciB7XG4gICAgaGVpZ2h0OiAxM3B4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjBweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2FzIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MnB4IDBweDtcbiAgfVxuICAmLml0aV9fYXQge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjY0cHggMHB4O1xuICB9XG4gICYuaXRpX19hdSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yODZweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2F3IHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMwOHB4IDBweDtcbiAgfVxuICAmLml0aV9fYXgge1xuICAgIGhlaWdodDogMTNweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzMwcHggMHB4O1xuICB9XG4gICYuaXRpX19heiB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNTJweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2JhIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM3NHB4IDBweDtcbiAgfVxuICAmLml0aV9fYmIge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzk2cHggMHB4O1xuICB9XG4gICYuaXRpX19iZCB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MThweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2JlIHtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ0MHB4IDBweDtcbiAgfVxuICAmLml0aV9fYmYge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDYwcHggMHB4O1xuICB9XG4gICYuaXRpX19iZyB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00ODJweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2JoIHtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUwNHB4IDBweDtcbiAgfVxuICAmLml0aV9fYmkge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTI2cHggMHB4O1xuICB9XG4gICYuaXRpX19iaiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NDhweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2JsIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU3MHB4IDBweDtcbiAgfVxuICAmLml0aV9fYm0ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTkycHggMHB4O1xuICB9XG4gICYuaXRpX19ibiB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02MTRweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2JvIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYzNnB4IDBweDtcbiAgfVxuICAmLml0aV9fYnEge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjU4cHggMHB4O1xuICB9XG4gICYuaXRpX19iciB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02ODBweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2JzIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcwMnB4IDBweDtcbiAgfVxuICAmLml0aV9fYnQge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzI0cHggMHB4O1xuICB9XG4gICYuaXRpX19idiB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03NDZweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2J3IHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTc2OHB4IDBweDtcbiAgfVxuICAmLml0aV9fYnkge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzkwcHggMHB4O1xuICB9XG4gICYuaXRpX19ieiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC04MTJweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2NhIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgzNHB4IDBweDtcbiAgfVxuICAmLml0aV9fY2Mge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODU2cHggMHB4O1xuICB9XG4gICYuaXRpX19jZCB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC04NzhweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2NmIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTkwMHB4IDBweDtcbiAgfVxuICAmLml0aV9fY2cge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTIycHggMHB4O1xuICB9XG4gICYuaXRpX19jaCB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC05NDRweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2NpIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2MXB4IDBweDtcbiAgfVxuICAmLml0aV9fY2sge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTgzcHggMHB4O1xuICB9XG4gICYuaXRpX19jbCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDA1cHggMHB4O1xuICB9XG4gICYuaXRpX19jbSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDI3cHggMHB4O1xuICB9XG4gICYuaXRpX19jbiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDQ5cHggMHB4O1xuICB9XG4gICYuaXRpX19jbyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDcxcHggMHB4O1xuICB9XG4gICYuaXRpX19jcCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDkzcHggMHB4O1xuICB9XG4gICYuaXRpX19jciB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTE1cHggMHB4O1xuICB9XG4gICYuaXRpX19jdSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTM3cHggMHB4O1xuICB9XG4gICYuaXRpX19jdiB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTU5cHggMHB4O1xuICB9XG4gICYuaXRpX19jdyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTgxcHggMHB4O1xuICB9XG4gICYuaXRpX19jeCB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjAzcHggMHB4O1xuICB9XG4gICYuaXRpX19jeSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjI1cHggMHB4O1xuICB9XG4gICYuaXRpX19jeiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjQ3cHggMHB4O1xuICB9XG4gICYuaXRpX19kZSB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjY5cHggMHB4O1xuICB9XG4gICYuaXRpX19kZyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjkxcHggMHB4O1xuICB9XG4gICYuaXRpX19kaiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMzEzcHggMHB4O1xuICB9XG4gICYuaXRpX19kayB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMzM1cHggMHB4O1xuICB9XG4gICYuaXRpX19kbSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMzU3cHggMHB4O1xuICB9XG4gICYuaXRpX19kbyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMzc5cHggMHB4O1xuICB9XG4gICYuaXRpX19keiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDAxcHggMHB4O1xuICB9XG4gICYuaXRpX19lYSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDIzcHggMHB4O1xuICB9XG4gICYuaXRpX19lYyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDQ1cHggMHB4O1xuICB9XG4gICYuaXRpX19lZSB7XG4gICAgaGVpZ2h0OiAxM3B4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDY3cHggMHB4O1xuICB9XG4gICYuaXRpX19lZyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDg5cHggMHB4O1xuICB9XG4gICYuaXRpX19laCB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTExcHggMHB4O1xuICB9XG4gICYuaXRpX19lciB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTMzcHggMHB4O1xuICB9XG4gICYuaXRpX19lcyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTU1cHggMHB4O1xuICB9XG4gICYuaXRpX19ldCB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTc3cHggMHB4O1xuICB9XG4gICYuaXRpX19ldSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTk5cHggMHB4O1xuICB9XG4gICYuaXRpX19maSB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjIxcHggMHB4O1xuICB9XG4gICYuaXRpX19maiB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjQzcHggMHB4O1xuICB9XG4gICYuaXRpX19mayB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjY1cHggMHB4O1xuICB9XG4gICYuaXRpX19mbSB7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjg3cHggMHB4O1xuICB9XG4gICYuaXRpX19mbyB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNzA5cHggMHB4O1xuICB9XG4gICYuaXRpX19mciB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNzMxcHggMHB4O1xuICB9XG4gICYuaXRpX19nYSB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNzUzcHggMHB4O1xuICB9XG4gICYuaXRpX19nYiB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNzc1cHggMHB4O1xuICB9XG4gICYuaXRpX19nZCB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNzk3cHggMHB4O1xuICB9XG4gICYuaXRpX19nZSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xODE5cHggMHB4O1xuICB9XG4gICYuaXRpX19nZiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xODQxcHggMHB4O1xuICB9XG4gICYuaXRpX19nZyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xODYzcHggMHB4O1xuICB9XG4gICYuaXRpX19naCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xODg1cHggMHB4O1xuICB9XG4gICYuaXRpX19naSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xOTA3cHggMHB4O1xuICB9XG4gICYuaXRpX19nbCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xOTI5cHggMHB4O1xuICB9XG4gICYuaXRpX19nbSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xOTUxcHggMHB4O1xuICB9XG4gICYuaXRpX19nbiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xOTczcHggMHB4O1xuICB9XG4gICYuaXRpX19ncCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xOTk1cHggMHB4O1xuICB9XG4gICYuaXRpX19ncSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDE3cHggMHB4O1xuICB9XG4gICYuaXRpX19nciB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDM5cHggMHB4O1xuICB9XG4gICYuaXRpX19ncyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDYxcHggMHB4O1xuICB9XG4gICYuaXRpX19ndCB7XG4gICAgaGVpZ2h0OiAxM3B4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDgzcHggMHB4O1xuICB9XG4gICYuaXRpX19ndSB7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMTA1cHggMHB4O1xuICB9XG4gICYuaXRpX19ndyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMTI3cHggMHB4O1xuICB9XG4gICYuaXRpX19neSB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMTQ5cHggMHB4O1xuICB9XG4gICYuaXRpX19oayB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMTcxcHggMHB4O1xuICB9XG4gICYuaXRpX19obSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMTkzcHggMHB4O1xuICB9XG4gICYuaXRpX19obiB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjE1cHggMHB4O1xuICB9XG4gICYuaXRpX19ociB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjM3cHggMHB4O1xuICB9XG4gICYuaXRpX19odCB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjU5cHggMHB4O1xuICB9XG4gICYuaXRpX19odSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjgxcHggMHB4O1xuICB9XG4gICYuaXRpX19pYyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMzAzcHggMHB4O1xuICB9XG4gICYuaXRpX19pZCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMzI1cHggMHB4O1xuICB9XG4gICYuaXRpX19pZSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMzQ3cHggMHB4O1xuICB9XG4gICYuaXRpX19pbCB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMzY5cHggMHB4O1xuICB9XG4gICYuaXRpX19pbSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMzkxcHggMHB4O1xuICB9XG4gICYuaXRpX19pbiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDEzcHggMHB4O1xuICB9XG4gICYuaXRpX19pbyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDM1cHggMHB4O1xuICB9XG4gICYuaXRpX19pcSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDU3cHggMHB4O1xuICB9XG4gICYuaXRpX19pciB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDc5cHggMHB4O1xuICB9XG4gICYuaXRpX19pcyB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNTAxcHggMHB4O1xuICB9XG4gICYuaXRpX19pdCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNTIzcHggMHB4O1xuICB9XG4gICYuaXRpX19qZSB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNTQ1cHggMHB4O1xuICB9XG4gICYuaXRpX19qbSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNTY3cHggMHB4O1xuICB9XG4gICYuaXRpX19qbyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNTg5cHggMHB4O1xuICB9XG4gICYuaXRpX19qcCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNjExcHggMHB4O1xuICB9XG4gICYuaXRpX19rZSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNjMzcHggMHB4O1xuICB9XG4gICYuaXRpX19rZyB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNjU1cHggMHB4O1xuICB9XG4gICYuaXRpX19raCB7XG4gICAgaGVpZ2h0OiAxM3B4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNjc3cHggMHB4O1xuICB9XG4gICYuaXRpX19raSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNjk5cHggMHB4O1xuICB9XG4gICYuaXRpX19rbSB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNzIxcHggMHB4O1xuICB9XG4gICYuaXRpX19rbiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNzQzcHggMHB4O1xuICB9XG4gICYuaXRpX19rcCB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNzY1cHggMHB4O1xuICB9XG4gICYuaXRpX19rciB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNzg3cHggMHB4O1xuICB9XG4gICYuaXRpX19rdyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yODA5cHggMHB4O1xuICB9XG4gICYuaXRpX19reSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yODMxcHggMHB4O1xuICB9XG4gICYuaXRpX19reiB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yODUzcHggMHB4O1xuICB9XG4gICYuaXRpX19sYSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yODc1cHggMHB4O1xuICB9XG4gICYuaXRpX19sYiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yODk3cHggMHB4O1xuICB9XG4gICYuaXRpX19sYyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yOTE5cHggMHB4O1xuICB9XG4gICYuaXRpX19saSB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yOTQxcHggMHB4O1xuICB9XG4gICYuaXRpX19sayB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yOTYzcHggMHB4O1xuICB9XG4gICYuaXRpX19sciB7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yOTg1cHggMHB4O1xuICB9XG4gICYuaXRpX19scyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMDA3cHggMHB4O1xuICB9XG4gICYuaXRpX19sdCB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMDI5cHggMHB4O1xuICB9XG4gICYuaXRpX19sdSB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMDUxcHggMHB4O1xuICB9XG4gICYuaXRpX19sdiB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMDczcHggMHB4O1xuICB9XG4gICYuaXRpX19seSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMDk1cHggMHB4O1xuICB9XG4gICYuaXRpX19tYSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMTE3cHggMHB4O1xuICB9XG4gICYuaXRpX19tYyB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMTM5cHggMHB4O1xuICB9XG4gICYuaXRpX19tZCB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMTYwcHggMHB4O1xuICB9XG4gICYuaXRpX19tZSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMTgycHggMHB4O1xuICB9XG4gICYuaXRpX19tZiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMjA0cHggMHB4O1xuICB9XG4gICYuaXRpX19tZyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMjI2cHggMHB4O1xuICB9XG4gICYuaXRpX19taCB7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMjQ4cHggMHB4O1xuICB9XG4gICYuaXRpX19tayB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMjcwcHggMHB4O1xuICB9XG4gICYuaXRpX19tbCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMjkycHggMHB4O1xuICB9XG4gICYuaXRpX19tbSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMzE0cHggMHB4O1xuICB9XG4gICYuaXRpX19tbiB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMzM2cHggMHB4O1xuICB9XG4gICYuaXRpX19tbyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMzU4cHggMHB4O1xuICB9XG4gICYuaXRpX19tcCB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMzgwcHggMHB4O1xuICB9XG4gICYuaXRpX19tcSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNDAycHggMHB4O1xuICB9XG4gICYuaXRpX19tciB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNDI0cHggMHB4O1xuICB9XG4gICYuaXRpX19tcyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNDQ2cHggMHB4O1xuICB9XG4gICYuaXRpX19tdCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNDY4cHggMHB4O1xuICB9XG4gICYuaXRpX19tdSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNDkwcHggMHB4O1xuICB9XG4gICYuaXRpX19tdiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNTEycHggMHB4O1xuICB9XG4gICYuaXRpX19tdyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNTM0cHggMHB4O1xuICB9XG4gICYuaXRpX19teCB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNTU2cHggMHB4O1xuICB9XG4gICYuaXRpX19teSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNTc4cHggMHB4O1xuICB9XG4gICYuaXRpX19teiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNjAwcHggMHB4O1xuICB9XG4gICYuaXRpX19uYSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNjIycHggMHB4O1xuICB9XG4gICYuaXRpX19uYyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNjQ0cHggMHB4O1xuICB9XG4gICYuaXRpX19uZSB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNjY2cHggMHB4O1xuICB9XG4gICYuaXRpX19uZiB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNjg2cHggMHB4O1xuICB9XG4gICYuaXRpX19uZyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNzA4cHggMHB4O1xuICB9XG4gICYuaXRpX19uaSB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNzMwcHggMHB4O1xuICB9XG4gICYuaXRpX19ubCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNzUycHggMHB4O1xuICB9XG4gICYuaXRpX19ubyB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNzc0cHggMHB4O1xuICB9XG4gICYuaXRpX19ucCB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNzk2cHggMHB4O1xuICB9XG4gICYuaXRpX19uciB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zODExcHggMHB4O1xuICB9XG4gICYuaXRpX19udSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zODMzcHggMHB4O1xuICB9XG4gICYuaXRpX19ueiB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zODU1cHggMHB4O1xuICB9XG4gICYuaXRpX19vbSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zODc3cHggMHB4O1xuICB9XG4gICYuaXRpX19wYSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zODk5cHggMHB4O1xuICB9XG4gICYuaXRpX19wZSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zOTIxcHggMHB4O1xuICB9XG4gICYuaXRpX19wZiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zOTQzcHggMHB4O1xuICB9XG4gICYuaXRpX19wZyB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zOTY1cHggMHB4O1xuICB9XG4gICYuaXRpX19waCB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zOTg3cHggMHB4O1xuICB9XG4gICYuaXRpX19wayB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MDA5cHggMHB4O1xuICB9XG4gICYuaXRpX19wbCB7XG4gICAgaGVpZ2h0OiAxM3B4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MDMxcHggMHB4O1xuICB9XG4gICYuaXRpX19wbSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MDUzcHggMHB4O1xuICB9XG4gICYuaXRpX19wbiB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MDc1cHggMHB4O1xuICB9XG4gICYuaXRpX19wciB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MDk3cHggMHB4O1xuICB9XG4gICYuaXRpX19wcyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MTE5cHggMHB4O1xuICB9XG4gICYuaXRpX19wdCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MTQxcHggMHB4O1xuICB9XG4gICYuaXRpX19wdyB7XG4gICAgaGVpZ2h0OiAxM3B4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MTYzcHggMHB4O1xuICB9XG4gICYuaXRpX19weSB7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MTg1cHggMHB4O1xuICB9XG4gICYuaXRpX19xYSB7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQyMDdweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3JlIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQyMjlweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3JvIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQyNTFweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3JzIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQyNzNweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3J1IHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQyOTVweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3J3IHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQzMTdweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3NhIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQzMzlweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3NiIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQzNjFweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3NjIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQzODNweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3NkIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ0MDVweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3NlIHtcbiAgICBoZWlnaHQ6IDEzcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ0MjdweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3NnIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ0NDlweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3NoIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ0NzFweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3NpIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ0OTNweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3NqIHtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ1MTVweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3NrIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ1MzdweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3NsIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ1NTlweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3NtIHtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ1ODFweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3NuIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ2MDNweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3NvIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ2MjVweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3NyIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ2NDdweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3NzIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ2NjlweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3N0IHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ2OTFweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3N2IHtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ3MTNweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3N4IHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ3MzVweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3N5IHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ3NTdweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3N6IHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ3NzlweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3RhIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4MDFweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3RjIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4MjNweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3RkIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4NDVweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3RmIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4NjdweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3RnIHtcbiAgICBoZWlnaHQ6IDEzcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4ODlweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3RoIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ5MTFweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3RqIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ5MzNweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3RrIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ5NTVweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3RsIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ5NzdweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3RtIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ5OTlweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3RuIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUwMjFweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3RvIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUwNDNweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3RyIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUwNjVweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3R0IHtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUwODdweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3R2IHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUxMDlweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3R3IHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUxMzFweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3R6IHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUxNTNweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3VhIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUxNzVweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3VnIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUxOTdweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3VtIHtcbiAgICBoZWlnaHQ6IDExcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUyMTlweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3VuIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUyNDFweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3VzIHtcbiAgICBoZWlnaHQ6IDExcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUyNjNweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3V5IHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUyODVweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3V6IHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUzMDdweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3ZhIHtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUzMjlweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3ZjIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUzNDZweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3ZlIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUzNjhweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3ZnIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUzOTBweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3ZpIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU0MTJweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3ZuIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU0MzRweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3Z1IHtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU0NTZweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3dmIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU0NzhweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3dzIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU1MDBweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3hrIHtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU1MjJweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3llIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU1NDRweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3l0IHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU1NjZweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3phIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU1ODhweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3ptIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU2MTBweCAwcHg7XG4gIH1cbiAgJi5pdGlfX3p3IHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU2MzJweCAwcHg7XG4gIH1cbn0iLCIkc3RpY2t5LWZvb3Rlci1oZWlnaHQ6IDMwcHg7XG5cbmh0bWwge1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8vbWluLWhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5ib2R5e1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8vYmFja2dyb3VuZDogI2NjYztcbiAvLyBtYXJnaW4tYm90dG9tOiAkc3RpY2t5LWZvb3Rlci1oZWlnaHQ7XG59XG5cbiNmb290ZXIge1xuICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5OTk5OTk7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBoZWlnaHQ6ICRzdGlja3ktZm9vdGVyLWhlaWdodDtcbiAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xufVxuXG4uY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5hZG1pbi1sYXlvdXQge1xuICA+IC5jb250ZW50IHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogLTQwcHg7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG5cbiAgICAmOmFmdGVye1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogJHN0aWNreS1mb290ZXItaGVpZ2h0O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8qXG4uZGF0ZSB7XG4gIGZvbnQtc2l6ZTogMC42NWVtO1xufVxuLnRpbWUge1xuICBmb250LXNpemU6IDAuODVlbTtcbn1cbiovXG5cblxuLm9uIHtcbiAgY29sb3I6ICRjb2xvci1zdGF0dXMtb24gIWltcG9ydGFudDtcbn1cblxuW2RhdGEtZGV2aWNlPVwic3RhdHVzXCJdLFxuLmRldmljZS1zdGF0dXMsXG4uc3RhdHVzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMTBweDsgaGVpZ2h0OiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1iZy0zMDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1iZy0zMDA7XG5cbiAgdGV4dC1pbmRlbnQ6IDk5OTk5OXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5bZGF0YS1kZXZpY2U9XCJlbmdpbmVcIl0sXG5bZGF0YS1kZXZpY2U9XCJkZXRlY3RfZW5naW5lXCJde1xuICBmb250LXNpemU6IDEuM2VtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuW2RhdGEtdG9nZ2xlPVwic2Nyb2xsXCJdIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzBweDtcbn1cblxuI3NpZGViYXIgW2RhdGEtZGV2aWNlPVwic3BlZWRcIl0ge1xuICBAZXh0ZW5kIC5ydWJiZXJCYW5kO1xuICBAZXh0ZW5kIC5hbmltYXRlZDtcblxuICBjb2xvcjogJGNvbG9yLXRleHQtNjAwO1xuICBmb250LXNpemU6IDAuOWVtO1xufVxuXG5cbi5hY3Rpb24taWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICB3aWR0aDogMTlweDtcbiAgaGVpZ2h0OiAxOXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogOXB4O1xuICBmb250LXdlaWdodDogYm9sZDtcblxuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xuICBjb2xvcjogIzAwMDtcblxuICAuZXZlbnQtYWN0aW9uICYge1xuICAgIGJhY2tncm91bmQ6ICNlYTRmNGY7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWE0ZjRmO1xuICB9XG4gIC5wYXJrLWFjdGlvbiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAjODQ4NDg0O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzg0ODQ4NDtcbiAgfVxuICAuZHJpdmUtYWN0aW9uICYge1xuICAgIGJhY2tncm91bmQ6ICMxYjk5YmQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMWI5OWJkO1xuICB9XG59XG5cbi5kYXRldGltZSB7XG4gIC5kYXRlLFxuICAudGltZSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxufVxuXG4uY2VudGVyLXZlcnRpY2FsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLnNjcm9sbGJveCB7XG4gIEBleHRlbmQgLnNjcm9sbGJhcjtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDI1MHB4O1xuXG4gID4gLnRhYmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4uc2Nyb2xsYm94LWxhcmdlIHtcbiAgQGV4dGVuZCAuc2Nyb2xsYm94O1xuXG4gIG1heC1oZWlnaHQ6IDM4NXB4O1xufVxuLnNjcm9sbGJveC12ZXJ0aWNhbCB7XG4gIEBleHRlbmQgLnNjcm9sbGJveDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuLnNjcm9sbGJveC12ZXJ0aWNhbC1sYXJnZSB7XG4gIEBleHRlbmQgLnNjcm9sbGJveC12ZXJ0aWNhbDtcblxuICBtYXgtaGVpZ2h0OiAzODVweDtcbn1cblxuLmljb24tbGlzdCB7XG4gIC5yYWRpbyxcbiAgLnJhZGlvLWlubGluZSxcbiAgLmNoZWNrYm94LFxuICAuY2hlY2tib3gtaW5saW5lIHtcbiAgICBtYXJnaW46IDA7XG5cbiAgICA+IGxhYmVsIHtcbiAgICAgIHBhZGRpbmc6IDdweDtcbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeTtcbiAgICB9XG4gIH1cbn1cblxuLmFjdGlvbi1ibG9jayB7XG4gIEBleHRlbmQgLnRleHQtcmlnaHQ7XG5cbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAuYnRuIHtcbiAgICBAZXh0ZW5kIC5idG4tc207XG4gIH1cbn1cblxuLnVpLXNvcnRhYmxlLWhhbmRsZSB7XG4gIGN1cnNvcjptb3ZlO1xufVxuXG4ubGFuZy1saXN0IHtcbiAgQGV4dGVuZCAuY2xlYXJmaXg7XG5cbiAgLmxhbmctaXRlbSB7XG4gICAgQGV4dGVuZCAuY29sLXhzLTY7XG4gICAgQGV4dGVuZCAuY29sLXNtLTQ7XG5cbiAgICAuYnRuIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi5wLXJlbGF0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG59XG5cblxuLmltZy1mdWxsLXdpZHRoIHtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbiNtYXBGb3JQaG90byB7XG4gIGhlaWdodDogMTQwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jcmVxdWVzdFBob3RvIHtcbiAgLmF0dHJpYnV0ZXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLmZvcm0tZ3JvdXAgPiBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4ucm93Lm5vLXBhZGRpbmcge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gID4gW2NsYXNzXj1cImNvbC1cIl0ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbi50b29sdGlwLW1hcmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogNnB4O1xuICBwYWRkaW5nOiAycHggNXB4O1xuICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGxlcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmZmO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmctMzAwO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuXG4udG9vbHRpcC50b29sdGlwLWltZ3tcbiAgLnRvb2x0aXAtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG4udG9vbHRpcC50b29sdGlwLWltZWl7XG4gIC50b29sdGlwLWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBpbml0aWFsO1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIC1vLWJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgbWF4LXdpZHRoOiAzNjBweDsgd2lkdGg6IDM2MHB4OyBoZWlnaHQ6IDE5NnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuXG4gICAgLnRleHQge1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBjb2xvcjogJGNvbG9yLXRleHQtMTAwO1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMzBweDtcbiAgICB9XG4gIH1cbn1cblxuaW1nIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xufVxuXG5pbWdbZGF0YS1zcmNdIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmNoZWNrbGlzdC1zdGF0dXMge1xuICAmLmNvbXBsZXRlIHtcbiAgICBjb2xvcjogZ3JlZW47XG4gIH1cblxuICAmLmluY29tcGxldGUge1xuICAgIGNvbG9yOiByZWQ7XG4gIH1cbn1cblxuLmNoZWNrbGlzdC1yb3ctYWN0aXZpdHkge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn0iLCJAbWl4aW4gaWNvbi1jb2xvcigkaWNvbi1lbGVtZW50LCAkaWNvbi1jb2xvcjogJGljb24tY29sb3IsICRhY3Rpb24tc2VsZWN0OiAnJi5hY3RpdmUsJjpob3ZlcicsICRpY29uLWFjdGlvbi1jb2xvcjogaW5oZXJpdCkge1xuICAjeyRpY29uLWVsZW1lbnR9IHtcbiAgICBjb2xvcjogJGljb24tY29sb3I7XG4gIH1cbiAgI3skYWN0aW9uLXNlbGVjdH0ge1xuICAgICN7JGljb24tZWxlbWVudH0ge1xuICAgICAgY29sb3I6ICRpY29uLWFjdGlvbi1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtYmFzZTtcbn1cblxuLmljb24gKyAudGV4dCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8vZHJvcGRvd25tZW51IGJ1Z1xuICBtYXJnaW4tbGVmdDogNXB4O1xufVxuXG5pbWcuc2Vuc29yLWljb24ge1xuICBtYXgtd2lkdGg6IDI1cHg7XG4gIG1heC1oZWlnaHQ6IDI1cHg7XG59XG5cbi5pY29uLWZhIHtcbiAgJjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XG4gIH1cbn1cblxuLmljby5pY28tb2JqZWN0LWFycm93IHtcbiAgZm9udC1zaXplOiAyNXB4O1xuICB0ZXh0LXNoYWRvdzogMHB4IDBweCAycHggJGNvbG9yLWJvcmRlci0xMDA7XG59XG5cbi5pY29uIHtcbiAgQGV4dGVuZCAuaWNvO1xuXG4gICYuaW1wb3J0IHtcbiAgICBAZXh0ZW5kIC5pY28tdXBsb2FkO1xuICB9XG5cbiAgJi5jaGVjayB7XG4gICAgQGV4dGVuZCAuaWNvLWNoZWNrO1xuICB9XG4gICYudGFzayB7XG4gICAgQGV4dGVuZCAuaWNvLWNoZWNrO1xuICB9XG4gICYudGFzay1pbXBvcnQge1xuICAgIEBleHRlbmQgLmljby11cGxvYWQ7XG4gIH1cbiAgJi5zdHlsaXplLTEge1xuICAgIEBleHRlbmQgLmljby1zdHlsaXplLTE7XG4gIH1cbiAgJi5jaGF0IHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLWNvbW1lbnRzLW87XG4gIH1cbiAgJi5zaGFyaW5nIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLXNoYXJlLWFsdDtcbiAgfVxuICAmLmV4dGVybmFsLWxpbmsge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtbGlzdDtcbiAgfVxuICAmLnNlbmQge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtc2VuZC1vO1xuICB9XG4gICYuZm9yd2FyZHMge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtc2hhcmU7XG4gIH1cblxuICAmLmV5ZSB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1leWU7XG4gIH1cbiAgJi5zdHJlZXR2aWV3LFxuICAmLmNhbWVyYSB7XG4gICAgQGV4dGVuZCAuaWNvLWNhbWVyYTtcbiAgfVxuICAmLmVtYWlsIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLWVudmVsb3BlO1xuICB9XG4gICYucmVzdGFydCB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1yZWZyZXNoO1xuICB9XG4gICYucmVzZXQge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtcmVwZWF0O1xuICB9XG4gICYudHJhc2gge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtdHJhc2g7XG4gIH1cbiAgJi5tb25leSB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1tb25leTtcbiAgfVxuICAmLmRhc2hib2FyZCB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1kYXNoYm9hcmQ7XG4gIH1cbiAgJi51bml0LWRpc3RhbmNlIHtcbiAgICBAZXh0ZW5kIC5pY28tYXJyb3ctbGVmdC1yaWdodDtcbiAgfVxuICAmLnVuaXQtYWx0aXR1ZGUge1xuICAgIEBleHRlbmQgLmljby1hcnJvdy11cC1kb3duO1xuICB9XG4gICYudW5pdC1jYXBhY2l0eSB7XG4gICAgQGV4dGVuZCAuaWNvLWZ1ZWw7XG4gIH1cbiAgJi5wbGF5IHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLXBsYXk7XG4gIH1cbiAgJi5wYXVzZSB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1wYXVzZTtcbiAgfVxuICAmLnN0b3Age1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtc3RvcDtcbiAgfVxuICAmLnBsdXMge1xuICAgIEBleHRlbmQgLmljby1wbHVzO1xuICB9XG4gICYubWludXMge1xuICAgIEBleHRlbmQgLmljby1taW51cztcbiAgfVxuICAmLnNlYXJjaCB7XG4gICAgQGV4dGVuZCAuaWNvLXNlYXJjaDtcbiAgfVxuICAmLmdsb2JlIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLWdsb2JlO1xuICB9XG4gICYubWFwIHtcbiAgICBAZXh0ZW5kIC5pY28tbG9jYXRpb247XG4gIH1cbiAgJi5sb2dzIHtcbiAgICBAZXh0ZW5kIC5pY28tbG9ncztcbiAgfVxuICAmLmNvbnRlbnQge1xuICAgIEBleHRlbmQgLmljby1kZXRhaWxzO1xuICB9XG4gICYubG9va3VwIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLXRhYmxlO1xuICB9XG4gICYubGlzdCB7XG4gICAgQGV4dGVuZCAuaWNvLWRldGFpbHM7XG4gIH1cbiAgJi5tYXAtY2hhbmdlIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLW1hcC1vO1xuICB9XG4gICYubWFwLWV4cGFuZCB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1hcnJvd3MtYWx0O1xuICB9XG4gICYuem9vbUluIHtcbiAgICBAZXh0ZW5kIC5pY28tem9vbTtcbiAgfVxuICAmLnpvb21PdXQge1xuICAgIEBleHRlbmQgLmljby1taW51cztcbiAgfVxuICAmLmZpdEJvdW5kcyB7XG4gICAgQGV4dGVuZCAuaWNvLWZpdGJvdW5kcztcbiAgfVxuICAmLmdyb3VwLWRldmljZXMge1xuICAgIEBleHRlbmQgLmljby1ncm91cGluZztcbiAgfVxuICAmLnBhcmtpbmcge1xuICAgIEBleHRlbmQgLmljby1wYXJraW5nO1xuICB9XG4gICYucmVtb3ZlLWFsbCB7XG4gICAgQGV4dGVuZCAuaWNvLXg7XG4gIH1cbiAgJi5yZW1vdmUsXG4gICYuZGVsZXRlIHtcbiAgICBAZXh0ZW5kIC5pY28teDtcbiAgfVxuICAmLmFkZCB7XG4gICAgQGV4dGVuZCAuaWNvLXBsdXM7XG4gIH1cbiAgJi5vcHRpb25zIHtcbiAgICBAZXh0ZW5kIC5pY28tb3B0aW9ucy12O1xuICB9XG4gICYuZWRpdCB7XG4gICAgQGV4dGVuZCAuaWNvLWdlYXI7XG4gIH1cbiAgJi5tdWx0aS1lZGl0IHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLWNvZ3M7XG4gIH1cbiAgJi5maWx0ZXIge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtZmlsdGVyO1xuICB9XG4gICYuaGlzdG9yeS1jbGVhbiB7XG4gICAgQGV4dGVuZCAuaWNvLXg7XG4gIH1cbiAgJi5oaXN0b3J5LWV4cG9ydCB7XG4gICAgQGV4dGVuZCAuaWNvLWRvd25sb2FkO1xuICB9XG4gICYuZG93bmxvYWQge1xuICAgIEBleHRlbmQgLmljby1kb3dubG9hZDtcbiAgfVxuICAmLnVwbG9hZCB7XG4gICAgQGV4dGVuZCAuaWNvLXVwbG9hZDtcbiAgfVxuICAmLmNhbGVuZGFyIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLWNhbGVuZGFyO1xuICB9XG4gICYudGltZSB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1jbG9jay1vO1xuICB9XG4gICYubGFzdC1ob3VyIHtcbiAgICBAZXh0ZW5kIC5pY28tdGltZS1ob3VyO1xuICB9XG4gICYudG9kYXkge1xuICAgIEBleHRlbmQgLmljby10aW1lLXRvZGF5O1xuICB9XG4gICYueWVzdGVyZGF5IHtcbiAgICBAZXh0ZW5kIC5pY28tdGltZS15ZXN0ZXJkYXk7XG4gIH1cbiAgJi5mb2xsb3cge1xuICAgIEBleHRlbmQgLmljby1mb2xsb3c7XG4gIH1cbiAgJi5zZW5kLWNvbW1hbmQge1xuICAgIEBleHRlbmQgLmljby1hcnJvdy1yaWdodDtcbiAgfVxuICAmLmFkbWluIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLWNvZ3M7XG4gIH1cbiAgJi50b29scyB7XG4gICAgQGV4dGVuZCAuaWNvLXRvb2w7XG4gIH1cbiAgJi5kcml2ZXIge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtdXNlcjtcbiAgfVxuICAmLnJmaWQge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtY3JlZGl0LWNhcmQ7XG4gIH1cbiAgJi5yb3V0ZXMge1xuICAgIEBleHRlbmQgLmljby1zdHJlZXQ7XG4gIH1cbiAgJi5yb3V0ZS1pbXBvcnQge1xuICAgIEBleHRlbmQgLmljby1zdHJlZXQ7XG4gIH1cbiAgJi5yZXBvcnRzIHtcbiAgICBAZXh0ZW5kIC5pY28tcmVwb3J0cztcbiAgfVxuICAmLnJ1bGVyIHtcbiAgICBAZXh0ZW5kIC5pY28tcnVsZXItbztcbiAgfVxuICAmLnBvaW50IHtcbiAgICBAZXh0ZW5kIC5pY28tcG9pbnQ7XG4gIH1cbiAgJi5hZGRyZXNzIHtcbiAgICBAZXh0ZW5kIC5pY28taG91c2U7XG4gIH1cbiAgJi5zZXR0aW5ncyxcbiAgJi5zZXR0aW5nLFxuICAmLnNldHVwIHtcbiAgICBAZXh0ZW5kIC5pY28tZ2Vhci1vO1xuICB9XG4gICYubWVtYmVyc2hpcCB7XG4gICAgQGV4dGVuZCAuaWNvLXVzZXI7XG4gIH1cbiAgJi5wYXNzd29yZCB7XG4gICAgQGV4dGVuZCAuaWNvLXVzZXItc2V0dGluZ3M7XG4gIH1cbiAgJi5sb2dvdXQge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEta2V5O1xuICB9XG4gICYuZGV0ZWN0X2VuZ2luZSxcbiAgJi5lbmdpbmUge1xuICAgIEBleHRlbmQgLmljby1lbmdpbmU7XG4gIH1cblxuICAmLmFjY291bnQge1xuICAgIEBleHRlbmQgLmljby1hY2NvdW50O1xuICB9XG4gICYudXNlcnMge1xuICAgIEBleHRlbmQgLmljby11c2VyO1xuICB9XG4gICYudXNlciB7XG4gICAgQGV4dGVuZCAuaWNvLXVzZXI7XG4gIH1cbiAgJi51c2VyLWFkZCB7XG4gICAgQGV4dGVuZCAuaWNvLXVzZXItYWRkO1xuICB9XG4gICYudXNlci1lZGl0IHtcbiAgICBAZXh0ZW5kIC5pY28tdXNlci1zZXR0aW5ncztcbiAgfVxuXG4gICYuZGV2aWNlcyB7XG4gICAgQGV4dGVuZCAuaWNvLW9iamVjdC1vO1xuICB9XG4gICYuZGV2aWNlIHtcbiAgICBAZXh0ZW5kIC5pY28tb2JqZWN0O1xuICB9XG4gICYuZGV2aWNlLWFkZCB7XG4gICAgQGV4dGVuZCAuaWNvLW9iamVjdC1hZGQ7XG4gIH1cbiAgJi5kZXZpY2UtaW1wb3J0IHtcbiAgICBAZXh0ZW5kIC5pY28tb2JqZWN0LWltcG9ydDtcbiAgfVxuXG4gICYuZGV2aWNlLWRpc3RhbmNlIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLXJvYWQ7XG4gIH1cblxuICAmLnBvaXMge1xuICAgIEBleHRlbmQgLmljby1wb2k7XG4gIH1cbiAgJi5wb2kge1xuICAgIEBleHRlbmQgLmljby1wb2k7XG4gIH1cbiAgJi5wb2ktaW1wb3J0IHtcbiAgICBAZXh0ZW5kIC5pY28tcG9pLWltcG9ydDtcbiAgfVxuXG4gICYuZ2VvZmVuY2VzIHtcbiAgICBAZXh0ZW5kIC5pY28tZ2VvZmVuY2U7XG4gIH1cbiAgJi5nZW9mZW5jZSB7XG4gICAgQGV4dGVuZCAuaWNvLWdlb2ZlbmNlO1xuICB9XG4gICYuZ2VvZmVuY2UtaW1wb3J0IHtcbiAgICBAZXh0ZW5kIC5pY28tZ2VvZmVuY2UtaW1wb3J0O1xuICB9XG5cbiAgJi5hbGVydCB7XG4gICAgQGV4dGVuZCAuaWNvLWV2ZW50O1xuICB9XG4gICYuYWxlcnRzIHtcbiAgICBAZXh0ZW5kIC5pY28tZXZlbnQ7XG4gIH1cbiAgJi5ldmVudHMge1xuICAgIEBleHRlbmQgLmljby1ldmVudDtcbiAgfVxuICAmLmV2ZW50IHtcbiAgICBAZXh0ZW5kIC5pY28tZXZlbnQ7XG4gIH1cbiAgJi5ldmVudC1hZGQge1xuICAgIEBleHRlbmQgLmljby1hZGQtZXZlbnQ7XG4gIH1cblxuICAmLnNob3ctbmFtZSB7XG4gICAgQGV4dGVuZCAuaWNvLXNob3ctbmFtZXMyO1xuICB9XG4gICYuc2hvdy10YWlsIHtcbiAgICBAZXh0ZW5kIC5pY28tc2hvdy10cmFpbDtcbiAgfVxuICAmLnRyYWZmaWMge1xuICAgIEBleHRlbmQgLmljby10cmFmZmljO1xuICB9XG5cbiAgJi5zZW5zb3JzIHtcbiAgICBAZXh0ZW5kIC5pY28tc2Vuc29yO1xuICB9XG4gICYuc2VydmljZXMge1xuICAgIEBleHRlbmQgLmljby10b29sO1xuICB9XG4gICYuZG9vcixcbiAgJi5kb29ycyB7XG4gICAgQGV4dGVuZCAuaWNvLWRvb3JzO1xuICB9XG4gICYuYWNjLFxuICAmLmlnbml0aW9uIHtcbiAgICBAZXh0ZW5kIC5pY28taWduaXRpb247XG4gIH1cblxuICAmLmZ1ZWxfdGFua19jb25zdW1wdGlvbixcbiAgJi5mdWVsX2NvbnN1bXB0aW9uLFxuICAmLmZ1ZWxfdGFua19jYWxpYnJhdGlvbixcbiAgJi5mdWVsX3RhbmssXG4gICYuZnVlbCB7XG4gICAgQGV4dGVuZCAuaWNvLWZ1ZWw7XG4gIH1cbiAgJi5jb3VudGVyLFxuICAmLm9kb21ldGVyIHtcbiAgICBAZXh0ZW5kIC5pY28tb2RvbWV0ZXI7XG4gIH1cbiAgJi5zcGVlZCB7XG4gICAgQGV4dGVuZCAuaWNvLXNwZWVkO1xuICB9XG4gICYuc3BlZWRfZWNtIHtcbiAgICBAZXh0ZW5kIC5pY28tc3BlZWQ7XG4gIH1cbiAgJi50YWNob21ldGVyIHtcbiAgICBAZXh0ZW5kIC5pY28tcnBtO1xuICB9XG4gICYudGVtcGVyYXR1cmUsXG4gICYudGVtcGVyYXR1cmVfY2FsaWJyYXRpb257XG4gICAgQGV4dGVuZCAuaWNvLXRlbXA7XG4gIH1cbiAgJi5zYXRlbGxpdGVzIHtcbiAgICBAZXh0ZW5kIC5pY28tc2lnbmFsO1xuICB9XG4gICYuc2VhdGJlbHQge1xuICAgIEBleHRlbmQgLmljby1zZWF0YmVsdDtcbiAgfVxuICAmLmVuZ2luZV9ob3VycyB7XG4gICAgQGV4dGVuZCAuaWNvLWVuZ2luZS1ob3VycztcbiAgfVxuICAmLnBsdWdnZWQge1xuICAgIEBleHRlbmQgLmljby1sb2dpY2FsO1xuICB9XG4gICYubG9naWNhbCB7XG4gICAgQGV4dGVuZCAuaWNvLWxvZ2ljYWw7XG4gIH1cbiAgJi5udW1lcmljYWwge1xuICAgIEBleHRlbmQgLmljby1vZG9tZXRlcjtcbiAgfVxuICAmLnRleHR1YWwge1xuICAgIEBleHRlbmQgLmljby10ZXh0dWFsO1xuICB9XG4gICYudmluIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLWJhcmNvZGU7XG4gIH1cbiAgJi5sb2FkLFxuICAmLmxvYWRfY2FsaWJyYXRpb24ge1xuICAgIEBleHRlbmQgLmljby1sb2FkO1xuICB9XG4gICYubG9jayB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1sb2NrO1xuICB9XG4gICYudW5sb2NrIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLXVubG9jaztcbiAgfVxuICAmLmNoZWNrbGlzdCB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS10YXNrcztcbiAgfVxuICAmLnByZS1jaGVja2xpc3Qge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtY2xpcGJvYXJkO1xuICB9XG4gICYucXJjb2RlIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLXFyY29kZTtcbiAgfVxuICAmLnBob3RvIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLXBob3RvO1xuICB9XG4gICYuY2FsbF9hY3Rpb24ge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtcGhvbmU7XG4gIH1cbiAgJi5jb21wbGV0ZSB7XG4gICAgQGV4dGVuZCAuaWNvLWNoZWNrO1xuICB9XG4gICYuaW5jb21wbGV0ZSB7XG4gICAgQGV4dGVuZCAuaWNvLXg7XG4gIH1cbiAgJi5jdXN0b20tZmllbGQge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtb2JqZWN0LWdyb3VwO1xuICB9XG4gICYucm91dGVfdHlwZSB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1icmllZmNhc2U7XG4gIH1cblxuICAmLmdzbS0wLFxuICAmLmdzbS0xLFxuICAmLmdzbS0yLFxuICAmLmdzbS0zLFxuICAmLmdzbS00LFxuICAmLmdzbS01LFxuICAmLmJhdHRlcnktMCxcbiAgJi5iYXR0ZXJ5LTEsXG4gICYuYmF0dGVyeS0yLFxuICAmLmJhdHRlcnktMyxcbiAgJi5iYXR0ZXJ5LTQsXG4gICYuYmF0dGVyeS01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAxLjhlbTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAvL2xpbmUtaGVpZ2h0OiAxO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29sb3I6ICRjb2xvci1zdGF0dXMtb247XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICB9XG5cbiAgJi5nc20tMCxcbiAgJi5nc20tMSxcbiAgJi5nc20tMixcbiAgJi5nc20tMyxcbiAgJi5nc20tNCxcbiAgJi5nc20tNSB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlxcZTkxOVwiOyAvLyBlcmEgQGV4dGVuZCAuaWNvLWdzbS0wOmJlZm9yZSAoRGFydCBTYXNzIG5hbyBlc3RlbmRlIHNlbGV0b3IgY29tcG9zdG8pXG4gICAgfVxuICB9XG5cbiAgJi5nc20tMTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTFhXCI7IC8vIGVyYSBAZXh0ZW5kIC5pY28tZ3NtLTE6YmVmb3JlIChEYXJ0IFNhc3MgbmFvIGVzdGVuZGUgc2VsZXRvciBjb21wb3N0bylcbiAgfVxuICAmLmdzbS0yOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWJcIjsgLy8gZXJhIEBleHRlbmQgLmljby1nc20tMjpiZWZvcmUgKERhcnQgU2FzcyBuYW8gZXN0ZW5kZSBzZWxldG9yIGNvbXBvc3RvKVxuICB9XG4gICYuZ3NtLTM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxY1wiOyAvLyBlcmEgQGV4dGVuZCAuaWNvLWdzbS0zOmJlZm9yZSAoRGFydCBTYXNzIG5hbyBlc3RlbmRlIHNlbGV0b3IgY29tcG9zdG8pXG4gIH1cbiAgJi5nc20tNDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTFkXCI7IC8vIGVyYSBAZXh0ZW5kIC5pY28tZ3NtLTQ6YmVmb3JlIChEYXJ0IFNhc3MgbmFvIGVzdGVuZGUgc2VsZXRvciBjb21wb3N0bylcbiAgfVxuICAmLmdzbS01OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWVcIjsgLy8gZXJhIEBleHRlbmQgLmljby1nc20tNTpiZWZvcmUgKERhcnQgU2FzcyBuYW8gZXN0ZW5kZSBzZWxldG9yIGNvbXBvc3RvKVxuICB9XG5cbiAgJi5iYXR0ZXJ5LFxuICAmLmJhdHRlcnktMCxcbiAgJi5iYXR0ZXJ5LTEsXG4gICYuYmF0dGVyeS0yLFxuICAmLmJhdHRlcnktMyxcbiAgJi5iYXR0ZXJ5LTQsXG4gICYuYmF0dGVyeS01IHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTA2XCI7IC8vIGVyYSBAZXh0ZW5kIC5pY28tYmF0dGVyeS0wOmJlZm9yZSAoRGFydCBTYXNzIG5hbyBlc3RlbmRlIHNlbGV0b3IgY29tcG9zdG8pXG4gICAgfVxuICB9XG4gICYuYmF0dGVyeSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MGNcIjsgLy8gZXJhIEBleHRlbmQgLmljby1iYXR0ZXJ5LTQ6YmVmb3JlIChEYXJ0IFNhc3MgbmFvIGVzdGVuZGUgc2VsZXRvciBjb21wb3N0bylcbiAgICB9XG4gICAgJi5iYXR0ZXJ5LTA6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICAgICYuYmF0dGVyeS0xOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwN1wiOyAvLyBlcmEgQGV4dGVuZCAuaWNvLWJhdHRlcnktMTpiZWZvcmUgKERhcnQgU2FzcyBuYW8gZXN0ZW5kZSBzZWxldG9yIGNvbXBvc3RvKVxuICAgIH1cbiAgICAmLmJhdHRlcnktMjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDhcIjsgLy8gZXJhIEBleHRlbmQgLmljby1iYXR0ZXJ5LTI6YmVmb3JlIChEYXJ0IFNhc3MgbmFvIGVzdGVuZGUgc2VsZXRvciBjb21wb3N0bylcbiAgICB9XG4gICAgJi5iYXR0ZXJ5LTM6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTA5XCI7IC8vIGVyYSBAZXh0ZW5kIC5pY28tYmF0dGVyeS0zOmJlZm9yZSAoRGFydCBTYXNzIG5hbyBlc3RlbmRlIHNlbGV0b3IgY29tcG9zdG8pXG4gICAgfVxuICAgICYuYmF0dGVyeS00OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwY1wiOyAvLyBlcmEgQGV4dGVuZCAuaWNvLWJhdHRlcnktNDpiZWZvcmUgKERhcnQgU2FzcyBuYW8gZXN0ZW5kZSBzZWxldG9yIGNvbXBvc3RvKVxuICAgIH1cbiAgICAmLmJhdHRlcnktNTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MGRcIjsgLy8gZXJhIEBleHRlbmQgLmljby1iYXR0ZXJ5LTU6YmVmb3JlIChEYXJ0IFNhc3MgbmFvIGVzdGVuZGUgc2VsZXRvciBjb21wb3N0bylcbiAgICB9XG4gIH1cbn0iLCIkbmF2YmFyLXRvZ2dsZS1oZWlnaHQ6IGZsb29yKCRuYXZiYXItaGVpZ2h0ICogMC42NSk7XG4kbmF2YmFyLXRvZ2dsZS1wYWRkaW5nLXZlcnRpY2FsOiBmbG9vcigoJG5hdmJhci10b2dnbGUtaGVpZ2h0IC0gMTQpIC8gMik7XG4kbmF2YmFyLXRvZ2dsZS1wYWRkaW5nLWhvcml6b250YWw6ICRuYXZiYXItdG9nZ2xlLXBhZGRpbmctdmVydGljYWwgLSAxO1xuXG4kbmF2YmFyLWZvbGRlZC1taW46IDUwMHB4O1xuXG4ubmF2YmFyLW5hdiB7XG4gID4gbGkubGFuZ3VhZ2Utc2VsZWN0aW9uIHtcbiAgICA+IGEge1xuICAgICAgcGFkZGluZy10b3A6IGNlaWwoKCRuYXZiYXItaGVpZ2h0IC0gMjIpIC8gMik7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZmxvb3IoKCRuYXZiYXItaGVpZ2h0IC0gMjIpIC8gMik7XG4gICAgfVxuICB9XG59XG5cbi5uYXZiYXItYnJhbmQgaW1nIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubmF2YmFyLXRvZ2dsZSB7XG4gIHBhZGRpbmc6ICRuYXZiYXItdG9nZ2xlLXBhZGRpbmctdmVydGljYWwgJG5hdmJhci10b2dnbGUtcGFkZGluZy1ob3Jpem9udGFsO1xuICBAaW5jbHVkZSBuYXZiYXItdmVydGljYWwtYWxpZ24oJG5hdmJhci10b2dnbGUtaGVpZ2h0KTtcbn1cblxuJGhlYWRlci1mb2xkZWQtaGVpZ2h0OiAxMHB4O1xuXG4jaGVhZGVyLmZvbGRlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogJHppbmRleC1uYXZiYXI7XG5cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJG5hdmJhci1mb2xkZWQtbWluKSB7XG4gICAgLm5hdmJhci1uYXYgPiBsaSA+IGEge1xuICAgICAgLmljb24gKyAudGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgID4gLmJhZGdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5hdmJhci10b2dnbGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICYuY29sbGFwc2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgc2V0dGluZ1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6ICRoZWFkZXItZm9sZGVkLWhlaWdodDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItbWFpbi1iZztcbiAgICAgIC8vYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuYXZiYXItbWFpbi1ib3JkZXI7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC5uYXZiYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAubmF2YmFyLWJyYW5kLFxuICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItbWFpbi1iZztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuYXZiYXItbWFpbi1ib3JkZXI7XG4gICAgICB9XG5cbiAgICAgIC5uYXZiYXItYnJhbmQge1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuXG4gICAgICAgICY6YWZ0ZXIsXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogKCRuYXZiYXItaGVpZ2h0IC0gJGhlYWRlci1mb2xkZWQtaGVpZ2h0ICsgMSkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiA5MHB4IHNvbGlkICRuYXZiYXItbWFpbi1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDkwcHggc29saWQgJG5hdmJhci1tYWluLWJnO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgJjphZnRlcixcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgLy9ib3JkZXItYm90dG9tOiAoJG5hdmJhci1oZWlnaHQgLSAkaGVhZGVyLWZvbGRlZC1oZWlnaHQgKyAxKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAoJG5hdmJhci1oZWlnaHQgLSAkaGVhZGVyLWZvbGRlZC1oZWlnaHQgKyAzKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiA5MHB4IHNvbGlkICRuYXZiYXItbWFpbi1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiA5MHB4IHNvbGlkICRuYXZiYXItbWFpbi1iZztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2hlYWRlciB7XG4gIC5tYWluLW5hdmJhciB7XG4gICAgQGV4dGVuZCAubmF2YmFyLW1haW47XG4gICAgQGV4dGVuZCAubmF2YmFyLWZpeGVkLXRvcDtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5uYXZiYXItbmF2ID4gbGkgPiBhID4gLmJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtZGFuZ2VyO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRuYXZiYXItZm9sZGVkLW1pbikgYW5kIChtYXgtd2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgLm5hdmJhci1oZWFkZXIge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLm5hdmJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubmF2YmFyLW5hdiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogICAgJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLXBhZGRpbmctdmVydGljYWw7XG5cbiAgICAgICAgICAuaWNvbiArIC50ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmJhZGdlIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgPiBsaS5sYW5ndWFnZS1zZWxlY3Rpb24ge1xuICAgICAgICA+IGEge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiBjZWlsKCgkbmF2YmFyLWhlaWdodCAtIDIyKSAvIDIpO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBmbG9vcigoJG5hdmJhci1oZWlnaHQgLSAyMikgLyAyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYWRtaW4tbGF5b3V0IC5oZWFkZXIge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgLm5hdmJhci1uYXYge1xuICAgICAgbGkgPiBhIHtcbiAgICAgICAgPiAuaWNvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5zY3JvbGxiYXIge1xuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6ICRzY3JvbGxiYXItc2l6ZTtcbiAgICBoZWlnaHQ6ICRzY3JvbGxiYXItc2l6ZTtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2Nyb2xsYmFyLXRyYWNrLWJnO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRzY3JvbGxiYXItdHJhY2stYm9yZGVyO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6ICRzY3JvbGxiYXItdGh1bWItYmc7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHNjcm9sbGJhci10aHVtYi1ib3JkZXI7XG4gIH1cbn1cblxuYm9keSB7XG4gIHNjcm9sbGJhci1mYWNlLWNvbG9yOiAkc2Nyb2xsYmFyLXRyYWNrLWJnO1xuICBzY3JvbGxiYXItdHJhY2stY29sb3I6ICRzY3JvbGxiYXItdGh1bWItYmc7XG59IiwiLnRhYi1wYW5lIHtcbiAgQGV4dGVuZCAuZmFkZUluO1xuICBAZXh0ZW5kIC5hbmltYXRlZDtcbn1cblxuLnNpZGViYXIge1xuICAmLmxlZnQge1xuICAgIGxlZnQ6IDA7XG5cbiAgICAuc2lkZWJhci1jb250ZW50IHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItMTAwO1xuICAgIH1cbiAgfVxuICAmLnJpZ2h0IHtcbiAgICByaWdodDogMDtcblxuICAgIC5zaWRlYmFyLWNvbnRlbnQge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLTEwMDtcbiAgICB9XG4gIH1cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA5OTk7XG4gIGJvdHRvbTogMDtcblxuICBAaW5jbHVkZSBjYWxjKCdtYXgtaGVpZ2h0JywgOTAlLCAnMTAwJSAtICN7JHNpZGViYXItdG9wLXNwYWNlfScpO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgd2lkdGg6IDI1MHB4O1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICB3aWR0aDogMzAwcHg7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgd2lkdGg6IDMzMHB4O1xuICB9XG5cbiAgLmJ0bi1jb2xsYXBzZSB7XG4gICAgQGV4dGVuZCAuY29sbGFwc2UtbGVmdDtcbiAgfVxuXG4gICYuY29sbGFwc2VkIHtcbiAgICB3aWR0aDogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoIDAuNXMgZWFzZSk7XG5cbiAgICAuc2lkZWJhci1jb250ZW50IHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIC5ncm91cCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJ0bi1jb2xsYXBzZSB7XG4gICAgICBAZXh0ZW5kIC5jb2xsYXBzZWQ7XG4gICAgfVxuICB9XG4gIC5zaWRlYmFyLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICRzaWRlYmFyLWJnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAubmF2LXRhYnMge1xuICAgICA+IGxpIHtcbiAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgIHdpZHRoOiAxJTtcbiAgICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgID4gYSB7XG4gICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgfVxuICAgICB9XG4gIH1cblxuICAudGFiLXBhbmUtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAkc2lkZWJhci10YWItaGVhZGVyLXBhZGRpbmc7XG4gIH1cbiAgLnRhYi1wYW5lLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6ICRzaWRlYmFyLXRhYi1ib2R5LXBhZGRpbmc7XG5cbiAgICBAZXh0ZW5kIC5zY3JvbGxiYXI7XG4gIH1cbiAgLnRhYi1wYW5lLWZvb3RlciB7XG4gICAgcGFkZGluZzogJHNpZGViYXItdGFiLWZvb3Rlci1wYWRkaW5nO1xuICB9XG5cbiAgLm5vLXJlc3VsdHMge1xuICAgIG1hcmdpbjogNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICNldmVudHNfdGFiIHtcbiAgICAuZGF0ZXRpbWUge1xuICAgICAgLnRpbWUsXG4gICAgICAuZGF0ZXtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgICB9XG4gICAgfVxuICAgIC50YWItcGFuZS1ib2R5ID4gdGFibGUge1xuICAgICAgPiB0aGVhZCA+IHRyIHtcbiAgICAgICAgPiB0aCxcbiAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzaWRlYmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzaWRlYmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjZ2VvZmVuY2luZ19jcmVhdGUsXG4gICNnZW9mZW5jaW5nX2VkaXQsXG4gICNyb3V0ZXNfY3JlYXRlLFxuICAjcm91dGVzX2VkaXQsXG4gICNwb2lzX2NyZWF0ZSxcbiAgI3BvaXNfZWRpdFxuICB7XG4gICAgLnRhYi1wYW5lLWJvZHkge1xuICAgICAgcGFkZGluZzogJHNpZGViYXItcGFkZGluZztcbiAgICB9XG4gIH1cbn1cblxuLmhpc3Rvcnl7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmctMTAwO1xuXG4gIC1tb3otYm94LXNoYWRvdzogICAgaW5zZXQgIDAgIDEwcHggMTBweCAtMTBweCAkY29sb3Itc2hhZG93LCBpbnNldCAgMCAtMTBweCAxMHB4IC0xMHB4ICRjb2xvci1zaGFkb3c7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgIDAgIDEwcHggMTBweCAtMTBweCAkY29sb3Itc2hhZG93LCBpbnNldCAgMCAtMTBweCAxMHB4IC0xMHB4ICRjb2xvci1zaGFkb3c7XG4gIGJveC1zaGFkb3c6ICAgICAgICAgaW5zZXQgIDAgIDEwcHggMTBweCAtMTBweCAkY29sb3Itc2hhZG93LCBpbnNldCAgMCAtMTBweCAxMHB4IC0xMHB4ICRjb2xvci1zaGFkb3c7XG5cbiAgLnRhYmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgdHIuYWN0aXZlID4gdGQge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJnLTAwMDtcbiAgICB9XG4gIH1cblxuICAuYmFkZ2UtaGlzdG9yeSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1pbi13aWR0aDogMTRweDtcbiAgICBwYWRkaW5nOiAxcHg7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICRjb2xvci10ZXh0LTQwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmctMDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyOiBpbmhlcml0O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA2MCU7XG4gIH1cbn1cblxuI2FqYXgtZXZlbnRzIC50YWJsZSB0Ym9keSxcbiNhamF4LWhpc3RvcnkgLnRhYmxlIHRib2R5e1xuICBmb250LXNpemU6IDExcHg7XG59XG5cbiIsIi50YWItY29udGVudCB7XG4gIC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4ubmF2LXRhYnMge1xuICA+IGxpIHtcbiAgICA+IGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuXG4gICAgICAmLmhhcy1lcnJvciB7XG4gICAgICAgIGNvbG9yOiAkc3RhdGUtZGFuZ2VyLXRleHQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzdGF0ZS1kYW5nZXItYmc7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDAuNyk7XG5cbiAgICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1yaWdodDogMXB4O1xuICAgIH1cbiAgfVxuXG4gICYubmF2LXRhYnMtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgPiBsaSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHpvb206IDE7XG4gICAgfVxuICB9XG5cbiAgJi5uYXYtdHJhbnNwYXJlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG5cbiAgICA+IGxpIHtcbiAgICAgID4gYSB7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBjb2xvcjogJGNvbXBvbmVudC1hY3RpdmUtYmc7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBib3R0b206IDBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29tcG9uZW50LWFjdGl2ZS1iZztcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5uYXYtZGVmYXVsdCB7XG4gIGZvbnQtd2VpZ2h0OiAkbmF2LXRhYnMtd2VpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRhYnMtYmc7XG5cbiAgPiBsaSB7XG4gICAgPiBhIHtcbiAgICAgIGNvbG9yOiAkbmF2LWxpbmstY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LWxpbmstYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiAkbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyAkbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyAwIDA7XG4gICAgfVxuXG5cbiAgICAmLmNvbXBsZXRlID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc7XG4gICAgICAgIC8vYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgICAgICAvL2JvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29tcG9uZW50LWFjdGl2ZS1iZztcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm5hdi1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcblxuICA+IGxpIHtcbiAgICA+IGEge1xuICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWhlaWdodDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgIGNvbG9yOiAkbmF2LWxpbmstY29sb3I7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgICB9XG4gICAgfVxuICAgICYuYWN0aXZlIHtcbiAgICAgID4gYSB7XG4gICAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm5hdi1pY29ucyB7XG4gIEBleHRlbmQgLm5hdi1iYWNrZ3JvdW5kO1xuXG4gID4gbGkge1xuICAgID4gYSB7XG4gICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIH1cbiAgfVxufVxuXG4ubmF2LXRhYnMtanVzdGlmaWVkLFxuLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQge1xuICA+IGxpID4gYSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgfVxufVxuXG4iLCIubmF2YmFyLWRlZmF1bHQge1xuICBmb250LXNpemU6ICRuYXZiYXItZGVmYXVsdC1zaXplO1xuXG4gIC5uYXZiYXItYnJhbmQge1xuICAgIHBhZGRpbmc6IDVweCAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcblxuICAgIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICA+IGxpIHtcbiAgICAgIEBpbmNsdWRlIGljb24tY29sb3IoJz4gYSA+IC5pY29uJywgJG5hdmJhci1kZWZhdWx0LWljb24tY29sb3IpO1xuICAgIH1cbiAgICA+IGxpID4gYSAuaWNvbiB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICB9XG4gIH1cbn1cblxuLmNvbGwge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1iZztcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIC5uYXZiYXItZGVmYXVsdCB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgLm5hdmJhci1oZWFkZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWJnO1xuICAgIH1cbiAgICAubmF2YmFyLWJyYW5kIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1iZztcbiAgICB9XG4gICAgLm5hdmJhci1uYXYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWJnO1xuXG4gICAgICA+IGxpID4gYSAuaWNvbiArIC50ZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm5hdmJhci1tYWluIHtcbiAgZm9udC1zaXplOiAkbmF2YmFyLW1haW4tc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRuYXZiYXItbWFpbi13ZWlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItbWFpbi1iZztcbiAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLW1haW4tYm9yZGVyO1xuXG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLW1haW4tYnJhbmQtY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLW1haW4tYnJhbmQtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLW1haW4tYnJhbmQtaG92ZXItYmc7XG4gICAgfVxuICAgIHBhZGRpbmc6IDVweCAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcblxuICAgIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItbWFpbi1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICA+IGxpIHtcbiAgICAgIEBpbmNsdWRlIGljb24tY29sb3IoJz4gYSA+IC5pY29uJywgJG5hdmJhci1tYWluLWljb24tY29sb3IpO1xuICAgIH1cbiAgICA+IGxpID4gYSAuaWNvbiB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICB9XG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItbWFpbi1saW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpob3Zlcjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLW1haW4tbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1tYWluLWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmhvdmVyOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbWFpbi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1tYWluLWxpbmstYWN0aXZlLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmhvdmVyOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbWFpbi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLW1haW4tbGluay1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLW1haW4tdG9nZ2xlLWJvcmRlci1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6aG92ZXI6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1tYWluLXRvZ2dsZS1ob3Zlci1iZztcbiAgICB9XG4gICAgLmljb24tYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItbWFpbi10b2dnbGUtaWNvbi1iYXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1jb2xsYXBzZSxcbiAgLm5hdmJhci1mb3JtIHtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItbWFpbi1ib3JkZXI7XG4gIH1cblxuICAvLyBEcm9wZG93biBtZW51IGl0ZW1zXG4gIC5uYXZiYXItbmF2IHtcbiAgICAvLyBSZW1vdmUgYmFja2dyb3VuZCBjb2xvciBmcm9tIG9wZW4gZHJvcGRvd25cbiAgICA+IC5vcGVuID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6aG92ZXI6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLW1haW4tbGluay1hY3RpdmUtYmc7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLW1haW4tbGluay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgICAvLyBEcm9wZG93bnMgZ2V0IGN1c3RvbSBkaXNwbGF5IHdoZW4gY29sbGFwc2VkXG4gICAgICAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgICBjb2xvcjogJG5hdmJhci1tYWluLWxpbmstY29sb3I7XG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmhvdmVyOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLW1haW4tbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItbWFpbi1saW5rLWhvdmVyLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpob3Zlcjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1tYWluLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1tYWluLWxpbmstYWN0aXZlLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmhvdmVyOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLW1haW4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItbWFpbi1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbGluayB7XG4gICAgY29sb3I6ICRuYXZiYXItbWFpbi1saW5rLWNvbG9yO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRuYXZiYXItbWFpbi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tbGluayB7XG4gICAgY29sb3I6ICRuYXZiYXItbWFpbi1saW5rLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpob3Zlcjpmb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1tYWluLWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICAgICZbZGlzYWJsZWRdLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbWFpbi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubmF2YmFyLXZlcnRpY2FsLm5hdmJhciB7XG4gIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgfVxuXG4gIHVsIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBcbiAgICAmOm5vdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICBsaSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBhIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gICAgfVxuICB9XG59XG4iLCIuYnRuLmljb24ge1xuICBwYWRkaW5nOiAxcHggM3B4O1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1iZy0yMDA7XG4gICAgY29sb3I6ICRjb2xvci10ZXh0LTUwMDtcbiAgfVxufVxuXG4uYnRuLWFjdGlvbiB7XG4gIEBleHRlbmQgLmJ0bi1wcmltYXJ5O1xufVxuXG4uYnRuLXNlY29uZGFyeSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tcHJpbWFyeS1iZywgJGNvbG9yLWJnLTAwMCwgJGJ0bi1wcmltYXJ5LWJvcmRlcik7XG59XG5cbi5idG4tY29sbGFwc2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNvbG9yLXRleHQtNzAwO1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItYmctMTAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICYuY29sbGFwc2VkIHtcbiAgICAmLmNvbGxhcHNlLWxlZnQgaSB7XG4gICAgICBAZXh0ZW5kIC5pY28tYXJyb3ctcmlnaHQ7XG4gICAgfVxuICAgICYuY29sbGFwc2UtcmlnaHQgaSB7XG4gICAgICBAZXh0ZW5kIC5pY28tYXJyb3ctbGVmdDtcbiAgICB9XG4gICAgJi5jb2xsYXBzZS10b3AgaSB7XG4gICAgICBAZXh0ZW5kIC5pY28tYXJyb3ctdXA7XG4gICAgfVxuICAgICYuY29sbGFwc2UtYm90dG9tIGkge1xuICAgICAgQGV4dGVuZCAuaWNvLWFycm93LWRvd247XG4gICAgfVxuICB9XG5cbiAgaSB7XG4gICAgQGV4dGVuZCAuaWNvO1xuXG4gICAgJjpiZWZvcmV7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cblxuICAmLmNvbGxhcHNlLWxlZnQge1xuICAgICB3aWR0aDogMjBweDtcbiAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgbGVmdDogMTAwJTtcbiAgICAgdG9wOiAzMCU7XG4gICAgIEBpbmNsdWRlIGJveC1zaGFkb3coM3B4IDBweCA3cHggcmdiYSgwLDAsMCwuMTc1KSk7XG5cbiAgICAgaSB7XG4gICAgICAgQGV4dGVuZCAuaWNvLWFycm93LWxlZnQ7XG4gICAgIH1cblxuICAgICAmOmJlZm9yZSB7XG4gICAgICAgbGVmdDogMDtcbiAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgYm9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCAkY29sb3ItYmctMTAwO1xuICAgICAgIGJvcmRlci1yaWdodDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgfVxuICAgICAmOmFmdGVyIHtcbiAgICAgICBsZWZ0OiAwO1xuICAgICAgIHRvcDogMTAwJTtcbiAgICAgICBib3JkZXItdG9wOiAyMHB4IHNvbGlkICRjb2xvci1iZy0xMDA7XG4gICAgICAgYm9yZGVyLXJpZ2h0OiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICB9XG4gIH1cblxuICAmLmNvbGxhcHNlLXJpZ2h0IHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgdG9wOiAzMCU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygtM3B4IDBweCA3cHggcmdiYSgwLDAsMCwuMTc1KSk7XG5cbiAgICBpIHtcbiAgICAgIEBleHRlbmQgLmljby1hcnJvdy1yaWdodDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgIGJvcmRlci1ib3R0b206IDIwcHggc29saWQgJGNvbG9yLWJnLTEwMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgYm9yZGVyLXRvcDogMjBweCBzb2xpZCAkY29sb3ItYmctMTAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgJi5jb2xsYXBzZS10b3Age1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMHB4IC0zcHggN3B4IHJnYmEoMCwwLDAsLjE3NSkpO1xuXG4gICAgaSB7XG4gICAgICBAZXh0ZW5kIC5pY28tYXJyb3ctZG93bjtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci1ib3R0b206IDIwcHggc29saWQgJGNvbG9yLWJnLTEwMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICBib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkICRjb2xvci1iZy0xMDA7XG4gICAgICBib3JkZXItcmlnaHQ6IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgJi5jb2xsYXBzZS1ib3R0b20ge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMHB4IDNweCA3cHggcmdiYSgwLDAsMCwuMTc1KSk7XG5cbiAgICBpIHtcbiAgICAgIEBleHRlbmQgLmljby1hcnJvdy11cDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci10b3A6IDIwcHggc29saWQgJGNvbG9yLWJnLTEwMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICBib3JkZXItdG9wOiAyMHB4IHNvbGlkICRjb2xvci1iZy0xMDA7XG4gICAgICBib3JkZXItcmlnaHQ6IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIkaW5wdXQtZ3JvdXAtYnV0dG9uLW1hcmdpbjogNHB4O1xuXG4uaW5wdXQtZ3JvdXAge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWJ0biB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwLFxuICA+IC5mb3JtLWNvbnRyb2wudGltZXNlbGVjdCB7XG4gICAgbWFyZ2luLWxlZnQ6ICRpbnB1dC1ncm91cC1idXR0b24tbWFyZ2luO1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLnRpbWVzZWxlY3Qge1xuICAgIHdpZHRoOiA3MHB4O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgfVxuXG4gICAgJi5vcGVuIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICB9XG59IiwiLy8gRHJvcGRvd24gYXJyb3cvY2FyZXRcbi5jYXJldCB7XG4gICYsXG4gIC5kcm9wdXAgJixcbiAgLm5hdmJhci1maXhlZC1ib3R0b20gLmRyb3Bkb3duICYge1xuICAgIGJvcmRlcjogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICBAZXh0ZW5kIC5mYTtcbiAgICBAZXh0ZW5kIC5mYS1hbmdsZS1kb3duO1xuICB9XG59XG5cbi5kcm9wZG93bi1tZW51IHtcbiAgQGV4dGVuZCAuc2Nyb2xsYmFyO1xuXG4gID4gbGkge1xuICAgID4gYSB7XG4gICAgICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICA+IC5pY29uIHtcbiAgICAgICAgICBjb2xvcjogJGRyb3Bkb3duLWljb24taG92ZXItY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgID4gLmljb24ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBjb2xvcjogJGRyb3Bkb3duLWljb24tY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ib290c3RyYXAtc2VsZWN0IHtcbiAgJiB7XG4gICAgQGV4dGVuZCAuc2hvdy1tZW51LWFycm93O1xuICB9XG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgPiAuaWNvbiB7XG4gICAgICBsZWZ0OiAkcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICsgLmZpbHRlci1vcHRpb24ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5idG4tZ3JvdXAuc2hvdy10aWNrIC5kcm9wZG93bi1tZW51ID4gbGkge1xuICAgIC5jaGVjay1tYXJrIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3goJyYnLCAnc3Bhbi50ZXh0Jyk7XG5cbiAgICAgIHNwYW4udGV4dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNlbGVjdGVkIGEge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3gtY2hlY2tlZCgnc3Bhbi50ZXh0Jyk7XG5cbiAgICAgIHNwYW4udGV4dCB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICRjaGVja2JveC1hY3RpdmUtY29sb3I7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNoZWNrYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVye1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjaGVja2JveC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICBAaWYgJGNoZWNrYm94LWFjdGl2ZS1ib3JkZXItY29sb3Itc2FtZSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjaGVja2JveC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuJGFycm93LXNpemU6IDdweDtcbiRhcnJvdy1ib3JkZXItc2l6ZTogMXB4O1xuJGFycm93LXNpemUtaW5uZXI6ICRhcnJvdy1zaXplO1xuJGFycm93LXNpemUtb3V0dGVyOiAoJGFycm93LXNpemUgKyAkYXJyb3ctYm9yZGVyLXNpemUpO1xuXG4kYXJyb3ctb2Zmc2V0OiAxMHB4O1xuXG5cbi5kcm9wYXJyb3cge1xuICAmLmRyb3Bkb3duLFxuICAmLmRyb3B1cCxcbiAgJi5kcm9wbGVmdCxcbiAgJi5kcm9wcmlnaHQge1xuICAgID4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgJjpiZWZvcmUsXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgfVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBib3JkZXI6ICRhcnJvdy1zaXplLW91dHRlciBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXI6ICRhcnJvdy1zaXplLWlubmVyIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmRyb3BsZWZ0ID4gLmRyb3Bkb3duLW1lbnUsXG4gICYuZHJvcHJpZ2h0LmxlZnQgPiAuZHJvcGRvd24tbWVudXtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRvcDogLSgkYXJyb3ctc2l6ZS1vdXR0ZXIgLyAyICsgJGFycm93LW9mZnNldCAvIDIpO1xuICAgIG1hcmdpbi1sZWZ0OiAkYXJyb3ctc2l6ZS1vdXR0ZXI7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB0b3A6ICRhcnJvdy1vZmZzZXQgLSAkYXJyb3ctYm9yZGVyLXNpemU7XG4gICAgICBsZWZ0OiAtJGFycm93LXNpemUtb3V0dGVyO1xuICAgICAgYm9yZGVyOiAkYXJyb3ctc2l6ZS1vdXR0ZXIgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRkcm9wZG93bi1ib3JkZXI7XG4gICAgICBib3JkZXItbGVmdDogMDtcblxuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgdG9wOiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgbGVmdDogLSRhcnJvdy1zaXplLWlubmVyO1xuICAgICAgYm9yZGVyOiAkYXJyb3ctc2l6ZS1pbm5lciBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGRyb3Bkb3duLWJnO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG5cbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuICAmLmRyb3ByaWdodCA+IC5kcm9wZG93bi1tZW51LFxuICAmLmRyb3BsZWZ0LnJpZ2h0ID4gLmRyb3Bkb3duLW1lbnUge1xuICAgIGxlZnQ6IGluaGVyaXQ7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgdG9wOiAtKCRhcnJvdy1zaXplLW91dHRlciAvIDIgKyAkYXJyb3ctb2Zmc2V0IC8gMik7XG4gICAgbWFyZ2luLXJpZ2h0OiAkYXJyb3ctc2l6ZS1vdXR0ZXI7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB0b3A6ICRhcnJvdy1vZmZzZXQgLSAkYXJyb3ctYm9yZGVyLXNpemU7XG4gICAgICByaWdodDogLSRhcnJvdy1zaXplLW91dHRlcjtcbiAgICAgIGJvcmRlcjogJGFycm93LXNpemUtb3V0dGVyIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRkcm9wZG93bi1ib3JkZXI7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG5cbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgdG9wOiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgcmlnaHQ6IC0kYXJyb3ctc2l6ZS1pbm5lcjtcbiAgICAgIGJvcmRlcjogJGFycm93LXNpemUtaW5uZXIgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJGRyb3Bkb3duLWJnO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuXG4gICAgICBib3R0b206IGF1dG87XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICAmLmRyb3Bkb3duID4gLmRyb3Bkb3duLW1lbnUsXG4gICYuZHJvcHVwLmRvd24gPiAuZHJvcGRvd24tbWVudXtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogLSgkYXJyb3ctc2l6ZS1vdXR0ZXIgLyAyICsgJGFycm93LW9mZnNldCk7XG4gICAgbWFyZ2luLXRvcDogJGFycm93LXNpemUtb3V0dGVyO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgdG9wOiAtJGFycm93LXNpemUtb3V0dGVyO1xuICAgICAgbGVmdDogJGFycm93LW9mZnNldCAtICRhcnJvdy1ib3JkZXItc2l6ZTtcbiAgICAgIGJvcmRlcjogJGFycm93LXNpemUtb3V0dGVyIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRkcm9wZG93bi1ib3JkZXI7XG5cbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRvcDogLSRhcnJvdy1zaXplLWlubmVyO1xuICAgICAgbGVmdDogJGFycm93LW9mZnNldDtcbiAgICAgIGJvcmRlcjogJGFycm93LXNpemUtaW5uZXIgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGRyb3Bkb3duLWJnO1xuXG4gICAgICBib3R0b206IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG4gIH1cbiAgJi5kcm9wdXAgPiAuZHJvcGRvd24tbWVudSxcbiAgJi5kcm9wZG93bi51cCA+IC5kcm9wZG93bi1tZW51e1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBsZWZ0OiAtKCRhcnJvdy1zaXplLW91dHRlciAvIDIgKyAkYXJyb3ctb2Zmc2V0IC8gMik7XG4gICAgbWFyZ2luLWJvdHRvbTogJGFycm93LXNpemUtb3V0dGVyO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgbGVmdDogJGFycm93LW9mZnNldCAtICRhcnJvdy1ib3JkZXItc2l6ZTtcbiAgICAgIGJvdHRvbTogLSRhcnJvdy1zaXplLW91dHRlcjtcbiAgICAgIGJvcmRlcjogJGFycm93LXNpemUtb3V0dGVyIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRkcm9wZG93bi1ib3JkZXI7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgbGVmdDogJGFycm93LW9mZnNldDtcbiAgICAgIGJvdHRvbTogLSRhcnJvdy1zaXplLWlubmVyO1xuICAgICAgYm9yZGVyOiAkYXJyb3ctc2l6ZS1pbm5lciBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkZHJvcGRvd24tYmc7XG4gICAgfVxuICB9XG5cbiAgJi5kcm9wbGVmdCxcbiAgJi5kcm9wcmlnaHQge1xuICAgICYudXAgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBib3R0b206IC0oJGFycm93LXNpemUtb3V0dGVyIC8gMiArICRhcnJvdy1vZmZzZXQgLyAyKTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogJGFycm93LW9mZnNldDtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogJGFycm93LW9mZnNldCArICRhcnJvdy1ib3JkZXItc2l6ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmRyb3Bkb3duLFxuICAmLmRyb3B1cCB7XG4gICAgJi5yaWdodCA+IC5kcm9wZG93bi1tZW51IHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogLSgkYXJyb3ctc2l6ZS1vdXR0ZXIgLyAyICsgJGFycm93LW9mZnNldCAvIDIpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0IC0gJGFycm93LWJvcmRlci1zaXplO1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsImxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1sYWJlbC1mb250LXdlaWdodDtcblxuICAmLnJlcXVpcmVkIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6JyonO1xuICAgICAgcGFkZGluZy1sZWZ0OjVweDtcbiAgICB9XG4gIH1cbn1cblxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgcmVzaXplOiBub25lO1xufVxuXG4uZm9ybS1ob3Jpem9udGFsIHtcbiAgLmNvbnRyb2wtbGFiZWwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAucmFkaW8sXG4gIC5jaGVja2JveCB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuXG4gIC5jaGVja2JveGVzIHtcbiAgICAuY2hlY2tib3gsXG4gICAgLnJhZGlvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWhvcml6b250YWwgLmhhcy1mZWVkYmFjayxcbi5oYXMtZmVlZGJhY2sge1xuICA+IC5mb3JtLWNvbnRyb2w6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZzogJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAkcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1sZWZ0OiAkaW5wdXQtaGVpZ2h0LWJhc2U7XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbCB7XG4gICAgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWdyb3VwLnNlYXJjaCxcbi5icy1zZWFyY2hib3gge1xuICAmIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgJjpiZWZvcmUge1xuICAgIEBleHRlbmQgLmZvcm0tY29udHJvbC1mZWVkYmFjaztcbiAgICBAZXh0ZW5kIC5mYTtcbiAgICBjb250ZW50OiAkZmEtdmFyLXNlYXJjaDsgLy8gZXJhIEBleHRlbmQgLmZhLXNlYXJjaDpiZWZvcmVcblxuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogMztcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtYmFzZTtcbiAgfVxuICA+IC5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmctbGVmdDogJGlucHV0LWhlaWdodC1iYXNlO1xuICB9XG59XG5cbi5ib290c3RyYXAtc2VsZWN0IHtcbiAgJGNvbG9yLXJnYmE6IHJnYmEocmVkKCRpbnB1dC1ib3JkZXItZm9jdXMpLCBncmVlbigkaW5wdXQtYm9yZGVyLWZvY3VzKSwgYmx1ZSgkaW5wdXQtYm9yZGVyLWZvY3VzKSwgLjYpO1xuXG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cyk7XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMsXG4gICAgICAvLyY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmVcbiAgICB7XG4gICAgICBjb2xvcjogJGlucHV0LWNvbG9yLWZvY3VzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWZvY3VzO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggJGNvbG9yLXJnYmEpO1xuICAgIH1cbiAgfVxuICAmLm9wZW4ge1xuICAgID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAmLFxuICAgICAgJjpmb2N1cyxcbiAgICAgICYuZm9jdXMsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjphY3RpdmUsXG4gICAgICAmLmFjdGl2ZSxcbiAgICAgICY6YWN0aXZlOmhvdmVyLFxuICAgICAgJjphY3RpdmU6Zm9jdXMsXG4gICAgICAmOmFjdGl2ZS5mb2N1c1xuICAgICAge1xuICAgICAgICBjb2xvcjogJGlucHV0LWNvbG9yLWZvY3VzO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmctZm9jdXM7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCAkY29sb3ItcmdiYSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wYW5lbCAucGFuZWwtZm9ybSAuZm9ybS1jb250cm9sIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLnBhbmVsLWRlZmF1bHQgLnBhbmVsLWZvcm0ge1xuICAuZm9ybS1jb250cm9sLFxuICAuYm9vdHN0cmFwLXNlbGVjdCA+IC5kcm9wZG93bi10b2dnbGUge1xuICAgICRjb2xvci1yZ2JhOiByZ2JhKHJlZCgkaW5wdXQtYm9yZGVyLWZvY3VzKSwgZ3JlZW4oJGlucHV0LWJvcmRlci1mb2N1cyksIGJsdWUoJGlucHV0LWJvcmRlci1mb2N1cyksIC42KTtcblxuICAgIGNvbG9yOiAkaW5wdXQtY29sb3ItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWZvY3VzO1xuICAgIC8vYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyO1xuICAgIC8vQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCAkY29sb3ItcmdiYSk7XG4gIH1cbn1cblxuLmNoZWNrYm94ZXMge1xuICBAZXh0ZW5kIC5yb3c7XG5cbiAgLmNoZWNrYm94IHtcbiAgICBAZXh0ZW5kIC5jb2wtc20tNjtcbiAgICBAZXh0ZW5kIC5jb2wteHMtNjtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAuY2hlY2tib3ggKyAuY2hlY2tib3gge1xuICAgIG1hcmdpbi10b3A6IGluaGVyaXQ7XG4gIH1cbn1cblxuLmZvcm0taW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItMTAwO1xuXG4gIC5mb3JtLWltYWdlLWNvbnRyb2xzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuXG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIGltZyArIC5uby1pbWFnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGVscC1ibG9jayB7XG4gIEBleHRlbmQgLmFsZXJ0O1xuICBwYWRkaW5nOiAxMHB4O1xuXG4gICYuZXJyb3Ige1xuICAgIEBleHRlbmQgLmFsZXJ0LWRhbmdlcjtcbiAgfVxufVxuXG4uZXhwbGFuYXRpb24ge1xuICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGxlcjtcbn0iLCIubW9kYWwtc2Nyb2xsYWJsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm1vZGFsLWNvbnRlbnR7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1jb250ZW50LWJnO1xuICBib3JkZXItcmFkaXVzOiAkbW9kYWwtYm9yZGVyLXJhZGl1cztcbn1cblxuLm1vZGFsLWhlYWRlciB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRtb2RhbC1ib3JkZXItcmFkaXVzKTtcbiAgYmFja2dyb3VuZDogJG1vZGFsLWhlYWRlci1iZztcblxuICAuY2xvc2Uge1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG59XG4ubW9kYWwtdGl0bGUge1xuICAuaWNvbiB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gIH1cbn1cbi5tb2RhbC1ib2R5IHtcbiAgPiAubmF2IHtcbiAgICBtYXJnaW46IC0oJG1vZGFsLWlubmVyLXBhZGRpbmcpO1xuICAgIG1hcmdpbi1ib3R0b206ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xuICB9XG5cbiAgJi5uby1wYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4ubW9kYWwtZm9vdGVyIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJG1vZGFsLWJvcmRlci1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kOiAkbW9kYWwtZm9vdGVyLWJnO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4kbW9kYWwtbWQ6IDc2MHB4O1xuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgLm1vZGFsLW1kIHsgd2lkdGg6ICRtb2RhbC1tZDsgfVxufVxuXG4ubW9kYWwtZnVsbCB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDEwcHg7XG59XG5cbi5tb2RhbCB7XG4gICYuZmFkZSAubW9kYWwtZGlhbG9nIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgIC1vLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAmLmluIC5tb2RhbC1kaWFsb2cge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgLW8tdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5tb2RhbC1wb3B1cCB7XG5cbiAgcG9zaXRpb246IGZpeGVkO1xuXG4gICYuY2VudGVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgfVxuICAmLnRvcF9sZWZ0IHtcbiAgICB0b3A6LTFweDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICB9XG4gICYudG9wX3JpZ2h0IHtcbiAgICB0b3A6LTFweDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cbiAgJi5ib3R0b21fbGVmdCB7XG4gICAgYm90dG9tOi0xcHg7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgfVxuICAmLmJvdHRvbV9yaWdodCB7XG4gICAgYm90dG9tOi0xcHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAubW9kYWwtY29udGVudHtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6ICRtb2RhbC1oZWFkZXItYmc7XG5cbiAgICA+IC5jbG9zZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBvcGFjaXR5OiAwLjk7XG5cbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBjb2xvcjogJGNvbG9yLXRleHQtODAwO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1oZWFkZXIge1xuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWNvbnRlbnQtYmc7XG4gICAgcGFkZGluZzogJG1vZGFsLXRpdGxlLXBhZGRpbmcgJG1vZGFsLXRpdGxlLXBhZGRpbmcqMjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci0xMDA7XG5cbiAgICAuY2xvc2Uge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nICRtb2RhbC1pbm5lci1wYWRkaW5nKjI7XG4gIH1cblxufVxuXG4uZGFzaGJvYXJkIHtcbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgfVxuICAubW9kYWwtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIH1cbn0iLCIudGFibGUgLnRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJnLTAwMDtcbn1cbi50YWJsZSB7XG4gICAgJi50YWJsZS1saXN0IHtcbiAgICAgIEBleHRlbmQgLnRhYmxlLWhvdmVyO1xuICAgICAgQGV4dGVuZCAudGFibGUtY29uZGVuc2VkO1xuXG4gICAgICAucHJvZ3Jlc3Mge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICB0ZFtkYXRhLWVkaXRhYmxlLWZpZWxkXSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6aG92ZXI6YWZ0ZXIge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7IC8vIGVyYSBAZXh0ZW5kIC5pY29uLWZhOmJlZm9yZVxuICAgICAgICAgIGNvbnRlbnQ6ICRmYS12YXItcGVuY2lsOyAvLyBlcmEgQGV4dGVuZCAuZmEtcGVuY2lsOmJlZm9yZVxuICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC03MDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiB0aGVhZCxcbiAgICAgID4gdGJvZHksXG4gICAgICA+IHRmb290IHtcbiAgICAgICAgPiB0ciB7XG4gICAgICAgICAgPiB0aCxcbiAgICAgICAgICA+IHRkIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICR0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nICogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICR0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nICogMjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5uby1kYXRhIHtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnRuLmljb24ge1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtNzAwO1xuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLnJvdy10YWJsZS1pbm5lciB7XG4gICAgICAgICAgICA+IHRkIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcblxuICAgICAgICAgICAgICA+IC5sb2FkaW5nIC5taWRkbGUge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgID4gdGhlYWQgPiB0ciB7XG4gICAgICAgIGNvbG9yOiAkdGFibGUtbGlzdC1oZWFkLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtbGlzdC1oZWFkLWJnO1xuXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvL0NvbHNcbiAgICAgIC50YWJsZS1jaGVja2JveCB7XG4gICAgICAgIHdpZHRoOiAxJTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC51c2VyLWxpc3Qge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LW92ZXJmbG93KCk7XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICB9XG5cbiAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG5cbiAgICAgIC5zb3J0aW5nLFxuICAgICAgLnNvcnRpbmdfZGVzYyxcbiAgICAgIC5zb3J0aW5nX2FzYyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBAZXh0ZW5kIC5pY287XG4gICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LTgwMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgY29udGVudDogXCJcXGU5NTRcIjsgLy8gZXJhIEBleHRlbmQgLmljby1hcnJvdy11cDpiZWZvcmVcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDJweDtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZTkxMFwiOyAvLyBlcmEgQGV4dGVuZCAuaWNvLWFycm93LWRvd246YmVmb3JlXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnBvaW50ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgICAuc29ydGluZ19hc2M6YmVmb3JlIHsgY29sb3I6ICRicmFuZC1wcmltYXJ5OyB9XG4gICAgICAuc29ydGluZ19kZXNjOmFmdGVyIHsgY29sb3I6ICRicmFuZC1wcmltYXJ5OyB9XG5cbiAgICAgICYuc3RpY2t5LWhlYWRlciB7XG4gICAgICAgID4gdGhlYWQge1xuICAgICAgICAgID4gdHIge1xuICAgICAgICAgICAgPiB0aCB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3kgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgICAgY29sb3I6ICR0YWJsZS1saXN0LWhlYWQtY29sb3I7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1saXN0LWhlYWQtYmc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiB0aGVhZCB7XG4gICAgICB0aCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiB0Ym9keTpmaXJzdC1jaGlsZCB7XG4gICAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgPiB0aCxcbiAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jaGVja2JveCB7XG4gICAgICBAZXh0ZW5kIC5jaGVja2JveC1pbmxpbmU7XG4gICAgfVxuXG4gIHRyIHtcbiAgICAmLmNvbGxhcHNlLmluIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICB9XG4gIH1cblxuICB0aCxcbiAgdGQge1xuICAgICYuY29sbGFwc2UuaW4ge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB9XG4gIH1cblxuICB0ZCB7XG4gICAgLnRleHRhcmVhLWNvbnRyb2wge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICB0ZXh0YXJlYSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICB9XG5cbiAgICAgIC5jb250cm9scy13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMzBweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIC5mYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgb3BhY2l0eTogMC43O1xuXG4gICAgICAgICAgJi5mYS1jaGVjayB7XG4gICAgICAgICAgICBjb2xvcjogZ3JlZW47XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuZmEtdGltZXMge1xuICAgICAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udGFibGUtaWNvbiB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgLml0ZW0ge1xuICAgIEBleHRlbmQgLmNvbC14cy0zO1xuICAgIEBleHRlbmQgLmNvbC1zbS0yO1xuICAgIEBleHRlbmQgLmNvbC1tZC0xO1xuXG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgbWFyZ2luOiAtMnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6JGNvbG9yLWJvcmRlci0xMDA7XG5cbiAgICAgIC5jb250cm9scyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250cm9scyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbltkYXRhLXRhYmxlXSB7XG4gID4gLnRhYmxlLXJlc3BvbnNpdmUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWluLWhlaWdodDogMjAwcHg7XG5cbiAgICA+IC50YWJsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gID4gLnRhYmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi50YWJsZS50YWJsZS13ZWVrdGltZSB7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgJi5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cbiAgPiB0aGVhZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci0xMDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgfVxuICAgICAgdGggc3BhbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiB0Ym9keSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci0xMDA7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgge1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgIH1cbiAgICAgID4gdGQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogN3B4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1iZy0xMDA7XG5cbiAgICAgICAgJi5kcy1zZWxlY3RlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmhvdXIge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLWJvcmRlci0yMDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLWJvcmRlci0xMDA7XG4gICAgICAgIH1cbiAgICAgICAgJi5xdWFydGVyIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItMTAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiB0Zm9vdCB7XG4gICAgPiB0ciB7XG4gICAgICA+IHRoIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufSIsIiNtYXBXcmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuI21hcCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuXG4gICYubGVhZmxldC1oaWRkZW4tbmFtZSB7XG4gICAgLmxlYWZsZXQtbWFya2VyLWljb246bm90KC5sZWFmbGV0LWhvdmVyKSB7XG4gICAgICAubmFtZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5tYXAtY29udHJvbHMge1xuICAmLnRvcC1yaWdodCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAlO1xuICAgIHJpZ2h0OiAwO1xuICB9XG5cbiAgJi50b3AtbGVmdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAlO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAmLmJvdHRvbS1yaWdodCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMjBweDtcbiAgICByaWdodDogMDtcbiAgfVxuXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB6LWluZGV4OiAkbGVhZmxldC1jb250cm9sLXotaW5kZXg7XG5cbiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuICAuYnRuIHtcbiAgICArIC5idG4ge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRtYXAtY29udHJvbHMtYnRuLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAzM3B4O1xuICAgIGhlaWdodDogMzNweDtcbiAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgYmFja2dyb3VuZDogJG1hcC1jb250cm9scy1idG4tYmc7XG4gICAgY29sb3I6ICRtYXAtY29udHJvbHMtYnRuLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWFwLWNvbnRyb2xzLWJ0bi1ob3Zlci1iZztcbiAgICAgIGNvbG9yOiAkbWFwLWNvbnRyb2xzLWJ0bi1ob3Zlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWFwLWNvbnRyb2xzLWJ0bi1hY3RpdmUtYmc7XG4gICAgICBjb2xvcjogJG1hcC1jb250cm9scy1idG4tYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4iLCIubmF2LXBhZ2luYXRpb24ge1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLTEwMDtcblxuICAucGFnaW5hdGlvbiB7XG4gICAgQGV4dGVuZCAucHVsbC1yaWdodDtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiI3dpZGdldHMge1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1heC13aWR0aDogMTAwJTtcblxuICAuYnRuLWNvbGxhcHNlIHtcbiAgICBAZXh0ZW5kIC5jb2xsYXBzZS10b3A7XG5cbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7XG4gIH1cblxuICAmLmNvbGxhcHNlZCB7XG4gICAgLndpZGdldHMtY29udGVudCB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICAgICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gICAgfVxuXG4gICAgLmJ0bi1jb2xsYXBzZSB7XG4gICAgICBAZXh0ZW5kIC5jb2xsYXBzZWQ7XG4gICAgfVxuICB9XG5cbiAgLndpZGdldHMtY29udGVudCB7XG4gICAgQGV4dGVuZCAuc2Nyb2xsYmFyO1xuXG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IDA7XG5cbiAgICAvL2hlaWdodDogMTY1cHg7XG4gICAgYmFja2dyb3VuZDogJHdpZGdldC1jb250ZW50LWJhY2tncm91bmQtY29sb3I7XG4gICAgY29sb3I6ICR3aWRnZXQtY29udGVudC1jb2xvcjtcbiAgfVxuXG4gIC50YWJsZSB7XG4gICAgQGV4dGVuZCAudGFibGUtY29uZGVuc2VkO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgICsgLnRhYmxlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgfVxuXG4gICAgdHIgPiB0ZCB7XG4gICAgICB3aWR0aDogNDAlO1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICBAaW5jbHVkZSB0ZXh0LW92ZXJmbG93O1xuICAgICAgbWF4LXdpZHRoOiAxcHg7XG5cbiAgICAgICsgdGQge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LW92ZXJmbG93O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLndpZGdldCB7XG4gICAgQGV4dGVuZCAucGFuZWwtZGVmYXVsdDtcblxuICAgICY6ZW1wdHkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci0xMDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcblxuICAgICsgLndpZGdldCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICB9XG4gIH1cblxuICAud2lkZ2V0LWhlYWRpbmcge1xuICAgIEBleHRlbmQgLnBhbmVsLWhlYWRpbmc7XG4gICAgZm9udC1zaXplOiAxLjFlbTtcblxuICAgIC53aWRnZXQtYWN0aW9ucyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG4gIC53aWRnZXQtdGl0bGUge1xuICAgIEBleHRlbmQgLnBhbmVsLXRpdGxlO1xuICAgID4gLmljb24ge1xuICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIFtkYXRhLWRldmljZT1cIm5hbWVcIl0ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cbiAgICBbZGF0YS1kZXZpY2U9XCJzdGF0dXNcIl0ge1xuICAgICAgd2lkdGg6IDdweDsgaGVpZ2h0OiA3cHg7XG4gICAgfVxuICAgIFtkYXRhLWRldmljZT1cInN0YXR1cy10ZXh0XCJdIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgfVxuICB9XG5cbiAgLndpZGdldC1ib2R5IHtcbiAgICBAZXh0ZW5kIC5wYW5lbC1ib2R5O1xuICAgIEBleHRlbmQgLnNjcm9sbGJhcjtcblxuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICBoZWlnaHQ6IDEyNnB4O1xuICAgIC8vbWluLWhlaWdodDogMTI1cHg7XG4gICAgLy9tYXgtaGVpZ2h0OiAxMjZweDtcblxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcblxuICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgPiAqICsgLndpZGdldC1lbXB0eSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50YWJsZTplbXB0eSArIC53aWRnZXQtZW1wdHkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLndpZGdldC1lbXB0eSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMjMwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9uby1kYXRhLnBuZycpIHJpZ2h0IGJvdHRvbSBuby1yZXBlYXQ7XG5cbiAgICAgID4gLmJ0bntcbiAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgIH1cbiAgICAgID4gcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mdWxsLXRleHQge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG4gIH1cblxuICAud2lkZ2V0LWRyaXZlcixcbiAgLndpZGdldC1zZXJ2aWNlcyxcbiAgLndpZGdldC1kZXZpY2UsXG4gIC53aWRnZXQtbG9ja2luZyxcbiAgLndpZGdldC1ncHJzLWNvbW1hbmQsXG4gIC53aWRnZXQtcmVjZW50LWV2ZW50cyB7XG4gICAgLnRhYmxlIHtcbiAgICAgIEBleHRlbmQgLmZhZGVJbjtcbiAgICAgIEBleHRlbmQgLmFuaW1hdGVkO1xuXG4gICAgICB3aWR0aDogMjYwcHg7XG4gICAgfVxuICB9XG5cbiAgLndpZGdldC1zZW5zb3JzIHtcbiAgICAudGFibGUge1xuICAgICAgQGV4dGVuZCAuZmFkZUluO1xuICAgICAgQGV4dGVuZCAuYW5pbWF0ZWQ7XG5cbiAgICAgIHdpZHRoOiAyMDBweDtcblxuICAgICAgdHIgPiB0ZCB7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICB9XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjhlbTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgY29sb3I6ICR3aWRnZXQtY29udGVudC1pY29uLWNvbG9yO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLndpZGdldC1zdHJlZXR2aWV3IHtcbiAgICAud2lkZ2V0LWJvZHkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICBpbWcge1xuICAgICAgICBAZXh0ZW5kIC5mYWRlSW47XG4gICAgICAgIEBleHRlbmQgLmFuaW1hdGVkO1xuXG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLndpZGdldC1jYW1lcmEge1xuICAgIC53aWRnZXQtYm9keSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmNhbWVyYS1pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAubmFtZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IGluaXRpYWw7XG4gICAgICAgIHBhZGRpbmc6IDFweCA1cHg7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgIH1cbiAgICAgIC5pbWFnZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEyNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC53aWRnZXQtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC53aWRnZXQtYm9keSB7XG4gICAgICB3aWR0aDogMjgwcHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgPiAuaW1hZ2UgKyAud2lkZ2V0LWVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLndpZGdldC1lbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAuaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICB9XG5cbiAgICAgIC5uYW1lIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBpbml0aWFsO1xuICAgICAgICBwYWRkaW5nOiAxcHggNXB4O1xuICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAud2lkZ2V0LXNlbnNvci1ncmFwaCB7XG4gICAgLndpZGdldC1ib2R5IHtcbiAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIC5zZW5zb3ItZ3JhcGgge1xuICAgICAgICB3aWR0aDogMjgwcHg7XG4gICAgICAgIGhlaWdodDogMTI2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLndpZGdldC1ncHJzLWNvbW1hbmQge1xuICAgIC50YWJsZSB7XG4gICAgICB0ZCArIHRkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiAxNSU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLndpZGdldC1yZWNlbnQtZXZlbnRzIHtcbiAgICB0YWJsZSB7XG4gICAgICB0ciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAmW29uY2xpY2tdIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi53aWRnZXQtY29sIHtcbiAgPiBkaXYge1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICR3aWRnZXQtY29sLWJhY2tncm91bmQtY29sb3I7XG4gIH1cbn0iLCIuZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgKyAuZ3JvdXAge1xuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgfVxuICAuY2hlY2tib3gge1xuICAgIEBleHRlbmQgLmNoZWNrYm94LWlubGluZTtcbiAgfVxufVxuLmdyb3VwLWhlYWRpbmcge1xuICBwYWRkaW5nOiAkZ3JvdXAtaGVhZGluZy1wYWRkaW5nLXZlcnRpY2FsICRncm91cC1oZWFkaW5nLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyb3VwLWhlYWRpbmctYmc7XG4gIGJvcmRlci1yYWRpdXM6ICRncm91cC1oZWFkaW5nLWJvcmRlci1yYWRpdXM7XG5cbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogJGdyb3VwLWhlYWRpbmctY29sb3I7XG4gIGZvbnQtc2l6ZTogJGdyb3VwLWhlYWRpbmctZm9udC1zaXplO1xuXG4gID4gLmNoZWNrYm94IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiAxJTtcbiAgfVxuXG4gID4gLmdyb3VwLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncm91cC1jZWxsLXBhZGRpbmctbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIEBpbmNsdWRlIHRleHQtb3ZlcmZsb3coKTtcbiAgICBtYXgtd2lkdGg6IDFweDtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgID4gLmNvdW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIihcIjtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIilcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIC8vY29udGVudDogJGZhLXZhci1taW51cztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICB0b3A6IGF1dG87XG5cbiAgICAgIEBleHRlbmQgLmljbztcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTJlXCI7IC8vIGVyYSBAZXh0ZW5kIC5pY28tbWludXM6YmVmb3JlXG5cbiAgICAgIGZvbnQtc2l6ZTogJGdyb3VwLWNvbGxhcHNlLXN0YXR1cy1jb2xsYXBzZS1mb250LXNpemU7XG4gICAgICBmb250LXdlaWdodDogJGdyb3VwLWNvbGxhcHNlLXN0YXR1cy1jb2xsYXBzZS1mb250LXdlaWdodDtcbiAgICAgIGNvbG9yOiAkZ3JvdXAtY29sbGFwc2Utc3RhdHVzLWNvbGxhcHNlLWNvbG9yO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICAmLmNvbGxhcHNlZCB7XG4gICAgICBjb2xvcjogJGdyb3VwLWhlYWRpbmctY29sbGFwc2UtY29sb3I7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcZTkwMVwiOyAvLyBlcmEgQGV4dGVuZCAuaWNvLXBsdXM6YmVmb3JlXG4gICAgICAgIGNvbG9yOiAkZ3JvdXAtY29sbGFwc2Utc3RhdHVzLWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICRncm91cC1jb2xsYXBzZS1zdGF0dXMtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGdyb3VwLWNvbGxhcHNlLXN0YXR1cy1mb250LXdlaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5pY29uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogJGdyb3VwLWhlYWRpbmctcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIH1cbiAgICAvKlxuICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBleHRlbmQgLmZhZGVJbjtcbiAgICAgICAgQGV4dGVuZCAuYW5pbWF0ZWQ7XG4gICAgICB9XG4gICAgfVxuICAgICZbYXJpYS1leHBhbmRlZD1cImZhbHNlXCJdIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAZXh0ZW5kIC5yb3RhdGVJbjtcbiAgICAgICAgQGV4dGVuZCAuYW5pbWF0ZWQ7XG4gICAgICB9XG4gICAgfSovXG4gIH1cblxuICA+IC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNHB4O1xuXG4gICAgLmJ0bi5vcHRpb25zOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1iZy0zMDA7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRncm91cC1oZWFkaW5nLWhvdmVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncm91cC1oZWFkaW5nLWhvdmVyLWJnO1xuXG4gICAgLnN0YXR1cy1jb2xsYXBzZSB7XG4gICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgfVxuXG4gICAgLmdyb3VwLXRpdGxlIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogJGdyb3VwLWNvbGxhcHNlLXN0YXR1cy1jb2xsYXBzZS1ob3Zlci1jb2xvcjtcbiAgICAgIH1cbiAgICAgICYuY29sbGFwc2VkIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICRncm91cC1jb2xsYXBzZS1zdGF0dXMtaG92ZXItY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmdyb3VwLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ncm91cC1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuXG4gIGNvbG9yOiAkZ3JvdXAtbGlzdC1jb2xvcjtcbiAgZm9udC1zaXplOiAkZ3JvdXAtbGlzdC1mb250LXNpemU7XG4gIGJhY2tncm91bmQ6ICRncm91cC1saXN0LWJnO1xuXG4gIGRpc3BsYXk6IHRhYmxlO1xuXG4gID4gbGkge1xuICAgIGJvcmRlcjogJGdyb3VwLWxpc3QtYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRncm91cC1saXN0LWJvcmRlci1yYWRpdXM7XG4gICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGdyb3VwLWxpc3QtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JvdXAtbGlzdC1ob3Zlci1iZztcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICA+IC5jaGVja2JveCB7XG4gICAgICBwYWRkaW5nLXRvcDogJGdyb3VwLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkZ3JvdXAtaXRlbS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkZ3JvdXAtaXRlbS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICA+IC5uYW1lIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctdG9wOiAkZ3JvdXAtaXRlbS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgICAgcGFkZGluZy1ib3R0b206ICRncm91cC1pdGVtLXBhZGRpbmctdmVydGljYWw7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRncm91cC1jZWxsLXBhZGRpbmctbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRncm91cC1jZWxsLXBhZGRpbmctcmlnaHQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgQGluY2x1ZGUgdGV4dC1vdmVyZmxvdygpO1xuICAgICAgbWF4LXdpZHRoOiAxcHg7XG5cbiAgICAgIFtkYXRhLWRldmljZT1cInRpbWVcIl0ge1xuICAgICAgICBmb250LXNpemU6IDAuN2VtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LTYwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5kZXRhaWxzIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkZ3JvdXAtaXRlbS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgICAgcGFkZGluZy1ib3R0b206ICRncm91cC1pdGVtLXBhZGRpbmctdmVydGljYWw7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRncm91cC1jZWxsLXBhZGRpbmctbGVmdDtcbiAgICAgIC8vcGFkZGluZy1yaWdodDogJGdyb3VwLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgY29sb3I6ICRjb2xvci10ZXh0LTkwMDtcblxuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgID4gKiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICAgID4gKiArICoge1xuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgfVxuXG4gICAgICBbZGF0YS1kZXZpY2U9XCJ0aW1lXCJdIHtcbiAgICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtOTAwO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1iZy0xMDA7XG5cbiAgICAgID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufSIsIkBtaXhpbiBwYW5lbC1oZWFkaW5nLXZlcnRpY2FsLWFsaWduKCRlbGVtZW50LWhlaWdodCkge1xuICBtYXJnaW4tdG9wOiAoKCRoZWFkaW5nLWhlaWdodCAtICRlbGVtZW50LWhlaWdodCkgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogKCgkaGVhZGluZy1oZWlnaHQgLSAkZWxlbWVudC1oZWlnaHQpIC8gMik7XG59XG5cbi5wYW5lbCB7XG4gIC5wYW5lbC1oZWFkaW5nIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG4gIC5wYW5lbC10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGV4dC1vdmVyZmxvdztcbiAgfVxuICAucGFuZWwtdGl0bGUsXG4gIC5wYW5lbC10aXRsZS1vdmVyZmxvdyB7XG4gICAgcGFkZGluZzogJHBhbmVsLWhlYWRpbmctcGFkZGluZztcbiAgICBmb250LXNpemU6ICRwYW5lbC10aXRsZS1zaXplO1xuXG5cbiAgICAuaWNvbiB7XG4gICAgICBmb250LXNpemU6ICRwYW5lbC10aXRsZS1pY29uLXNpemU7XG4gICAgICBjb2xvcjogJHBhbmVsLXRpdGxlLWljb24tY29sb3I7XG5cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxuICAuY2xvc2UgKyAucGFuZWwtdGl0bGUge1xuICAgIG1heC13aWR0aDogOTUlO1xuICB9XG59XG5cbi5wYW5lbC10cmFuc3BhcmVudCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG59XG5cbi5wYW5lbC1mb3JtIHtcbiAgcGFkZGluZzogMTBweCAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgQGluY2x1ZGUgZm9ybS1pbmxpbmU7XG5cbiAgLy9vdmVyd3JpdGUgaW5jbHVkZSBmb3JtLWlubGluZSB3aWR0aCBhdXRvXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJi5wYW5lbC1mb3JtLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICB9XG5cbiAgLmZvcm0tZ3JvdXAge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cblxuICAvLyBVbmRvIDEwMCUgd2lkdGggZm9yIHB1bGwgY2xhc3Nlc1xuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICBAaW5jbHVkZSBwYW5lbC1oZWFkaW5nLXZlcnRpY2FsLWFsaWduKCRpbnB1dC1oZWlnaHQtYmFzZSk7XG4gICAgLy9mbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn0iLCIjbG9hZGluZyxcbi5sb2FkaW5ne1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5OTk7XG4gIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbn1cblxuI2xvYWRpbmcge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJnLTAwMDtcbn1cbiNsb2FkaW5nLFxuLmxvYWRpbmd7XG4gIC5iYWNrZHJvcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJnLTAwMDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLm91dHRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAubWlkZGxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAuaW5uZXIge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHNjYWxlKDEpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHNjYWxlKDAuNik7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSBzY2FsZSgwLjYpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKSBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpIHNjYWxlKDEpOyB9XG59XG5cbi5sb2FkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IGF1dG87XG4gIGhlaWdodDogMzVweDtcbiAgd2lkdGg6IDM1cHg7XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuXG4gICAgY29udGVudDogXCIgXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDBweDtcbiAgICB0b3A6ICAwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGJyYW5kLXByaW1hcnk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZSAxcyAwcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICBhbmltYXRpb246IHJvdGF0ZSAxcyAwcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0b3A6IDEwcHg7XG4gICAgbGVmdDogMTBweDtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IC41cztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IC41cztcbiAgICBib3JkZXItY29sb3I6ICRicmFuZC1wcmltYXJ5IHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9XG5cbiAgJi5sYXJnZSB7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIHdpZHRoOiA2MHB4O1xuXG4gICAgJjpiZWZvcmV7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICAgIGJvcmRlci13aWR0aDogM3B4O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIGJvcmRlci13aWR0aDogM3B4O1xuICAgIH1cbiAgfVxuXG4gICYuc21hbGwge1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcblxuICAgICY6YmVmb3Jle1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICB0b3A6IDVweDtcbiAgICAgIGxlZnQ6IDVweDtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgfVxuICB9XG59IiwiYm9keS5zaWduLWluLWxheW91dCB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAtby1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gIC5zaWduLWluLXRleHQge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgLnBhbmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCAxNXB4IHJnYmEoMCwgMCwgMCwgMC41KSk7XG4gIH1cblxuICAucGFuZWwtYm9keSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnBhbmVsLWJhY2tncm91bmQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwYW5lbC1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLmFwcC1saW5rcyB7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gIH1cbn0iLCIudWktZGlhbG9nIHtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG59XG5cbi51aS1kaWFsb2ctdGl0bGViYXIudWktd2lkZ2V0LWhlYWRlciB7XG4gIEBleHRlbmQgLm1vZGFsLWhlYWRlcjtcbiAgY3Vyc29yOiBtb3ZlO1xufVxuLnVpLWRpYWxvZy10aXRsZSB7XG4gIEBleHRlbmQgLm1vZGFsLXRpdGxlO1xufVxuXG4udWktZGlhbG9nLnVpLXdpZGdldC51aS13aWRnZXQtY29udGVudCB7XG4gIHotaW5kZXg6IDEwNDY7XG4gIG91dGxpbmU6IG5vbmU7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRtb2RhbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuYnV0dG9uLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7XG4gIEBleHRlbmQgLmNsb3NlO1xufSIsIi5wbGFucyB7XG4gIEBleHRlbmQgLnJvdztcbn1cblxuLnBsYW4tY29sIHtcbiAgQGV4dGVuZCAuY29sLXhzLTEyO1xuICBAZXh0ZW5kIC5jb2wtc20tNDtcbiAgQGV4dGVuZCAuY29sLW1kLTM7XG59XG5cbi5wbGFuIHtcbiAgQGV4dGVuZCAucGFuZWw7XG4gIEBleHRlbmQgLnBhbmVsLWRlZmF1bHQ7XG5cbiAgLnBsYW4taGVhZGluZyB7XG4gICAgQGV4dGVuZCAucGFuZWwtaGVhZGluZztcbiAgfVxuICAucGxhbi10aXRsZSB7XG4gICAgQGV4dGVuZCAucGFuZWwtdGl0bGU7XG4gICAgQGV4dGVuZCAudGV4dC1jZW50ZXI7XG4gIH1cbiAgLnBsYW4tYm9keSB7XG4gICAgQGV4dGVuZCAucGFuZWwtYm9keTtcblxuICAgIC5pY29uLmNoZWNrIHtcbiAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1zaXplOiAxLjZlbTtcblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnBsYW4tZm9vdGVyIHtcbiAgICBAZXh0ZW5kIC5wYW5lbC1mb290ZXI7XG4gICAgQGV4dGVuZCAudGV4dC1jZW50ZXI7XG4gIH1cbn0iLCIjYm90dG9tYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA5OTc7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbiNib3R0b20taGlzdG9yeSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgLy9vdmVyZmxvdzogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRjb2xvci1iZy0wMDA7XG4gIHotaW5kZXg6IDk5ODtcblxuICAuYm90dG9tLWhpc3RvcnktaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1iZy0xMDA7XG4gIH1cblxuICAjZ3JhcGgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKlxuICAgICNncmFwaF9zZW5zb3JzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBAZXh0ZW5kIC5wdWxsLWxlZnQ7XG4gICAgfVxuICAgICovXG4gIH1cblxuICAuZ3JhcGgtY29udHJvbHMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1iZy0wMDA7XG4gIH1cblxuICAjaG92ZXJkYXRhLFxuICAjaG92ZXJkYXRhLWRhdGUge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBjb2xvcjogJGNvbG9yLXRleHQtNDAwO1xuICB9XG5cbn1cblxuLmdyYXBoLTEtd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDE1MHB4O1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuLmdyYXBoLTEtd3JhcCAuZ3JhcGgtMSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDE1MHB4O1xufSIsIiNjb252ZXJzYXRpb25zIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA5OTk5OTk7XG5cbiAgLmNvbnZlcnNhdGlvbiB7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuI2NvbnZlcnNhdGlvbiB7XG4gIC5jbG9zZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5tZXNzYWdlcyB7XG4gICAgbWF4LWhlaWdodDogMzUwcHg7XG4gIH1cbn1cblxuXG4uY29udmVyc2F0aW9uIHtcbiAgLnBhbmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5tZXNzYWdlcyB7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbWF4LWhlaWdodDogMjUwcHg7XG4gIG1pbi1oZWlnaHQ6IDI1MHB4O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIEBleHRlbmQgLnNjcm9sbGJhcjtcblxuICAubWVzc2FnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgLnRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmctMjAwO1xuICAgICAgY29sb3I6ICRjb2xvci10ZXh0LTEwMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cygyMHB4KTtcbiAgICB9XG4gICAgLmF1dGhvciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbGVyO1xuICAgICAgY29sb3I6ICRjb2xvci10ZXh0LTYwMDtcbiAgICB9XG5cbiAgICAmLm1lIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxufSIsIiNkYXNoYm9hcmQge1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjBweCk7XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDkwJTtcbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjBweCk7XG4gICAgYmFja2dyb3VuZDogJGdyYXk7XG4gIH1cblxuICAuZGFzaGJvYXJkLWJsb2NrIHtcbiAgICAmLmF1dG8taGVpZ2h0IHtcbiAgICAgIC5wYW5lbC5wYW5lbC1kZWZhdWx0IHtcbiAgICAgICAgLnBhbmVsLWJvZHkge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5wYW5lbC5wYW5lbC1kZWZhdWx0IHtcbiAgICAgIGJvcmRlcjogMDtcblxuICAgICAgLnBhbmVsLWhlYWRpbmcge1xuICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgLnBhbmVsLXRpdGxlIHtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucGFuZWwtYm9keSB7XG4gICAgICAgIGhlaWdodDogMzQwcHg7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBAZXh0ZW5kIC5zY3JvbGxiYXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGFibGUge1xuICAgICAgLmxlZ2VuZENvbG9yQm94IHtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgfVxuICAgICAgLmxlZ2VuZExhYmVsIHtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN0YXQtYm94IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmc7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRhbGVydC1ib3JkZXItcmFkaXVzO1xuICAgICAgY29sb3I6ICRzdGF0LWJveC10ZXh0LWNvbG9yO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAudGl0bGUgeyB9XG5cbiAgICAgIC5jb3VudCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IGxhcmdlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhLmxpbmsge1xuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIH1cbiAgICAubGluayB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2Jsb2NrX2RldmljZV9vdmVydmlldyB7XG4gIC5wYW5lbC10cmFuc3BhcmVudCB7XG4gICAgPiAucGFuZWwtYm9keSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuI2Rhc2hib2FyZCwgI3NldHVwLWZvcm0tZGFzaGJvYXJkIHtcbiAgLm9wdGlvbnMtZHJvcGRvd24ge1xuICAgIG1hcmdpbjogMCAxNXB4IDAgMTVweDtcblxuICAgIGhyIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi5kYXNoYm9hcmQtd2lkZ2V0IHtcbiAgYmFja2dyb3VuZDogJGdyYXktbGlnaHQ7XG4gIHBhZGRpbmc6IDEwcHggNXB4IDhweCAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBoZWlnaHQ6IDM4cHg7XG59XG4iLCIuYm9vdHN0cmFwLXNlbGVjdCB7XG4gICYuaGlkZS1waWNrZXIge1xuICAgIGhlaWdodDogMDtcblxuICAgIC5kcm9wZG93bi10b2dnbGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi50aHVtYm5haWwtcHJldmlldyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gID4uaWNvbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmc6IDJweDtcbiAgfVxuXG4gIC5mdWxsLXByZXZpZXcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgdG9wOiAxNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyYXk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGNvbG9yOiBibGFjaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHotaW5kZXg6IDUwO1xuXG4gICAgLmZ1bGwtcHJldmlldyB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxufVxuIiwidGFibGUuZGF0YVRhYmxlIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbi10b3A6IDZweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiA2cHggIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGUgIWltcG9ydGFudDtcblxuICAmLm5vd3JhcCB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gIH1cblxuICB0ZCxcbiAgdGgge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIH1cbiAgdGQuZGF0YVRhYmxlc19lbXB0eSxcbiAgdGguZGF0YVRhYmxlc19lbXB0eSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgdGhlYWQgPiB0ciA+IHRoOmFjdGl2ZSxcbiAgdGhlYWQgPiB0ciA+IHRkOmFjdGl2ZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuXG5kaXYuZGF0YVRhYmxlc193cmFwcGVyIHtcbiAgLmJvdHRvbSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItMTAwO1xuICB9XG5cbiAgZGl2LmRhdGFUYWJsZXNfbGVuZ3RoIHtcbiAgICBsYWJlbCB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICAgIHNlbGVjdCB7XG4gICAgICB3aWR0aDogNzVweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICBkaXYuZGF0YVRhYmxlc19maWx0ZXIge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIGRpdi5kYXRhVGFibGVzX2ZpbHRlciBsYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgZGl2LmRhdGFUYWJsZXNfZmlsdGVyIGlucHV0IHtcbiAgICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2w7XG5cbiAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIGRpdi5kYXRhVGFibGVzX2luZm8ge1xuICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICBkaXYuZGF0YVRhYmxlc19wYWdpbmF0ZSB7XG4gICAgLy9tYXJnaW46IDA7XG4gICAgLy93aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8vdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgZGl2LmRhdGFUYWJsZXNfcGFnaW5hdGUgdWwucGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luOiAycHggMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIGRpdi5kYXRhVGFibGVzX3Byb2Nlc3Npbmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTAwcHg7XG4gICAgbWFyZ2luLXRvcDogLTI2cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDFlbSAwO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBkaXYuZGF0YVRhYmxlc19sZW5ndGgsXG4gICAgZGl2LmRhdGFUYWJsZXNfZmlsdGVyLFxuICAgIGRpdi5kYXRhVGFibGVzX2luZm8sXG4gICAgZGl2LmRhdGFUYWJsZXNfcGFnaW5hdGUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuXG5kaXYudGFibGUtcmVzcG9uc2l2ZSA+IGRpdi5kYXRhVGFibGVzX3dyYXBwZXIgPiBkaXYucm93IHtcbiAgbWFyZ2luOiAwO1xufVxuZGl2LnRhYmxlLXJlc3BvbnNpdmUgPiBkaXYuZGF0YVRhYmxlc193cmFwcGVyID4gZGl2LnJvdyA+IGRpdltjbGFzc149XCJjb2wtXCJdOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuZGl2LnRhYmxlLXJlc3BvbnNpdmUgPiBkaXYuZGF0YVRhYmxlc193cmFwcGVyID4gZGl2LnJvdyA+IGRpdltjbGFzc149XCJjb2wtXCJdOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4uZGF0YVRhYmxlc19wYWdpbmF0ZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW46IDdweCAwO1xuICAvL21hcmdpbjogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIDA7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgPiBzcGFuIHtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIH1cblxuICAucGFnaW5hdGVfYnV0dG9uIHtcbiAgICAvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvL2Zsb2F0OiBsZWZ0OyAvLyBDb2xsYXBzZSB3aGl0ZS1zcGFjZVxuICAgIHBhZGRpbmc6ICRwYWRkaW5nLWJhc2UtdmVydGljYWwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWJnO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRwYWdpbmF0aW9uLWJvcmRlcjtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjtcbiAgICB9XG5cbiAgICAmLmN1cnJlbnQge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgICAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyO1xuICAgICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBBY2FiYW1lbnRvIFwibW9kZXJuIGJsdWVcIiAtIGV4dHJhaWRvIGRvIENTUyBxdWUgcm9kYXZhIGVtIHByb2R1Y2FvIGNvbW9cbi8vIGxpZ2h0LW9jZWFuLWJsdWUuY3NzIChvIG1hcGEgZG8gYXJxdWl2byBhcG9udGF2YSBwYXJhIGxpZ2h0LW1vZGVybi1ibHVlKS5cbi8vIE8gZm9udGUgb3JpZ2luYWwgc2UgcGVyZGV1OyBpc3RvIGUgYSByZWNvbnN0cnVjYW8gZGVsZSwgY29tIGFzIGNvcmVzIGZpeGFzXG4vLyB0cm9jYWRhcyBwb3IgdmFyaWF2ZWlzIHBhcmEgc2VydmlyIGEgcXVhbHF1ZXIgdGVtYS5cbi8vXG4vLyBJbXBvcnRhciBERVBPSVMgZG8gcmVzdG8sIHBvcnF1ZSBhIGNhbWFkYSBmb2kgZXNjcml0YSBwYXJhIHNvYnJlcG9yIG8gdGVtYVxuLy8gKHBvciBpc3NvIG9zICFpbXBvcnRhbnQpLiBWZXIgdGVtcGxhdGVzL2xpZ2h0LW1vZGVybi1ibHVlLnNjc3MuXG5cbiRza2luLWFjY2VudDogICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kc2tpbi1hY2NlbnQtaG92ZXI6IGRhcmtlbigkc2tpbi1hY2NlbnQsIDglKSAhZGVmYXVsdDtcbiRza2luLWFjY2VudC1zb2Z0OiAgbGlnaHRlbigkc2tpbi1hY2NlbnQsIDI1JSkgIWRlZmF1bHQ7XG5cbiRza2luLWluazogICAgICAgICAgIzFlMjkzYiAhZGVmYXVsdDsgIC8vIGZ1bmRvIGRhIGJhcnJhIGRvIHRvcG8gZSBkbyBtZW51XG4kc2tpbi10aXRsZTogICAgICAgICRza2luLWluayAhZGVmYXVsdDsgIC8vIGNvciBkb3MgdGl0dWxvc1xuJHNraW4taW5rLWxpbmU6ICAgICAjMzM0MTU1ICFkZWZhdWx0O1xuJHNraW4tdGV4dDogICAgICAgICAjNDc1NTY5ICFkZWZhdWx0O1xuJHNraW4tdGV4dC1zb2Z0OiAgICAjNjQ3NDhiICFkZWZhdWx0O1xuJHNraW4tbXV0ZWQ6ICAgICAgICAjOTRhM2I4ICFkZWZhdWx0O1xuXG4kc2tpbi1saW5lLXN0cm9uZzogICNjYmQ1ZTEgIWRlZmF1bHQ7XG4kc2tpbi1saW5lOiAgICAgICAgICNlMmU4ZjAgIWRlZmF1bHQ7XG4kc2tpbi1iZzogICAgICAgICAgICNmMWY1ZjkgIWRlZmF1bHQ7XG4kc2tpbi1zdXJmYWNlLWFsdDogICNmOGZhZmMgIWRlZmF1bHQ7XG4kc2tpbi1zdXJmYWNlOiAgICAgICNmZmYgIWRlZmF1bHQ7XG4kc2tpbi1vbi1hY2NlbnQ6ICAgICRza2luLXN1cmZhY2UgIWRlZmF1bHQ7ICAvLyB0ZXh0byBzb2JyZSBvIGF6dWxcbiRza2luLXRleHQtc3Ryb25nOiAgJHNraW4taW5rLWxpbmUgIWRlZmF1bHQ7ICAvLyB0ZXh0byBtYWlzIGZvcnRlIGRhIHRhYmVsYVxuXG4vLyBBIGJhcnJhIGRvIHRvcG8gZSBvIG1lbnUgZGVsYTogZXNjdXJvcyBub3MgZG9pcyB0ZW1hcywgY29tIHVtIHRvbSBkYSBjb3Jcbi8vIGRvIHRlbWEuIE8gbWVudSBmaWNhIHVtIGRlZ3JhdSBhY2ltYSBkYSBiYXJyYSBwYXJhIG5hbyBzdW1pciBuZWxhLlxuJHNraW4tYmFyLW1lbnU6ICAgICBsaWdodGVuKCRza2luLWluaywgNiUpICFkZWZhdWx0O1xuJHNraW4tYmFyLXRleHQ6ICAgICAjOTRhM2I4ICFkZWZhdWx0O1xuJHNraW4tYmFyLXRpdGxlOiAgICAjZjhmYWZjICFkZWZhdWx0O1xuXG4ubmF2YmFyLW1haW4sICNoZWFkZXIgLm1haW4tbmF2YmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNraW4taW5rICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogJHNraW4taW5rICFpbXBvcnRhbnQ7XG4gIC8vIGZpbyBkYSBjb3IgZG8gdGVtYSBlbWJhaXhvIGRhIGJhcnJhLCBubyBsdWdhciBkZSB0aW5naXIgYSBiYXJyYSBpbnRlaXJhXG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTJweCAwICRza2luLWFjY2VudCwgMCAxcHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMzUpO1xufVxuLm5hdmJhci1tYWluIC5uYXZiYXItYnJhbmQsICNoZWFkZXIgLm1haW4tbmF2YmFyIC5uYXZiYXItYnJhbmQge1xuICBjb2xvcjogJHNraW4tYmFyLXRpdGxlICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG59XG4ubmF2YmFyLW1haW4gLm5hdmJhci1icmFuZDpob3ZlciwgI2hlYWRlciAubWFpbi1uYXZiYXIgLm5hdmJhci1icmFuZDpob3ZlciB7XG4gIGNvbG9yOiAkc2tpbi1hY2NlbnQtc29mdCAhaW1wb3J0YW50O1xufVxuLm5hdmJhci1tYWluIC5uYXZiYXItbmF2ID4gbGkgPiBhLCAjaGVhZGVyIC5tYWluLW5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gIGNvbG9yOiAkc2tpbi1iYXItdGV4dCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNTAwO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cywgYmFja2dyb3VuZC1jb2xvciAwLjE1cywgYm94LXNoYWRvdyAwLjE1cztcbn1cbi5uYXZiYXItbWFpbiAubmF2YmFyLW5hdiA+IGxpID4gYTpob3ZlciwgI2hlYWRlciAubWFpbi1uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGE6aG92ZXIge1xuICBjb2xvcjogJHNraW4tYmFyLXRpdGxlICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNikgIWltcG9ydGFudDtcbn1cbi5uYXZiYXItbWFpbiAubmF2YmFyLW5hdiA+IGxpID4gYSAuaWNvbiwgI2hlYWRlciAubWFpbi1uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEgLmljb24ge1xuICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAwLjc1O1xufVxuLm5hdmJhci1tYWluIC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGEsICNoZWFkZXIgLm1haW4tbmF2YmFyIC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGEsXG4ubmF2YmFyLW1haW4gLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYTpob3ZlciB7XG4gIGNvbG9yOiAkc2tpbi1iYXItdGl0bGUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkc2tpbi1hY2NlbnQsIDAuMTgpICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTJweCAwICRza2luLWFjY2VudDtcbn1cbi5uYXZiYXItbWFpbiAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhIC5pY29uLCAjaGVhZGVyIC5tYWluLW5hdmJhciAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhIC5pY29uLFxuLm5hdmJhci1tYWluIC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6aG92ZXIgLmljb24ge1xuICBjb2xvcjogJHNraW4tYWNjZW50LXNvZnQgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMTtcbn1cbi5uYXZiYXItbWFpbiAubmF2YmFyLW5hdiA+IC5vcGVuID4gYSwgI2hlYWRlciAubWFpbi1uYXZiYXIgLm5hdmJhci1uYXYgPiAub3BlbiA+IGEsXG4ubmF2YmFyLW1haW4gLm5hdmJhci1uYXYgPiAub3BlbiA+IGE6aG92ZXIge1xuICBjb2xvcjogJHNraW4tYmFyLXRpdGxlICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCkgIWltcG9ydGFudDtcbn1cblxuLm5hdmJhci1tYWluIC5kcm9wZG93bi1tZW51LCAjaGVhZGVyIC5tYWluLW5hdmJhciAuZHJvcGRvd24tbWVudSwgLm5hdmJhci1tYWluIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWxpc3QsIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIC5uYXZiYXItbWFpbiAubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0LCAjaGVhZGVyIC5tYWluLW5hdmJhciAubGVhZmxldC1jb250cm9sLWxheWVycyAubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0LCAubGVhZmxldC1jb250cm9sLWxheWVycyAjaGVhZGVyIC5tYWluLW5hdmJhciAubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0IHtcbiAgYmFja2dyb3VuZDogJHNraW4tYmFyLW1lbnU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgYm94LXNoYWRvdzogMCAxOHB4IDQ0cHggcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgcGFkZGluZzogNnB4O1xufVxuLm5hdmJhci1tYWluIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhLCAjaGVhZGVyIC5tYWluLW5hdmJhciAuZHJvcGRvd24tbWVudSA+IGxpID4gYSwgLm5hdmJhci1tYWluIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWxpc3QgPiBsaSA+IGEsIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIC5uYXZiYXItbWFpbiAubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0ID4gbGkgPiBhLCAjaGVhZGVyIC5tYWluLW5hdmJhciAubGVhZmxldC1jb250cm9sLWxheWVycyAubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0ID4gbGkgPiBhLCAubGVhZmxldC1jb250cm9sLWxheWVycyAjaGVhZGVyIC5tYWluLW5hdmJhciAubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0ID4gbGkgPiBhIHtcbiAgY29sb3I6ICRza2luLWJhci10ZXh0O1xuICBwYWRkaW5nOiA4cHggMTRweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTJzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTJzO1xufVxuLm5hdmJhci1tYWluIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmhvdmVyLCAjaGVhZGVyIC5tYWluLW5hdmJhciAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlciwgLm5hdmJhci1tYWluIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWxpc3QgPiBsaSA+IGE6aG92ZXIsIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIC5uYXZiYXItbWFpbiAubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0ID4gbGkgPiBhOmhvdmVyLCAjaGVhZGVyIC5tYWluLW5hdmJhciAubGVhZmxldC1jb250cm9sLWxheWVycyAubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0ID4gbGkgPiBhOmhvdmVyLCAubGVhZmxldC1jb250cm9sLWxheWVycyAjaGVhZGVyIC5tYWluLW5hdmJhciAubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0ID4gbGkgPiBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkc2tpbi1hY2NlbnQsIDAuMjIpO1xuICBjb2xvcjogJHNraW4tYmFyLXRpdGxlO1xufVxuLm5hdmJhci1tYWluIC5kcm9wZG93bi1tZW51IC5kaXZpZGVyLCAjaGVhZGVyIC5tYWluLW5hdmJhciAuZHJvcGRvd24tbWVudSAuZGl2aWRlciwgLm5hdmJhci1tYWluIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWxpc3QgLmRpdmlkZXIsIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIC5uYXZiYXItbWFpbiAubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0IC5kaXZpZGVyLCAjaGVhZGVyIC5tYWluLW5hdmJhciAubGVhZmxldC1jb250cm9sLWxheWVycyAubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0IC5kaXZpZGVyLCAubGVhZmxldC1jb250cm9sLWxheWVycyAjaGVhZGVyIC5tYWluLW5hdmJhciAubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0IC5kaXZpZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICBtYXJnaW46IDZweCA0cHg7XG59XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2tpbi1iZyAhaW1wb3J0YW50O1xufVxuXG4uYWRtaW4tbGF5b3V0ID4gLmNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2tpbi1iZztcbn1cblxuLnBhbmVsLCAucGxhbiB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4wNSkgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5wYW5lbCAucGFuZWwtaGVhZGluZywgLnBsYW4gLnBhbmVsLWhlYWRpbmcsIC5wYW5lbCAjd2lkZ2V0cyAud2lkZ2V0LWhlYWRpbmcsICN3aWRnZXRzIC5wYW5lbCAud2lkZ2V0LWhlYWRpbmcsIC5wbGFuICN3aWRnZXRzIC53aWRnZXQtaGVhZGluZywgI3dpZGdldHMgLnBsYW4gLndpZGdldC1oZWFkaW5nLCAucGxhbiAucGxhbi1oZWFkaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNraW4tc3VyZmFjZSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHNraW4tYmcgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMTBweCAxMHB4IDAgMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG4ucGFuZWwgLnBhbmVsLXRpdGxlLCAucGxhbiAucGFuZWwtdGl0bGUsIC5wYW5lbCAjd2lkZ2V0cyAud2lkZ2V0LXRpdGxlLCAjd2lkZ2V0cyAucGFuZWwgLndpZGdldC10aXRsZSwgLnBsYW4gI3dpZGdldHMgLndpZGdldC10aXRsZSwgI3dpZGdldHMgLnBsYW4gLndpZGdldC10aXRsZSwgLnBsYW4gLnBsYW4tdGl0bGUsXG4ucGFuZWwgLnBhbmVsLXRpdGxlLW92ZXJmbG93LFxuLnBsYW4gLnBhbmVsLXRpdGxlLW92ZXJmbG93IHtcbiAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAkc2tpbi10aXRsZSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAxMnB4IDE2cHggIWltcG9ydGFudDtcbn1cbi5wYW5lbCAucGFuZWwtYm9keSwgLnBsYW4gLnBhbmVsLWJvZHksIC5wYW5lbCAjd2lkZ2V0cyAud2lkZ2V0LWJvZHksICN3aWRnZXRzIC5wYW5lbCAud2lkZ2V0LWJvZHksIC5wbGFuICN3aWRnZXRzIC53aWRnZXQtYm9keSwgI3dpZGdldHMgLnBsYW4gLndpZGdldC1ib2R5LCAucGxhbiAucGxhbi1ib2R5IHtcbiAgYmFja2dyb3VuZDogJHNraW4tc3VyZmFjZTtcbiAgcGFkZGluZzogMTZweDtcbn1cbi5wYW5lbCAucGFuZWwtZm9vdGVyLCAucGxhbiAucGFuZWwtZm9vdGVyLCAucGxhbiAucGxhbi1mb290ZXIge1xuICBiYWNrZ3JvdW5kOiAkc2tpbi1zdXJmYWNlLWFsdCAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJHNraW4tYmcgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMTBweCAhaW1wb3J0YW50O1xufVxuXG4udGFibGUudGFibGUtbGlzdCA+IHRoZWFkID4gdHIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2tpbi1zdXJmYWNlLWFsdCAhaW1wb3J0YW50O1xuICBjb2xvcjogJHNraW4tdGV4dC1zb2Z0ICFpbXBvcnRhbnQ7XG59XG4udGFibGUudGFibGUtbGlzdCA+IHRoZWFkID4gdHIgPiB0aCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gIHBhZGRpbmc6IDEwcHggOHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc2tpbi1saW5lICFpbXBvcnRhbnQ7XG59XG4udGFibGUudGFibGUtbGlzdCA+IHRib2R5ID4gdHIge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXM7XG59XG4udGFibGUudGFibGUtbGlzdCA+IHRib2R5ID4gdHIgPiB0ZCB7XG4gIHBhZGRpbmc6IDExcHggOHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkc2tpbi1iZyAhaW1wb3J0YW50O1xuICBjb2xvcjogJHNraW4tdGV4dC1zdHJvbmc7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLnRhYmxlLnRhYmxlLWxpc3QgPiB0Ym9keSA+IHRyOmhvdmVyID4gdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2tpbi1zdXJmYWNlLWFsdCAhaW1wb3J0YW50O1xufVxuXG4uYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogNnB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cztcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbn1cblxuLmJ0bi1wcmltYXJ5LCAuYnRuLWFjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRza2luLWFjY2VudCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICRza2luLWFjY2VudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgkc2tpbi1hY2NlbnQsIDAuMyk7XG59XG4uYnRuLXByaW1hcnk6aG92ZXIsIC5idG4tYWN0aW9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNraW4tYWNjZW50LWhvdmVyICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogJHNraW4tYWNjZW50LWhvdmVyICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDhweCByZ2JhKCRza2luLWFjY2VudCwgMC40KTtcbn1cblxuLmJ0bi1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZDogJHNraW4tc3VyZmFjZSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICRza2luLWxpbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICRza2luLXRleHQgIWltcG9ydGFudDtcbn1cbi5idG4tZGVmYXVsdDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICRza2luLXN1cmZhY2UtYWx0ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogJHNraW4tbGluZS1zdHJvbmcgIWltcG9ydGFudDtcbn1cblxuLmJ0bi1zdWNjZXNzIHtcbiAgYm9yZGVyLXJhZGl1czogNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5idG4tZGFuZ2VyIHtcbiAgYm9yZGVyLXJhZGl1czogNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5idG4td2FybmluZyB7XG4gIGJvcmRlci1yYWRpdXM6IDZweCAhaW1wb3J0YW50O1xufVxuXG4uYnRuLWluZm8ge1xuICBib3JkZXItcmFkaXVzOiA2cHggIWltcG9ydGFudDtcbn1cblxuLmZvcm0tY29udHJvbCwgZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZGF0YVRhYmxlc19maWx0ZXIgaW5wdXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAkc2tpbi1saW5lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2tpbi1zdXJmYWNlICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAkc2tpbi10aXRsZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cywgYm94LXNoYWRvdyAwLjE1cztcbn1cbi5mb3JtLWNvbnRyb2w6Zm9jdXMsIGRpdi5kYXRhVGFibGVzX3dyYXBwZXIgZGl2LmRhdGFUYWJsZXNfZmlsdGVyIGlucHV0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAkc2tpbi1hY2NlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoJHNraW4tYWNjZW50LCAwLjEyKSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2tpbi1zdXJmYWNlICFpbXBvcnRhbnQ7XG59XG5cbi5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRza2luLXN1cmZhY2UtYWx0ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRza2luLWxpbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogNnB4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAkc2tpbi10ZXh0LXNvZnQgIWltcG9ydGFudDtcbn1cblxuLm1vZGFsLWNvbnRlbnQge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMTJweCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDIwcHggNjBweCByZ2JhKDAsIDAsIDAsIDAuMTgpICFpbXBvcnRhbnQ7XG59XG5cbi5tb2RhbC1oZWFkZXIsIC51aS1kaWFsb2ctdGl0bGViYXIudWktd2lkZ2V0LWhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICRza2luLXN1cmZhY2UgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRza2luLWJnICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDE2cHggMjBweCAhaW1wb3J0YW50O1xufVxuLm1vZGFsLWhlYWRlciAubW9kYWwtdGl0bGUsIC51aS1kaWFsb2ctdGl0bGViYXIudWktd2lkZ2V0LWhlYWRlciAubW9kYWwtdGl0bGUsIC5tb2RhbC1oZWFkZXIgLnVpLWRpYWxvZy10aXRsZSwgLnVpLWRpYWxvZy10aXRsZWJhci51aS13aWRnZXQtaGVhZGVyIC51aS1kaWFsb2ctdGl0bGUge1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICRza2luLXRpdGxlO1xufVxuXG4ubW9kYWwtYm9keSB7XG4gIHBhZGRpbmc6IDIwcHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogJHNraW4tc3VyZmFjZTtcbn1cblxuLm1vZGFsLWZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICRza2luLXN1cmZhY2UtYWx0ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkc2tpbi1iZyAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAxMnB4IDIwcHggIWltcG9ydGFudDtcbn1cblxuLnNpZGViYXIgLnNpZGViYXItY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICRza2luLXN1cmZhY2UgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHNraW4tbGluZSAhaW1wb3J0YW50O1xufVxuXG4uc2lkZWJhciAudGFiLXBhbmUtaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogJHNraW4tc3VyZmFjZS1hbHQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc2tpbi1saW5lO1xuICBwYWRkaW5nOiAxMHB4IDEycHg7XG59XG5cbi5zaWRlYmFyIC5uYXYtdGFicyB7XG4gIGJhY2tncm91bmQ6ICRza2luLXN1cmZhY2UtYWx0O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHNraW4tbGluZTtcbn1cbi5zaWRlYmFyIC5uYXYtdGFicyA+IGxpID4gYSB7XG4gIGNvbG9yOiAkc2tpbi10ZXh0LXNvZnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMTBweCAxNHB4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xufVxuLnNpZGViYXIgLm5hdi10YWJzID4gbGkgPiBhOmhvdmVyIHtcbiAgY29sb3I6ICRza2luLWFjY2VudDtcbn1cbi5zaWRlYmFyIC5uYXYtdGFicyA+IGxpLmFjdGl2ZSA+IGEge1xuICBjb2xvcjogJHNraW4tYWNjZW50ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6ICRza2luLXN1cmZhY2UgIWltcG9ydGFudDtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkc2tpbi1hY2NlbnQgIWltcG9ydGFudDtcbn1cblxuLmRyb3Bkb3duLW1lbnUsIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWxpc3Qge1xuICBib3JkZXItcmFkaXVzOiA4cHggIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgJHNraW4tbGluZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiA2cHggMCAhaW1wb3J0YW50O1xufVxuLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEsIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWxpc3QgPiBsaSA+IGEge1xuICBwYWRkaW5nOiA4cHggMTZweCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAkc2tpbi10ZXh0O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXM7XG59XG4uZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlciwgLmxlYWZsZXQtY29udHJvbC1sYXllcnMgLmxlYWZsZXQtY29udHJvbC1sYXllcnMtbGlzdCA+IGxpID4gYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRza2luLWJnICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAkc2tpbi10aXRsZSAhaW1wb3J0YW50O1xufVxuXG4uYmFkZ2Uge1xuICBib3JkZXItcmFkaXVzOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgcGFkZGluZzogM3B4IDhweCAhaW1wb3J0YW50O1xufVxuXG4ubGFiZWwge1xuICBib3JkZXItcmFkaXVzOiA0cHggIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBwYWRkaW5nOiAzcHggN3B4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWdpbmF0aW9uID4gbGkgPiBhLFxuLnBhZ2luYXRpb24gPiBsaSA+IHNwYW4ge1xuICBib3JkZXItcmFkaXVzOiA2cHggIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgJHNraW4tbGluZSAhaW1wb3J0YW50O1xuICBjb2xvcjogJHNraW4tdGV4dDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXM7XG59XG4ucGFnaW5hdGlvbiA+IGxpID4gYTpob3Zlcixcbi5wYWdpbmF0aW9uID4gbGkgPiBzcGFuOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNraW4tYmcgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAkc2tpbi1saW5lLXN0cm9uZyAhaW1wb3J0YW50O1xufVxuLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gYSxcbi5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IHNwYW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2tpbi1hY2NlbnQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAkc2tpbi1hY2NlbnQgIWltcG9ydGFudDtcbiAgY29sb3I6ICRza2luLW9uLWFjY2VudCAhaW1wb3J0YW50O1xufVxuXG46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG59XG5cbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQ6ICRza2luLWxpbmUtc3Ryb25nO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICRza2luLW11dGVkO1xufVxuXG4jd2lkZ2V0cyAuYnRuLWNvbGxhcHNlIHtcbiAgd2lkdGg6IDUycHg7XG4gIGhlaWdodDogMThweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGJhY2tncm91bmQ6ICRza2luLXN1cmZhY2U7XG4gIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwO1xuICBib3gtc2hhZG93OiAwIC0zcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICBjb2xvcjogJHNraW4tbXV0ZWQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycywgY29sb3IgMC4ycywgaGVpZ2h0IDAuMnM7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMCU7XG59XG4jd2lkZ2V0cyAuYnRuLWNvbGxhcHNlOmJlZm9yZSwgI3dpZGdldHMgLmJ0bi1jb2xsYXBzZTphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jd2lkZ2V0cyAuYnRuLWNvbGxhcHNlIGkge1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xufVxuI3dpZGdldHMgLmJ0bi1jb2xsYXBzZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICRza2luLWFjY2VudDtcbiAgY29sb3I6ICRza2luLW9uLWFjY2VudDtcbiAgaGVpZ2h0OiAyMnB4O1xufVxuXG4uc2lkZWJhciAuYnRuLWNvbGxhcHNlIHtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogNTJweDtcbiAgbGluZS1oZWlnaHQ6IDUycHg7XG4gIGJhY2tncm91bmQ6ICRza2luLXN1cmZhY2U7XG4gIGJvcmRlci1yYWRpdXM6IDAgOHB4IDhweCAwO1xuICBib3gtc2hhZG93OiAzcHggMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIGNvbG9yOiAkc2tpbi1tdXRlZDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzLCBjb2xvciAwLjJzLCB3aWR0aCAwLjJzO1xufVxuLnNpZGViYXIgLmJ0bi1jb2xsYXBzZTpiZWZvcmUsIC5zaWRlYmFyIC5idG4tY29sbGFwc2U6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNpZGViYXIgLmJ0bi1jb2xsYXBzZSBpIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBsaW5lLWhlaWdodDogNTJweDtcbn1cbi5zaWRlYmFyIC5idG4tY29sbGFwc2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAkc2tpbi1hY2NlbnQ7XG4gIGNvbG9yOiAkc2tpbi1vbi1hY2NlbnQ7XG4gIHdpZHRoOiAyMnB4O1xufVxuXG5Aa2V5ZnJhbWVzIG1hcnF1ZWUtc2Nyb2xsIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1tYXJxdWVlLW9mZnNldCwgLTYwJSkpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1tYXJxdWVlLW9mZnNldCwgLTYwJSkpO1xuICB9XG59XG4uZ3JvdXAtbGlzdCA+IGxpID4gLm5hbWUsXG5bZGF0YS1kZXZpY2U9bmFtZV0ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZ3JvdXAtbGlzdCA+IGxpIFtkYXRhLWRldmljZT1uYW1lXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmdyb3VwLWxpc3QgPiBsaTpob3ZlciBbZGF0YS1kZXZpY2U9bmFtZV0ge1xuICBhbmltYXRpb246IG1hcnF1ZWUtc2Nyb2xsIDRzIGVhc2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZTtcbn1cblxuLnNpZ24taW4tcGFnZSAucGFuZWwsIC5zaWduLWluLXBhZ2UgLnBsYW4sXG4uc2lnbi1pbi1wYWdlIC5zaWduLWluLXBhbmVsLFxuLmxvZ2luLXBhZ2UgLnBhbmVsLFxuLmxvZ2luLXBhZ2UgLnBsYW4sXG4ubG9naW4tcGFnZSAuc2lnbi1pbi1wYW5lbCB7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHggIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAyNHB4IDY0cHggcmdiYSgwLCAwLCAwLCAwLjE4KSAhaW1wb3J0YW50O1xufVxuIl19 */
