@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;
*/
@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: #202020;
  background-color: #dddddd;
}

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

a {
  color: #2faf62;
  text-decoration: none;
}
a:hover, a:focus {
  color: rgb(30.8040540541, 114.6959459459, 64.2297297297);
  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: 0;
}

.img-thumbnail {
  padding: 3px;
  line-height: 1.428571429;
  background-color: #f9f9f9;
  border: 1px solid #d9d9d9;
  border-radius: 2;
  -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 #f9f9f9;
}

.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: #eeeeee;
}

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: #eeeeee;
}

.text-primary {
  color: #2faf62;
}

a.text-primary:hover,
a.text-primary:focus {
  color: rgb(36.2027027027, 134.7972972973, 75.4864864865);
}

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

a.text-success:hover,
a.text-success:focus {
  color: rgb(42.808988764, 84.191011236, 43.5224719101);
}

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

a.text-info:hover,
a.text-info:focus {
  color: rgb(35.984375, 82.25, 105.015625);
}

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

a.text-warning:hover,
a.text-warning:focus {
  color: rgb(102.2741116751, 80.7817258883, 43.7258883249);
}

.text-danger {
  color: #a94442;
}

a.text-danger:hover,
a.text-danger:focus {
  color: rgb(132.3234042553, 53.2425531915, 51.6765957447);
}

.bg-primary {
  color: #fff;
}

.bg-primary {
  background-color: #2faf62;
}

a.bg-primary:hover,
a.bg-primary:focus {
  background-color: rgb(36.2027027027, 134.7972972973, 75.4864864865);
}

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

a.bg-success:hover,
a.bg-success:focus {
  background-color: rgb(192.7777777778, 225.8333333333, 179.1666666667);
}

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

a.bg-info:hover,
a.bg-info:focus {
  background-color: rgb(174.8695652174, 217.0434782609, 238.1304347826);
}

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

a.bg-warning:hover,
a.bg-warning:focus {
  background-color: rgb(247.064516129, 236.4838709677, 180.935483871);
}

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

a.bg-danger:hover,
a.bg-danger:focus {
  background-color: rgb(227.5869565217, 185.4130434783, 185.4130434783);
}

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

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 #eeeeee;
}

.initialism {
  font-size: 90%;
}

blockquote {
  padding: 8.5px 17px;
  margin: 0 0 17px;
  font-size: 15px;
  border-left: 5px solid #f9f9f9;
}
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: #eeeeee;
}
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 #f9f9f9;
  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], .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], .bootstrap-select.form-control.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], .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], .bootstrap-select.form-control.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], .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li, .bootstrap-select.form-control .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, .bootstrap-select.form-control .leaflet-control-layers .inner.leaflet-control-layers-list > li, .leaflet-control-layers .bootstrap-select.form-control .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], .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], .bootstrap-select.form-control.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], .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], .bootstrap-select.form-control.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], .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li, .bootstrap-select.form-control .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, .bootstrap-select.form-control .leaflet-control-layers .inner.leaflet-control-layers-list > li, .leaflet-control-layers .bootstrap-select.form-control .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], .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] {
    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], .bootstrap-select.form-control.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] {
    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], .bootstrap-select.form-control.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], .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li, .bootstrap-select.form-control .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, .bootstrap-select.form-control .leaflet-control-layers .inner.leaflet-control-layers-list > li, .leaflet-control-layers .bootstrap-select.form-control .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: #eeeeee;
  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 #d9d9d9;
}
.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #d9d9d9;
}
.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 #d9d9d9;
}
.table .table {
  background-color: #dddddd;
}

.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 #d9d9d9;
}
.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 #d9d9d9;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
  border-bottom-width: 2px;
}

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

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

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: #f9f9f9;
}

.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(236.25, 236.25, 236.25);
}

.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(207.8888888889, 232.9166666667, 197.5833333333);
}

.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(195.9347826087, 227.0217391304, 242.5652173913);
}

.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(249.5322580645, 242.2419354839, 203.9677419355);
}

.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(234.7934782609, 203.7065217391, 203.7065217391);
}

.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 #d9d9d9;
  }
  .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: #555555;
}

.form-control {
  display: block;
  width: 100%;
  height: 31px;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.428571429;
  color: #555555;
  background-color: #f9f9f9;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 0;
  -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 {
  color: #202020;
  background-color: #ffffff;
  border-color: #d9d9d9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(217, 217, 217, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(217, 217, 217, 0.6);
}
.form-control::-moz-placeholder {
  color: #cccccc;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #cccccc;
}
.form-control::-webkit-input-placeholder {
  color: #cccccc;
}
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
  background-color: #eeeeee;
  opacity: 1;
}
.form-control[disabled], fieldset[disabled] .form-control {
  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,
  input[type=time].form-control,
  input[type=datetime-local].form-control,
  input[type=month].form-control {
    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,
.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,
.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,
.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: 2;
}

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 {
  height: 28px;
  padding: 5px 10px;
  font-size: 11px;
  line-height: 1.5;
  border-radius: 2;
}
.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,
.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: 0;
}

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 {
  height: 40px;
  padding: 10px 16px;
  font-size: 13px;
  line-height: 1.3333333;
  border-radius: 0;
}
.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 {
  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, .input-group-lg > .form-control + .form-group.search:before,
.input-group-lg > .form-control + .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 .form-control + .form-group.search:before,
.form-group-lg .form-control + .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, .input-group-sm > .form-control + .form-group.search:before,
.input-group-sm > .form-control + .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 .form-control + .form-group.search:before,
.form-group-sm .form-control + .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 {
  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 {
  border-color: rgb(42.808988764, 84.191011236, 43.5224719101);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(102.5280898876, 177.4719101124, 103.8202247191);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(102.5280898876, 177.4719101124, 103.8202247191);
}
.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 {
  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 {
  border-color: rgb(102.2741116751, 80.7817258883, 43.7258883249);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(191.807106599, 160.7461928934, 107.192893401);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(191.807106599, 160.7461928934, 107.192893401);
}
.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 {
  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 {
  border-color: rgb(132.3234042553, 53.2425531915, 51.6765957447);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(206.4127659574, 132.0595744681, 130.5872340426);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(206.4127659574, 132.0595744681, 130.5872340426);
}
.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: rgb(95.75, 95.75, 95.75);
}

@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .form-control {
    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 {
    width: auto;
  }
  .form-inline .input-group > .form-control {
    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: 0;
  -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: #777777;
  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: #777777;
  background-color: #eeeeee;
  border-color: #eeeeee;
}
.btn-default:focus, .btn-default.focus {
  color: #777777;
  background-color: rgb(212.5, 212.5, 212.5);
  border-color: rgb(174.25, 174.25, 174.25);
}
.btn-default:hover {
  color: #777777;
  background-color: rgb(212.5, 212.5, 212.5);
  border-color: rgb(207.4, 207.4, 207.4);
}
.btn-default:active, .btn-default.active, .open > .btn-default.dropdown-toggle {
  color: #777777;
  background-color: rgb(212.5, 212.5, 212.5);
  border-color: rgb(207.4, 207.4, 207.4);
}
.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: #777777;
  background-color: rgb(194.65, 194.65, 194.65);
  border-color: rgb(174.25, 174.25, 174.25);
}
.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: #eeeeee;
  border-color: #eeeeee;
}
.btn-default .badge {
  color: #eeeeee;
  background-color: #777777;
}

.btn-primary, .btn-action {
  color: #fff;
  background-color: #2faf62;
  border-color: rgb(41.6013513514, 154.8986486486, 86.7432432432);
}
.btn-primary:focus, .btn-action:focus, .btn-primary.focus, .focus.btn-action {
  color: #fff;
  background-color: rgb(36.2027027027, 134.7972972973, 75.4864864865);
  border-color: rgb(14.6081081081, 54.3918918919, 30.4594594595);
}
.btn-primary:hover, .btn-action:hover {
  color: #fff;
  background-color: rgb(36.2027027027, 134.7972972973, 75.4864864865);
  border-color: rgb(28.6445945946, 106.6554054054, 59.727027027);
}
.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(36.2027027027, 134.7972972973, 75.4864864865);
  border-color: rgb(28.6445945946, 106.6554054054, 59.727027027);
}
.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(28.6445945946, 106.6554054054, 59.727027027);
  border-color: rgb(14.6081081081, 54.3918918919, 30.4594594595);
}
.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: #2faf62;
  border-color: rgb(41.6013513514, 154.8986486486, 86.7432432432);
}
.btn-primary .badge, .btn-action .badge {
  color: #2faf62;
  background-color: #fff;
}

.btn-success {
  color: #fff;
  background-color: #5cb85c;
  border-color: rgb(76.0064102564, 174.4935897436, 76.0064102564);
}
.btn-success:focus, .btn-success.focus {
  color: #fff;
  background-color: rgb(68.2692307692, 156.7307692308, 68.2692307692);
  border-color: rgb(37.3205128205, 85.6794871795, 37.3205128205);
}
.btn-success:hover {
  color: #fff;
  background-color: rgb(68.2692307692, 156.7307692308, 68.2692307692);
  border-color: rgb(57.4371794872, 131.8628205128, 57.4371794872);
}
.btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle {
  color: #fff;
  background-color: rgb(68.2692307692, 156.7307692308, 68.2692307692);
  border-color: rgb(57.4371794872, 131.8628205128, 57.4371794872);
}
.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(57.4371794872, 131.8628205128, 57.4371794872);
  border-color: rgb(37.3205128205, 85.6794871795, 37.3205128205);
}
.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(76.0064102564, 174.4935897436, 76.0064102564);
}
.btn-success .badge {
  color: #5cb85c;
  background-color: #fff;
}

.btn-info {
  color: #fff;
  background-color: #5bc0de;
  border-color: rgb(69.7715736041, 183.845177665, 217.7284263959);
}
.btn-info:focus, .btn-info.focus {
  color: #fff;
  background-color: rgb(48.5431472081, 175.6903553299, 213.4568527919);
  border-color: rgb(26.8020304569, 108.8324873096, 133.1979695431);
}
.btn-info:hover {
  color: #fff;
  background-color: rgb(48.5431472081, 175.6903553299, 213.4568527919);
  border-color: rgb(37.9081218274, 153.9299492386, 188.3918781726);
}
.btn-info:active, .btn-info.active, .open > .btn-info.dropdown-toggle {
  color: #fff;
  background-color: rgb(48.5431472081, 175.6903553299, 213.4568527919);
  border-color: rgb(37.9081218274, 153.9299492386, 188.3918781726);
}
.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(37.9081218274, 153.9299492386, 188.3918781726);
  border-color: rgb(26.8020304569, 108.8324873096, 133.1979695431);
}
.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(69.7715736041, 183.845177665, 217.7284263959);
}
.btn-info .badge {
  color: #5bc0de;
  background-color: #fff;
}

.btn-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: rgb(238.0078125, 162.109375, 54.4921875);
}
.btn-warning:focus, .btn-warning.focus {
  color: #fff;
  background-color: rgb(236.015625, 151.21875, 30.984375);
  border-color: rgb(152.109375, 94.53125, 12.890625);
}
.btn-warning:hover {
  color: #fff;
  background-color: rgb(236.015625, 151.21875, 30.984375);
  border-color: rgb(213.2296875, 132.515625, 18.0703125);
}
.btn-warning:active, .btn-warning.active, .open > .btn-warning.dropdown-toggle {
  color: #fff;
  background-color: rgb(236.015625, 151.21875, 30.984375);
  border-color: rgb(213.2296875, 132.515625, 18.0703125);
}
.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(213.2296875, 132.515625, 18.0703125);
  border-color: rgb(152.109375, 94.53125, 12.890625);
}
.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(238.0078125, 162.109375, 54.4921875);
}
.btn-warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}

.btn-danger {
  color: #fff;
  background-color: #d9534f;
  border-color: rgb(212.4719626168, 62.5046728972, 58.0280373832);
}
.btn-danger:focus, .btn-danger.focus {
  color: #fff;
  background-color: rgb(201.4953271028, 48.0841121495, 43.5046728972);
  border-color: rgb(117.6074766355, 28.0654205607, 25.3925233645);
}
.btn-danger:hover {
  color: #fff;
  background-color: rgb(201.4953271028, 48.0841121495, 43.5046728972);
  border-color: rgb(172.1345794393, 41.0775700935, 37.1654205607);
}
.btn-danger:active, .btn-danger.active, .open > .btn-danger.dropdown-toggle {
  color: #fff;
  background-color: rgb(201.4953271028, 48.0841121495, 43.5046728972);
  border-color: rgb(172.1345794393, 41.0775700935, 37.1654205607);
}
.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(172.1345794393, 41.0775700935, 37.1654205607);
  border-color: rgb(117.6074766355, 28.0654205607, 25.3925233645);
}
.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(212.4719626168, 62.5046728972, 58.0280373832);
}
.btn-danger .badge {
  color: #d9534f;
  background-color: #fff;
}

.btn-link {
  color: #2faf62;
  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(30.8040540541, 114.6959459459, 64.2297297297);
  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: #eeeeee;
  text-decoration: none;
}

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

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

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

.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: #ffffff;
  border: 1px solid #d9d9d9;
  border: 1px solid #d9d9d9;
  border-radius: 0;
  -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: #d9d9d9;
}
.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: #777777;
  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: #777777;
  background-color: #f9f9f9;
}

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

.dropdown-menu > .disabled > a, .leaflet-control-layers .leaflet-control-layers-list > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {
  color: #aaaaaa;
}
.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: #777777;
  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: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:last-child:not(:first-child) {
  border-bottom-left-radius: 0;
  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 {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
}

.input-group-addon,
.input-group-btn,
.input-group .form-control {
  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) {
  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: #555555;
  text-align: center;
  background-color: #f9f9f9;
  border: 1px solid transparent;
  border-radius: 0;
}
.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: 2;
}
.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: 0;
}
.input-group-addon input[type=radio],
.input-group-addon input[type=checkbox] {
  margin-top: 0;
}

.input-group .form-control: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-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: #ffffff;
}
.nav > li.disabled > a {
  color: #aaaaaa;
}
.nav > li.disabled > a:hover {
  color: #aaaaaa;
  text-decoration: none;
  background-color: transparent;
  cursor: not-allowed;
}
.nav .open > a, .nav .open > a:hover {
  background-color: #ffffff;
  border-color: #2faf62;
}
.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: 0 0 0 0;
}
.nav-tabs > li > a:hover {
  border-color: #ffffff #ffffff transparent;
}
.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
  color: #202020;
  background-color: #ffffff;
  border: 1px solid #ffffff;
  border-bottom-color: transparent;
  cursor: default;
}
.nav-pills > li {
  float: left;
}
.nav-pills > li > a {
  border-radius: 0;
}
.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: #2faf62;
}

.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: 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: 1px solid #d9d9d9;
}
@media (min-width: 768px) {
  .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {
    border-bottom: 1px solid #d9d9d9;
    border-radius: 0 0 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: #ffffff;
  }
}

.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: 0;
}
.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 {
    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 {
    width: auto;
  }
  .navbar-form .input-group > .form-control {
    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: #ffffff;
  border-color: #d9d9d9;
}
.navbar-default .navbar-brand {
  color: #202020;
}
.navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus {
  color: #2faf62;
  background-color: #ffffff;
}
.navbar-default .navbar-text {
  color: #202020;
}
.navbar-default .navbar-nav > li > a {
  color: #202020;
}
.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {
  color: #2faf62;
  background-color: #f9f9f9;
}
.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {
  color: #2faf62;
  background-color: #f9f9f9;
}
.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: #d9d9d9;
}
.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
  background-color: #f9f9f9;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #2faf62;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #d9d9d9;
}
.navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus {
  background-color: #f9f9f9;
  color: #2faf62;
}
@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: #202020;
  }
  .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: #2faf62;
    background-color: #f9f9f9;
  }
  .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: #2faf62;
    background-color: #f9f9f9;
  }
  .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: #202020;
}
.navbar-default .navbar-link:hover {
  color: #2faf62;
}
.navbar-default .btn-link {
  color: #202020;
}
.navbar-default .btn-link:hover, .navbar-default .btn-link:focus {
  color: #2faf62;
}
.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(8.5, 8.5, 8.5);
}
.navbar-inverse .navbar-brand {
  color: white;
}
.navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-text {
  color: white;
}
.navbar-inverse .navbar-nav > li > a {
  color: white;
}
.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(8.5, 8.5, 8.5);
}
.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(16.15, 16.15, 16.15);
}
.navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus {
  background-color: rgb(8.5, 8.5, 8.5);
  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(8.5, 8.5, 8.5);
  }
  .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(8.5, 8.5, 8.5);
  }
  .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: white;
  }
  .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(8.5, 8.5, 8.5);
  }
  .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: white;
}
.navbar-inverse .navbar-link:hover {
  color: #fff;
}
.navbar-inverse .btn-link {
  color: white;
}
.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: 0;
}
.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: #202020;
  background-color: #ffffff;
  border: 1px solid transparent;
  margin-left: -1px;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.pagination > li > a:hover, .pagination > li > a:focus,
.pagination > li > span:hover,
.pagination > li > span:focus {
  z-index: 3;
  color: #202020;
  background-color: #f9f9f9;
  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: #2faf62;
  background-color: #f9f9f9;
  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: #aaaaaa;
  background-color: #ffffff;
  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: 0;
  border-top-left-radius: 0;
}
.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

.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: 2;
  border-top-left-radius: 2;
}
.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-bottom-right-radius: 2;
  border-top-right-radius: 2;
}

.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: #eeeeee;
}
.label-default[href]:hover, .label-default[href]:focus {
  background-color: rgb(212.5, 212.5, 212.5);
}

.label-primary {
  background-color: #2faf62;
}
.label-primary[href]:hover, .label-primary[href]:focus {
  background-color: rgb(36.2027027027, 134.7972972973, 75.4864864865);
}

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

.label-info {
  background-color: #5bc0de;
}
.label-info[href]:hover, .label-info[href]:focus {
  background-color: rgb(48.5431472081, 175.6903553299, 213.4568527919);
}

.label-warning {
  background-color: #f0ad4e;
}
.label-warning[href]:hover, .label-warning[href]:focus {
  background-color: rgb(236.015625, 151.21875, 30.984375);
}

.label-danger {
  background-color: #d9534f;
}
.label-danger[href]:hover, .label-danger[href]:focus {
  background-color: rgb(201.4953271028, 48.0841121495, 43.5046728972);
}

.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: #eeeeee;
  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: #2faf62;
  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: #f9f9f9;
  border: 1px solid #d9d9d9;
  border-radius: 2;
  -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: #202020;
}

a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #2faf62;
}

.alert, .help-block {
  padding: 15px;
  margin-bottom: 17px;
  border: 1px solid transparent;
  border-radius: 0;
}
.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(213.7777777778, 232.9166666667, 197.5833333333);
  color: #3c763d;
}
.alert-success hr {
  border-top-color: rgb(200.5555555556, 225.8333333333, 179.1666666667);
}
.alert-success .alert-link {
  color: rgb(42.808988764, 84.191011236, 43.5224719101);
}

.alert-info {
  background-color: #d9edf7;
  border-color: rgb(187.5086956522, 231.9108695652, 240.7913043478);
  color: #31708f;
}
.alert-info hr {
  border-top-color: rgb(166.4434782609, 224.7043478261, 236.3565217391);
}
.alert-info .alert-link {
  color: rgb(35.984375, 82.25, 105.015625);
}

.alert-warning {
  background-color: #fcf8e3;
  border-color: rgb(249.5322580645, 234.6478494624, 203.9677419355);
  color: #8a6d3b;
}
.alert-warning hr {
  border-top-color: rgb(247.064516129, 225.4623655914, 180.935483871);
}
.alert-warning .alert-link {
  color: rgb(102.2741116751, 80.7817258883, 43.7258883249);
}

.alert-danger, .help-block.error {
  background-color: #f2dede;
  border-color: rgb(234.7934782609, 203.7065217391, 208.8876811594);
  color: #a94442;
}
.alert-danger hr, .help-block.error hr {
  border-top-color: rgb(227.5869565217, 185.4130434783, 192.4420289855);
}
.alert-danger .alert-link, .help-block.error .alert-link {
  color: rgb(132.3234042553, 53.2425531915, 51.6765957447);
}

@-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: 0;
  -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;
  background-color: #2faf62;
  -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: #fff;
  border: 1px solid #ddd;
}
.list-group-item:first-child, .list-group > li:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.list-group-item:last-child, .list-group > li:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

a.list-group-item,
button.list-group-item {
  color: #555;
}
a.list-group-item .list-group-item-heading,
button.list-group-item .list-group-item-heading {
  color: #333;
}
a.list-group-item:hover, a.list-group-item:focus,
button.list-group-item:hover,
button.list-group-item:focus {
  text-decoration: none;
  color: #555;
  background-color: #f5f5f5;
}

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: #f9f9f9;
  color: #eeeeee;
  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: #eeeeee;
}
.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: #2faf62;
  border-color: #2faf62;
}
.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(188.7837837838, 237.2162162162, 208.0810810811);
}

.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(207.8888888889, 232.9166666667, 197.5833333333);
}
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(195.9347826087, 227.0217391304, 242.5652173913);
}
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(249.5322580645, 242.2419354839, 203.9677419355);
}
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(234.7934782609, 203.7065217391, 203.7065217391);
}
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: #ffffff;
  border: 1px solid transparent;
  border-radius: 0;
  -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: -1;
  border-top-left-radius: -1;
}
.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: #f9f9f9;
  border-top: 1px solid #d9d9d9;
  border-bottom-right-radius: -1;
  border-bottom-left-radius: -1;
}

.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: -1;
  border-top-left-radius: -1;
}
.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: -1;
  border-bottom-left-radius: -1;
}
.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: -1;
  border-top-left-radius: -1;
}
.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: -1;
  border-top-right-radius: -1;
}
.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: -1;
}
.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: -1;
}
.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: -1;
  border-bottom-left-radius: -1;
}
.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: -1;
  border-bottom-right-radius: -1;
}
.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: -1;
}
.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: -1;
}
.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 #d9d9d9;
}
.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: 0;
}
.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 #d9d9d9;
}
.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 #d9d9d9;
}

.panel-default, .plan, #widgets .widget {
  border-color: #d9d9d9;
}
.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: #777777;
  background-color: #f9f9f9;
  border-color: #d9d9d9;
}
.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: #d9d9d9;
}
.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: #f9f9f9;
  background-color: #777777;
}
.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: #d9d9d9;
}

.panel-primary {
  border-color: #2faf62;
}
.panel-primary > .panel-heading, .plan .panel-primary > .plan-heading, #widgets .panel-primary > .widget-heading {
  color: #fff;
  background-color: #2faf62;
  border-color: #2faf62;
}
.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: #2faf62;
}
.panel-primary > .panel-heading .badge, .plan .panel-primary > .plan-heading .badge, #widgets .panel-primary > .widget-heading .badge {
  color: #2faf62;
  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: #2faf62;
}

.panel-success {
  border-color: rgb(213.7777777778, 232.9166666667, 197.5833333333);
}
.panel-success > .panel-heading, .plan .panel-success > .plan-heading, #widgets .panel-success > .widget-heading {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: rgb(213.7777777778, 232.9166666667, 197.5833333333);
}
.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(213.7777777778, 232.9166666667, 197.5833333333);
}
.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(213.7777777778, 232.9166666667, 197.5833333333);
}

.panel-info {
  border-color: rgb(187.5086956522, 231.9108695652, 240.7913043478);
}
.panel-info > .panel-heading, .plan .panel-info > .plan-heading, #widgets .panel-info > .widget-heading {
  color: #31708f;
  background-color: #d9edf7;
  border-color: rgb(187.5086956522, 231.9108695652, 240.7913043478);
}
.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(187.5086956522, 231.9108695652, 240.7913043478);
}
.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(187.5086956522, 231.9108695652, 240.7913043478);
}

.panel-warning {
  border-color: rgb(249.5322580645, 234.6478494624, 203.9677419355);
}
.panel-warning > .panel-heading, .plan .panel-warning > .plan-heading, #widgets .panel-warning > .widget-heading {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: rgb(249.5322580645, 234.6478494624, 203.9677419355);
}
.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(249.5322580645, 234.6478494624, 203.9677419355);
}
.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(249.5322580645, 234.6478494624, 203.9677419355);
}

.panel-danger {
  border-color: rgb(234.7934782609, 203.7065217391, 208.8876811594);
}
.panel-danger > .panel-heading, .plan .panel-danger > .plan-heading, #widgets .panel-danger > .widget-heading {
  color: #a94442;
  background-color: #f2dede;
  border-color: rgb(234.7934782609, 203.7065217391, 208.8876811594);
}
.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(234.7934782609, 203.7065217391, 208.8876811594);
}
.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(234.7934782609, 203.7065217391, 208.8876811594);
}

.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: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.2;
  filter: alpha(opacity=20);
}
.close:hover, button.ui-dialog-titlebar-close:hover, .close:focus, button.ui-dialog-titlebar-close:focus {
  color: #000;
  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: #ffffff;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0;
  -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: 1070;
  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: 0;
}

.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 .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 .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: #ffffff;
  margin: 1px;
  margin-right: 5px;
  padding: 3px;
  font-size: 10px;
  line-height: 1;
  border-radius: 2;
  -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 #d9d9d9;
  border-radius: 2;
}
.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: #eeeeee;
  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: #ffffff;
  margin: 1px;
  margin-right: 5px;
  padding: 3px;
  font-size: 10px;
  line-height: 1;
  border-radius: 2;
  -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 #d9d9d9;
  border-radius: 2;
}
.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: #eeeeee;
  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: #fff;
  background-color: #2faf62;
}
.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: #2faf62;
  border-color: #2faf62;
}

.checkbox input[type=checkbox]:checked + label::before,
.checkbox input[type=radio]:checked + label::before {
  color: #fff;
  background-color: #2faf62;
}
.checkbox input[type=checkbox]:checked + label::after,
.checkbox input[type=radio]:checked + label::after {
  background-color: #2faf62;
  border-color: #2faf62;
}

.checkbox-primary input[type=checkbox]:checked + label::before,
.checkbox-primary input[type=radio]:checked + label::before {
  color: #fff;
  background-color: #2faf62;
}
.checkbox-primary input[type=checkbox]:checked + label::after,
.checkbox-primary input[type=radio]:checked + label::after {
  background-color: #2faf62;
  border-color: #2faf62;
}

.checkbox-danger input[type=checkbox]:checked + label::before,
.checkbox-danger input[type=radio]:checked + label::before {
  color: #fff;
  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: #fff;
  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: #fff;
  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: #fff;
  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;
}
.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: #ffffff;
  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 #d9d9d9;
  background-color: #ffffff;
  -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: #2faf62;
}
.radio-inline input[type=radio]:checked + label::after {
  border-color: #2faf62;
}

.radio input[type=radio]:checked + label::before {
  background-color: #2faf62;
}
.radio input[type=radio]:checked + label::after {
  border-color: #2faf62;
}

.radio-primary input[type=radio]:checked + label::before {
  background-color: #2faf62;
}
.radio-primary input[type=radio]:checked + label::after {
  border-color: #2faf62;
}

.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: 0;
}
.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 #d9d9d9;
  border-top: 0;
  border-bottom-color: #d9d9d9;
  position: absolute;
}
.datepicker.datepicker-dropdown:after {
  content: "";
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #ffffff;
  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 #d9d9d9;
}
.datepicker.datepicker-dropdown.datepicker-orient-top:after {
  bottom: -6px;
  border-bottom: 0;
  border-top: 6px solid #ffffff;
}
.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: 0;
  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: #f9f9f9;
  cursor: pointer;
}
.datepicker table tr td.old, .datepicker table tr td.new {
  color: #eeeeee;
}
.datepicker table tr td.disabled, .datepicker table tr td.disabled:hover {
  background: none;
  color: #eeeeee;
  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(35.345177665, 143.5228426396, 175.654822335);
}
.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(25.0934010152, 101.8944162437, 124.7065989848);
}
.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(57.0345177665, 178.952284264, 215.1654822335);
  border-color: rgb(25.0934010152, 101.8944162437, 124.7065989848);
}
.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: #f9f9f9;
  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(35.345177665, 143.5228426396, 175.654822335);
}
.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(25.0934010152, 101.8944162437, 124.7065989848);
}
.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(57.0345177665, 178.952284264, 215.1654822335);
  border-color: rgb(25.0934010152, 101.8944162437, 124.7065989848);
}
.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: #eeeeee;
  border-color: #dddddd;
}
.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: #eeeeee;
  border-color: rgb(190.4, 190.4, 190.4);
}
.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(217.6, 217.6, 217.6);
  border-color: rgb(190.4, 190.4, 190.4);
}
.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: #2faf62;
  border-color: #2faf62;
}
.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: #2faf62;
  border-color: rgb(34.0432432432, 126.7567567568, 70.9837837838);
}
.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(38.3621621622, 142.8378378378, 79.9891891892);
  border-color: rgb(34.0432432432, 126.7567567568, 70.9837837838);
}
.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: 0;
}
.datepicker table tr td span:hover {
  background: #f9f9f9;
}
.datepicker table tr td span.disabled, .datepicker table tr td span.disabled:hover {
  background: none;
  color: #eeeeee;
  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: #2faf62;
  border-color: rgb(41.6013513514, 154.8986486486, 86.7432432432);
}
.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: #2faf62;
  border-color: rgb(28.6445945946, 106.6554054054, 59.727027027);
}
.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(38.3621621622, 142.8378378378, 79.9891891892);
  border-color: rgb(28.6445945946, 106.6554054054, 59.727027027);
}
.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: #eeeeee;
}
.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: #f9f9f9;
}
.datepicker thead tr:first-child th,
.datepicker tfoot tr th {
  cursor: pointer;
  color: #2faf62;
}
.datepicker thead tr:first-child th:hover,
.datepicker tfoot tr th:hover {
  background: #f9f9f9;
}
.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: #f9f9f9;
  border: solid transparent;
  border-width: 1px 0;
  margin-left: -5px;
  margin-right: -5px;
}

.datetimepicker {
  white-space: normal;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  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: #f9f9f9;
  cursor: pointer;
}
.datetimepicker table tr td.hour:hover {
  background: #f9f9f9;
  cursor: pointer;
}
.datetimepicker table tr td.day:hover {
  background: #f9f9f9;
  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: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.datetimepicker table tr td span:hover {
  background: #f9f9f9;
}
.datetimepicker table tr td span.old {
  color: #eeeeee;
}
.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 #d9d9d9;
  position: absolute;
}

[class*=datetimepicker-dropdown]:after {
  content: "";
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #ffffff;
  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 #d9d9d9;
  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 #ffffff;
  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: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  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: #eeeeee;
}

.datetimepicker table tr td.disabled,
.datetimepicker table tr td.disabled:hover {
  background: none;
  color: #eeeeee;
  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: #2faf62;
  background-image: -moz-linear-gradient(top, #2faf62, #2faf62);
  background-image: -ms-linear-gradient(top, #2faf62, #2faf62);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#2faf62), to(#2faf62));
  background-image: -webkit-linear-gradient(top, #2faf62, #2faf62);
  background-image: -o-linear-gradient(top, #2faf62, #2faf62);
  background-image: linear-gradient(top, #2faf62, #2faf62);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='$btn-primary-bg', endColorstr='$btn-primary-bg', GradientType=0);
  border-color: #2faf62 #2faf62 #2faf62;
  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: #2faf62;
}

.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: #2faf62 \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: #eeeeee;
  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: #2faf62;
  background-image: -moz-linear-gradient(top, #2faf62, #2faf62);
  background-image: -ms-linear-gradient(top, #2faf62, #2faf62);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#2faf62), to(#2faf62));
  background-image: -webkit-linear-gradient(top, #2faf62, #2faf62);
  background-image: -o-linear-gradient(top, #2faf62, #2faf62);
  background-image: linear-gradient(top, #2faf62, #2faf62);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='$btn-primary-bg', endColorstr='$btn-primary-bg', GradientType=0);
  border-color: #2faf62 #2faf62 #2faf62;
  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: #2faf62;
}

.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: #2faf62 \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: #f9f9f9;
}

.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: #cccccc;
}
.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: #202020;
  background-color: #ffffff;
  border-color: #d9d9d9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(217, 217, 217, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(217, 217, 217, 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 {
  margin-bottom: 0;
  padding: 0;
  border: none;
}
.bootstrap-select.form-control:not([class*=col-]) {
  width: 100%;
}
.bootstrap-select.form-control.input-group-btn {
  z-index: auto;
}
.bootstrap-select.form-control.input-group-btn:not(:first-child):not(:last-child) > .btn {
  border-radius: 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-sm .bootstrap-select.btn-group.form-control {
  padding: 0;
}
.form-group-lg .bootstrap-select.btn-group.form-control .dropdown-toggle, .form-group-sm .bootstrap-select.btn-group.form-control .dropdown-toggle {
  height: 100%;
  font-size: inherit;
  line-height: inherit;
  border-radius: inherit;
}
.form-inline .bootstrap-select.btn-group .form-control {
  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: 1060;
}
.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: #f9f9f9;
  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: 1061;
}
.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 #d9d9d9;
  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 #ffffff;
  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 #d9d9d9;
  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 #ffffff;
  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 {
  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, .bootstrap-select.form-control .leaflet-control-layers .inner.leaflet-control-layers-list > li, .leaflet-control-layers .bootstrap-select.form-control .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, .bootstrap-select.form-control .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 {
  background: #f9f9f9;
  padding: 6px 12px;
  margin: 0;
}
.bootstrap-select.form-control .dropdown-menu.inner > li.divider, .bootstrap-select.form-control .leaflet-control-layers .inner.leaflet-control-layers-list > li.divider, .leaflet-control-layers .bootstrap-select.form-control .inner.leaflet-control-layers-list > li.divider {
  display: none;
}

.bootstrap-select.form-control.multiexpand {
  height: auto;
}
.bootstrap-select.form-control.multiexpand > .dropdown-toggle {
  display: none;
}
.bootstrap-select.form-control.multiexpand > .dropdown-menu, .leaflet-control-layers .bootstrap-select.form-control.multiexpand > .leaflet-control-layers-list {
  display: block;
  position: relative;
  box-shadow: none;
}
.bootstrap-select.form-control.multiexpand .dropdown-menu, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .leaflet-control-layers-list {
  max-width: 100%;
  z-index: 1;
}
.bootstrap-select.form-control.multiexpand .dropdown-menu.inner, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list {
  min-height: 160px;
  max-height: 160px;
  overflow: auto;
}
.bootstrap-select.form-control.multiexpand .dropdown-menu.inner:before, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list:before, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list:before, .bootstrap-select.form-control.multiexpand .dropdown-menu.inner:after, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list:after, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list:after {
  content: " ";
  display: table;
}
.bootstrap-select.form-control.multiexpand .dropdown-menu.inner:after, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list:after, .leaflet-control-layers .bootstrap-select.form-control.multiexpand .inner.leaflet-control-layers-list:after {
  clear: both;
}
.bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li, .bootstrap-select.form-control.multiexpand .leaflet-control-layers .inner.leaflet-control-layers-list > li, .leaflet-control-layers .bootstrap-select.form-control.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, .bootstrap-select.form-control.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 {
  width: 100%;
  min-width: 1px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li.no-results, .bootstrap-select.form-control.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, .bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li.dropdown-header, .bootstrap-select.form-control.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 {
  background: #f9f9f9;
  padding: 6px 12px;
  margin: 0;
}
.bootstrap-select.form-control.multiexpand .dropdown-menu.inner > li.divider, .bootstrap-select.form-control.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 {
  display: none;
}
.bootstrap-select.form-control.multiexpand .bs-donebutton {
  display: none;
}
.bootstrap-select.form-control.multiexpand .bs-searchbox,
.bootstrap-select.form-control.multiexpand .bs-actionsbox {
  width: 50%;
  float: right;
  margin: 0;
}
.bootstrap-select.form-control.multiexpand .bs-actionsbox {
  float: left;
}
.bootstrap-select.form-control.multiexpand .bs-actionsbox .btn {
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.428571429;
  border-radius: 0;
}

/*!
 * 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: #ffffff;
  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: #d9d9d9;
}
.leaf-device-marker .name:after {
  border: 10px solid transparent;
  left: calc(50% - 10px);
  bottom: -9px;
  border-bottom: 0;
  border-top-color: #ffffff;
}
.leaf-device-marker .name i {
  font-style: normal;
  display: inline-block;
  white-space: nowrap;
  background: #ffffff;
  padding: 4px 8px;
  border: 1px solid #d9d9d9;
  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 #d9d9d9;
  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 #d9d9d9;
  opacity: 0.8;
}
.leaflet-popup-route .leaflet-popup-tip-container {
  display: none;
}

.leaflet-popup-event,
.leaflet-popup-history {
  min-width: 270px;
}

.leaflet-control-layers {
  position: relative;
}
.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: #ffffff;
  margin: 1px;
  margin-right: 5px;
  padding: 3px;
  font-size: 10px;
  line-height: 1;
  border-radius: 2;
  -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 #d9d9d9;
  border-radius: 2;
}
.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: #eeeeee;
  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: #fff;
  background-color: #2faf62;
}
.leaflet-control-layers label div input[type=checkbox]:checked + span::after,
.leaflet-control-layers label div input[type=radio]:checked + span::after {
  background-color: #2faf62;
  border-color: #2faf62;
}
.leaflet-control-layers label div {
  padding: 6px 13px;
}

.leaflet-control-layers-expanded .leaflet-control-layers-list {
  display: block;
}

.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: #2faf62 #2faf62 transparent #2faf62;
}
.cluster .cluster-inner b {
  color: #ffffff;
  display: block;
  position: absolute;
  background: #2faf62;
  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: #2faf62 #2faf62 transparent #2faf62;
}
.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: #ffffff;
  -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: #f9f9f9;
}
.popup-header .nav-tabs {
  float: right;
}
.popup-header .popup-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  color: #202020;
  padding: 10px;
}

.popup-body {
  background: #ffffff;
  padding: 8px;
  color: #595959;
  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 #d9d9d9;
  background: #ffffff;
  overflow: auto;
}

.autocomplete-suggestion {
  padding: 2px 5px;
  white-space: nowrap;
  overflow: hidden;
}

.autocomplete-selected {
  background: #f9f9f9;
}

.autocomplete-suggestions strong {
  font-weight: normal;
  color: #777777;
}

.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 #777777;
}
.iti__arrow--up {
  border-top: none;
  border-bottom: 4px solid #777777;
}
.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: #ffffff;
  border: 1px solid #d9d9d9;
  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 #d9d9d9;
}
.iti__country {
  padding: 5px 10px;
  outline: none;
}
.iti__dial-code {
  color: #777777;
}
.iti__country.iti__highlight {
  background-color: #f9f9f9;
}
.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: #f9f9f9;
}
.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: #f9f9f9;
}
.iti--separate-dial-code .iti__selected-dial-code {
  margin-left: 6px;
}
.iti--container {
  position: absolute;
  top: -1000px;
  left: -1000px;
  z-index: 1060;
  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: #dddddd;
  border: 1px solid #dddddd;
  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: #999999;
  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: #2faf62;
}

.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: #dddddd;
  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: #202020;
  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 #d9d9d9;
}

.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: #ffffff;
    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: #ffffff;
    border-bottom: 1px solid #d9d9d9;
  }
  #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 #d9d9d9;
  }
  #header.folded .navbar .navbar-brand:after {
    border-left: 90px solid #ffffff;
    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 #d9d9d9;
  }
  #header.folded .navbar .navbar-nav:after {
    border-right: 90px solid #ffffff;
    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, .bootstrap-select.form-control.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, .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, .bootstrap-select.form-control.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, .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: #f9f9f9;
  border: 1px solid #ffffff;
}
.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, .bootstrap-select.form-control.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, .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: #dddddd;
  border: 1px solid #ffffff;
}

body {
  scrollbar-face-color: #f9f9f9;
  scrollbar-track-color: #dddddd;
}

#sidebar {
  position: absolute;
  z-index: 999;
  bottom: 0;
  left: 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 #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 {
  overflow: hidden;
}
#sidebar.collapsed .sidebar-content .group, #widgets.collapsed #sidebar.btn-collapse .sidebar-content .group {
  display: none;
}
#sidebar .sidebar-content {
  background: #ffffff;
  border-right: 1px solid #d9d9d9;
  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 .nav-tabs > li > a[href="#events_tab"] {
  border-radius: 12px 12px 0 0;
}
#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 .tab-pane-header .input-group-btn > .btn-default:not(.active), #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-default:not(.active):hover, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-default:not(.active):focus, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-default:not(.active).focus, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-default:not(.active):active, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-default:not(.active):active:hover, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-default:not(.active):active:focus, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-default:not(.active):active.focus {
  color: #777777;
  background-color: #eeeeee;
  border-color: #eeeeee;
  box-shadow: none;
}
#sidebar #events_tab .tab-pane-header .input-group-btn > .btn-default.active, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-default.active:hover, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-default.active:focus, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-default.active.focus, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-default.active:active, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-default.active:active:hover, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-default.active:active:focus, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-default.active:active.focus {
  color: #ffffff;
  background-color: #2faf62;
  border-color: #2faf62;
  box-shadow: none;
}
#sidebar #events_tab .tab-pane-header .input-group-btn > .btn-primary, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-action, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-primary:hover, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-primary:focus, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-primary.focus, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-primary:active, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-primary.active, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-primary:active:hover, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-primary:active:focus, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-primary:active.focus, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-primary.active:hover, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-primary.active:focus, #sidebar #events_tab .tab-pane-header .input-group-btn > .btn-primary.active.focus {
  color: #fff;
  background-color: #2faf62;
  border-color: rgb(41.6013513514, 154.8986486486, 86.7432432432);
  box-shadow: none;
}
#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: #f9f9f9;
  -moz-box-shadow: inset 0 10px 10px -10px #cccccc, inset 0 -10px 10px -10px #cccccc;
  -webkit-box-shadow: inset 0 10px 10px -10px #cccccc, inset 0 -10px 10px -10px #cccccc;
  box-shadow: inset 0 10px 10px -10px #cccccc, inset 0 -10px 10px -10px #cccccc;
}
.history .table {
  margin-bottom: 0;
}
.history .table tr.active > td {
  background: #ffffff;
}
.history .badge-history {
  display: inline-block;
  min-width: 14px;
  padding: 1px;
  font-size: 10px;
  font-weight: 400;
  color: #666666;
  background-color: #ffffff;
  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: #202020;
  background-color: transparent;
  border-color: transparent;
}
.nav-tabs.nav-transparent > li.active > a {
  color: #2faf62;
}
.nav-tabs.nav-transparent > li.active:after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 3px;
  left: 0;
  bottom: 0px;
  background: #2faf62;
  box-sizing: border-box;
}

.nav-default {
  font-weight: normal;
  background-color: #f9f9f9;
}
.nav-default > li > a {
  color: #777777;
  background-color: #eeeeee;
  border-color: transparent;
  border-radius: 0 0 0 0;
}
.nav-default > li.complete > a, .nav-default > li.complete > a:hover, .nav-default > li.complete > a:focus {
  color: #202020;
  background-color: #ffffff;
  cursor: default;
}
.nav-default > li.active:after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 3px;
  left: 0;
  bottom: 0px;
  background: #2faf62;
  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: #777777;
}
.nav-background > li > a:hover, .nav-icons > li > a:hover {
  color: #2faf62;
}
.nav-background > li.active > a, .nav-icons > li.active > a {
  color: #2faf62;
}

.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: #dddddd;
}
.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: #ffffff;
  position: absolute;
  top: 0;
  z-index: 1;
}
.coll .navbar-default {
  height: 10px;
  background: transparent;
}
.coll .navbar-default .navbar-header {
  background-color: #ffffff;
}
.coll .navbar-default .navbar-brand {
  background-color: #ffffff;
}
.coll .navbar-default .navbar-nav {
  background-color: #ffffff;
}
.coll .navbar-default .navbar-nav > li > a .icon + .text {
  display: none;
}

.navbar-main, #header .main-navbar {
  font-size: 13px;
  font-weight: normal;
  background-color: #ffffff;
  border-color: #d9d9d9;
}
.navbar-main .navbar-brand, #header .main-navbar .navbar-brand {
  color: #202020;
}
.navbar-main .navbar-brand:hover, #header .main-navbar .navbar-brand:hover, .navbar-main .navbar-brand:focus, #header .main-navbar .navbar-brand:focus {
  color: #2faf62;
  background-color: #ffffff;
}
.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: #202020;
}
.navbar-main .navbar-nav > li > a > .icon, #header .main-navbar .navbar-nav > li > a > .icon {
  color: #dddddd;
}
.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: #202020;
}
.navbar-main .navbar-nav > li > a:hover, #header .main-navbar .navbar-nav > li > a:hover, .navbar-main .navbar-nav > li > a:focus, #header .main-navbar .navbar-nav > li > a:focus {
  color: #2faf62;
  background-color: #f9f9f9;
}
.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:focus {
  color: #2faf62;
  background-color: #f9f9f9;
}
.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:focus {
  color: #ccc;
  background-color: transparent;
}
.navbar-main .navbar-toggle, #header .main-navbar .navbar-toggle {
  border-color: #d9d9d9;
}
.navbar-main .navbar-toggle:hover, #header .main-navbar .navbar-toggle:hover, .navbar-main .navbar-toggle:focus, #header .main-navbar .navbar-toggle:focus {
  background-color: #f9f9f9;
}
.navbar-main .navbar-toggle .icon-bar, #header .main-navbar .navbar-toggle .icon-bar {
  background-color: #2faf62;
}
.navbar-main .navbar-collapse, #header .main-navbar .navbar-collapse,
.navbar-main .navbar-form,
#header .main-navbar .navbar-form {
  border-color: #d9d9d9;
}
.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:focus {
  background-color: #f9f9f9;
  color: #2faf62;
}
@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: #202020;
  }
  .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:focus, #header .main-navbar .navbar-nav .open .dropdown-menu > li > a:focus, .navbar-main .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a:focus, .leaflet-control-layers .navbar-main .navbar-nav .open .leaflet-control-layers-list > li > a:focus, #header .main-navbar .navbar-nav .open .leaflet-control-layers .leaflet-control-layers-list > li > a:focus, .leaflet-control-layers #header .main-navbar .navbar-nav .open .leaflet-control-layers-list > li > a:focus {
    color: #2faf62;
    background-color: #f9f9f9;
  }
  .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:focus {
    color: #2faf62;
    background-color: #f9f9f9;
  }
  .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:focus {
    color: #ccc;
    background-color: transparent;
  }
}
.navbar-main .navbar-link, #header .main-navbar .navbar-link {
  color: #202020;
}
.navbar-main .navbar-link:hover, #header .main-navbar .navbar-link:hover {
  color: #2faf62;
}
.navbar-main .btn-link, #header .main-navbar .btn-link {
  color: #202020;
}
.navbar-main .btn-link:hover, #header .main-navbar .btn-link:hover, .navbar-main .btn-link:focus, #header .main-navbar .btn-link:focus {
  color: #2faf62;
}
.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: #eeeeee;
  color: #777777;
}

.btn-secondary {
  color: #2faf62;
  background-color: #ffffff;
  border-color: rgb(41.6013513514, 154.8986486486, 86.7432432432);
}
.btn-secondary:focus, .btn-secondary.focus {
  color: #2faf62;
  background-color: rgb(229.5, 229.5, 229.5);
  border-color: rgb(14.6081081081, 54.3918918919, 30.4594594595);
}
.btn-secondary:hover {
  color: #2faf62;
  background-color: rgb(229.5, 229.5, 229.5);
  border-color: rgb(28.6445945946, 106.6554054054, 59.727027027);
}
.btn-secondary:active, .btn-secondary.active, .open > .btn-secondary.dropdown-toggle {
  color: #2faf62;
  background-color: rgb(229.5, 229.5, 229.5);
  border-color: rgb(28.6445945946, 106.6554054054, 59.727027027);
}
.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: #2faf62;
  background-color: rgb(211.65, 211.65, 211.65);
  border-color: rgb(14.6081081081, 54.3918918919, 30.4594594595);
}
.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: #ffffff;
  border-color: rgb(41.6013513514, 154.8986486486, 86.7432432432);
}
.btn-secondary .badge {
  color: #ffffff;
  background-color: #2faf62;
}

.btn-collapse {
  display: block;
  position: absolute;
  color: #aaaaaa;
  background: #f9f9f9;
  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 #f9f9f9;
  border-right: 20px solid transparent;
}
.btn-collapse.collapse-left:after, #sidebar .btn-collapse:after {
  left: 0;
  top: 100%;
  border-top: 20px solid #f9f9f9;
  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 #f9f9f9;
  border-left: 20px solid transparent;
}
.btn-collapse.collapse-right:after {
  right: 0;
  top: 100%;
  border-top: 20px solid #f9f9f9;
  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 #f9f9f9;
  border-left: 20px solid transparent;
}
.btn-collapse.collapse-top:after, #widgets .btn-collapse:after {
  top: 0;
  left: 100%;
  border-bottom: 20px solid #f9f9f9;
  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 #f9f9f9;
  border-left: 20px solid transparent;
}
.btn-collapse.collapse-bottom:after {
  bottom: 0;
  left: 100%;
  border-top: 20px solid #f9f9f9;
  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 {
  margin-left: 4px;
}
.input-group > .input-group-btn > .form-control.timeselect {
  width: 70px;
}
@media (min-width: 768px) {
  .input-group > .input-group-btn > .form-control.timeselect {
    width: 90px;
  }
}
.input-group > .input-group-btn > .form-control.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: #2faf62;
}
.dropdown-menu > li > a > .icon, .leaflet-control-layers .leaflet-control-layers-list > li > a > .icon {
  vertical-align: middle;
  color: #dddddd;
}

.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: #ffffff;
  margin: 1px;
  margin-right: 5px;
  padding: 3px;
  font-size: 10px;
  line-height: 1;
  border-radius: 2;
  -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 #d9d9d9;
  border-radius: 2;
}
.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: #eeeeee;
  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: #fff;
  background-color: #2faf62;
}
.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: #2faf62;
  border-color: #2faf62;
}

.droparrow.dropdown > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropdown > .leaflet-control-layers-list:before, .droparrow.dropdown > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropdown > .leaflet-control-layers-list:after, .droparrow.dropup > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropup > .leaflet-control-layers-list:before, .droparrow.dropup > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropup > .leaflet-control-layers-list:after, .droparrow.dropleft > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropleft > .leaflet-control-layers-list:before, .droparrow.dropleft > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropleft > .leaflet-control-layers-list:after, .droparrow.dropright > .dropdown-menu:before, .leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropright > .leaflet-control-layers-list:before, .leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropright > .dropdown-menu:after, .leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropright > .leaflet-control-layers-list:after, .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, .leaflet-control-layers .droparrow.dropleft > .leaflet-control-layers-list:before, .droparrow.dropright > .dropdown-menu:before, .leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropright > .leaflet-control-layers-list:before, .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, .leaflet-control-layers .droparrow.dropleft > .leaflet-control-layers-list:after, .droparrow.dropright > .dropdown-menu:after, .leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropright > .leaflet-control-layers-list:after, .leaflet-control-layers > .leaflet-control-layers-list:after {
  border: 7px solid transparent;
}
.droparrow.dropleft > .dropdown-menu, .dropleft.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropleft > .leaflet-control-layers-list, .dropleft.leaflet-control-layers > .leaflet-control-layers-list, .droparrow.dropright.left > .dropdown-menu, .left.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropright.left > .leaflet-control-layers-list, .left.leaflet-control-layers > .leaflet-control-layers-list {
  left: 100%;
  top: -9px;
  margin-left: 8px;
}
.droparrow.dropleft > .dropdown-menu:before, .dropleft.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropleft > .leaflet-control-layers-list:before, .dropleft.leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropright.left > .dropdown-menu:before, .left.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropright.left > .leaflet-control-layers-list:before, .left.leaflet-control-layers > .leaflet-control-layers-list:before {
  top: 9px;
  left: -8px;
  border: 8px solid transparent;
  border-right-color: #d9d9d9;
  border-left: 0;
  bottom: auto;
  right: auto;
}
.droparrow.dropleft > .dropdown-menu:after, .dropleft.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropleft > .leaflet-control-layers-list:after, .dropleft.leaflet-control-layers > .leaflet-control-layers-list:after, .droparrow.dropright.left > .dropdown-menu:after, .left.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropright.left > .leaflet-control-layers-list:after, .left.leaflet-control-layers > .leaflet-control-layers-list:after {
  top: 10px;
  left: -7px;
  border: 7px solid transparent;
  border-right-color: #ffffff;
  border-left: 0;
  bottom: auto;
  right: auto;
}
.droparrow.dropright > .dropdown-menu, .leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropright > .leaflet-control-layers-list, .leaflet-control-layers > .leaflet-control-layers-list, .droparrow.dropleft.right > .dropdown-menu, .leaflet-control-layers .droparrow.dropleft.right > .leaflet-control-layers-list {
  left: inherit;
  right: 100%;
  top: -9px;
  margin-right: 8px;
}
.droparrow.dropright > .dropdown-menu:before, .leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropright > .leaflet-control-layers-list:before, .leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropleft.right > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropleft.right > .leaflet-control-layers-list:before {
  top: 9px;
  right: -8px;
  border: 8px solid transparent;
  border-left-color: #d9d9d9;
  border-right: 0;
  bottom: auto;
  left: auto;
}
.droparrow.dropright > .dropdown-menu:after, .leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropright > .leaflet-control-layers-list:after, .leaflet-control-layers > .leaflet-control-layers-list:after, .droparrow.dropleft.right > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropleft.right > .leaflet-control-layers-list:after {
  top: 10px;
  right: -7px;
  border: 7px solid transparent;
  border-left-color: #ffffff;
  border-right: 0;
  bottom: auto;
  left: auto;
}
.droparrow.dropdown > .dropdown-menu, .dropdown.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropdown > .leaflet-control-layers-list, .dropdown.leaflet-control-layers > .leaflet-control-layers-list, .droparrow.dropup.down > .dropdown-menu, .dropup.down.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropup.down > .leaflet-control-layers-list, .dropup.down.leaflet-control-layers > .leaflet-control-layers-list {
  top: 100%;
  left: -14px;
  margin-top: 8px;
}
.droparrow.dropdown > .dropdown-menu:before, .dropdown.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropdown > .leaflet-control-layers-list:before, .dropdown.leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropup.down > .dropdown-menu:before, .dropup.down.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropup.down > .leaflet-control-layers-list:before, .dropup.down.leaflet-control-layers > .leaflet-control-layers-list:before {
  top: -8px;
  left: 9px;
  border: 8px solid transparent;
  border-top: 0;
  border-bottom-color: #d9d9d9;
  bottom: auto;
  right: auto;
}
.droparrow.dropdown > .dropdown-menu:after, .dropdown.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropdown > .leaflet-control-layers-list:after, .dropdown.leaflet-control-layers > .leaflet-control-layers-list:after, .droparrow.dropup.down > .dropdown-menu:after, .dropup.down.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropup.down > .leaflet-control-layers-list:after, .dropup.down.leaflet-control-layers > .leaflet-control-layers-list:after {
  top: -7px;
  left: 10px;
  border: 7px solid transparent;
  border-top: 0;
  border-bottom-color: #ffffff;
  bottom: auto;
  right: auto;
}
.droparrow.dropup > .dropdown-menu, .dropup.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropup > .leaflet-control-layers-list, .dropup.leaflet-control-layers > .leaflet-control-layers-list, .droparrow.dropdown.up > .dropdown-menu, .dropdown.up.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropdown.up > .leaflet-control-layers-list, .dropdown.up.leaflet-control-layers > .leaflet-control-layers-list {
  bottom: 100%;
  left: -9px;
  margin-bottom: 8px;
}
.droparrow.dropup > .dropdown-menu:before, .dropup.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropup > .leaflet-control-layers-list:before, .dropup.leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropdown.up > .dropdown-menu:before, .dropdown.up.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropdown.up > .leaflet-control-layers-list:before, .dropdown.up.leaflet-control-layers > .leaflet-control-layers-list:before {
  left: 9px;
  bottom: -8px;
  border: 8px solid transparent;
  border-bottom: 0;
  border-top-color: #d9d9d9;
}
.droparrow.dropup > .dropdown-menu:after, .dropup.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropup > .leaflet-control-layers-list:after, .dropup.leaflet-control-layers > .leaflet-control-layers-list:after, .droparrow.dropdown.up > .dropdown-menu:after, .dropdown.up.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropdown.up > .leaflet-control-layers-list:after, .dropdown.up.leaflet-control-layers > .leaflet-control-layers-list:after {
  left: 10px;
  bottom: -7px;
  border: 7px solid transparent;
  border-bottom: 0;
  border-top-color: #ffffff;
}
.droparrow.dropleft.up > .dropdown-menu, .leaflet-control-layers .droparrow.dropleft.up > .leaflet-control-layers-list, .droparrow.dropright.up > .dropdown-menu, .up.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropright.up > .leaflet-control-layers-list, .up.leaflet-control-layers > .leaflet-control-layers-list {
  top: auto;
  bottom: -9px;
}
.droparrow.dropleft.up > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropleft.up > .leaflet-control-layers-list:before, .droparrow.dropright.up > .dropdown-menu:before, .up.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropright.up > .leaflet-control-layers-list:before, .up.leaflet-control-layers > .leaflet-control-layers-list:before {
  top: auto;
  bottom: 10px;
}
.droparrow.dropleft.up > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropleft.up > .leaflet-control-layers-list:after, .droparrow.dropright.up > .dropdown-menu:after, .up.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropright.up > .leaflet-control-layers-list:after, .up.leaflet-control-layers > .leaflet-control-layers-list:after {
  top: auto;
  bottom: 11px;
}
.droparrow.dropdown.right > .dropdown-menu, .dropdown.right.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropdown.right > .leaflet-control-layers-list, .dropdown.right.leaflet-control-layers > .leaflet-control-layers-list, .droparrow.dropup.right > .dropdown-menu, .dropup.right.leaflet-control-layers > .dropdown-menu, .leaflet-control-layers .droparrow.dropup.right > .leaflet-control-layers-list, .dropup.right.leaflet-control-layers > .leaflet-control-layers-list {
  left: auto;
  right: -9px;
}
.droparrow.dropdown.right > .dropdown-menu:before, .dropdown.right.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropdown.right > .leaflet-control-layers-list:before, .dropdown.right.leaflet-control-layers > .leaflet-control-layers-list:before, .droparrow.dropup.right > .dropdown-menu:before, .dropup.right.leaflet-control-layers > .dropdown-menu:before, .leaflet-control-layers .droparrow.dropup.right > .leaflet-control-layers-list:before, .dropup.right.leaflet-control-layers > .leaflet-control-layers-list:before {
  left: auto;
  right: 9px;
}
.droparrow.dropdown.right > .dropdown-menu:after, .dropdown.right.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropdown.right > .leaflet-control-layers-list:after, .dropdown.right.leaflet-control-layers > .leaflet-control-layers-list:after, .droparrow.dropup.right > .dropdown-menu:after, .dropup.right.leaflet-control-layers > .dropdown-menu:after, .leaflet-control-layers .droparrow.dropup.right > .leaflet-control-layers-list:after, .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 {
  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,
.has-feedback > .form-control + .form-group.search:before,
.has-feedback > .form-control + .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,
.bs-searchbox > .form-control {
  padding-left: 31px;
}

.bootstrap-select > .dropdown-toggle {
  color: #555555;
  background-color: #f9f9f9;
  border: 1px solid transparent;
  border-radius: 0;
  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: #202020;
  background-color: #ffffff;
  border-color: #d9d9d9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(217, 217, 217, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(217, 217, 217, 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: #202020;
  background-color: #ffffff;
  border-color: #d9d9d9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(217, 217, 217, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(217, 217, 217, 0.6);
}

.panel .panel-form .form-control, .plan .panel-form .form-control {
  outline: 0;
}

.panel-default .panel-form .form-control, .plan .panel-form .form-control, #widgets .widget .panel-form .form-control,
.panel-default .panel-form .bootstrap-select > .dropdown-toggle,
.plan .panel-form .bootstrap-select > .dropdown-toggle,
#widgets .widget .panel-form .bootstrap-select > .dropdown-toggle {
  color: #202020;
  background-color: #ffffff;
}

.checkboxes .checkbox {
  margin-top: 0;
}
.checkboxes .checkbox + .checkbox {
  margin-top: inherit;
}

.form-image {
  position: relative;
  min-height: 200px;
  text-align: center;
  border: 1px solid #d9d9d9;
}
.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: #ffffff;
}

.modal-header, .ui-dialog-titlebar.ui-widget-header {
  background: #f9f9f9;
}
.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-device-add .modal-content {
  border-radius: 10px !important;
  overflow: hidden;
}
.modal-device-add .modal-header, .modal-device-add .ui-dialog-titlebar.ui-widget-header {
  border-top-left-radius: 10px !important;
  border-top-right-radius: 10px !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

#events_lookup .modal-content {
  border-radius: 12px !important;
  overflow: hidden;
}
#events_lookup .modal-header, #events_lookup .ui-dialog-titlebar.ui-widget-header {
  border-radius: 12px 12px 0 0 !important;
}

.modal-title .icon, .ui-dialog-title .icon {
  vertical-align: top;
  color: #2faf62;
}

.modal-body > .nav {
  margin: -15px;
  margin-bottom: 15px;
}
.modal-body.no-padding {
  padding: 0;
}

.modal-footer {
  background: #f9f9f9;
  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: #cccccc;
}
.modal-popup .modal-header, .modal-popup .ui-dialog-titlebar.ui-widget-header {
  padding: 15px 30px;
  border-bottom: 1px solid #d9d9d9;
}
.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: #ffffff;
}

.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: #aaaaaa;
  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: #aaaaaa;
}
.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: #2faf62;
}
.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: #777777;
  background-color: #eeeeee;
}
.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: #2faf62;
}
.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: #cccccc;
  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: #2faf62;
}
.table.table-list .sorting_desc:after {
  color: #2faf62;
}
.table.table-list.sticky-header > thead > tr > th {
  position: sticky !important;
  top: 0;
  z-index: 10;
  color: #777777;
  background-color: #eeeeee;
}
.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: #d9d9d9;
}
.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 #d9d9d9;
  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 #d9d9d9;
  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: #f9f9f9;
}
.table.table-weektime > tbody > tr > td.ds-selected {
  background: #2faf62;
}
.table.table-weektime > tbody > tr > td.hour {
  border-left: 1px solid #e9e9e9;
}
.table.table-weektime > tbody > tr > td:nth-child(2) {
  border-left: 1px solid #d9d9d9;
}
.table.table-weektime > tbody > tr > td.quarter {
  border-left: 1px solid #d9d9d9;
}
.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 {
  position: absolute;
  top: 10%;
  right: 0;
  text-align: right;
  z-index: 800;
}
#map-controls .btn-group-vertical {
  margin-bottom: 10px;
}
#map-controls .btn + .btn {
  border-top: 1px solid #d9d9d9;
}
#map-controls .btn {
  padding: 0;
  width: 33px;
  height: 33px;
  line-height: 33px;
  font-size: 15px;
  text-align: center;
  background: #ffffff;
  color: #555555;
}
#map-controls .btn:hover {
  background: #ffffff;
  color: #555555;
}
#map-controls .btn.active {
  background: #2faf62;
  color: #ffffff;
}

.nav-pagination:before, .nav-pagination:after {
  content: " ";
  display: table;
}
.nav-pagination:after {
  clear: both;
}
.nav-pagination {
  border-top: 1px solid #d9d9d9;
}
.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: #ffffff;
  color: #777777;
}
#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 #d9d9d9;
  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: #2faf62;
  margin-right: 5px;
  vertical-align: middle;
}
#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: #cccccc;
  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: #f9f9f9;
}

.group {
  position: relative;
}
.group + .group {
  margin-top: 3px;
}
.group-heading {
  padding: 7px 8px;
  background-color: #f9f9f9;
  border-radius: 0;
  display: table;
  width: 100%;
  color: #202020;
  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;
  color: #2faf62;
  cursor: pointer;
}
.group-heading > .group-title.collapsed, #sidebar.collapsed .group-heading > .group-title.btn-collapse, #widgets.collapsed .group-heading > .group-title.btn-collapse {
  color: #777777;
}
.group-heading > .group-title.collapsed:after, #sidebar.collapsed .group-heading > .group-title.btn-collapse:after, #widgets.collapsed .group-heading > .group-title.btn-collapse:after {
  content: "\e901";
  color: #cccccc;
}
.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: #dddddd;
}
.group-heading:hover {
  color: #202020;
  background-color: #eeeeee;
}
.group-heading:hover .group-title:after,
.group-heading:hover .status-collapse {
  color: #2faf62;
}

.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: 0;
  display: table-row;
  width: 100%;
  position: relative;
  text-align: left;
}
.group-list > li:hover {
  color: inherit;
  background-color: #f9f9f9;
  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: #999999;
}
.group-list > li > .name [data-device=time_text] {
  font-size: 0.85em;
  display: block;
  color: #999999;
}
.group-list > li > .details {
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 5px;
  color: #dddddd;
  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: #dddddd;
}
.group-list > li > .details [data-device=time_text] {
  font-size: 9.5px;
  display: block;
  color: #dddddd;
}
.group-list > li > *:last-child {
  border-right: 4px solid transparent;
}
.group-list > li.active {
  background: #f9f9f9;
}
.group-list > li.active > *:last-child {
  border-right-color: #2faf62;
}

.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: #2faf62;
  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 {
    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 {
    width: auto;
  }
  .panel-form .input-group > .form-control {
    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 {
  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: #2faf62;
}

#loading {
  display: table;
  vertical-align: middle;
  background-color: #ffffff;
}

#loading .backdrop,
.loading .backdrop {
  background-color: #ffffff;
  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 #2faf62;
  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: #2faf62 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: 0;
  background: #fff;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 1;
}
body.sign-in-layout .panel-background {
  opacity: 0.9 !important;
}
body.sign-in-layout .app-links {
  margin: 20px 0;
}
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 {
  color: #202020;
}
body.sign-in-layout .panel-body label, body.sign-in-layout .plan .plan-body label, .plan body.sign-in-layout .plan-body label, body.sign-in-layout #widgets .widget-body label, #widgets body.sign-in-layout .widget-body label,
body.sign-in-layout .panel-body .checkbox label,
body.sign-in-layout .panel-body h3,
body.sign-in-layout .plan .plan-body h3,
.plan body.sign-in-layout .plan-body h3,
body.sign-in-layout #widgets .widget-body h3,
#widgets body.sign-in-layout .widget-body h3 {
  color: #202020;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.65);
}
body.sign-in-layout .panel-body hr, body.sign-in-layout .plan .plan-body hr, .plan body.sign-in-layout .plan-body hr, body.sign-in-layout #widgets .widget-body hr, #widgets body.sign-in-layout .widget-body hr {
  border-top-color: rgba(32, 32, 32, 0.18);
}
body.sign-in-layout .panel-body .form-control, body.sign-in-layout .plan .plan-body .form-control, .plan body.sign-in-layout .plan-body .form-control, body.sign-in-layout #widgets .widget-body .form-control, #widgets body.sign-in-layout .widget-body .form-control {
  color: #202020;
  background-color: rgba(255, 255, 255, 0.96);
  border-color: rgba(32, 32, 32, 0.28);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}
body.sign-in-layout .panel-body .form-control::placeholder, body.sign-in-layout .plan .plan-body .form-control::placeholder, .plan body.sign-in-layout .plan-body .form-control::placeholder, body.sign-in-layout #widgets .widget-body .form-control::placeholder, #widgets body.sign-in-layout .widget-body .form-control::placeholder {
  color: #5f6872;
  opacity: 1;
}
body.sign-in-layout .panel-body .btn-default, body.sign-in-layout .plan .plan-body .btn-default, .plan body.sign-in-layout .plan-body .btn-default, body.sign-in-layout #widgets .widget-body .btn-default, #widgets body.sign-in-layout .widget-body .btn-default {
  color: #202020;
  background-color: rgba(255, 255, 255, 0.94);
  border-color: rgba(32, 32, 32, 0.2);
}

.ui-dialog {
  position: absolute;
}

.ui-dialog-titlebar.ui-widget-header {
  cursor: move;
}

.ui-dialog.ui-widget.ui-widget-content {
  z-index: 1046;
  outline: none;
}

.plan .plan-body .icon.check {
  color: #2faf62;
  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: #ffffff;
  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: #f9f9f9;
}
#bottom-history #graph {
  position: relative;
  /*
  #graph_sensors {
    position: absolute;
    bottom: 100%;
    left: 0;
    @extend .pull-left;
  }
  */
}
#bottom-history .graph-controls {
  background: #ffffff;
}
#bottom-history #hoverdata,
#bottom-history #hoverdata-date {
  margin: 10px;
  color: #666666;
}

.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: #eeeeee;
  color: #202020;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px;
  border-radius: 20px;
}
.messages .message .author {
  display: block;
  padding-left: 10px;
  font-size: 10px;
  color: #999999;
}
.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: #dddddd;
}
#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: 0;
  color: #202020;
  text-align: center;
}
#dashboard .dashboard-block .stat-box .count {
  font-weight: bold;
  font-size: larger;
}
#dashboard .dashboard-block .link {
  text-decoration: underline;
  cursor: pointer;
}
#dashboard .dashboard-block .link a {
  color: #202020;
}

#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: #eeeeee;
  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 #d9d9d9;
}
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: 0;
}
.dataTables_paginate > span {
  line-height: 1.428571429;
}
.dataTables_paginate .paginate_button {
  padding: 6px 12px;
  line-height: 1.428571429;
  text-decoration: none;
  color: #202020;
  background-color: #ffffff;
  border: 1px solid transparent;
  margin-left: -1px;
}
.dataTables_paginate .paginate_button:first-child {
  margin-left: 0;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.dataTables_paginate .paginate_button:last-child {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.dataTables_paginate .paginate_button:hover {
  cursor: pointer;
}
.dataTables_paginate .paginate_button:hover, .dataTables_paginate .paginate_button:focus {
  z-index: 3;
  color: #202020;
  background-color: #f9f9f9;
  border-color: transparent;
}
.dataTables_paginate .paginate_button.current, .dataTables_paginate .paginate_button.current:hover, .dataTables_paginate .paginate_button.current:focus {
  z-index: 2;
  color: #2faf62;
  background-color: #f9f9f9;
  border-color: transparent;
  cursor: default;
}
.dataTables_paginate .paginate_button.disabled, .dataTables_paginate .paginate_button.disabled:hover, .dataTables_paginate .paginate_button.disabled:focus {
  color: #aaaaaa;
  background-color: #ffffff;
  border-color: transparent;
  cursor: not-allowed;
}

.tracking-dashboard {
  --tracking-nav-width: 164px;
  --tracking-panel-width: 468px;
  --tracking-header-height: 88px;
  --tracking-map-gap: 16px;
  --tracking-map-bottom: 28px;
  --tracking-green: #0a9b2a;
  --tracking-green-dark: #087c21;
  --tracking-green-soft: #eefaf2;
  --tracking-amber: #f5b700;
  --tracking-red: #ef3f43;
  --tracking-blue-soft: #dceffc;
  --tracking-ink: #111827;
  --tracking-muted: #667085;
  --tracking-nav-ink: #1f2937;
  --tracking-border: #e7ebef;
  --tracking-surface: #ffffff;
  --tracking-canvas: #f8faf9;
  --tracking-shadow: 0 3px 12px rgba(15, 23, 42, 0.06);
  --tracking-float-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
  margin: 0;
  color: var(--tracking-ink);
  background: var(--tracking-canvas);
  font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 13px;
  -webkit-font-smoothing: antialiased;
}
.tracking-dashboard *,
.tracking-dashboard *::before,
.tracking-dashboard *::after {
  box-sizing: border-box;
}
.tracking-dashboard a,
.tracking-dashboard button,
.tracking-dashboard input {
  outline-color: rgba(10, 155, 42, 0.35);
}
.tracking-dashboard #dashboard-navigation {
  position: fixed;
  z-index: 1050;
  top: 0;
  bottom: 0;
  left: 0;
  display: flex;
  width: var(--tracking-nav-width);
  min-height: 0;
  flex-direction: column;
  padding: 18px 11px 18px;
  background: var(--tracking-surface);
  border-right: 1px solid var(--tracking-border);
}
.tracking-dashboard .tracking-brand {
  display: flex;
  width: 100%;
  height: 66px;
  flex: 0 0 66px;
  align-items: center;
  justify-content: center;
  margin-bottom: 17px;
  color: var(--tracking-ink);
  text-decoration: none;
}
.tracking-dashboard .tracking-brand img {
  display: block;
  width: auto;
  max-width: 82px;
  height: auto;
  max-height: 58px;
  object-fit: contain;
}
.tracking-dashboard .tracking-brand > span {
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -1px;
}
.tracking-dashboard .tracking-main-nav {
  display: flex;
  min-height: 0;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 7px;
}
.tracking-dashboard .dashboard-nav-link {
  display: flex;
  min-height: 56px;
  flex: 0 0 56px;
  align-items: center;
  gap: 15px;
  padding: 0 14px;
  color: var(--tracking-nav-ink);
  background: transparent !important;
  border: 1px solid transparent;
  border-radius: 11px;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}
.tracking-dashboard .dashboard-nav-link:hover, .tracking-dashboard .dashboard-nav-link:focus {
  color: var(--tracking-green);
  background: #f6faf7 !important;
  text-decoration: none;
  transform: translateX(1px);
}
.tracking-dashboard .dashboard-nav-link.active {
  color: var(--tracking-green);
  background: var(--tracking-green-soft) !important;
  font-weight: 700;
}
.tracking-dashboard .dashboard-nav-link > i {
  width: 22px;
  flex: 0 0 22px;
  font-size: 20px;
  line-height: 1;
  text-align: center;
}
.tracking-dashboard .dashboard-nav-link > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tracking-dashboard #dashboard-navigation .tracking-main-nav .dashboard-nav-link {
  color: var(--tracking-nav-ink) !important;
  background: transparent !important;
  background-image: none !important;
  opacity: 1 !important;
  filter: none !important;
  box-shadow: none !important;
}
.tracking-dashboard #dashboard-navigation .tracking-main-nav .dashboard-nav-link > i {
  color: inherit !important;
  background: none !important;
  background-image: none !important;
  opacity: 1 !important;
  filter: none !important;
}
.tracking-dashboard #dashboard-navigation .tracking-main-nav .dashboard-nav-link:hover, .tracking-dashboard #dashboard-navigation .tracking-main-nav .dashboard-nav-link:focus {
  color: var(--tracking-green) !important;
  background: #f6faf7 !important;
}
.tracking-dashboard #dashboard-navigation .tracking-main-nav .dashboard-nav-link.active {
  color: var(--tracking-green) !important;
  background: var(--tracking-green-soft) !important;
}
.tracking-dashboard #dashboard-navigation .tracking-main-nav .dashboard-nav-link.active > i {
  color: var(--tracking-green) !important;
}
.tracking-dashboard .tracking-navigation-footer {
  flex: 0 0 auto;
  padding-top: 14px;
}
.tracking-dashboard .tracking-account-card {
  display: flex;
  min-height: 58px;
  align-items: center;
  gap: 9px;
  padding: 9px 10px;
  color: var(--tracking-ink);
  background: var(--tracking-surface);
  border: 1px solid var(--tracking-border);
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
  text-decoration: none;
}
.tracking-dashboard .tracking-account-card:hover, .tracking-dashboard .tracking-account-card:focus {
  color: var(--tracking-ink);
  border-color: #d5ded8;
  text-decoration: none;
}
.tracking-dashboard .tracking-account-card > .fa-angle-down, .tracking-dashboard .tracking-account-card > .caret {
  margin-left: auto;
  color: var(--tracking-muted);
}
.tracking-dashboard .tracking-account-avatar {
  display: inline-flex;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  align-items: center;
  justify-content: center;
  color: #24653a;
  background: #dff5e6;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 700;
}
.tracking-dashboard .tracking-account-copy {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
  line-height: 1.25;
}
.tracking-dashboard .tracking-account-copy strong,
.tracking-dashboard .tracking-account-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tracking-dashboard .tracking-account-copy strong {
  font-size: 12px;
  font-weight: 700;
}
.tracking-dashboard .tracking-account-copy small {
  margin-top: 2px;
  color: var(--tracking-muted);
  font-size: 10px;
}
.tracking-dashboard .tracking-theme-switch {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  height: 46px;
  margin: 12px 5px 13px;
  padding: 4px;
  background: #f0f2f4;
  border-radius: 24px;
}
.tracking-dashboard .tracking-theme-switch button {
  padding: 0;
  color: #475467;
  background: transparent;
  border: 0;
  border-radius: 20px;
  font-size: 18px;
}
.tracking-dashboard .tracking-theme-switch button.active {
  color: var(--tracking-green);
  background: var(--tracking-surface);
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}
.tracking-dashboard .tracking-logout {
  display: flex;
  min-height: 58px;
  align-items: center;
  gap: 15px;
  margin: 0 -1px;
  padding: 14px;
  color: #1f2937;
  border-top: 1px solid var(--tracking-border);
  text-decoration: none;
}
.tracking-dashboard .tracking-logout:hover, .tracking-dashboard .tracking-logout:focus {
  color: var(--tracking-red);
  text-decoration: none;
}
.tracking-dashboard .tracking-logout i {
  width: 20px;
  font-size: 18px;
  text-align: center;
}
.tracking-dashboard #header.tracking-topbar {
  position: fixed;
  z-index: 1040;
  top: 0;
  right: 0;
  left: var(--tracking-nav-width);
  height: var(--tracking-header-height);
  background: var(--tracking-surface);
  border-bottom: 1px solid var(--tracking-border);
}
.tracking-dashboard #header.tracking-topbar::before {
  display: none;
}
.tracking-dashboard #header.tracking-topbar .main-navbar {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  min-height: 0;
  height: auto;
  margin: 0;
  background: var(--tracking-surface);
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.tracking-dashboard #header.tracking-topbar .container-fluid {
  display: flex;
  height: 100%;
  align-items: center;
  padding: 0 28px 0 19px;
}
.tracking-dashboard #header.tracking-topbar .navbar-toggle {
  order: 3;
  margin: 0 0 0 12px;
  border-color: var(--tracking-border);
}
.tracking-dashboard #header.tracking-topbar .navbar-toggle .icon-bar {
  background: var(--tracking-ink);
}
.tracking-dashboard #header.tracking-topbar .navbar-collapse {
  min-width: 0;
  flex: 1 1 auto;
  padding: 0;
  border: 0;
  box-shadow: none;
}
.tracking-dashboard #header.tracking-topbar .tracking-topbar-search {
  display: flex;
  width: 427px;
  height: 48px;
  flex: 0 0 427px;
  align-items: center;
  gap: 13px;
  padding: 0 13px 0 18px;
  background: var(--tracking-surface);
  border: 1px solid var(--tracking-border);
  border-radius: 14px;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.025);
  transform: translateY(4px);
}
.tracking-dashboard #header.tracking-topbar .tracking-topbar-search > i {
  color: #5c6b7f;
  font-size: 19px;
}
.tracking-dashboard #header.tracking-topbar .tracking-topbar-search input {
  min-width: 0;
  height: 100%;
  flex: 1 1 auto;
  padding: 0;
  color: var(--tracking-ink);
  background: transparent;
  border: 0;
  box-shadow: none;
  font-size: 14px;
}
.tracking-dashboard #header.tracking-topbar .tracking-topbar-search input::placeholder {
  color: #98a2b3;
}
.tracking-dashboard #header.tracking-topbar .tracking-topbar-search kbd {
  display: inline-flex;
  height: 28px;
  align-items: center;
  gap: 2px;
  padding: 0 8px;
  color: #667085;
  background: #f2f4f7;
  border: 0;
  border-radius: 6px;
  box-shadow: none;
  font-family: inherit;
  font-size: 11px;
  font-weight: 600;
}
.tracking-dashboard #header.tracking-topbar .tracking-topbar-actions {
  position: static;
  top: auto;
  right: auto;
  display: flex;
  float: right;
  align-items: center;
  gap: 11px;
  margin: 0;
  transform: translateY(4px);
}
.tracking-dashboard #header.tracking-topbar .tracking-topbar-actions::before, .tracking-dashboard #header.tracking-topbar .tracking-topbar-actions::after {
  display: none;
}
.tracking-dashboard #header.tracking-topbar .tracking-topbar-actions > li {
  float: none;
}
.tracking-dashboard #header.tracking-topbar .tracking-refresh-action {
  display: flex;
  align-items: center;
  height: 48px;
  padding: 0;
  background: var(--tracking-surface);
  border: 1px solid var(--tracking-border);
  border-radius: 14px;
  overflow: hidden;
}
.tracking-dashboard #header.tracking-topbar .tracking-refresh-action .tracking-map-refresh-button {
  display: inline-flex;
  height: 100%;
  align-items: center;
  gap: 8px;
  padding: 0 10px 0 14px;
  color: var(--tracking-green);
  background: transparent;
  border: 0;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}
.tracking-dashboard #header.tracking-topbar .tracking-refresh-action .tracking-map-refresh-button i {
  font-size: 15px;
  transition: transform 0.5s ease;
}
.tracking-dashboard #header.tracking-topbar .tracking-refresh-action .tracking-map-refresh-button:hover i, .tracking-dashboard #header.tracking-topbar .tracking-refresh-action .tracking-map-refresh-button:focus i {
  transform: rotate(180deg);
}
.tracking-dashboard #header.tracking-topbar .tracking-refresh-action .tracking-map-refresh-time {
  min-width: 0;
  padding: 0 14px 0 4px;
  color: var(--tracking-muted);
  font-size: 11px;
  white-space: nowrap;
}
.tracking-dashboard #header.tracking-topbar .tracking-topbar-action > a {
  position: relative;
  display: flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0;
  color: #1f2937;
  background: var(--tracking-surface);
  background-image: none !important;
  border: 1px solid var(--tracking-border);
  border-radius: 50%;
  font-size: 19px;
  transition: color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.tracking-dashboard #header.tracking-topbar .tracking-topbar-action > a:hover, .tracking-dashboard #header.tracking-topbar .tracking-topbar-action > a:focus {
  color: var(--tracking-green);
  background: var(--tracking-surface);
  border-color: #cfe6d6;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.07);
}
.tracking-dashboard #header.tracking-topbar .tracking-topbar-action > a > .badge {
  position: absolute;
  top: -3px;
  right: -3px;
}
.tracking-dashboard #header.tracking-topbar .tracking-topbar-action .fa-user-o::before {
  content: "\f2c0" !important;
  font-family: FontAwesome !important;
}
.tracking-dashboard #header.tracking-topbar .tracking-topbar-action a[href="#events_tab"] {
  background-image: none !important;
  background-color: var(--tracking-surface) !important;
  color: var(--tracking-nav-ink) !important;
}
.tracking-dashboard #header.tracking-topbar .tracking-notification-dot {
  position: absolute;
  top: 4px;
  right: 3px;
  width: 10px;
  height: 10px;
  background: #f01820;
  border: 2px solid var(--tracking-surface);
  border-radius: 50%;
}
.tracking-dashboard #header.tracking-topbar .language-selection.tracking-topbar-action > a {
  padding: 0;
}
.tracking-dashboard #header.tracking-topbar .language-selection.tracking-topbar-action > a .icon {
  display: flex;
  width: 27px;
  height: 27px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #f8fafc;
  border-radius: 50%;
}
.tracking-dashboard #header.tracking-topbar .language-selection.tracking-topbar-action > a .icon img {
  width: 27px;
  height: 27px;
  padding: 0;
  object-fit: cover;
  border: 0;
  border-radius: 50%;
}
.tracking-dashboard #header.tracking-topbar .dropdown-menu, .tracking-dashboard #header.tracking-topbar .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers .tracking-dashboard #header.tracking-topbar .leaflet-control-layers-list {
  margin-top: 9px;
  padding: 7px;
  border-color: var(--tracking-border);
  border-radius: 12px;
  box-shadow: var(--tracking-float-shadow);
}
.tracking-dashboard #header.tracking-topbar .dropdown-menu > li > a, .tracking-dashboard #header.tracking-topbar .leaflet-control-layers .leaflet-control-layers-list > li > a, .leaflet-control-layers .tracking-dashboard #header.tracking-topbar .leaflet-control-layers-list > li > a {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 11px;
  border-radius: 7px;
}
.tracking-dashboard #header.tracking-topbar .tracking-tools-menu {
  width: 270px;
  max-height: calc(100vh - 110px);
  overflow-y: auto;
}
.tracking-dashboard #sidebar {
  position: fixed;
  z-index: 1000;
  top: var(--tracking-header-height);
  bottom: 0;
  left: var(--tracking-nav-width);
  width: var(--tracking-panel-width);
  height: auto;
  max-height: none;
}
.tracking-dashboard #sidebar.collapsed, .tracking-dashboard #sidebar.collapsed #sidebar.btn-collapse, #sidebar.collapsed .tracking-dashboard #sidebar.btn-collapse, .tracking-dashboard #widgets.collapsed #sidebar.btn-collapse, #widgets.collapsed .tracking-dashboard #sidebar.btn-collapse {
  width: 0;
}
.tracking-dashboard #sidebar.collapsed .sidebar-content, #sidebar.collapsed .tracking-dashboard #sidebar.btn-collapse .sidebar-content, .tracking-dashboard #widgets.collapsed #sidebar.btn-collapse .sidebar-content, #widgets.collapsed .tracking-dashboard #sidebar.btn-collapse .sidebar-content {
  overflow: hidden;
}
.tracking-dashboard #sidebar.hidden + #mapWrap {
  top: var(--tracking-map-gap);
  left: var(--tracking-map-gap);
}
.tracking-dashboard #sidebar .btn-collapse {
  z-index: 20;
  top: 50%;
  right: -15px;
  left: auto !important;
  display: flex !important;
  width: 30px;
  height: 46px;
  align-items: center;
  justify-content: center;
  color: var(--tracking-green) !important;
  background: var(--tracking-surface) !important;
  border: 1px solid var(--tracking-border) !important;
  border-radius: 10px;
  box-shadow: var(--tracking-float-shadow) !important;
  opacity: 0;
  line-height: 1;
  transform: translateY(-50%);
  transition: opacity 0.2s ease;
}
.tracking-dashboard #sidebar .btn-collapse::before, .tracking-dashboard #sidebar .btn-collapse::after {
  display: none !important;
}
.tracking-dashboard #sidebar .btn-collapse i {
  color: var(--tracking-green) !important;
  font-size: 15px;
}
.tracking-dashboard #sidebar:hover .btn-collapse, .tracking-dashboard #sidebar.collapsed .btn-collapse, #sidebar.collapsed .tracking-dashboard #sidebar.btn-collapse .btn-collapse, .tracking-dashboard #widgets.collapsed #sidebar.btn-collapse .btn-collapse, #widgets.collapsed .tracking-dashboard #sidebar.btn-collapse .btn-collapse {
  opacity: 1;
}
.tracking-dashboard #sidebar .sidebar-content {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 0;
  flex-direction: column;
  background: var(--tracking-surface);
  border-right: 1px solid var(--tracking-border);
}
.tracking-dashboard #sidebar .tracking-tab-router {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  clip: rect(0, 0, 0, 0);
  opacity: 0;
  pointer-events: none;
}
.tracking-dashboard #sidebar .sidebar-content > .tab-content {
  position: relative;
  min-height: 0;
  flex: 1 1 auto;
  overflow: hidden;
}
.tracking-dashboard #sidebar .tab-content > .tab-pane.active {
  display: flex;
  height: 100%;
  min-height: 0;
  flex-direction: column;
}
.tracking-dashboard #sidebar .tab-pane-header {
  flex: 0 0 auto;
}
.tracking-dashboard #sidebar .tab-pane-body {
  min-height: 0;
  flex: 1 1 auto;
}
.tracking-dashboard .tracking-summary {
  flex: 0 0 auto;
  padding: 17px 14px 15px;
  border-bottom: 1px solid var(--tracking-border);
}
.tracking-dashboard:not(.tracking-section-units) .tracking-summary {
  display: none;
}
.tracking-dashboard .tracking-summary-heading {
  display: flex;
  height: 40px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.tracking-dashboard .tracking-summary-heading h2 {
  margin: 4px 0 0;
  color: var(--tracking-ink);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
}
.tracking-dashboard .tracking-summary-heading button {
  display: inline-flex;
  min-width: 82px;
  height: 37px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 13px;
  color: #344054;
  background: var(--tracking-surface);
  border: 1px solid var(--tracking-border);
  border-radius: 11px;
  font-size: 12px;
}
.tracking-dashboard .tracking-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: 3px;
}
.tracking-dashboard .tracking-summary-card {
  display: flex;
  min-width: 0;
  height: 132px;
  flex-direction: column;
  justify-content: flex-start;
  padding: 15px 12px 12px;
  background: var(--tracking-surface);
  border: 1px solid var(--tracking-border);
  border-radius: 13px;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.045);
}
.tracking-dashboard .tracking-summary-card .tracking-summary-icon {
  display: inline-flex;
  width: 31px;
  height: 31px;
  flex: 0 0 31px;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  color: #fff;
  background: var(--tracking-green);
  border-radius: 50%;
  font-size: 15px;
}
.tracking-dashboard .tracking-summary-card .tracking-summary-label {
  min-height: 25px;
  color: #344054;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.25;
}
.tracking-dashboard .tracking-summary-card strong {
  margin-top: auto;
  color: var(--tracking-ink);
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}
.tracking-dashboard .tracking-summary-card small {
  margin-top: 5px;
  color: #475467;
  font-size: 10px;
  line-height: 1;
}
.tracking-dashboard .tracking-summary-card.is-stopped .tracking-summary-icon {
  background: var(--tracking-amber);
}
.tracking-dashboard .tracking-summary-card.is-offline .tracking-summary-icon {
  background: var(--tracking-red);
}
.tracking-dashboard .tracking-summary-card.is-total .tracking-summary-icon {
  color: #176286;
  background: var(--tracking-blue-soft);
}
.tracking-dashboard #objects_tab .tracking-units-header {
  padding: 13px 14px 11px;
  border-bottom: 0;
}
.tracking-dashboard #objects_tab .tracking-units-toolbar {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.tracking-dashboard #objects_tab .tracking-view-tabs {
  display: flex;
  height: 42px;
  flex: 0 0 auto;
  align-items: stretch;
  gap: 21px;
}
.tracking-dashboard #objects_tab .tracking-view-tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  color: #475467;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}
.tracking-dashboard #objects_tab .tracking-view-tab.active {
  color: var(--tracking-green);
}
.tracking-dashboard #objects_tab .tracking-view-tab.active::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  background: var(--tracking-green);
  border-radius: 2px;
}
.tracking-dashboard #objects_tab .tracking-search-actions {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  justify-content: flex-end;
  gap: 7px;
}
.tracking-dashboard #objects_tab .tracking-unit-search {
  position: relative;
  width: 182px;
  min-width: 120px;
  height: 39px;
  flex: 0 1 182px;
}
.tracking-dashboard #objects_tab .tracking-unit-search > i {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 13px;
  color: #667085;
  font-size: 13px;
  transform: translateY(-50%);
}
.tracking-dashboard #objects_tab .tracking-unit-search .form-control {
  width: 100%;
  height: 39px;
  padding: 0 11px 0 36px;
  color: var(--tracking-ink);
  background: var(--tracking-surface);
  border: 1px solid var(--tracking-border);
  border-radius: 10px;
  box-shadow: none;
  font-size: 11px;
}
.tracking-dashboard #objects_tab .tracking-unit-search .form-control::placeholder {
  color: #98a2b3;
}
.tracking-dashboard #objects_tab .tracking-filter-button,
.tracking-dashboard #objects_tab .tracking-list-view-button {
  display: inline-flex;
  width: 40px;
  height: 39px;
  flex: 0 0 40px;
  align-items: center;
  justify-content: center;
  padding: 0;
  color: var(--tracking-green);
  background: var(--tracking-green-soft);
  border: 1px solid transparent;
  border-radius: 10px;
  box-shadow: none;
  font-size: 16px;
}
.tracking-dashboard #objects_tab .tracking-filter-button:hover, .tracking-dashboard #objects_tab .tracking-filter-button:focus,
.tracking-dashboard #objects_tab .tracking-list-view-button:hover,
.tracking-dashboard #objects_tab .tracking-list-view-button:focus {
  color: var(--tracking-green-dark);
  background: #e3f7e9;
}
.tracking-dashboard #objects_tab .tracking-list-view-button {
  display: none;
  color: #667085;
  background: #f7f8fa;
  border-color: var(--tracking-border);
}
.tracking-dashboard #objects_tab .device-status-legend {
  display: none;
  flex-wrap: wrap;
  gap: 5px 12px;
  margin-top: 7px;
  color: var(--tracking-muted);
  font-size: 10px;
  line-height: 1.2;
}
.tracking-dashboard #objects_tab .device-status-legend > span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.tracking-dashboard #objects_tab .device-status-legend .status {
  width: 7px;
  height: 7px;
  border-radius: 50%;
}
.tracking-dashboard #objects_tab .tracking-units-list {
  flex: 0 1 auto;
  min-height: 0;
  padding: 0 14px;
  overflow-y: auto;
}
.tracking-dashboard #objects_tab #ajax-items {
  padding-bottom: 8px;
}
.tracking-dashboard #objects_tab .group {
  margin: 0;
  overflow: visible;
  background: var(--tracking-surface);
  border: 1px solid var(--tracking-border);
  border-radius: 11px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.025);
}
.tracking-dashboard #objects_tab .group + .group {
  margin-top: 9px;
}
.tracking-dashboard #objects_tab .tracking-group-heading {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 51px;
  align-items: center;
  gap: 10px;
  padding: 8px 10px 8px 12px;
  color: #1f2937;
  background: var(--tracking-surface);
  border-radius: 11px 11px 0 0;
  font-size: 12px;
}
.tracking-dashboard #objects_tab .tracking-group-heading:hover {
  color: #1f2937;
  background: #fbfcfb;
}
.tracking-dashboard #objects_tab .tracking-group-heading > .checkbox {
  position: absolute;
  z-index: 3;
  top: 16px;
  right: 43px;
  display: block;
  width: 20px;
  height: 20px;
  margin: 0;
  padding: 0;
  opacity: 0;
  transition: opacity 0.18s ease;
}
.tracking-dashboard #objects_tab .tracking-group-heading:hover > .checkbox, .tracking-dashboard #objects_tab .tracking-group-heading:focus-within > .checkbox {
  opacity: 1;
}
.tracking-dashboard #objects_tab .tracking-group-heading .tracking-group-icon {
  display: inline-flex;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  align-items: center;
  justify-content: center;
  color: #445164;
  font-size: 15px;
}
.tracking-dashboard #objects_tab .tracking-group-heading > .group-title {
  display: block;
  min-width: 0;
  max-width: none;
  flex: 1 1 auto;
  padding: 0 24px 0 0;
  color: inherit;
  font-weight: 600;
  line-height: 34px;
}
.tracking-dashboard #objects_tab .tracking-group-heading > .group-title::after {
  top: 50%;
  right: 2px;
  color: #475467;
  transform: translateY(-50%);
}
.tracking-dashboard #objects_tab .tracking-group-heading > .btn-group {
  flex: 0 0 23px;
  margin: 0;
}
.tracking-dashboard #objects_tab .tracking-group-heading > .btn-group .btn.options {
  width: 23px;
  height: 30px;
  padding: 0;
  color: #475467;
  line-height: 30px;
}
.tracking-dashboard #objects_tab .group-collapse.in {
  border-top: 1px solid var(--tracking-border);
}
.tracking-dashboard #objects_tab .group-list {
  display: block;
  width: 100%;
  color: #1f2937;
  background: transparent;
  font-size: 12px;
}
.tracking-dashboard #objects_tab .group-list > li {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 61px;
  align-items: center;
  padding: 8px 7px 8px 11px;
  background: var(--tracking-surface);
  border: 0;
  border-bottom: 1px solid #eef1f3;
  border-radius: 0;
  transition: background 0.16s ease;
}
.tracking-dashboard #objects_tab .group-list > li:last-child {
  border-bottom: 0;
  border-radius: 0 0 11px 11px;
}
.tracking-dashboard #objects_tab .group-list > li:hover, .tracking-dashboard #objects_tab .group-list > li.active {
  color: #1f2937;
  background: #f8fcf9;
}
.tracking-dashboard #objects_tab .group-list > li.active::after {
  content: "";
  position: absolute;
  top: 8px;
  right: -1px;
  bottom: 8px;
  width: 3px;
  background: var(--tracking-green);
  border-radius: 2px 0 0 2px;
}
.tracking-dashboard #objects_tab .group-list > li > .checkbox {
  display: block;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  margin: 0 11px 0 0;
  padding: 0;
}
.tracking-dashboard #objects_tab .group-list > li > .checkbox input {
  position: absolute;
}
.tracking-dashboard #objects_tab .group-list > li > .checkbox label {
  position: relative;
  display: flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  color: #fff;
  background: var(--tracking-green);
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}
.tracking-dashboard #objects_tab .group-list > li > .checkbox label::before, .tracking-dashboard #objects_tab .group-list > li > .checkbox label::after {
  display: none;
}
.tracking-dashboard #objects_tab .group-list > li > .checkbox label:hover {
  box-shadow: 0 4px 12px rgba(10, 155, 42, 0.24);
  transform: translateY(-1px);
}
.tracking-dashboard #objects_tab .group-list > li > .checkbox label i {
  font-size: 16px;
}
.tracking-dashboard #objects_tab .group-list > li > .name {
  display: flex;
  min-width: 0;
  max-width: none;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: center;
  padding: 0;
  line-height: 1.25;
}
.tracking-dashboard #objects_tab .group-list > li > .name [data-device=name] {
  display: block;
  overflow: hidden;
  color: var(--tracking-ink);
  font-size: 12px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tracking-dashboard #objects_tab .group-list > li > .name .tracking-device-state,
.tracking-dashboard #objects_tab .group-list > li > .name [data-device=status] {
  display: block;
  margin-top: 3px;
  padding: 0;
  background: transparent !important;
  border: 0;
  border-radius: 0;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
}
.tracking-dashboard #objects_tab .group-list > li > .name [data-device=time],
.tracking-dashboard #objects_tab .group-list > li > .name [data-device=time_text] {
  display: block;
  max-width: 190px;
  margin-top: 2px;
  overflow: hidden;
  color: #7b8797;
  font-size: 9.5px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tracking-dashboard #objects_tab .group-list > li > .name [data-device=time_text] {
  display: none;
}
.tracking-dashboard #objects_tab .group-list > li > .details {
  display: flex;
  width: auto;
  flex: 0 0 auto;
  align-items: center;
  gap: 9px;
  padding: 0;
  color: #344054;
  font-size: 10px;
  white-space: nowrap;
}
.tracking-dashboard #objects_tab .group-list > li > .details > * + * {
  margin-left: 0;
}
.tracking-dashboard #objects_tab .group-list > li > .details [data-device=speed] {
  min-width: 43px;
  text-align: right;
}
.tracking-dashboard #objects_tab .group-list > li > .details .tracking-device-stop {
  display: none;
  min-width: 43px;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  color: #b67f00;
  text-align: right;
}
.tracking-dashboard #objects_tab .group-list > li > .details .tracking-device-signal {
  width: 16px;
  color: var(--tracking-green);
  font-size: 13px;
  text-align: center;
}
.tracking-dashboard #objects_tab .group-list > li > .details .btn-group {
  width: 23px;
}
.tracking-dashboard #objects_tab .group-list > li > .details .btn.options {
  width: 23px;
  height: 30px;
  padding: 0;
  color: #344054;
  line-height: 30px;
}
.tracking-dashboard #objects_tab .group-list > li.tracking-device-status-ack .tracking-device-speed, .tracking-dashboard #objects_tab .group-list > li.tracking-device-status-engine .tracking-device-speed {
  display: none;
}
.tracking-dashboard #objects_tab .group-list > li.tracking-device-status-ack .tracking-device-stop, .tracking-dashboard #objects_tab .group-list > li.tracking-device-status-engine .tracking-device-stop {
  display: inline-flex;
}
.tracking-dashboard #objects_tab .group-list > li.tracking-device-status-ack > .checkbox label, .tracking-dashboard #objects_tab .group-list > li.tracking-device-status-engine > .checkbox label {
  background: var(--tracking-amber);
}
.tracking-dashboard #objects_tab .group-list > li.tracking-device-status-ack > .details .tracking-device-signal, .tracking-dashboard #objects_tab .group-list > li.tracking-device-status-engine > .details .tracking-device-signal {
  color: var(--tracking-amber);
}
.tracking-dashboard #objects_tab .group-list > li.tracking-device-status-offline .tracking-device-speed {
  display: none;
}
.tracking-dashboard #objects_tab .group-list > li.tracking-device-status-offline > .checkbox label {
  background: var(--tracking-red);
}
.tracking-dashboard #objects_tab .group-list > li.tracking-device-status-offline > .details .tracking-device-signal {
  color: #98a2b3;
}
.tracking-dashboard #objects_tab .group-list > li.tracking-device-status-inactive .tracking-device-speed,
.tracking-dashboard #objects_tab .group-list > li.tracking-device-status-inactive .tracking-device-stop, .tracking-dashboard #objects_tab .group-list > li.tracking-device-status-blocked .tracking-device-speed,
.tracking-dashboard #objects_tab .group-list > li.tracking-device-status-blocked .tracking-device-stop {
  display: none;
}
.tracking-dashboard #objects_tab .group-list > li.tracking-device-status-inactive > .checkbox label, .tracking-dashboard #objects_tab .group-list > li.tracking-device-status-blocked > .checkbox label {
  background: #7c8796;
}
.tracking-dashboard #objects_tab .group-list > li.tracking-device-status-inactive > .details .tracking-device-signal, .tracking-dashboard #objects_tab .group-list > li.tracking-device-status-blocked > .details .tracking-device-signal {
  color: #98a2b3;
}
.tracking-dashboard #objects_tab .tracking-add-unit-row {
  flex: 0 0 auto;
  padding: 9px 14px 14px;
}
.tracking-dashboard #objects_tab .tracking-add-unit-group {
  display: block;
  width: 100%;
}
.tracking-dashboard #objects_tab .tracking-add-unit {
  display: flex;
  width: 100%;
  min-height: 53px;
  align-items: center;
  gap: 14px;
  padding: 0 17px;
  color: var(--tracking-green);
  background: var(--tracking-surface);
  border: 1px solid var(--tracking-border);
  border-radius: 11px;
  box-shadow: none;
  font-size: 12px;
  font-weight: 600;
  text-align: left;
  text-decoration: none;
}
.tracking-dashboard #objects_tab .tracking-add-unit:hover, .tracking-dashboard #objects_tab .tracking-add-unit:focus {
  color: var(--tracking-green-dark);
  background: #f8fcf9;
  border-color: #cfe6d6;
  text-decoration: none;
}
.tracking-dashboard #objects_tab .tracking-add-unit > .fa-plus {
  font-size: 17px;
}
.tracking-dashboard #objects_tab .tracking-add-unit .tracking-add-unit-caret {
  margin-left: auto;
}
.tracking-dashboard #mapWrap {
  position: fixed;
  z-index: 10;
  top: var(--tracking-header-height);
  right: var(--tracking-map-gap);
  bottom: var(--tracking-map-bottom);
  left: calc(var(--tracking-nav-width) + var(--tracking-panel-width));
  width: auto;
  height: auto;
  overflow: hidden;
  background: #eef2ed;
  border: 1px solid var(--tracking-border);
  border-radius: 18px;
  box-shadow: 0 3px 14px rgba(15, 23, 42, 0.05);
}
.tracking-dashboard #sidebar.collapsed + #mapWrap, .tracking-dashboard #sidebar.collapsed #sidebar.btn-collapse + #mapWrap, #sidebar.collapsed .tracking-dashboard #sidebar.btn-collapse + #mapWrap, .tracking-dashboard #widgets.collapsed #sidebar.btn-collapse + #mapWrap, #widgets.collapsed .tracking-dashboard #sidebar.btn-collapse + #mapWrap, .tracking-dashboard #widgets.collapsed #sidebar.btn-collapse #sidebar.btn-collapse + #mapWrap, .tracking-dashboard #sidebar.collapsed #widgets.btn-collapse #sidebar.btn-collapse #sidebar.btn-collapse + #mapWrap {
  left: calc(var(--tracking-nav-width) + var(--tracking-map-gap));
}
.tracking-dashboard.tracking-section-units #sidebar .sidebar-content {
  background: rgba(255, 255, 255, 0.78);
  border-right-color: rgba(226, 232, 240, 0.82);
  -webkit-backdrop-filter: blur(8px) saturate(1.08);
  backdrop-filter: blur(8px) saturate(1.08);
}
.tracking-dashboard.tracking-section-units #mapWrap {
  left: calc(var(--tracking-nav-width) + var(--tracking-map-gap));
}
.tracking-dashboard #map {
  border-radius: 18px;
}
.tracking-dashboard #map .leaflet-tile-pane {
  filter: saturate(0.76) brightness(1.04) contrast(0.92);
}
.tracking-dashboard .tracking-map-refresh,
.tracking-dashboard .tracking-map-mode,
.tracking-dashboard .tracking-map-kpis,
.tracking-dashboard .tracking-quick-filters,
.tracking-dashboard #map-controls {
  z-index: 800;
}
.tracking-dashboard .tracking-map-refresh {
  position: absolute;
  top: 15px;
  left: 10px;
  display: flex;
  height: 48px;
  align-items: center;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(231, 235, 239, 0.95);
  border-radius: 15px;
  box-shadow: var(--tracking-float-shadow);
  backdrop-filter: blur(8px);
}
.tracking-dashboard .tracking-map-refresh-button {
  display: inline-flex;
  height: 100%;
  align-items: center;
  gap: 10px;
  padding: 0 17px;
  color: var(--tracking-green);
  background: transparent;
  border: 0;
  border-right: 1px solid var(--tracking-border);
  font-size: 12px;
  font-weight: 700;
}
.tracking-dashboard .tracking-map-refresh-button:hover i {
  transform: rotate(90deg);
}
.tracking-dashboard .tracking-map-refresh-button i {
  font-size: 16px;
  transition: transform 0.25s ease;
}
.tracking-dashboard .tracking-map-refresh-time {
  min-width: 106px;
  padding: 0 14px;
  color: #7b8797;
  font-size: 11px;
  text-align: center;
}
.tracking-dashboard .leaflet-control-layers {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.tracking-dashboard .leaflet-control-layers-toggle {
  display: flex !important;
  width: 48px !important;
  height: 48px !important;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.97) !important;
  background-image: none !important;
  border: 1px solid var(--tracking-border);
  border-radius: 14px;
  box-shadow: var(--tracking-float-shadow);
}
.tracking-dashboard .leaflet-control-layers-toggle::before {
  content: "\f278";
  font-family: FontAwesome;
  color: var(--tracking-green);
  font-size: 18px;
}
.tracking-dashboard .leaflet-control-layers-expanded .leaflet-control-layers-toggle {
  display: none !important;
}
.tracking-dashboard #map-controls .leaflet-control-layers {
  position: relative;
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  margin: 0;
  overflow: visible;
}
.tracking-dashboard #map-controls .leaflet-control-layers-list {
  position: absolute !important;
  top: 0 !important;
  right: 100% !important;
  left: auto !important;
  bottom: auto !important;
  margin: 0 !important;
}
.tracking-dashboard #map-controls .leaflet-control-layers-expanded .leaflet-control-layers-toggle {
  display: flex !important;
}
.tracking-dashboard #mapWrap .leaflet-control-layers-list {
  min-width: 186px !important;
  padding: 6px !important;
  background: var(--tracking-surface) !important;
  border: 1px solid var(--tracking-border) !important;
  border-radius: 14px !important;
  box-shadow: var(--tracking-float-shadow) !important;
  color: var(--tracking-ink) !important;
}
.tracking-dashboard #mapWrap .leaflet-control-layers-list .leaflet-control-layers-base label,
.tracking-dashboard #mapWrap .leaflet-control-layers-list .leaflet-control-layers-overlays label,
.tracking-dashboard #mapWrap .leaflet-control-layers-list label {
  display: block !important;
  margin: 0 !important;
  color: var(--tracking-ink) !important;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
}
.tracking-dashboard #mapWrap .leaflet-control-layers-list .leaflet-control-layers-base label > div,
.tracking-dashboard #mapWrap .leaflet-control-layers-list .leaflet-control-layers-overlays label > div,
.tracking-dashboard #mapWrap .leaflet-control-layers-list label > div {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  border-radius: 9px;
}
.tracking-dashboard #mapWrap .leaflet-control-layers-list .leaflet-control-layers-base label:hover > div,
.tracking-dashboard #mapWrap .leaflet-control-layers-list .leaflet-control-layers-overlays label:hover > div,
.tracking-dashboard #mapWrap .leaflet-control-layers-list label:hover > div {
  background: #f6faf7;
}
.tracking-dashboard #mapWrap .leaflet-control-layers-list .leaflet-control-layers-base label span,
.tracking-dashboard #mapWrap .leaflet-control-layers-list .leaflet-control-layers-overlays label span,
.tracking-dashboard #mapWrap .leaflet-control-layers-list label span {
  color: inherit !important;
}
.tracking-dashboard #mapWrap .leaflet-control-layers-list .leaflet-control-layers-base label input,
.tracking-dashboard #mapWrap .leaflet-control-layers-list .leaflet-control-layers-overlays label input,
.tracking-dashboard #mapWrap .leaflet-control-layers-list label input {
  width: 15px;
  height: 15px;
  margin: 0;
  flex: 0 0 15px;
  accent-color: var(--tracking-green);
}
.tracking-dashboard #mapWrap .leaflet-control-layers-list .leaflet-control-layers-separator {
  height: 0;
  margin: 5px 4px;
  border-top: 1px solid var(--tracking-border);
}
.tracking-dashboard #map-controls {
  position: absolute;
  top: 14px;
  right: 14px;
  bottom: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: right;
}
.tracking-dashboard #map-controls > div,
.tracking-dashboard #map-controls > .btn-group-vertical {
  margin: 0;
}
.tracking-dashboard #map-controls .btn-group-vertical {
  margin: 0;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid var(--tracking-border);
  border-radius: 13px;
  box-shadow: var(--tracking-float-shadow);
}
.tracking-dashboard #map-controls .btn {
  display: flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  color: #1f2937;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-size: 16px;
  line-height: 1;
}
.tracking-dashboard #map-controls .btn + .btn {
  border-top: 1px solid var(--tracking-border);
}
.tracking-dashboard #map-controls .btn .icon {
  font-size: 16px;
  line-height: 1;
}
.tracking-dashboard #map-controls .btn:hover, .tracking-dashboard #map-controls .btn:focus {
  color: var(--tracking-green);
  background: #f8fcf9;
}
.tracking-dashboard #map-controls .btn.active {
  color: var(--tracking-green);
  background: var(--tracking-green-soft);
}
.tracking-dashboard .tracking-map-kpis {
  position: absolute;
  bottom: 14px;
  left: 10px;
  display: grid;
  width: 650px;
  height: 73px;
  max-width: calc(100% - 420px);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid var(--tracking-border);
  border-radius: 15px;
  box-shadow: var(--tracking-float-shadow);
  transform: none;
  backdrop-filter: blur(8px);
}
.tracking-dashboard .tracking-map-kpis article {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 13px;
  padding: 0 18px;
  border-right: 1px solid var(--tracking-border);
}
.tracking-dashboard .tracking-map-kpis article:last-child {
  border-right: 0;
}
.tracking-dashboard .tracking-map-kpis article > i {
  width: 27px;
  flex: 0 0 27px;
  color: var(--tracking-green);
  font-size: 24px;
  text-align: center;
}
.tracking-dashboard .tracking-map-kpis article > span {
  display: flex;
  min-width: 0;
  flex-direction: column;
}
.tracking-dashboard .tracking-map-kpis article small,
.tracking-dashboard .tracking-map-kpis article strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tracking-dashboard .tracking-map-kpis article small {
  color: #7b8797;
  font-size: 10px;
  font-weight: 500;
}
.tracking-dashboard .tracking-map-kpis article strong {
  margin-top: 5px;
  color: var(--tracking-ink);
  font-size: 17px;
  font-weight: 700;
}
.tracking-dashboard .tracking-map-kpis article.is-alert > i, .tracking-dashboard .tracking-map-kpis article.is-alert strong {
  color: var(--tracking-red);
}
.tracking-dashboard .tracking-quick-filters {
  position: absolute;
  right: 14px;
  bottom: 14px;
}
.tracking-dashboard .tracking-quick-filters-toggle {
  display: flex;
  width: 176px;
  height: 51px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 17px;
  color: var(--tracking-green);
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid var(--tracking-border);
  border-radius: 16px;
  box-shadow: var(--tracking-float-shadow);
  font-size: 11px;
  font-weight: 700;
  backdrop-filter: blur(8px);
}
.tracking-dashboard .tracking-quick-filters-toggle .fa-filter, .tracking-dashboard .tracking-quick-filters-toggle .icon.filter {
  font-size: 17px;
}
.tracking-dashboard .tracking-quick-filters-panel {
  position: absolute;
  right: 0;
  bottom: 59px;
  display: none;
  padding: 7px;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid var(--tracking-border);
  border-radius: 14px;
  box-shadow: var(--tracking-float-shadow);
}
.tracking-dashboard .tracking-quick-filters.is-open .tracking-quick-filters-panel {
  display: block;
}
.tracking-dashboard .tracking-quick-filters.is-open .tracking-quick-filters-toggle .fa-angle-down, .tracking-dashboard .tracking-quick-filters.is-open .tracking-quick-filters-toggle .caret {
  transform: rotate(180deg);
}
.tracking-dashboard #map-controls-layers,
.tracking-dashboard #history-control-layers {
  position: static;
  margin: 0;
}
.tracking-dashboard #map-controls-layers .btn-group-vertical,
.tracking-dashboard #history-control-layers .btn-group-vertical {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.tracking-dashboard .leaf-device-marker {
  overflow: visible !important;
}
.tracking-dashboard .leaf-device-marker .tracking-map-marker-symbol {
  position: absolute;
  z-index: 3;
  top: -4px;
  left: -7px;
  display: flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  border: 4px solid rgba(255, 255, 255, 0.98);
  border-radius: 50%;
  box-shadow: 0 5px 14px rgba(15, 23, 42, 0.16);
}
.tracking-dashboard .leaf-device-marker .tracking-map-marker-symbol .ico, .tracking-dashboard .leaf-device-marker .tracking-map-marker-symbol .icon, .tracking-dashboard .leaf-device-marker .tracking-map-marker-symbol .btn-collapse i, .btn-collapse .tracking-dashboard .leaf-device-marker .tracking-map-marker-symbol i, .tracking-dashboard .leaf-device-marker .tracking-map-marker-symbol .table.table-list .sorting:before, .table.table-list .tracking-dashboard .leaf-device-marker .tracking-map-marker-symbol .sorting:before, .tracking-dashboard .leaf-device-marker .tracking-map-marker-symbol .table.table-list .sorting:after, .table.table-list .tracking-dashboard .leaf-device-marker .tracking-map-marker-symbol .sorting:after,
.tracking-dashboard .leaf-device-marker .tracking-map-marker-symbol .table.table-list .sorting_desc:before,
.table.table-list .tracking-dashboard .leaf-device-marker .tracking-map-marker-symbol .sorting_desc:before,
.tracking-dashboard .leaf-device-marker .tracking-map-marker-symbol .table.table-list .sorting_desc:after,
.table.table-list .tracking-dashboard .leaf-device-marker .tracking-map-marker-symbol .sorting_desc:after,
.tracking-dashboard .leaf-device-marker .tracking-map-marker-symbol .table.table-list .sorting_asc:before,
.table.table-list .tracking-dashboard .leaf-device-marker .tracking-map-marker-symbol .sorting_asc:before,
.tracking-dashboard .leaf-device-marker .tracking-map-marker-symbol .table.table-list .sorting_asc:after,
.table.table-list .tracking-dashboard .leaf-device-marker .tracking-map-marker-symbol .sorting_asc:after, .tracking-dashboard .leaf-device-marker .tracking-map-marker-symbol .group-heading > .group-title:after {
  font-size: 18px;
}
.tracking-dashboard .leaf-device-marker .tracking-map-marker-symbol img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}
.tracking-dashboard .leaf-device-marker .name {
  position: absolute;
  z-index: 2;
  top: -2px;
  bottom: auto;
  left: 21px;
  display: block;
  margin: 0;
  transform: none;
}
.tracking-dashboard .leaf-device-marker .name::before, .tracking-dashboard .leaf-device-marker .name::after {
  display: none;
}
.tracking-dashboard .leaf-device-marker .name i {
  display: flex;
  min-width: 91px;
  min-height: 38px;
  flex-direction: column;
  justify-content: center;
  padding: 6px 13px 6px 21px;
  color: var(--tracking-ink);
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid var(--tracking-border);
  border-radius: 0 14px 14px 0;
  box-shadow: 0 6px 17px rgba(15, 23, 42, 0.13);
  font-style: normal;
  line-height: 1.15;
}
.tracking-dashboard .leaf-device-marker .name strong,
.tracking-dashboard .leaf-device-marker .name small {
  display: block;
  white-space: nowrap;
}
.tracking-dashboard .leaf-device-marker .name strong {
  color: var(--tracking-ink);
  font-size: 11px;
  font-weight: 700;
}
.tracking-dashboard .leaf-device-marker .name small {
  margin-top: 3px;
  color: var(--tracking-green);
  font-size: 9px;
  font-weight: 600;
}
.tracking-dashboard .leaf-device-marker.leaf-device-selected .name i {
  border-color: #b8dfc3;
  box-shadow: 0 7px 20px rgba(10, 155, 42, 0.2);
}
.tracking-dashboard #bottombar {
  left: calc(var(--tracking-nav-width) + var(--tracking-panel-width));
}
.tracking-dashboard #sidebar.collapsed ~ #bottombar, .tracking-dashboard #sidebar.collapsed #sidebar.btn-collapse ~ #bottombar, #sidebar.collapsed .tracking-dashboard #sidebar.btn-collapse ~ #bottombar, .tracking-dashboard #widgets.collapsed #sidebar.btn-collapse ~ #bottombar, #widgets.collapsed .tracking-dashboard #sidebar.btn-collapse ~ #bottombar, .tracking-dashboard #widgets.collapsed #sidebar.btn-collapse #sidebar.btn-collapse ~ #bottombar, .tracking-dashboard #sidebar.collapsed #widgets.btn-collapse #sidebar.btn-collapse #sidebar.btn-collapse ~ #bottombar {
  left: var(--tracking-nav-width);
}
.tracking-dashboard.tracking-theme-dark {
  --tracking-ink: #f2f4f7;
  --tracking-muted: #98a2b3;
  --tracking-border: #344054;
  --tracking-surface: #18212f;
  --tracking-canvas: #101722;
  --tracking-green-soft: #173523;
  --tracking-nav-ink: #e4e7ec;
}
.tracking-dashboard.tracking-theme-dark #map .leaflet-tile-pane {
  filter: saturate(0.65) brightness(0.68) contrast(1.08);
}
.tracking-dashboard.tracking-theme-dark .dashboard-nav-link,
.tracking-dashboard.tracking-theme-dark .tracking-logout,
.tracking-dashboard.tracking-theme-dark #header.tracking-topbar .tracking-topbar-action > a,
.tracking-dashboard.tracking-theme-dark #objects_tab .group-list > li,
.tracking-dashboard.tracking-theme-dark #objects_tab .tracking-group-heading {
  color: #e4e7ec;
}
.tracking-dashboard.tracking-theme-dark .tracking-theme-switch,
.tracking-dashboard.tracking-theme-dark #objects_tab .group-list > li:hover,
.tracking-dashboard.tracking-theme-dark #objects_tab .group-list > li.active {
  background: #202b3a;
}
.tracking-dashboard.tracking-theme-dark #mapWrap {
  background: #18212f;
}

@media (min-width: 768px) and (min-height: 880px) {
  .tracking-dashboard .tracking-navigation-footer {
    margin-bottom: 36px;
  }
}
@media (max-width: 1399px) {
  .tracking-dashboard {
    --tracking-nav-width: 138px;
    --tracking-panel-width: 420px;
  }
  .tracking-dashboard #header.tracking-topbar .tracking-refresh-action .tracking-map-refresh-button span {
    display: none;
  }
  .tracking-dashboard .dashboard-nav-link {
    gap: 11px;
    padding: 0 11px;
  }
  .tracking-dashboard .tracking-summary-card {
    height: 122px;
    padding: 12px 9px 10px;
  }
  .tracking-dashboard .tracking-summary-card .tracking-summary-icon {
    margin-bottom: 8px;
  }
  .tracking-dashboard #objects_tab .tracking-view-tabs {
    gap: 12px;
  }
  .tracking-dashboard #objects_tab .tracking-unit-search {
    width: 150px;
    flex-basis: 150px;
  }
  .tracking-dashboard #objects_tab .group-list > li > .name [data-device=time],
  .tracking-dashboard #objects_tab .group-list > li > .name [data-device=time_text] {
    max-width: 145px;
  }
  .tracking-dashboard .tracking-map-kpis {
    width: 570px;
    max-width: calc(100% - 360px);
  }
  .tracking-dashboard .tracking-map-kpis article {
    gap: 9px;
    padding: 0 12px;
  }
}
@media (max-width: 1099px) {
  .tracking-dashboard {
    --tracking-nav-width: 78px;
    --tracking-panel-width: 390px;
  }
  .tracking-dashboard #dashboard-navigation {
    padding-right: 8px;
    padding-left: 8px;
  }
  .tracking-dashboard .tracking-brand img {
    max-width: 58px;
  }
  .tracking-dashboard .dashboard-nav-link {
    justify-content: center;
    padding: 0;
  }
  .tracking-dashboard .dashboard-nav-link > span {
    display: none;
  }
  .tracking-dashboard .tracking-account-card {
    justify-content: center;
    padding: 8px;
  }
  .tracking-dashboard .tracking-account-card .tracking-account-copy,
  .tracking-dashboard .tracking-account-card > .fa-angle-down,
  .tracking-dashboard .tracking-account-card > .caret {
    display: none;
  }
  .tracking-dashboard .tracking-theme-switch {
    height: auto;
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 3px;
  }
  .tracking-dashboard .tracking-theme-switch button {
    height: 35px;
  }
  .tracking-dashboard .tracking-logout {
    justify-content: center;
    padding: 12px 0;
  }
  .tracking-dashboard .tracking-logout > span {
    display: none;
  }
  .tracking-dashboard #header.tracking-topbar .tracking-topbar-search {
    width: 330px;
    flex-basis: 330px;
  }
  .tracking-dashboard #header.tracking-topbar .tracking-topbar-actions {
    gap: 7px;
  }
  .tracking-dashboard #header.tracking-topbar .tracking-topbar-action > a {
    width: 43px;
    height: 43px;
  }
  .tracking-dashboard .tracking-map-kpis {
    display: none;
  }
}
@media (max-width: 767px) {
  .tracking-dashboard {
    --tracking-nav-width: 68px;
    --tracking-panel-width: calc(100vw - 68px);
    --tracking-header-height: 70px;
    --tracking-map-gap: 0px;
    --tracking-map-bottom: 0px;
  }
  .tracking-dashboard #dashboard-navigation {
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .tracking-dashboard .tracking-brand {
    height: 58px;
    flex-basis: 58px;
    margin-bottom: 5px;
  }
  .tracking-dashboard .tracking-main-nav {
    gap: 3px;
    overflow-y: auto;
  }
  .tracking-dashboard .dashboard-nav-link {
    min-height: 48px;
    flex-basis: 48px;
  }
  .tracking-dashboard .tracking-navigation-footer .tracking-account-card,
  .tracking-dashboard .tracking-theme-switch {
    display: none;
  }
  .tracking-dashboard #header.tracking-topbar .container-fluid {
    padding: 0 10px;
  }
  .tracking-dashboard #header.tracking-topbar .tracking-topbar-search {
    width: calc(100% - 48px);
    height: 43px;
    flex-basis: calc(100% - 48px);
  }
  .tracking-dashboard #header.tracking-topbar .tracking-topbar-search kbd {
    display: none;
  }
  .tracking-dashboard #header.tracking-topbar .navbar-toggle {
    display: block;
  }
  .tracking-dashboard #header.tracking-topbar .navbar-collapse {
    position: absolute;
    top: 61px;
    right: 8px;
    width: 260px;
    padding: 8px;
    background: var(--tracking-surface);
    border: 1px solid var(--tracking-border);
    border-radius: 13px;
    box-shadow: var(--tracking-float-shadow);
  }
  .tracking-dashboard #header.tracking-topbar .navbar-collapse.collapse:not(.in) {
    display: none !important;
  }
  .tracking-dashboard #header.tracking-topbar .tracking-topbar-actions {
    justify-content: flex-end;
  }
  .tracking-dashboard #sidebar {
    z-index: 1020;
    max-width: 430px;
    box-shadow: 10px 0 30px rgba(15, 23, 42, 0.12);
  }
  .tracking-dashboard #sidebar .btn-collapse {
    opacity: 1;
  }
  .tracking-dashboard #sidebar.collapsed + #mapWrap, .tracking-dashboard #sidebar.collapsed #sidebar.btn-collapse + #mapWrap, #sidebar.collapsed .tracking-dashboard #sidebar.btn-collapse + #mapWrap, .tracking-dashboard #widgets.collapsed #sidebar.btn-collapse + #mapWrap, #widgets.collapsed .tracking-dashboard #sidebar.btn-collapse + #mapWrap, .tracking-dashboard #widgets.collapsed #sidebar.btn-collapse #sidebar.btn-collapse + #mapWrap, .tracking-dashboard #sidebar.collapsed #widgets.btn-collapse #sidebar.btn-collapse #sidebar.btn-collapse + #mapWrap {
    left: var(--tracking-nav-width);
  }
  .tracking-dashboard #mapWrap {
    right: 0;
    border: 0;
    border-radius: 0;
  }
  .tracking-dashboard #map {
    border-radius: 0;
  }
  .tracking-dashboard .tracking-map-refresh {
    top: 9px;
    left: 9px;
  }
  .tracking-dashboard .tracking-map-mode {
    top: 9px;
    right: 9px;
  }
  .tracking-dashboard .tracking-quick-filters {
    right: 9px;
    bottom: 9px;
  }
  .tracking-dashboard #map-controls {
    top: 9px;
    right: 9px;
    bottom: auto;
  }
}
@media (max-height: 760px) and (min-width: 768px) {
  .tracking-dashboard .tracking-brand {
    height: 50px;
    flex-basis: 50px;
    margin-bottom: 6px;
  }
  .tracking-dashboard .tracking-main-nav {
    gap: 2px;
  }
  .tracking-dashboard .dashboard-nav-link {
    min-height: 45px;
    flex-basis: 45px;
  }
  .tracking-dashboard .tracking-theme-switch {
    display: none;
  }
  .tracking-dashboard #map-controls {
    top: 10px;
    gap: 6px;
  }
  .tracking-dashboard #map-controls .btn {
    width: 38px;
    height: 36px;
  }
  .tracking-dashboard #map-controls .leaflet-control-layers {
    width: 38px;
    height: 40px;
  }
  .tracking-dashboard #map-controls .leaflet-control-layers-toggle {
    width: 38px !important;
    height: 40px !important;
    border-radius: 12px;
  }
  .tracking-dashboard .tracking-summary {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .tracking-dashboard .tracking-summary-heading {
    height: 34px;
  }
  .tracking-dashboard .tracking-summary-heading button {
    height: 31px;
  }
  .tracking-dashboard .tracking-summary-card {
    height: 99px;
    padding: 8px;
  }
  .tracking-dashboard .tracking-summary-card .tracking-summary-icon {
    width: 25px;
    height: 25px;
    margin-bottom: 5px;
    font-size: 12px;
  }
  .tracking-dashboard .tracking-summary-card .tracking-summary-label {
    min-height: 20px;
    font-size: 9px;
  }
  .tracking-dashboard .tracking-summary-card strong {
    font-size: 18px;
  }
  .tracking-dashboard .tracking-summary-card small {
    display: none;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xheW91dC9fdmFyaWFibGVzLnNjc3MiLCIuLi9saWJyYXJpZXMvX2Jvb3RzdHJhcC5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fbm9ybWFsaXplLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL19wcmludC5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fc2NhZmZvbGRpbmcuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL192ZW5kb3ItcHJlZml4ZXMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vY29sb3VyaW5nL19tYWluLWdyZWVuLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fdGFiLWZvY3VzLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9faW1hZ2Uuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX3R5cGUuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fY2xlYXJmaXguc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL190ZXh0LW92ZXJmbG93LnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL19ncmlkLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fZ3JpZC5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL190YWJsZXMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX2Zvcm1zLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fZm9ybXMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX2J1dHRvbnMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL19idXR0b25zLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fb3BhY2l0eS5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fY29tcG9uZW50LWFuaW1hdGlvbnMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX2Ryb3Bkb3ducy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fcmVzZXQtZmlsdGVyLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL19idXR0b24tZ3JvdXBzLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9faW5wdXQtZ3JvdXBzLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL19uYXZzLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL19uYXZiYXIuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL19uYXYtdmVydGljYWwtYWxpZ24uc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX3BhZ2luYXRpb24uc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL19sYWJlbHMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL19sYWJlbHMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX2JhZGdlcy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fdGh1bWJuYWlscy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fYWxlcnRzLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fYWxlcnRzLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL19wcm9ncmVzcy1iYXJzLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL21peGlucy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCIuLi9saWJyYXJpZXMvYm9vdHN0cmFwL19tZWRpYS5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX2xpc3QtZ3JvdXAuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX3BhbmVscy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX3BhbmVscy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fY2xvc2Uuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX21vZGFscy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fdG9vbHRpcC5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvX3V0aWxpdGllcy5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX2NlbnRlci1ibG9jay5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9taXhpbnMvX2hpZGUtdGV4dC5zY3NzIiwiLi4vbGlicmFyaWVzL2Jvb3RzdHJhcC9fcmVzcG9uc2l2ZS11dGlsaXRpZXMuc2NzcyIsIi4uL2xpYnJhcmllcy9ib290c3RyYXAvbWl4aW5zL19yZXNwb25zaXZlLXZpc2liaWxpdHkuc2NzcyIsIi4uL2xpYnJhcmllcy9fanF1ZXJ5LXVpLnNjc3MiLCIuLi9saWJyYXJpZXMvYW5pbWF0ZS9fYW5pbWF0ZS5zY3NzIiwiLi4vbGlicmFyaWVzL2ZvbnQtYXdlc29tZS9fZm9udC1hd2Vzb21lLnNjc3MiLCIuLi9saWJyYXJpZXMvZm9udC1hd2Vzb21lL19wYXRoLnNjc3MiLCIuLi9saWJyYXJpZXMvZm9udC1hd2Vzb21lL19jb3JlLnNjc3MiLCIuLi9saWJyYXJpZXMvZm9udC1hd2Vzb21lL19sYXJnZXIuc2NzcyIsIi4uL2xpYnJhcmllcy9mb250LWF3ZXNvbWUvX2ZpeGVkLXdpZHRoLnNjc3MiLCIuLi9saWJyYXJpZXMvZm9udC1hd2Vzb21lL19saXN0LnNjc3MiLCIuLi9saWJyYXJpZXMvZm9udC1hd2Vzb21lL192YXJpYWJsZXMuc2NzcyIsIi4uL2xpYnJhcmllcy9mb250LWF3ZXNvbWUvX2JvcmRlcmVkLXB1bGxlZC5zY3NzIiwiLi4vbGlicmFyaWVzL2ZvbnQtYXdlc29tZS9fYW5pbWF0ZWQuc2NzcyIsIi4uL2xpYnJhcmllcy9mb250LWF3ZXNvbWUvX3JvdGF0ZWQtZmxpcHBlZC5zY3NzIiwiLi4vbGlicmFyaWVzL2ZvbnQtYXdlc29tZS9fbWl4aW5zLnNjc3MiLCIuLi9saWJyYXJpZXMvZm9udC1hd2Vzb21lL19zdGFja2VkLnNjc3MiLCIuLi9saWJyYXJpZXMvZm9udC1hd2Vzb21lL19pY29ucy5zY3NzIiwiLi4vbGlicmFyaWVzL19mb250LWN1c3RvbS5zY3NzIiwiLi4vbGlicmFyaWVzL19ib290c3RyYXAtY2hlY2tib3gtbWl4aW5zLnNjc3MiLCIuLi9saWJyYXJpZXMvX2Jvb3RzdHJhcC1jaGVja2JveC5zY3NzIiwiLi4vbGlicmFyaWVzL19ib290c3RyYXAtZGF0ZXBpY2tlci5zY3NzIiwiLi4vbGlicmFyaWVzL19ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXIuc2NzcyIsIi4uL2xpYnJhcmllcy9fYm9vdHN0cmFwLXNlbGVjdC5zY3NzIiwiLi4vbGlicmFyaWVzL19ib290c3RyYXAtY29sb3JwaWNrZXIuc2NzcyIsIi4uL2xpYnJhcmllcy9fYm9vdHN0cmFwLXRvYXN0ci5zY3NzIiwiLi4vbGlicmFyaWVzL2xlYWZsZXQvX2xlYWZsZXQuc2NzcyIsIi4uL2xpYnJhcmllcy9sZWFmbGV0L19sZWFmbGV0LWNvbnRyb2xzLWxheWVyLnNjc3MiLCIuLi9saWJyYXJpZXMvbGVhZmxldC9fbWFya2Vycy1jbHVzdGVyLnNjc3MiLCIuLi9taXhpbnMvX21peGlucy5zY3NzIiwiLi4vbGlicmFyaWVzL2xlYWZsZXQvX2RyYXcuc2NzcyIsIi4uL2xpYnJhcmllcy9sZWFmbGV0L19wb3B1cC5zY3NzIiwiLi4vbGlicmFyaWVzL19hdXRvY29tcGxldGUuc2NzcyIsIi4uL2xpYnJhcmllcy9pbnRsLXRlbC1pbnB1dC9faW50bC10ZWwtaW5wdXQuc2NzcyIsIi4uL2xpYnJhcmllcy9pbnRsLXRlbC1pbnB1dC9fc3ByaXRlLnNjc3MiLCIuLi9sYXlvdXQvX2Jhc2Uuc2NzcyIsIi4uL2xheW91dC9faWNvbnMuc2NzcyIsIi4uL2xheW91dC9faGVhZGVyLnNjc3MiLCIuLi9sYXlvdXQvX3Njcm9sbGJhci5zY3NzIiwiLi4vbGF5b3V0L19zaWRlYmFyLnNjc3MiLCIuLi9sYXlvdXQvX25hdnMuc2NzcyIsIi4uL2xheW91dC9fbmF2YmFycy5zY3NzIiwiLi4vbGF5b3V0L19idXR0b25zLnNjc3MiLCIuLi9sYXlvdXQvX2lucHV0LWdyb3Vwcy5zY3NzIiwiLi4vbGF5b3V0L19kcm9wZG93bi5zY3NzIiwiLi4vbGF5b3V0L19mb3Jtcy5zY3NzIiwiLi4vbGF5b3V0L19tb2RhbHMuc2NzcyIsIi4uL2xheW91dC9fdGFibGVzLnNjc3MiLCIuLi9sYXlvdXQvX21hcC5zY3NzIiwiLi4vbGF5b3V0L19wYWdpbmF0aW9uLnNjc3MiLCIuLi9sYXlvdXQvX3dpZGdldHMuc2NzcyIsIi4uL2xheW91dC9fZ3JvdXBzLnNjc3MiLCIuLi9sYXlvdXQvX3BhbmVscy5zY3NzIiwiLi4vbGF5b3V0L19sb2FkZXIuc2NzcyIsIi4uL2xheW91dC9fc2lnbi1pbi5zY3NzIiwiLi4vbGF5b3V0L19kaWFsb2cuc2NzcyIsIi4uL2xheW91dC9fcGxhbnMuc2NzcyIsIi4uL2xheW91dC9fYm90dG9tYmFyLnNjc3MiLCIuLi9sYXlvdXQvX2NoYXQuc2NzcyIsIi4uL2xheW91dC9fZGFzaGJvYXJkLnNjc3MiLCIuLi9sYXlvdXQvX2F1dG9jb21wbGV0ZS1zZWxlY3Quc2NzcyIsIi4uL2xheW91dC9fdGh1bWJuYWlscy5zY3NzIiwiLi4vbGF5b3V0L19kYXRhdGFibGVzLnNjc3MiLCIuLi9sYXlvdXQvX3RyYWNraW5nLWRhc2hib2FyZC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFvQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUF5QlE7QUM3Q1I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBUUE7RUFDRTtFQUNBO0VBQ0E7OztBQU9GO0VBQ0U7OztBQWFGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBYUU7OztBQVFGO0FBQUE7QUFBQTtBQUFBO0VBSUU7RUFDQTs7O0FBUUY7RUFDRTtFQUNBOzs7QUFRRjtBQUFBO0VBRUU7OztBQVVGO0VBQ0U7OztBQVFGO0FBQUE7RUFFRTs7O0FBVUY7RUFDRTs7O0FBT0Y7QUFBQTtFQUVFOzs7QUFPRjtFQUNFOzs7QUFRRjtFQUNFO0VBQ0E7OztBQU9GO0VBQ0U7RUFDQTs7O0FBT0Y7RUFDRTs7O0FBT0Y7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFVRjtFQUNFOzs7QUFPRjtFQUNFOzs7QUFVRjtFQUNFOzs7QUFPRjtFQUNFO0VBQ0E7OztBQU9GO0VBQ0U7OztBQU9GO0FBQUE7QUFBQTtBQUFBO0VBSUU7RUFDQTs7O0FBa0JGO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLRTtFQUNBO0VBQ0E7OztBQU9GO0VBQ0U7OztBQVVG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O0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQW1CRjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUZHTjtFRXJDRTtJQUNFOztFQU9BO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQW1CRjtJQUNFOztFQU5GO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQU5GO0lBQ0U7O0VBTkY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBbUJGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7OztBRllOO0VFOUNFO0lBQ0U7O0VBT0E7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBbUJGO0lBQ0U7O0VBTkY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBTkY7SUFDRTs7RUFORjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFtQkY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7O0FGcUJOO0VFdkRFO0lBQ0U7O0VBT0E7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBbUJGO0lBQ0U7O0VBTkY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBTkY7SUFDRTs7RUFORjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURG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RUFFRSxRcEI1RzBDOzs7QW9Cb0gxQztBQUFBO0FBQUE7RUFDRSxRcEJySHdDOzs7QW9CZ0k5QztFQUVFO0VBQ0E7RUFFQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFRTtFQUNBOzs7QUM5T0Y7QUFBQTtBQUFBO0VBQ0UsUWY4STZCO0VlN0k3QjtFQUNBLFdyQjFCMEM7RXFCMkIxQyxhZjZCd0I7RWU1QnhCLGVyQk4wQzs7O0FxQlM1QztBQUFBO0FBQUE7RUFDRSxRZnNJNkI7RWVySTdCLGFmcUk2Qjs7O0FlbEkvQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVFOzs7QUQ4T0Y7RUFDRSxRZC9HNkI7RWNnSDdCO0VBQ0EsV3BCdlIwQztFb0J3UjFDLGFkaE93QjtFY2lPeEIsZXBCblEwQzs7QW9CcVE1QztFQUNFLFFkdEg2QjtFY3VIN0IsYWR2SDZCOztBY3lIL0I7QUFBQTtFQUVFOztBQUVGO0VBQ0UsUWQ5SDZCO0VjK0g3QjtFQUNBO0VBQ0EsV3BCdlMwQztFb0J3UzFDLGFkaFB3Qjs7O0FlakMxQjtBQUFBO0FBQUE7RUFDRSxRZjRJNkI7RWUzSTdCO0VBQ0EsV3JCekIwQztFcUIwQjFDLGFmNEJ3QjtFZTNCeEIsZXJCUDBDOzs7QXFCVTVDO0FBQUE7QUFBQTtFQUNFLFFmb0k2QjtFZW5JN0IsYWZtSTZCOzs7QWVoSS9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUU7OztBRHdRRjtFQUNFLFFkM0k2QjtFYzRJN0I7RUFDQSxXcEJoVDBDO0VvQmlUMUMsYWQzUHdCO0VjNFB4QixlcEI5UjBDOztBb0JnUzVDO0VBQ0UsUWRsSjZCO0VjbUo3QixhZG5KNkI7O0FjcUovQjtBQUFBO0VBRUU7O0FBRUY7RUFDRSxRZDFKNkI7RWMySjdCO0VBQ0E7RUFDQSxXcEJoVTBDO0VvQmlVMUMsYWQzUXdCOzs7QWNvUjVCO0VBRUU7O0FBR0E7RUFDRSxlZC9LNkI7OztBY21MakM7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPZHpMK0I7RWMwTC9CLFFkMUwrQjtFYzJML0IsYWQzTCtCO0VjNEwvQjtFQUNBOzs7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFHRSxPZGhNK0I7RWNpTS9CLFFkak0rQjtFY2tNL0IsYWRsTStCOzs7QWNvTWpDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUdFLE9kck0rQjtFY3NNL0IsUWR0TStCO0VjdU0vQixhZHZNK0I7OztBZWpOL0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBVUUsT2ZxZTZCOztBZWxlL0I7QUFBQTtFQUVFLGNmZ2U2QjtFRGxiL0Isb0JnQjdDRTtFaEI4Q00sWWdCOUNOOztBQUNBO0FBQUE7RUFDRTtFaEIyQ0osb0JnQnpDSTtFaEIwQ0ksWWdCMUNKOztBQUlKO0VBQ0UsT2ZzZDZCO0VlcmQ3QixjZnFkNkI7RWVwZDdCLGtCZnFkNkI7O0FlbGQvQjtBQUFBO0VBQ0UsT2ZnZDZCOzs7QWUvZS9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQVVFLE9mNmU2Qjs7QWUxZS9CO0FBQUE7RUFFRSxjZndlNkI7RUQxYi9CLG9CZ0I3Q0U7RWhCOENNLFlnQjlDTjs7QUFDQTtBQUFBO0VBQ0U7RWhCMkNKLG9CZ0J6Q0k7RWhCMENJLFlnQjFDSjs7QUFJSjtFQUNFLE9mOGQ2QjtFZTdkN0IsY2Y2ZDZCO0VlNWQ3QixrQmY2ZDZCOztBZTFkL0I7QUFBQTtFQUNFLE9md2Q2Qjs7O0FldmYvQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFVRSxPZmlmNkI7O0FlOWUvQjtBQUFBO0VBRUUsY2Y0ZTZCO0VEOWIvQixvQmdCN0NFO0VoQjhDTSxZZ0I5Q047O0FBQ0E7QUFBQTtFQUNFO0VoQjJDSixvQmdCekNJO0VoQjBDSSxZZ0IxQ0o7O0FBSUo7RUFDRSxPZmtlNkI7RWVqZTdCLGNmaWU2QjtFZWhlN0Isa0JmaWU2Qjs7QWU5ZC9CO0FBQUE7RUFDRSxPZjRkNkI7OztBY2xGL0I7QUFBQTtFQUNHOztBQUVIO0FBQUE7RUFDRzs7O0FBVUw7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBbUJBO0VBRUU7SUFDRTtJQUNBO0lBQ0E7O0VBSUY7SUFDRTtJQUNBO0lBQ0E7O0VBSUY7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBRUE7QUFBQTtBQUFBO0lBR0U7O0VBS0o7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBS0Y7QUFBQTtJQUVFO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0FBQUE7SUFDRTs7RUFHSjtBQUFBO0lBRUU7SUFDQTs7RUFJRjtBQUFBO0lBQ0U7Ozs7QUFxQko7QUFBQTtBQUFBO0FBQUE7RUFJRTtFQUNBO0VBQ0E7O0FBSUY7QUFBQTtFQUVFOztBQUlGO0VKemlCQTtFQUNBOztBSEhBO0VBRUU7RUFDQTs7QUFFRjtFQUNFOztBTzJpQkY7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7O0FBUUo7QUFBQTtFQUNFOztBQVFBO0VBQ0U7SUFDRTtJQUNBLFdwQm5pQnNDOzs7QW9Cd2lCMUM7RUFDRTtJQUNFO0lBQ0EsV3BCNWlCc0M7Ozs7QXNCMUM5QztFQUNFO0VBQ0E7RUFDQSxhdEI4TjRDO0VzQjdONUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUM2Q0E7RUFDQSxXdkJoQjRDO0V1QmlCNUMsYWpCSHdCO0VpQkl4QixldkJJNEM7RUttSjVDLHFCaUJyTXFCO0VqQnNNbEIsa0JpQnRNa0I7RWpCdU1qQixpQmlCdk1pQjtFakJ3TWIsYWlCeE1hOztBQUtuQjtBZHRCRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQVFBO0VBQ0E7O0FjbUJBO0VBR0UsT3RCeEJhO0VzQnlCYjs7QUFHRjtFQUVFO0VBQ0E7O0FBSUY7RUFHRSxRdEI0SDBDO0V3QnpLNUMsU0Y4Q21CO0VFM0NuQjtFbkI4REEsb0JpQmxCRTtFakJtQk0sWWlCbkJOOzs7QUFPRjtFQUVFOzs7QUFRSjtFQzdERSxPdkJJZTtFdUJIZixrQnZCTGE7RXVCTWIsY3ZCTmE7O0F1QlFiO0VBRUUsT3ZCRmE7RXVCR2I7RUFDSTs7QUFFTjtFQUNFLE92QlBhO0V1QlFiO0VBQ0k7O0FBRU47RUFHRSxPdkJkYTtFdUJlYjtFQUNJOztBQUVKO0VBR0UsT3ZCckJXO0V1QnNCWDtFQUNJOztBQUdSO0VBR0U7O0FBS0E7RUFNRSxrQnZCaERTO0V1QmlETCxjdkJqREs7O0F1QnFEYjtFQUNFLE92QnREVztFdUJ1RFgsa0J2Qi9DYTs7O0FzQjREakI7RUNoRUUsT2pCb0orQjtFaUJuSi9CLGtCaEJQdUI7RWdCUXZCLGNqQm9KK0I7O0FpQmxKL0I7RUFFRSxPakI4STZCO0VpQjdJN0I7RUFDSTs7QUFFTjtFQUNFLE9qQnlJNkI7RWlCeEk3QjtFQUNJOztBQUVOO0VBR0UsT2pCa0k2QjtFaUJqSTdCO0VBQ0k7O0FBRUo7RUFHRSxPakIySDJCO0VpQjFIM0I7RUFDSTs7QUFHUjtFQUdFOztBQUtBO0VBTUUsa0JoQmxEbUI7RWdCbURmLGNqQnlHdUI7O0FpQnJHL0I7RUFDRSxPaEJ4RHFCO0VnQnlEckIsa0JqQmlHNkI7OztBZ0JoRmpDO0VDcEVFLE9qQndKK0I7RWlCdkovQixrQmpCVXNCO0VpQlR0QixjakJ3SitCOztBaUJ0Si9CO0VBRUUsT2pCa0o2QjtFaUJqSjdCO0VBQ0k7O0FBRU47RUFDRSxPakI2STZCO0VpQjVJN0I7RUFDSTs7QUFFTjtFQUdFLE9qQnNJNkI7RWlCckk3QjtFQUNJOztBQUVKO0VBR0UsT2pCK0gyQjtFaUI5SDNCO0VBQ0k7O0FBR1I7RUFHRTs7QUFLQTtFQU1FLGtCakJqQ2tCO0VpQmtDZCxjakI2R3VCOztBaUJ6Ry9CO0VBQ0UsT2pCdkNvQjtFaUJ3Q3BCLGtCakJxRzZCOzs7QWdCaEZqQztFQ3hFRSxPakI0SitCO0VpQjNKL0Isa0JqQldzQjtFaUJWdEIsY2pCNEorQjs7QWlCMUovQjtFQUVFLE9qQnNKNkI7RWlCcko3QjtFQUNJOztBQUVOO0VBQ0UsT2pCaUo2QjtFaUJoSjdCO0VBQ0k7O0FBRU47RUFHRSxPakIwSTZCO0VpQnpJN0I7RUFDSTs7QUFFSjtFQUdFLE9qQm1JMkI7RWlCbEkzQjtFQUNJOztBQUdSO0VBR0U7O0FBS0E7RUFNRSxrQmpCaENrQjtFaUJpQ2QsY2pCaUh1Qjs7QWlCN0cvQjtFQUNFLE9qQnRDb0I7RWlCdUNwQixrQmpCeUc2Qjs7O0FnQmhGakM7RUM1RUUsT2pCZ0srQjtFaUIvSi9CLGtCakJZc0I7RWlCWHRCLGNqQmdLK0I7O0FpQjlKL0I7RUFFRSxPakIwSjZCO0VpQnpKN0I7RUFDSTs7QUFFTjtFQUNFLE9qQnFKNkI7RWlCcEo3QjtFQUNJOztBQUVOO0VBR0UsT2pCOEk2QjtFaUI3STdCO0VBQ0k7O0FBRUo7RUFHRSxPakJ1STJCO0VpQnRJM0I7RUFDSTs7QUFHUjtFQUdFOztBQUtBO0VBTUUsa0JqQi9Ca0I7RWlCZ0NkLGNqQnFIdUI7O0FpQmpIL0I7RUFDRSxPakJyQ29CO0VpQnNDcEIsa0JqQjZHNkI7OztBZ0JoRmpDO0VDaEZFLE9qQm9LK0I7RWlCbksvQixrQmpCYXNCO0VpQlp0QixjakJvSytCOztBaUJsSy9CO0VBRUUsT2pCOEo2QjtFaUI3SjdCO0VBQ0k7O0FBRU47RUFDRSxPakJ5SjZCO0VpQnhKN0I7RUFDSTs7QUFFTjtFQUdFLE9qQmtKNkI7RWlCako3QjtFQUNJOztBQUVKO0VBR0UsT2pCMkkyQjtFaUIxSTNCO0VBQ0k7O0FBR1I7RUFHRTs7QUFLQTtFQU1FLGtCakI5QmtCO0VpQitCZCxjakJ5SHVCOztBaUJySC9CO0VBQ0UsT2pCcENvQjtFaUJxQ3BCLGtCakJpSDZCOzs7QWdCM0VqQztFQUNFLE9maEd1QjtFZWlHdkI7RUFDQTs7QUFFQTtFQUtFO0VqQnJDRixvQmlCc0NFO0VqQnJDTSxZaUJxQ047O0FBRUY7RUFJRTs7QUFFRjtFQUVFLE9oQmpGb0I7RWdCa0ZwQixpQmhCaEZvQjtFZ0JpRnBCOztBQUlBO0VBRUUsT3RCNUZtQjtFc0I2Rm5COzs7QUFTTjtFQ3ZFRTtFQUNBLFd2QmI0QztFdUJjNUMsYWpCd0MwQjtFaUJ2QzFCLGV2Qks0Qzs7O0FzQm1FOUM7RUMzRUU7RUFDQSxXdkJkNEM7RXVCZTVDLGFqQnlDMEI7RWlCeEMxQixldkJNNEM7OztBc0JzRTlDO0VDL0VFO0VBQ0EsV3ZCZDRDO0V1QmU1QyxhakJ5QzBCO0VpQnhDMUIsZXZCTTRDOzs7QXNCOEU5QztFQUNFO0VBQ0E7OztBQUlGO0VBQ0U7OztBQU9BO0FBQUE7QUFBQTtFQUNFOzs7QUc1Sko7RUFDRTtFcEIrS0Esb0JvQjlLQTtFcEIrS0ssZW9CL0tMO0VwQmdMUSxZb0JoTFI7O0FBQ0E7RUFDRTs7O0FBSUo7RUFDRTs7QUFFQTtFQUFZOzs7QUFLZDtFQUFvQjs7O0FBRXBCO0VBQW9COzs7QUFFcEI7RUFDRTtFQUNBO0VBQ0E7RXBCOEpBLDZCb0I3SkE7RXBCOEpRLHFCb0I5SlI7RXBCcUtBLDZCb0JwS0E7RXBCcUtRLHFCb0JyS1I7RXBCd0tBLG9Db0J2S29DO0VwQndLNUIsNEJvQnhLNEI7OztBQzdCdEM7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0FBQUE7RUFFRTs7O0FBSUY7RUFDRTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQSxTMUJFeUI7RTBCRHpCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFcxQk80QztFMEJONUM7RUFDQSxrQjFCM0NhO0UwQjRDYjtFQUNBO0VBQ0EsZTFCd0I0QztFS0Y1QyxvQnFCckJBO0VyQnNCUSxZcUJ0QlI7RUFDQTs7QUFLQTtFQUNFO0VBQ0E7O0FBSUY7RUN0REE7RUFDQTtFQUNBO0VBQ0Esa0IzQlFpQjs7QTBCZ0RqQjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYXBCUHNCO0VvQlF0QixPMUI1RGE7RTBCNkRiOzs7QUFNRjtFQUVFO0VBQ0EsTzFCdEVhO0UwQnVFYixrQjFCaEZXOzs7QTBCc0ZiO0VBR0UsTzFCaEZhO0UwQmlGYjtFQUNBO0VBQ0Esa0IxQjVGVzs7O0EwQnFHYjtFQUdFLE8xQjdGYTs7QTBCaUdmO0VBRUU7RUFDQTtFQUNBO0VFM0dGO0VGNkdFLFExQnlEMEM7OztBMEJsRDVDO0VBQ0U7O0FBSUY7RUFDRTs7O0FBUUo7RUFDRTtFQUNBOzs7QUFRRjtFQUNFO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBLFcxQnpHNEM7RTBCMEc1QyxhcEI5RndCO0VvQitGeEIsTzFCbkplO0UwQm9KZjs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTs7O0FBV0E7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0FBQUE7QUFBQTtBQUFBO0VBQ0U7RUFDQTtFQUNBOzs7QUFTSjtFQUVJO0lBQ0U7SUFBVTs7RUFJWjtJQUNFO0lBQVM7OztBRy9NZjtBQUFBO0VBRUU7RUFDQTtFQUNBOztBQUNBO0FBQUE7RUFDRTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBT0o7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBS0o7RUFDRTs7QWhCdEJBO0VBRUU7RUFDQTs7QUFFRjtFQUNFOztBZ0JtQkY7QUFBQTtBQUFBO0VBR0U7O0FBRUY7QUFBQTtBQUFBO0VBR0U7OztBQUlKO0VBQ0U7OztBQUlGO0VBQ0U7O0FBQ0E7RUNsREEsNEJEbUQrQjtFQ2xENUIseUJEa0Q0Qjs7O0FBSWpDO0FBQUE7RUMvQ0UsMkJEaUQ0QjtFQ2hEekIsd0JEZ0R5Qjs7O0FBSTlCO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUdBO0FBQUE7RUNwRUEsNEJEc0UrQjtFQ3JFNUIseUJEcUU0Qjs7O0FBR2pDO0VDakVFLDJCRGtFNEI7RUNqRXpCLHdCRGlFeUI7OztBQUk5QjtBQUFBO0VBRUU7OztBQWlCRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBS0Y7RXhCL0NFLG9Cd0JnREE7RXhCL0NRLFl3QitDUjs7QUFHQTtFeEJuREEsb0J3Qm9ERTtFeEJuRE0sWXdCbUROOzs7QUFNSjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQVFBO0FBQUE7QUFBQTtFQUdFO0VBQ0E7RUFDQTtFQUNBOztBaEJ6SUY7RUFFRTtFQUNBOztBQUVGO0VBQ0U7O0FnQnlJQTtFQUNFOztBQUlKO0FBQUE7QUFBQTtBQUFBO0VBSUU7RUFDQTs7O0FBS0Y7RUFDRTs7QUFFRjtFQUNFLHlCN0J6RzBDO0U4QjNENUMsNEJEcUtnQztFQ3BLL0IsMkJEb0srQjs7QUFFaEM7RUFDRSwyQjdCN0cwQztFOEJuRTVDLHlCRGlMNkI7RUNoTDVCLHdCRGdMNEI7OztBQUcvQjtFQUNFOzs7QUFHQTtBQUFBO0VDaExBLDRCRGtMZ0M7RUNqTC9CLDJCRGlMK0I7OztBQUdsQztFQzdMRSx5QkQ4TDJCO0VDN0wxQix3QkQ2TDBCOzs7QUFPN0I7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtBQUFBO0VBRUU7RUFDQTtFQUNBOztBQUVGO0VBQ0U7O0FBR0Y7RUFDRTs7O0FBb0JBO0FBQUE7QUFBQTtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUUxT047RUFDRTtFQUNBO0VBQ0E7O0FBR0E7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFHRTtFQUNBO0VBS0E7RUFFQTtFQUNBOzs7QUF1Qko7QUFBQTtBQUFBO0VBR0U7O0FBRUE7QUFBQTtBQUFBO0VBQ0U7OztBQUlKO0FBQUE7RUFFRTtFQUNBO0VBQ0E7OztBQUtGO0VBQ0U7RUFDQSxXL0IxQjRDO0UrQjJCNUM7RUFDQTtFQUNBLE8vQnRFZTtFK0J1RWY7RUFDQSxrQi9COUVhO0UrQitFYjtFQUNBLGUvQlg0Qzs7QStCYzVDO0FBQUE7QUFBQTtFQUNFO0VBQ0EsVy9CcEMwQztFK0JxQzFDLGUvQmYwQzs7QStCaUI1QztBQUFBO0FBQUE7RUFDRTtFQUNBLFcvQnhDMEM7RStCeUMxQyxlL0JyQjBDOztBK0J5QjVDO0FBQUE7RUFFRTs7O0FBS0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RURoR0UsNEJDdUc2QjtFRHRHMUIseUJDc0cwQjs7O0FBRS9CO0VBQ0U7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VEcEdFLDJCQzJHNEI7RUQxR3pCLHdCQzBHeUI7OztBQUU5QjtFQUNFOzs7QUFLRjtFQUNFO0VBR0E7RUFDQTs7QUFJQTtFQUNFOztBQUNBO0VBQ0U7O0FBR0Y7RUFHRTs7QUFNRjtBQUFBO0VBRUU7O0FBSUY7QUFBQTtFQUVFO0VBQ0E7OztBQzNKTjtFQUNFO0VBQ0E7RUFDQTs7QW5CRUE7RUFFRTtFQUNBOztBQUVGO0VBQ0U7O0FtQkxGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQSxTaENrR3dDOztBZ0NoR3hDO0VBQ0U7RUFDQSxrQmhDekJPOztBZ0M4Qlg7RUFDRSxPaENuQlc7O0FnQ3NCWDtFQUNFLE9oQ3ZCUztFZ0N3QlQ7RUFDQTtFQUNBLFFoQ3NJc0M7O0FnQy9IMUM7RUFHRSxrQmhDaERTO0VnQ2lEVCxjekJqRG1COztBeUIwRHZCO0VMckRBO0VBQ0E7RUFDQTtFQUNBLGtCQUp5Qjs7QUs2RHpCO0VBQ0U7OztBQVNKO0VBQ0U7O0FBQ0E7RUFDRTtFQUVBOztBQUdBO0VBQ0U7RUFDQSxhMUJ2Qm9CO0UwQndCcEI7RUFDQTs7QUFDQTtFQUNFOztBQU1GO0VBR0UsT2hDNUZTO0VnQzZGVCxrQmhDbkdPO0VnQ29HUDtFQUNBO0VBQ0E7O0FBZU47RUFDRTs7QUFHQTtFQUNFLGVoQ3BEd0M7O0FnQ3NEMUM7RUFDRTs7QUFLQTtFQUdFLE9oQ2hJUztFZ0NpSVQsa0J6QnRJaUI7OztBeUIrSXZCO0VBQ0U7O0FBQ0E7RUFDRTtFQUNBOzs7QUFZTjtFQUNFOztBQUVBO0VBQ0U7O0FBQ0E7RUFDRTtFQUNBOztBQUlKO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFDQTtJQUNFOzs7O0FBU1I7RUFDRTs7QUFFQTtFQUVFO0VBQ0EsZWhDN0gwQzs7QWdDZ0k1QztBQUFBO0FBQUE7RUFHRTs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFFRjtBQUFBO0FBQUE7SUFHRSxxQmhDcE5TOzs7O0FnQ2dPYjtFQUNFOztBQUVGO0VBQ0U7OztBQVVKO0VBRUU7RUY3T0EseUJFK08yQjtFRjlPMUIsd0JFOE8wQjs7O0FDeE83QjtFQUNFO0VBQ0EsWWpDK0Q0QztFaUM5RDVDLGVqQytENEM7RWlDOUQ1Qzs7QXBCREE7RUFFRTtFQUNBOztBQUVGO0VBQ0U7O0FvQkFGO0VBVEY7SUFVSSxlakN5RDBDOzs7O0FhaEU1QztFQUVFO0VBQ0E7O0FBRUY7RUFDRTs7QW9CY0Y7RUFIRjtJQUlJOzs7O0FBZUo7RUFDRTtFQUNBLGUzQjJUaUM7RTJCMVRqQyxjM0IwVGlDO0UyQnpUakM7RUFDQTs7QXBCekNBO0VBRUU7RUFDQTs7QUFFRjtFQUNFOztBb0I4Qko7RUFPRTs7QUFFQTtFQUNFOztBQUdGO0VBYkY7SUFjSTtJQUNBO0lBQ0E7O0VBRUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFOztFQUtGO0lBR0U7SUFDQTs7OztBQU9KO0FBQUE7RUFDRSxZM0JvUitCOztBMkJsUi9CO0VBSEY7QUFBQTtJQUlJOzs7O0FBWUo7QUFBQTtBQUFBO0FBQUE7RUFFRTtFQUNBOztBQUVBO0VBTEY7QUFBQTtBQUFBO0FBQUE7SUFNSTtJQUNBOzs7O0FBYU47RUFDRSxTakM3RnlCO0VpQzhGekI7O0FBRUE7RUFKRjtJQUtJOzs7O0FBS0o7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBLFNqQ3ZHeUI7O0FpQzBHekI7RUFSRjtBQUFBO0lBU0k7Ozs7QUFHSjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFNRjtFQUNFO0VBQ0E7RUFDQSxXakNsSDRDO0VpQ21INUMsYTNCdEd3QjtFMkJ1R3hCLFFqQzVGNEM7O0FpQzhGNUM7RUFFRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7SUFFRTs7OztBQVdOO0VBQ0U7RUFDQTtFQUNBLGMzQjJLaUM7RTJCMUtqQztFQzlMQTtFQUNBO0VEK0xBO0VBQ0E7RUFDQTtFQUNBLGVqQ25JNEM7O0FpQ3VJNUM7RUFDRTs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVGO0VBQ0U7O0FBR0Y7RUE1QkY7SUE2Qkk7Ozs7QUFVSjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBLGEzQjdLc0I7O0EyQmdMeEI7RUFFRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUNBO0FBQUE7QUFBQTtBQUFBO0lBRUU7O0VBRUY7SUFDRSxhM0IvTGtCOztFMkJnTWxCO0lBRUU7OztBQU9SO0VBbENGO0lBbUNJO0lBQ0E7O0VBRUE7SUFDRTs7RUFDQTtJQUNFLGEzQitGMkI7STJCOUYzQixnQjNCOEYyQjs7OztBMkJsRm5DO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFNUI5TkEsb0I0QmdPQTtFNUIvTlEsWTRCK05SOztBYmlMQTtFQUVFO0lBQ0U7SUFDQTtJQUNBOztFQUlGO0lBQ0U7SUFDQTtJQUNBOztFQUlGO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUVBO0FBQUE7QUFBQTtJQUdFOztFQUtKO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUtGO0FBQUE7SUFFRTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtBQUFBO0lBQ0U7O0VBR0o7QUFBQTtJQUVFO0lBQ0E7O0VBSUY7QUFBQTtJQUNFOzs7QWF6T0Y7RUFERjtJQUVJOztFQUVBO0lBQ0U7OztBQWpCUjtFQ3ZSRTtFQUNBOztBRGdUQTtFQTFCRjtJQTJCSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7STVCelBGLG9CNEIwUEU7STVCelBNLFk0QnlQTjs7OztBQVFKO0VBQ0U7RUhwVUEseUJHcVUyQjtFSHBVMUIsd0JHb1UwQjs7O0FBRzdCO0VBQ0U7RUh6VUEseUI5QjBFNEM7RThCekUzQyx3QjlCeUUyQztFOEJsRTVDLDRCR21VOEI7RUhsVTdCLDJCR2tVNkI7OztBQVFoQztFQ2hWRTtFQUNBOztBRGtWQTtFQ25WQTtFQUNBOztBRHFWQTtFQ3RWQTtFQUNBOzs7QUQrVkY7RUNoV0U7RUFDQTs7QURrV0E7RUFIRjtJQUlJO0lBQ0EsYTNCRytCO0kyQkYvQixjM0JFK0I7Ozs7QTJCV25DO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBQ0Y7O0VBRUU7SUFDRTs7O0FBVU47RUFDRSxrQmpDN1lhO0VpQzhZYixjakM5WGlCOztBaUNnWWpCO0VBQ0UsT2pDM1lhOztBaUM0WWI7RUFFRSxPMUJwWm1CO0UwQnFabkIsa0JqQ3JaUzs7QWlDeVpiO0VBQ0UsT2pDcFphOztBaUN3WmI7RUFDRSxPakN6Wlc7O0FpQzJaWDtFQUVFLE8xQm5haUI7RTBCb2FqQixrQmpDbmFPOztBaUN1YVQ7RUFHRSxPMUIzYWlCO0UwQjRhakIsa0JqQzNhTzs7QWlDK2FUO0VBR0UsT2pDeFZzQztFaUN5VnRDLGtCakN4VnNDOztBaUM2VjVDO0VBQ0UsY2pDMWFlOztBaUMyYWY7RUFFRSxrQmpDNWJTOztBaUM4Ylg7RUFDRSxrQjFCaGNtQjs7QTBCb2N2QjtBQUFBO0VBRUUsY2pDdGJlOztBaUM2YmI7RUFHRSxrQmpDL2NPO0VpQ2dkUCxPMUJqZGlCOztBMEJxZHJCO0VBR0k7SUFDRSxPakNuZE87O0VpQ29kUDtJQUVFLE8xQjVkYTtJMEI2ZGIsa0JqQzVkRzs7RWlDZ2VMO0lBR0UsTzFCcGVhO0kwQnFlYixrQmpDcGVHOztFaUN3ZUw7SUFHRSxPakNqWmtDO0lpQ2tabEMsa0JqQ2paa0M7OztBaUM2WjVDO0VBQ0UsT2pDcGZhOztBaUNxZmI7RUFDRSxPMUI1Zm1COztBMEJnZ0J2QjtFQUNFLE9qQzNmYTs7QWlDNGZiO0VBRUUsTzFCcGdCbUI7O0EwQndnQm5CO0VBRUUsT2pDL2FzQzs7O0FpQ3ViOUM7RUFDRSxrQjNCdEkwQztFMkJ1STFDLGMzQnRJMEM7O0EyQndJMUM7RUFDRSxPM0J0SXdDOztBMkJ1SXhDO0VBRUUsTzNCL0hzQztFMkJnSXRDLGtCM0IvSHNDOztBMkJtSTFDO0VBQ0UsTzNCcEp3Qzs7QTJCd0p4QztFQUNFLE8zQnBKc0M7O0EyQnNKdEM7RUFFRSxPM0J2Sm9DO0UyQndKcEMsa0IzQnZKb0M7O0EyQjJKdEM7RUFHRSxPM0IvSm9DO0UyQmdLcEMsa0IzQjdKb0M7O0EyQmlLdEM7RUFHRSxPM0JuS29DO0UyQm9LcEMsa0IzQm5Lb0M7O0EyQnlLMUM7RUFDRSxjM0JoS3dDOztBMkJpS3hDO0VBRUUsa0IzQnJLc0M7O0EyQnVLeEM7RUFDRSxrQjNCdktzQzs7QTJCMksxQztBQUFBO0VBRUU7O0FBTUU7RUFHRSxrQjNCak1vQztFMkJrTXBDLE8zQnJNb0M7O0EyQnlNeEM7RUFHSTtJQUNFLGMzQmpOa0M7O0UyQm1OcEM7SUFDRSxrQjNCcE5rQzs7RTJCc05wQztJQUNFLE8zQnBOa0M7O0UyQnFObEM7SUFFRSxPM0J0TmdDO0kyQnVOaEMsa0IzQnROZ0M7O0UyQjBObEM7SUFHRSxPM0I5TmdDO0kyQitOaEMsa0IzQjVOZ0M7O0UyQmdPbEM7SUFHRSxPM0JsT2dDO0kyQm1PaEMsa0IzQmxPZ0M7OztBMkJ5TzFDO0VBQ0UsTzNCaFB3Qzs7QTJCaVB4QztFQUNFLE8zQmpQc0M7O0EyQnFQMUM7RUFDRSxPM0J2UHdDOztBMkJ3UHhDO0VBRUUsTzNCelBzQzs7QTJCNlB0QztFQUVFLE8zQjNQb0M7OztBNkJuWjVDO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsZW5DK0Q0Qzs7QW1DN0Q1QztFQUNFOztBQUNBO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQSxhN0I4Q29CO0U2QjdDcEI7RUFDQSxPbkNaVztFbUNhWCxrQm5DbkJTO0VtQ29CVDtFQUNBOztBQUdBO0FBQUE7RUFFRTtFTFhOLDJCOUJ1RDRDO0U4QnREekMsd0I5QnNEeUM7O0FtQ3ZDeEM7QUFBQTtFTHhCSiw0QjlCK0Q0QztFOEI5RHpDLHlCOUI4RHlDOztBbUM5QjFDO0FBQUE7QUFBQTtFQUVFO0VBQ0EsT25DckNXO0VtQ3NDWCxrQm5DM0NTO0VtQzRDVCxjbkN1S3dDOztBbUNqSzFDO0FBQUE7QUFBQTtBQUFBO0VBR0U7RUFDQSxPNUJ2RG1CO0U0QndEbkIsa0JuQ3ZEUztFbUN3RFQsY25DMkp3QztFbUMxSnhDOztBQUtGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQU1FLE9uQ3pEVztFbUMwRFgsa0JuQ3RFUztFbUN1RVQsY25DNkl3QztFbUM1SXhDLFFuQ29Hd0M7OztBb0N4SzFDO0FBQUE7RUFFRTtFQUNBLFdwQzRDd0M7RW9DM0N4QyxhOUJpR3NCOztBOEI5RnRCO0FBQUE7RU5JSiwyQjlCd0Q0QztFOEJ2RHpDLHdCOUJ1RHlDOztBb0N0RHhDO0FBQUE7RU5WSiw0QjlCZ0U0QztFOEIvRHpDLHlCOUIrRHlDOzs7QW9DbkUxQztBQUFBO0VBRUU7RUFDQSxXcEMyQ3dDO0VvQzFDeEMsYTlCa0dzQjs7QThCL0Z0QjtBQUFBO0VOSUosMkI5QnlENEM7RThCeER6Qyx3QjlCd0R5Qzs7QW9DdkR4QztBQUFBO0VOVkosNEI5QmlFNEM7RThCaEV6Qyx5QjlCZ0V5Qzs7O0FxQ3BFOUM7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsTy9COGpCNEI7RStCN2pCNUI7RUFDQTtFQUNBO0VBQ0E7O0FBS0E7RUFDRTs7QUFJRjtFQUNFO0VBQ0E7OztBQU1GO0VBRUUsTy9Cd2lCMEI7RStCdmlCMUI7RUFDQTs7O0FBT0o7RUN4Q0Usa0J0QzZCdUI7O0FzQzFCckI7RUFFRTs7O0FEdUNOO0VDNUNFLGtCL0JIdUI7O0ErQk1yQjtFQUVFOzs7QUQyQ047RUNoREUsa0JoQ2NzQjs7QWdDWHBCO0VBRUU7OztBRCtDTjtFQ3BERSxrQmhDZXNCOztBZ0NacEI7RUFFRTs7O0FEbUROO0VDeERFLGtCaENnQnNCOztBZ0NicEI7RUFFRTs7O0FEdUROO0VDNURFLGtCaENpQnNCOztBZ0NkcEI7RUFFRTs7O0FDRk47RUFDRTtFQUNBO0VBQ0E7RUFDQSxXdkN3QzRDO0V1Q3ZDNUMsYWpDcXdCNEI7RWlDcHdCNUIsT2pDMHZCNEI7RWlDenZCNUIsYWpDb3dCNEI7RWlDbndCNUI7RUFDQTtFQUNBO0VBQ0Esa0J2Q2V1QjtFdUNkdkIsZWpDZ3dCNEI7O0FpQzd2QjVCO0VBQ0U7O0FBSUY7RUFDRTtFQUNBOztBQUdGO0VBRUU7RUFDQTs7QUFNRjtFQUVFLE9oQzFDcUI7RWdDMkNyQixrQmpDbXVCMEI7O0FpQ2h1QjVCO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOzs7QUFNRjtFQUVFLE9qQ3lzQjBCO0VpQ3hzQjFCO0VBQ0E7OztBQzNESjtFQUNFO0VBQ0EsU3hDMk40QztFd0MxTjVDLGVsQ3VEd0I7RWtDdER4QixhbENvRHdCO0VrQ25EeEIsa0J4Q1ZhO0V3Q1diO0VBQ0EsZXhDMkQ0QztFS2lINUMsb0JtQzNLQTtFbkM0S0ssZW1DNUtMO0VuQzZLUSxZbUM3S1I7O0FBRUE7QUFBQTtFL0JQQSxTQUQ4QjtFQUU5QjtFQUNBO0UrQlFFO0VBQ0E7O0FBTUY7RUFDRSxTbEM0dEIwQjtFa0MzdEIxQixPeEN0QmE7OztBd0MyQmpCO0FBQUE7QUFBQTtFQUdFLGNqQ3BDdUI7OztBa0NRekI7RUFDRSxTbkN5bUI0QjtFbUN4bUI1QixlbkNzRHdCO0VtQ3JEeEI7RUFDQSxlekMwRDRDOztBeUN2RDVDO0VBQ0U7RUFFQTs7QUFJRjtFQUNFLGFuQzZsQjBCOztBbUN6bEI1QjtBQUFBO0FBQUE7RUFFRTs7QUFHRjtFQUNFOzs7QUFRSjtBQUFBO0VBRUU7O0FBR0E7QUFBQTtBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQVFKO0VDdkRFLGtCcENvZitCO0VvQ25mL0IsY3BDb2YrQjtFb0NuZi9CLE9wQ2lmK0I7O0FvQy9lL0I7RUFDRTs7QUFFRjtFQUNFOzs7QURtREo7RUMzREUsa0JwQ3dmK0I7RW9DdmYvQixjcEN3ZitCO0VvQ3ZmL0IsT3BDcWYrQjs7QW9DbmYvQjtFQUNFOztBQUVGO0VBQ0U7OztBRHVESjtFQy9ERSxrQnBDNGYrQjtFb0MzZi9CLGNwQzRmK0I7RW9DM2YvQixPcEN5ZitCOztBb0N2Zi9CO0VBQ0U7O0FBRUY7RUFDRTs7O0FEMkRKO0VDbkVFLGtCcENnZ0IrQjtFb0MvZi9CLGNwQ2dnQitCO0VvQy9mL0IsT3BDNmYrQjs7QW9DM2YvQjtFQUNFOztBQUVGO0VBQ0U7OztBQ0ZKO0VBQ0U7SUFBUTs7RUFDUjtJQUFROzs7QUFJVjtFQUNFO0lBQVE7O0VBQ1I7SUFBUTs7O0FBUVY7RUFDRTtFQUNBLFFyQ3FDd0I7RXFDcEN4QixlckNvQ3dCO0VxQ25DeEIsa0JyQyttQjRCO0VxQzltQjVCLGUzQ3dDNEM7RUtGNUMsb0JzQ3JDQTtFdENzQ1EsWXNDdENSOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBLFczQ1c0QztFMkNWNUMsYXJDd0J3QjtFcUN2QnhCLE9yQ3FtQjRCO0VxQ3BtQjVCO0VBQ0Esa0JwQzNDdUI7RUZvRXZCLG9Cc0N4QkE7RXRDeUJRLFlzQ3pCUjtFdEM2SUEsb0JzQzVJQTtFdEM2SUssZXNDN0lMO0V0QzhJUSxZc0M5SVI7OztBQVFGO0FBQUE7RUNDRTtFQUNBO0VBQ0E7RURBQTs7O0FBT0Y7QUFBQTtFdEM1Q0UsbUJzQzhDbUI7RXRDN0NkLGNzQzZDYztFdEM1Q1gsV3NDNENXOzs7QUFPckI7RUVyRUUsa0J2Q2NzQjs7QXVDWHRCO0VEZ0RBO0VBQ0E7RUFDQTs7O0FEb0JGO0VFekVFLGtCdkNlc0I7O0F1Q1p0QjtFRGdEQTtFQUNBO0VBQ0E7OztBRHdCRjtFRTdFRSxrQnZDZ0JzQjs7QXVDYnRCO0VEZ0RBO0VBQ0E7RUFDQTs7O0FENEJGO0VFakZFLGtCdkNpQnNCOztBdUNkdEI7RURnREE7RUFDQTtFQUNBOzs7QUV4REY7RUFFRTs7QUFFQTtFQUNFOzs7QUFJSjtBQUFBO0VBRUU7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7QUFHQTtFQUNFOzs7QUFJSjtBQUFBO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBQUE7RUFHRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFJRjtFQUNFO0VBQ0E7OztBQU1GO0VBQ0U7RUFDQTs7O0FDdkRGO0VBRUU7RUFDQTs7O0FBUUY7RUFDRTtFQUNBO0VBQ0E7RUFFQTtFQUNBLGtCekN5b0I4QjtFeUN4b0I5Qjs7QUFHQTtFakIzQkEseUI5Qm1FNEM7RThCbEUzQyx3QjlCa0UyQzs7QStDckM1QztFQUNFO0VqQnZCRiw0QjlCMkQ0QztFOEIxRDNDLDJCOUIwRDJDOzs7QStDekI5QztBQUFBO0VBRUUsT3pDNG9COEI7O0F5QzFvQjlCO0FBQUE7RUFDRSxPekMyb0I0Qjs7QXlDdm9COUI7QUFBQTtBQUFBO0VBRUU7RUFDQSxPekNrb0I0QjtFeUNqb0I1QixrQnpDZ25CNEI7OztBeUM1bUJoQztFQUNFO0VBQ0E7OztBQUtBO0VBR0Usa0IvQ3ZDcUI7RStDd0NyQixPL0N6Q3FCO0UrQzBDckIsUS9Da0cwQzs7QStDL0YxQztFQUNFOztBQUVGO0VBQ0UsTy9DakRtQjs7QStDc0R2QjtFQUdFO0VBQ0EsTy9DckZhO0UrQ3NGYixrQnhDM0ZxQjtFd0M0RnJCLGN4QzVGcUI7O0F3QytGckI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBR0U7O0FBRUY7RUFDRSxPekM2a0IwQjs7O0EwQy9xQjlCO0VBQ0UsTzFDa2Y2QjtFMENqZjdCLGtCMUNrZjZCOzs7QTBDN2UvQjtBQUFBO0VBRUUsTzFDMGU2Qjs7QTBDeGU3QjtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtBQUFBO0VBRUUsTzFDa2UyQjtFMENqZTNCOztBQUVGO0FBQUE7QUFBQTtBQUFBO0VBR0U7RUFDQSxrQjFDMmQyQjtFMEMxZDNCLGMxQzBkMkI7OztBMENuZi9CO0VBQ0UsTzFDc2Y2QjtFMENyZjdCLGtCMUNzZjZCOzs7QTBDamYvQjtBQUFBO0VBRUUsTzFDOGU2Qjs7QTBDNWU3QjtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtBQUFBO0VBRUUsTzFDc2UyQjtFMENyZTNCOztBQUVGO0FBQUE7QUFBQTtBQUFBO0VBR0U7RUFDQSxrQjFDK2QyQjtFMEM5ZDNCLGMxQzhkMkI7OztBMEN2Zi9CO0VBQ0UsTzFDMGY2QjtFMEN6ZjdCLGtCMUMwZjZCOzs7QTBDcmYvQjtBQUFBO0VBRUUsTzFDa2Y2Qjs7QTBDaGY3QjtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtBQUFBO0VBRUUsTzFDMGUyQjtFMEN6ZTNCOztBQUVGO0FBQUE7QUFBQTtBQUFBO0VBR0U7RUFDQSxrQjFDbWUyQjtFMENsZTNCLGMxQ2tlMkI7OztBMEMzZi9CO0VBQ0UsTzFDOGY2QjtFMEM3ZjdCLGtCMUM4ZjZCOzs7QTBDemYvQjtBQUFBO0VBRUUsTzFDc2Y2Qjs7QTBDcGY3QjtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtBQUFBO0VBRUUsTzFDOGUyQjtFMEM3ZTNCOztBQUVGO0FBQUE7QUFBQTtBQUFBO0VBR0U7RUFDQSxrQjFDdWUyQjtFMEN0ZTNCLGMxQ3NlMkI7OztBeUN4WWpDO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7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OztBQVVKO0VBQ0UsZTNDOUp3Qjs7QTJDaUt4QjtFQUNFO0VBQ0EsZWpEN0owQzs7QWlEK0oxQztFQUNFOztBQUlKO0VBQ0U7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUU7O0FBSUo7RUFDRTs7QUFDQTtFQUNFOzs7QUFPTjtFQzFQRSxjbERhaUI7O0FrRFhqQjtFQUNFLE9sRHdCcUI7RWtEdkJyQixrQmxETlc7RWtET1gsY2xEUWU7O0FrRE5mO0VBQ0Usa0JsREthOztBa0RIZjtFQUNFLE9sRGJTO0VrRGNULGtCbERlbUI7O0FrRFhyQjtFQUNFLHFCbERKYTs7O0FpRGdQbkI7RUM3UEUsYzNDSHVCOztBMkNLdkI7RUFDRSxPNUM0c0IwQjtFNEMzc0IxQixrQjNDUHFCO0UyQ1FyQixjM0NScUI7O0EyQ1VyQjtFQUNFLGtCM0NYbUI7O0EyQ2FyQjtFQUNFLE8zQ2RtQjtFMkNlbkIsa0I1Q21zQndCOztBNEMvckIxQjtFQUNFLHFCM0NwQm1COzs7QTBDbVF6QjtFQ2hRRSxjNUNxZitCOztBNENuZi9CO0VBQ0UsTzVDZ2Y2QjtFNEMvZTdCLGtCNUNnZjZCO0U0Qy9lN0IsYzVDZ2Y2Qjs7QTRDOWU3QjtFQUNFLGtCNUM2ZTJCOztBNEMzZTdCO0VBQ0UsTzVDeWUyQjtFNEN4ZTNCLGtCNUN1ZTJCOztBNENuZTdCO0VBQ0UscUI1Q29lMkI7OztBMkNsUGpDO0VDblFFLGM1Q3lmK0I7O0E0Q3ZmL0I7RUFDRSxPNUNvZjZCO0U0Q25mN0Isa0I1Q29mNkI7RTRDbmY3QixjNUNvZjZCOztBNENsZjdCO0VBQ0Usa0I1Q2lmMkI7O0E0Qy9lN0I7RUFDRSxPNUM2ZTJCO0U0QzVlM0Isa0I1QzJlMkI7O0E0Q3ZlN0I7RUFDRSxxQjVDd2UyQjs7O0EyQ25QakM7RUN0UUUsYzVDNmYrQjs7QTRDM2YvQjtFQUNFLE81Q3dmNkI7RTRDdmY3QixrQjVDd2Y2QjtFNEN2ZjdCLGM1Q3dmNkI7O0E0Q3RmN0I7RUFDRSxrQjVDcWYyQjs7QTRDbmY3QjtFQUNFLE81Q2lmMkI7RTRDaGYzQixrQjVDK2UyQjs7QTRD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QUVEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRDtFQUNDO0VBQ0E7OztBQUdEO0FBQUE7QUFFQTtFQUNDO0VBQ0E7OztBQUVEO0VBQ0M7OztBQUVEO0FBQUE7QUFBQTtBQUFBO0VBSUM7RUFDQTs7O0FBRUQ7RUFDQzs7O0FBRUQ7RUFDQztFQUNBO0VBQ0E7OztBQUVEO0VBQ0M7OztBQUVEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7OztBQUVEO0VBQ0M7OztBQUdEO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFTQztFQUNBO0VBQ0E7RUFDQTs7O0FBRUQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFPQztFQUNBOzs7QUFFRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBUUM7RUFDQTtFQUNBO0VBQ0E7OztBQUVEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBVUM7RUFDQTs7O0FBR0Q7RUFDQzs7O0FBRUQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUM7RUFDQTtFQUNBO0VBQ0E7OztBQUVEO0FBQUE7RUFFQztFQUNBOzs7QUFFRDtBQUFBO0FBQUE7RUFHQztFQUNBOzs7QUFHRDtBQUFBO0FBRUE7QUFBQTtBQUFBO0VBR0M7RUFDQTtFQUNBOzs7QUFFRDtFQUNDO0VBQ0E7OztBQUVEO0FBQUE7QUFBQTtFQUdDOzs7QUFFRDtBQUFBO0FBQUE7RUFHQztFQUNBO0VBQ0E7OztBQUVEO0FBQUE7QUFBQTtFQUdDOzs7QUFFRDtBQUFBO0FBQUE7RUFHQzs7O0FBRUQ7QUFBQTtBQUFBO0VBR0M7OztBQUVEO0FBQUE7QUFBQTtFQUdDO0VBQ0E7RUFDQTs7O0FBRUQ7QUFBQTtB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QTtFQUlDOzs7QUFFRDtBQUFBO0FBQUE7QUFBQTtFQUlDOzs7QUFFRDtBQUFBO0FBQUE7QUFBQTtFQUlDOzs7QUFHRDtBQUNBO0VBQ0M7RUFDQTtFQUNBOzs7QUFFRDtFQUNDO0VBQ0E7OztBQ2psQkQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0U7RUFDQTs7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTs7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTs7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTs7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTs7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTs7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTs7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFRTtFQUNBOzs7QUFHSjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7RUFFQTs7O0FBRUY7RUFDRTtJQUNFOztFQUVGO0lBQ0U7O0VBRUY7SUFDRTs7RUFFRjtJQUNFOztFQUVGO0lBQ0U7OztBQUdKO0VBQ0U7SUFDRTs7RUFFRjtJQUNFOztFQUVGO0lBQ0U7O0VBRUY7SUFDRTs7RUFFRjtJQUNFOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUVFO0VBQ0E7OztBQUVGO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTtFQUVBOzs7QUFFRjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUNBO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUNBO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUNBO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFDQTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBQ0E7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUNBO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFO0lBQ0E7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFDQTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTtJQUNBO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7SUFDQTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUNBO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBQ0E7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFDQTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTs7RUFFRjtJQUNFOzs7QUFHSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTs7RUFFRjtJQUNFOzs7QUFHSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBRUU7RUFDQTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUVFO0VBQ0E7OztBQUVGO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtFQUVBOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7OztBQUdKO0VBRUU7RUFDQTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0lBQ0U7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTs7RUFFRjtJQUVFO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0lBRUU7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBRUE7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFFQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUVBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBRUE7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFOzs7QUFHSjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBRUE7SUFDQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7OztBQUdKO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBO0lBRUE7OztBQUdKO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7SUFFQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUNFO0lBRUE7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTtJQUVBOzs7QUFHSjtFQUNFO0lBQ0U7SUFFQTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBO0lBRUE7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7SUFDQTs7RUFFRjtJQUVFO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUNBO0lBQ0E7O0VBRUY7SUFFRTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTtJQUNBOztFQUVGO0lBRUU7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFO0lBRUU7SUFDQTs7RUFFRjtJQUNFO0lBRUE7SUFDQTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtJQUVFO0lBQ0E7O0VBRUY7SUFDRTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7SUFFRTtJQUNBOztFQUVGO0lBQ0U7SUFFQTtJQUNBOzs7QUFHSjtFQUNFOzs7QUN0ekdGO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBTUE7RUFDQTs7QUNWRjtBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ1BGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQXdCOzs7QUFDeEI7RUFBd0I7OztBQUN4QjtFQUF3Qjs7O0FBQ3hCO0VBQXdCOzs7QUNWeEI7RUFDRTtFQUNBOzs7QUNERjtFQUNFO0VBQ0EsYUNNb0I7RURMcEI7O0FBQ0E7RUFBTzs7O0FBRVQ7RUFDRTtFQUNBO0VBQ0EsT0NEb0I7RURFcEI7RUFDQTs7QUFDQTtFQUNFOzs7QUViSjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFBK0I7OztBQUMvQjtFQUFnQzs7O0FBRzlCO0FBQUE7RUFBZ0M7O0FBQ2hDO0FBQUE7RUFBaUM7OztBQUduQztBQUNBO0VBQWM7OztBQUNkO0VBQWE7OztBQUdYO0FBQUE7RUFBYzs7QUFDZDtBQUFBO0FBQUE7RUFBZTs7O0FDcEJqQjtFQUNFO0VBQ1E7OztBQUdWO0VBQ0U7RUFDUTs7O0FBR1Y7RUFDRTtJQUNFO0lBQ1E7O0VBRVY7SUFDRTtJQUNROzs7QUFJWjtFQUNFO0lBQ0U7SUFDUTs7RUFFVjtJQUNFO0lBQ1E7OztBQzVCWjtFQ1dFO0VBQ0E7RUFDSTtFQUNJOzs7QURiVjtFQ1VFO0VBQ0E7RUFDSTtFQUNJOzs7QURaVjtFQ1NFO0VBQ0E7RUFDSTtFQUNJOzs7QURWVjtFQ2NFO0VBQ0E7RUFDSTtFQUNJOzs7QURoQlY7RUNhRTtFQUNBO0VBQ0k7RUFDSTs7O0FEWFY7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtFOzs7QUVmRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFBOEI7OztBQUM5QjtFQUE4Qjs7O0FBQzlCO0VBQTZCLE9MVFA7OztBTVZ0QjtBQUFBO0FBR0E7RUFBa0MsU05zU25COzs7QU1yU2Y7RUFBa0MsU051YW5COzs7QU10YWY7RUFBbUMsU055Zm5COzs7QU14ZmhCO0VBQXVDLFNOOE1uQjs7O0FNN01wQjtFQUFrQyxTTjZUbkI7OztBTTVUZjtFQUFpQyxTTndpQm5COzs7QU12aUJkO0VBQW1DLFNONGlCbkI7OztBTTNpQmhCO0VBQWlDLFNOMm5CbkI7OztBTTFuQmQ7RUFBaUMsU05zUG5COzs7QU1yUGQ7RUFBcUMsU055a0JuQjs7O0FNeGtCbEI7RUFBK0IsU051a0JuQjs7O0FNdGtCWjtFQUFvQyxTTndrQm5COzs7QU12a0JqQjtFQUFrQyxTTnlIbkI7OztBTXhIZjtBQUFBO0FBQUE7RUFFa0MsU04ya0JuQjs7O0FNMWtCZjtFQUF3QyxTTjZlbkI7OztBTTVlckI7RUFBeUMsU04yZW5COzs7QU0xZXRCO0VBQXNDLFNObWNuQjs7O0FNbGNuQjtFQUFtQyxTTjRmbkI7OztBTTNmaEI7QUFBQTtFQUNnQyxTTitJbkI7OztBTTlJYjtFQUFvQyxTTm1sQm5COzs7QU1sbEJqQjtFQUFpQyxTTjhTbkI7OztBTTdTZDtFQUFtQyxTTjBObkI7OztBTXpOaEI7RUFBb0MsU05nSW5COzs7QU0vSGpCO0VBQWlDLFNOb2RuQjs7O0FNbmRkO0VBQXFDLFNONEtuQjs7O0FNM0tsQjtFQUFnRCxTTk9uQjs7O0FNTjdCO0VBQThDLFNOU25COzs7QU1SM0I7RUFBa0MsU051VG5COzs7QU10VGY7RUFBMEMsU05nYm5COzs7QU0vYXZCO0FBQUE7QUFBQTtFQUNtQyxTTndjbkI7OztBTXZjaEI7RUFBb0MsU05rY25COzs7QU1qY2pCO0VBQXFDLFNOeVZuQjs7O0FNeFZsQjtFQUFpQyxTTjRWbkI7OztBTTNWZDtFQUFpQyxTTjhObkI7OztBTTdOZDtFQUF1QyxTTjBSbkI7OztBTXpScEI7RUFBdUMsU04ybUJuQjs7O0FNMW1CcEI7RUFBd0MsU055bUJuQjs7O0FNeG1CckI7RUFBc0MsU04wbUJuQjs7O0FNem1CbkI7RUFBbUMsU04rYW5COzs7QU05YWhCO0VBQW9DLFNOZW5COzs7QU1kakI7RUFBZ0MsU040aEJuQjs7O0FNM2hCYjtFQUFpQyxTTjRoQm5COzs7QU0zaEJkO0VBQWlDLFNOMENuQjs7O0FNekNkO0VBQXFDLFNOMENuQjs7O0FNekNsQjtFQUFrQyxTTnNhbkI7OztBTXJhZjtFQUFtQyxTTjJEbkI7OztBTTFEaEI7RUFBaUMsU040Tm5COzs7QU0zTmQ7RUFBaUMsU05rQ25COzs7QU1qQ2Q7RUFBbUMsU040U25COzs7QU0zU2hCO0VBQXdDLFNOMGhCbkI7OztBTXpoQnJCO0VBQXVDLFNOMGhCbkI7OztBTXpoQnBCO0VBQXVDLFNOeENuQjs7O0FNeUNwQjtFQUF5QyxTTjNDbkI7OztBTTRDdEI7RUFBd0MsU056Q25COzs7QU0wQ3JCO0VBQTBDLFNONUNuQjs7O0FNNkN2QjtFQUFpQyxTTmdVbkI7OztBTS9UZDtBQUFBO0VBQ29DLFNOdVhuQjs7O0FNdFhqQjtFQUFtQyxTTndSbkI7OztBTXZSaEI7RUFBeUMsU042a0JuQjs7O0FNNWtCdEI7QUFBQTtBQUFBO0VBRXNDLFNObVluQjs7O0FNbFluQjtFQUFtQyxTTjRYbkI7OztBTTNYaEI7RUFBdUMsU053VW5COzs7QU12VXBCO0VBQW1DLFNOMURuQjs7O0FNMkRoQjtFQUFpQyxTTnVoQm5COzs7QU10aEJkO0FBQUE7RUFDNEMsU055WG5COzs7QU14WHpCO0VBQTJDLFNONmJuQjs7O0FNNWJ4QjtFQUEyQyxTTitEbkI7OztBTTlEeEI7RUFBbUMsU045Qm5COzs7QU0rQmhCO0VBQTBDLFNOeWVuQjs7O0FNeGV2QjtFQUEwQyxTTndKbkI7OztBTXZKdkI7RUFBcUMsU04xQm5COzs7QU0yQmxCO0VBQWlDLFNOOFhuQjs7O0FNN1hkO0VBQWtDLFNONFduQjs7O0FNM1dmO0VBQWlDLFNOeWVuQjs7O0FNeGVkO0VBQW9DLFNOK0xuQjs7O0FNOUxqQjtFQUF5QyxTTm1KbkI7OztBTWxKdEI7RUFBeUMsU05rZW5COzs7QU1qZXRCO0VBQWtDLFNOdUhuQjs7O0FNdEhmO0VBQXlDLFNOeURuQjs7O0FNeER0QjtFQUEwQyxTTnlEbkI7OztBTXhEdkI7RUFBd0MsU04wWG5COzs7QU16WHJCO0VBQXlDLFNOcVVuQjs7O0FNcFV0QjtFQUF5QyxTTmlnQm5COzs7QU1oZ0J0QjtFQUF5QyxTTjJDbkI7OztBTTFDdEI7RUFBNEMsU04rWG5COzs7QU05WHpCO0VBQXdDLFNONFBuQjs7O0FNM1ByQjtFQUF1QyxTTndGbkI7OztBTXZGcEI7RUFBMkMsU042Zm5COzs7QU01ZnhCO0VBQTJDLFNOdUNuQjs7O0FNdEN4QjtFQUFnQyxTTjNDbkI7OztBTTRDYjtFQUF1QyxTTnhEbkI7OztBTXlEcEI7RUFBd0MsU054RG5COzs7QU15RHJCO0VBQXFDLFNOeERuQjs7O0FNeURsQjtFQUF1QyxTTjVEbkI7OztBTTZEcEI7QUFBQTtBQUFBO0VBQ2tDLFNOMlpuQjs7O0FNMVpmO0VBQW1DLFNOa0huQjs7O0FNakhoQjtFQUFxQyxTTnFFbkI7OztBTXBFbEI7RUFBaUMsU051V25COzs7QU10V2Q7RUFBa0MsU05rVG5COzs7QU1qVGY7RUFBcUMsU04zRG5COzs7QU00RGxCO0VBQStDLFNOMkduQjs7O0FNMUc1QjtFQUFpQyxTTmlMbkI7OztBTWhMZDtFQUFpQyxTTjRQbkI7OztBTTNQZDtFQUFpQyxTTmdKbkI7OztBTS9JZDtFQUFnQyxTTjZHbkI7OztBTTVHYjtFQUFzQyxTTjZHbkI7OztBTTVHbkI7QUFBQTtFQUNpRCxTTnFHbkI7OztBTXBHOUI7RUFBa0MsU051Vm5COzs7QU10VmY7RUFBcUMsU05oQm5COzs7QU1pQmxCO0VBQW1DLFNOd1duQjs7O0FNdldoQjtFQUFvQyxTTitDbkI7OztBTTlDakI7RUFBbUMsU042UW5COzs7QU01UWhCO0VBQXVDLFNOdUJuQjs7O0FNdEJwQjtFQUF5QyxTTm1CbkI7OztBTWxCdEI7RUFBb0MsU05nWG5COzs7QU0vV2pCO0VBQTBDLFNOK1luQjs7O0FNOVl2QjtFQUFtQyxTTjRJbkI7OztBTTNJaEI7RUFBd0MsU042SW5COzs7QU01SXJCO0VBQXFDLFNOaEZuQjs7O0FNaUZsQjtFQUFxQyxTTmxGbkI7OztBTW1GbEI7QUFBQTtFQUNzQyxTTjNFbkI7OztBTTRFbkI7RUFBMkMsU05tZm5COzs7QU1sZnhCO0VBQTRDLFNOK0ZuQjs7O0FNOUZ6QjtFQUF5QyxTTnpCbkI7OztBTTBCdEI7RUFBZ0MsU042Tm5COzs7QU01TmI7QUFBQTtBQUFBO0FBQUE7RUFDaUMsU040Qm5COzs7QU0zQmQ7RUFBcUMsU05pQ25COzs7QU1oQ2xCO0VBQXdDLFNONGNuQjs7O0FNM2NyQjtFQUEwQyxTTjBjbkI7OztBTXpjdkI7RUFBc0MsU05pYW5COzs7QU1oYW5CO0VBQW9DLFNOb0xuQjs7O0FNbkxqQjtFQUFxQyxTTitYbkI7OztBTTlYbEI7RUFBNEMsU055T25COzs7QU14T3pCO0VBQXVDLFNObWNuQjs7O0FNbGNwQjtFQUEwQyxTTjBFbkI7OztBTXpFdkI7RUFBb0MsU04wWG5COzs7QU16WGpCO0VBQW1DLFNOeWRuQjs7O0FNeGRoQjtFQUEwQyxTTitJbkI7OztBTTlJdkI7RUFBbUMsU04wZW5COzs7QU16ZWhCO0VBQW9DLFNOdU5uQjs7O0FNdE5qQjtFQUFrQyxTTjBTbkI7OztBTXpTZjtFQUFxQyxTTmlabkI7OztBTWhabEI7RUFBdUMsU05oRW5COzs7QU1pRXBCO0VBQXlDLFNOd1NuQjs7O0FNdlN0QjtFQUFvQyxTTjBkbkI7OztBTXpkakI7QUFBQTtFQUNxQyxTTm1FbkI7OztBTWxFbEI7RUFBbUMsU05tSW5COzs7QU1sSWhCO0VBQW1DLFNONmRuQjs7O0FNNWRoQjtFQUF3QyxTTm1CbkI7OztBTWxCckI7QUFBQTtFQUNnQyxTTmdWbkI7OztBTS9VYjtFQUFrQyxTTjBKbkI7OztBTXpKZjtFQUFxQyxTTnJFbkI7OztBTXNFbEI7RUFBaUMsU041Rm5COzs7QU02RmQ7RUFBd0MsU05yQ25COzs7QU1zQ3JCO0VBQXlDLFNONkluQjs7O0FNNUl0QjtFQUF3QyxTTjJJbkI7OztBTTFJckI7RUFBc0MsU040SW5COzs7QU0zSW5CO0VBQXdDLFNOd0luQjs7O0FNdklyQjtFQUE4QyxTTjFJbkI7OztBTTJJM0I7RUFBK0MsU050SW5COzs7QU11STVCO0VBQTRDLFNOdEluQjs7O0FNdUl6QjtFQUE4QyxTTjlJbkI7OztBTStJM0I7RUFBa0MsU051SG5COzs7QU10SGY7RUFBbUMsU044ZW5COzs7QU03ZWhCO0VBQWtDLFNOd1puQjs7O0FNdlpmO0VBQW1DLFNONEVuQjs7O0FNM0VoQjtFQUFzQyxTTnpGbkI7OztBTTBGbkI7RUFBdUMsU052SW5COzs7QU13SXBCO0FBQUE7RUFDa0MsU05nZG5COzs7QU0vY2Y7QUFBQTtFQUNpQyxTTjhMbkI7OztBTTdMZDtFQUFrQyxTTjlCbkI7OztBTStCZjtFQUFrQyxTTjRFbkI7OztBTTNFZjtBQUFBO0VBQ3FDLFNONlRuQjs7O0FNNVRsQjtBQUFBO0VBQ29DLFNOOERuQjs7O0FNN0RqQjtFQUFzQyxTTnlQbkI7OztBTXhQbkI7QUFBQTtFQUNxQyxTTnVFbkI7OztBTXRFbEI7RUFBbUMsU05zV25COzs7QU1yV2hCO0FBQUE7QUFBQTtFQUVpQyxTTjNJbkI7OztBTTRJZDtFQUFvQyxTTnVMbkI7OztBTXRMakI7RUFBb0MsU05xTG5COzs7QU1wTGpCO0VBQTBDLFNObVhuQjs7O0FNbFh2QjtFQUFzQyxTTithbkI7OztBTTlhbkI7RUFBa0MsU04wWG5COzs7QU16WGY7RUFBa0MsU055TG5COzs7QU14TGY7RUFBa0MsU05pYW5COzs7QU1oYWY7RUFBc0MsU04yUG5COzs7QU0xUG5CO0VBQTZDLFNONFBuQjs7O0FNM1AxQjtFQUErQyxTTjBGbkI7OztBTXpGNUI7RUFBd0MsU053Rm5COzs7QU12RnJCO0VBQWtDLFNOaU5uQjs7O0FNaE5mO0VBQXVDLFNOcEduQjs7O0FNcUdwQjtFQUFxQyxTTjlGbkI7OztBTStGbEI7RUFBdUMsU05yR25COzs7QU1zR3BCO0VBQXdDLFNOckduQjs7O0FNc0dyQjtFQUFvQyxTTmpEbkI7OztBTWtEakI7QUFBQTtFQUNpQyxTTmdVbkI7OztBTS9UZDtBQUFBO0VBQ3NDLFNOb1VuQjs7O0FNblVuQjtBQUFBO0VBQ3FDLFNOaVVuQjs7O0FNaFVsQjtFQUFxQyxTTmRuQjs7O0FNZWxCO0VBQXFDLFNOeUpuQjs7O0FNeEpsQjtBQUFBO0VBQ2lDLFNOeVpuQjs7O0FNeFpkO0FBQUE7RUFDa0MsU05tRG5COzs7QU1sRGY7QUFBQTtFQUN1QyxTTmtXbkI7OztBTWpXcEI7RUFBc0MsU045RG5COzs7QU0rRG5CO0VBQXVDLFNOM0RuQjs7O0FNNERwQjtBQUFBO0VBQ2lDLFNObkpuQjs7O0FNb0pkO0VBQW9DLFNOdVNuQjs7O0FNdFNqQjtFQUFxQyxTTjZZbkI7OztBTTVZbEI7QUFBQTtBQUFBO0VBQ3NDLFNOckZuQjs7O0FNc0ZuQjtFQUF3QyxTTnVJbkI7OztBTXRJckI7RUFBcUMsU056Qm5COzs7QU0wQmxCO0VBQTJDLFNObkZuQjs7O0FNb0Z4QjtFQUF5QyxTTm5GbkI7OztBTW9GdEI7RUFBb0MsU05pWm5COzs7QU1oWmpCO0VBQXdDLFNOb1VuQjs7O0FNblVyQjtFQUFxQyxTTjZVbkI7OztBTTVVbEI7RUFBbUMsU04xS25COzs7QU0yS2hCO0VBQW1DLFNObkZuQjs7O0FNb0ZoQjtFQUFvQyxTTjVEbkI7OztBTTZEakI7RUFBd0MsU05DbkI7OztBTUFyQjtFQUF1QyxTTjFKbkI7OztBTTJKcEI7RUFBdUMsU040RW5COzs7QU0zRXBCO0VBQXNDLFNOek9uQjs7O0FNME9uQjtFQUFtQyxTTjRKbkI7OztBTTNKaEI7RUFBd0MsU05uQm5COzs7QU1vQnJCO0VBQWlDLFNOdkxuQjs7O0FNd0xkO0VBQXFDLFNOZ0RuQjs7O0FNL0NsQjtFQUF3QyxTTm1ObkI7OztBTWxOckI7RUFBOEMsU04xT25COzs7QU0yTzNCO0VBQStDLFNOMU9uQjs7O0FNMk81QjtFQUE0QyxTTjFPbkI7OztBTTJPekI7RUFBOEMsU045T25COzs7QU0rTzNCO0VBQXVDLFNOMU9uQjs7O0FNMk9wQjtFQUF3QyxTTjFPbkI7OztBTTJPckI7RUFBcUMsU04xT25COzs7QU0yT2xCO0VBQXVDLFNOOU9uQjs7O0FNK09wQjtFQUFvQyxTTnhFbkI7OztBTXlFakI7RUFBbUMsU044Rm5COzs7QU03RmhCO0VBQW1DLFNOMlRuQjs7O0FNMVRoQjtBQUFBO0VBQ21DLFNOb0puQjs7O0FNbkpoQjtFQUFxQyxTTnpIbkI7OztBTTBIbEI7RUFBdUMsU042TW5COzs7QU01TXBCO0VBQXdDLFNONk1uQjs7O0FNNU1yQjtFQUFvQyxTTnFSbkI7OztBTXBSakI7RUFBbUMsU045SG5COzs7QU0rSGhCO0FBQUE7RUFDa0MsU05zTm5COzs7QU1yTmY7RUFBdUMsU05jbkI7OztBTWJwQjtFQUFxQyxTTlhuQjs7O0FNWWxCO0VBQTBDLFNOVm5COzs7QU1XdkI7RUFBb0MsU04rUG5COzs7QU05UGpCO0VBQW9DLFNOTm5COzs7QU1PakI7RUFBa0MsU04rSG5COzs7QU05SGY7RUFBb0MsU05ObkI7OztBTU9qQjtFQUF1QyxTTnlFbkI7OztBTXhFcEI7RUFBbUMsU054Qm5COzs7QU15QmhCO0VBQTJDLFNOMUJuQjs7O0FNMkJ4QjtFQUFxQyxTTitTbkI7OztBTTlTbEI7RUFBaUMsU05oSW5COzs7QU1pSWQ7QUFBQTtFQUNzQyxTTnlNbkI7OztBTXhNbkI7QUFBQTtBQUFBO0VBRXdDLFNONFFuQjs7O0FNM1FyQjtFQUEyQyxTTnlGbkI7OztBTXhGeEI7RUFBaUMsU05sSG5COzs7QU1tSGQ7RUFBc0MsU052SW5COzs7QU13SW5CO0FBQUE7RUFDeUMsU050S25COzs7QU11S3RCO0VBQXFDLFNOK0tuQjs7O0FNOUtsQjtFQUFpQyxTTjRDbkI7OztBTTNDZDtFQUF3QyxTTnRGbkI7OztBTXVGckI7RUFBd0MsU05xUm5COzs7QU1wUnJCO0VBQXNDLFNOZ1JuQjs7O0FNL1FuQjtFQUFtQyxTTjdGbkI7OztBTThGaEI7RUFBeUMsU05zS25COzs7QU1yS3RCO0VBQXVDLFNOeUduQjs7O0FNeEdwQjtFQUE2QyxTTnlHbkI7OztBTXhHMUI7RUFBbUMsU05xTm5COzs7QU1wTmhCO0VBQXVDLFNONU1uQjs7O0FNNk1wQjtFQUE4QyxTTnJEbkI7OztBTXNEM0I7RUFBbUMsU053TG5COzs7QU12TGhCO0VBQW1DLFNONkZuQjs7O0FNNUZoQjtFQUFnRCxTTjlLbkI7OztBTStLN0I7RUFBaUQsU045S25COzs7QU0rSzlCO0VBQThDLFNOOUtuQjs7O0FNK0szQjtFQUFnRCxTTmxMbkI7OztBTW1MN0I7RUFBa0MsU05vQm5COzs7QU1uQmY7RUFBaUMsU052SW5COzs7QU13SWQ7RUFBbUMsU041U25COzs7QU02U2hCO0VBQXVDLFNOOFRuQjs7O0FNN1RwQjtFQUFxQyxTTmhPbkI7OztBTWlPbEI7RUFBdUMsU05ySG5COzs7QU1zSHBCO0VBQXVDLFNOckhuQjs7O0FNc0hwQjtFQUF1QyxTTmdMbkI7OztBTS9LcEI7RUFBd0MsU055SW5COzs7QU14SXJCO0VBQW1DLFNObVJuQjs7O0FNbFJoQjtFQUF5QyxTTndGbkI7OztBTXZGdEI7RUFBMkMsU053Rm5COzs7QU12RnhCO0VBQXFDLFNOdUNuQjs7O0FNdENsQjtFQUF1QyxTTnFDbkI7OztBTXBDcEI7RUFBeUMsU05uTW5COzs7QU1vTXRCO0VBQTBDLFNOb0huQjs7O0FNbkh2QjtFQUFpRCxTTmhIbkI7OztBTWlIOUI7RUFBeUMsU051TG5COzs7QU10THRCO0VBQW9DLFNObEtuQjs7O0FNbUtqQjtBQUFBO0VBQ2dELFNOL05uQjs7O0FNZ083QjtBQUFBO0VBQzhDLFNOOU5uQjs7O0FNK04zQjtBQUFBO0VBQ2lELFNOak9uQjs7O0FNa085QjtBQUFBO0VBQ2dDLFNObkluQjs7O0FNb0liO0VBQWdDLFNOakVuQjs7O0FNa0ViO0FBQUE7RUFDZ0MsU051U25COzs7QU10U2I7QUFBQTtFQUNnQyxTTkZuQjs7O0FNR2I7QUFBQTtBQUFBO0FBQUE7RUFHZ0MsU05FbkI7OztBTURiO0FBQUE7QUFBQTtFQUVnQyxTTmtKbkI7OztBTWpKYjtBQUFBO0VBQ2dDLFNOQ25COzs7QU1BYjtBQUFBO0VBQ2dDLFNOM1FuQjs7O0FNNFFiO0VBQWlDLFNON0huQjs7O0FNOEhkO0VBQXNDLFNOakhuQjs7O0FNa0huQjtFQUEyQyxTTmdMbkI7OztBTS9LeEI7RUFBNEMsU05nTG5COzs7QU0vS3pCO0VBQTRDLFNOZ0xuQjs7O0FNL0t6QjtFQUE2QyxTTmdMbkI7OztBTS9LMUI7RUFBNkMsU05tTG5COzs7QU1sTDFCO0VBQThDLFNObUxuQjs7O0FNbEwzQjtFQUFzQyxTTndPbkI7OztBTXZPbkI7RUFBd0MsU05vT25COzs7QU1uT3JCO0VBQTJDLFNOeVRuQjs7O0FNeFR4QjtFQUFvQyxTTnNUbkI7OztBTXJUakI7RUFBaUMsU040U25COzs7QU0zU2Q7RUFBd0MsU040U25COzs7QU0zU3JCO0VBQXlDLFNOb1RuQjs7O0FNblR0QjtFQUFvQyxTTjlLbkI7OztBTStLakI7RUFBMkMsU05vTG5COzs7QU1uTHhCO0VBQXNDLFNOOUJuQjs7O0FNK0JuQjtFQUFtQyxTTmxIbkI7OztBTW1IaEI7RUFBZ0MsU04vV25COzs7QU1nWGI7RUFBc0MsU04zU25COzs7QU00U25CO0VBQTZDLFNOM1NuQjs7O0FNNFMxQjtFQUFtQyxTTm1QbkI7OztBTWxQaEI7RUFBMEMsU05tUG5COzs7QU1sUHZCO0VBQTRDLFNOQ25COzs7QU1BekI7RUFBMEMsU05HbkI7OztBTUZ2QjtFQUE0Qzs7O0FBQzVDO0VBQTZDOzs7QUFDN0M7RUFBa0MsU050V25COzs7QU11V2Y7RUFBb0MsU051Um5COzs7QU10UmpCO0VBQW9DLFNObFhuQjs7O0FNbVhqQjtFQUFrQyxTTmJuQjs7O0FNY2Y7RUFBcUMsU05oTW5COzs7QU1pTWxCO0VBQWtDLFNOMEluQjs7O0FNeklmO0VBQXVDLFNOeEhuQjs7O0FNeUhwQjtFQUFtQyxTTmdPbkI7OztBTS9OaEI7RUFBbUMsU05uS25COzs7QU1vS2hCO0VBQWlDLFNOSG5COzs7QU1JZDtBQUFBO0VBQ3FDLFNObEduQjs7O0FNbUdsQjtFQUFrQyxTTmtMbkI7OztBTWpMZjtFQUFtQyxTTm1CbkI7OztBTWxCaEI7RUFBb0MsU05uWG5COzs7QU1vWGpCO0VBQWdDLFNOdFRuQjs7O0FNdVRiO0VBQStCLFNONFBuQjs7O0FNM1BaO0VBQWtDLFNOaVFuQjs7O0FNaFFmO0VBQW1DLFNOaUZuQjs7O0FNaEZoQjtFQUFzQyxTTjhCbkI7OztBTTdCbkI7RUFBMkMsU05tSm5COzs7QU1sSnhCO0VBQWlELFNOcFhuQjs7O0FNcVg5QjtFQUFnRCxTTnRYbkI7OztBTXVYN0I7QUFBQTtFQUNnRCxTTnpTbkI7OztBTTBTN0I7RUFBeUMsU052Tm5COzs7QU13TnRCO0VBQXVDLFNOMlBuQjs7O0FNMVBwQjtFQUF5QyxTTitPbkI7OztBTTlPdEI7QUFBQTtFQUNnQyxTTjhNbkI7OztBTTdNYjtFQUEwQyxTTmtEbkI7OztBTWpEdkI7RUFBMEMsU05rSW5COzs7QU1qSXZCO0VBQWtDLFNOZ0huQjs7O0FNL0dmO0VBQTRDLFNObk5uQjs7O0FNb056QjtFQUFzQyxTTndQbkI7OztBTXZQbkI7RUFBbUMsU05VbkI7OztBTVRoQjtBQUFBO0FBQUE7RUFFdUMsU05pTm5COzs7QU1oTnBCO0FBQUE7RUFDMkMsU05oSW5COzs7QU1pSXhCO0VBQWtDLFNOdVBuQjs7O0FNdFBmO0VBQW1DLFNOdEluQjs7O0FNdUloQjtFQUFtQyxTTm1EbkI7OztBTWxEaEI7RUFBMEMsU05tRG5COzs7QU1sRHZCO0VBQStDLFNONkluQjs7O0FNNUk1QjtFQUF3QyxTTjJJbkI7OztBTTFJckI7RUFBc0MsU05uUG5COzs7QU1vUG5CO0VBQWlDLFNOaFBuQjs7O0FNaVBkO0VBQXVDLFNOa0JuQjs7O0FNakJwQjtFQUEyQyxTTmtCbkI7OztBTWpCeEI7RUFBbUMsU043T25COzs7QU04T2hCO0VBQW1DLFNOdkZuQjs7O0FNd0ZoQjtFQUFxQyxTTmxGbkI7OztBTW1GbEI7RUFBZ0MsU05uTm5COzs7QU1vTmI7RUFBcUMsU043Vm5COzs7QU04VmxCO0VBQWtDLFNOMVNuQjs7O0FNMlNmO0VBQWdDOzs7QUFDaEM7RUFBa0MsU055R25COzs7QU14R2Y7RUFBaUMsU052UW5COzs7QU13UWQ7RUFBa0MsU052UW5COzs7QU13UWY7RUFBb0MsU056WG5COzs7QU0wWGpCO0VBQTJDLFNOelhuQjs7O0FNMFh4QjtFQUFrQyxTTmdIbkI7OztBTS9HZjtFQUF5QyxTTmdIbkI7OztBTS9HdEI7RUFBb0MsU040Qm5COzs7QU0zQmpCO0FBQUE7RUFDZ0MsU056Vm5COzs7QU0wVmI7QUFBQTtFQUNpQyxTTmtJbkI7OztBTWpJZDtFQUFpQyxTTmdLbkI7OztBTS9KZDtFQUFvQyxTTjZGbkI7OztBTTVGakI7RUFBdUMsU04xUW5COzs7QU0yUXBCO0VBQXVDLFNOdUZuQjs7O0FNdEZwQjtFQUFxQyxTTmhSbkI7OztBTWlSbEI7RUFBdUMsU041Tm5COzs7QU02TnBCO0VBQXdDLFNOck5uQjs7O0FNc05yQjtFQUF5QyxTTmxPbkI7OztBTW1PdEI7RUFBOEMsU041Tm5COzs7QU02TjNCO0FBQUE7QUFBQTtFQUV5QyxTTnJPbkI7OztBTXNPdEI7QUFBQTtFQUMyQyxTTjNPbkI7OztBTTRPeEI7QUFBQTtFQUN5QyxTTjVPbkI7OztBTTZPdEI7QUFBQTtFQUN5QyxTTmpPbkI7OztBTWtPdEI7RUFBd0MsU045T25COzs7QU0rT3JCO0VBQWlDLFNOa0xuQjs7O0FNakxkO0VBQW9DLFNONVRuQjs7O0FNNlRqQjtFQUFxQyxTTjVIbkI7OztBTTZIbEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUlzQyxTTmpIbkI7OztBTWtIbkI7RUFBMkMsU04vVW5COzs7QU1nVnhCO0FBQUE7RUFDa0MsU05QbkI7OztBTVFmO0FBQUE7RUFDbUMsU04xUm5COzs7QU0yUmhCO0VBQXVDLFNOek1uQjs7O0FNME1wQjtFQUFnQyxTTjNNbkI7OztBTTRNYjtBQUFBO0FBQUE7RUFFd0MsU045TG5COzs7QU0rTHJCO0VBQTBDLFNOOEZuQjs7O0FNN0Z2QjtFQUErQixTTnhCbkI7OztBTXlCWjtBQUFBO0VBQ21DLFNOcUtuQjs7O0FNcEtoQjtBQUFBO0VBQ3dDLFNON0RuQjs7O0FNOERyQjtBQUFBO0VBQzBDLFNOOURuQjs7O0FNK0R2QjtFQUFvQyxTTm5MbkI7OztBTW9MakI7RUFBd0MsU05qV25COzs7QU1rV3JCO0VBQW1DLFNOMUxuQjs7O0FNMkxoQjtFQUFzQyxTTmhFbkI7OztBTWlFbkI7RUFBb0MsU04wQm5COzs7QU16QmpCO0VBQXNDLFNOT25COzs7QU1ObkI7RUFBNkMsU05PbkI7OztBTU4xQjtFQUFpQyxTTnZhbkI7OztBTXdhZDtBQUFBO0VBQ3FDLFNONU9uQjs7O0FNNk9sQjtFQUFnQyxTTitHbkI7OztBTTlHYjtFQUF1QyxTTm5ibkI7OztBTW9icEI7RUFBaUMsU05uRG5COzs7QU1vRGQ7RUFBdUMsU05rQm5COzs7QU1qQnBCO0VBQW1DLFNOZ0huQjs7O0FNL0doQjtFQUFpQyxTTmlLbkI7OztBTWhLZDtFQUF3QyxTTjVGbkI7OztBTTZGckI7RUFBaUMsU05rSm5COzs7QU1qSmQ7RUFBdUMsU05wYW5COzs7QU1xYXBCO0VBQW1DLFNONUVuQjs7O0FNNkVoQjtFQUEwQyxTTmhPbkI7OztBTWlPdkI7RUFBb0MsU04zWW5COzs7QU00WWpCO0VBQTBDLFNOL1luQjs7O0FNZ1p2QjtFQUF3QyxTTmxabkI7OztBTW1ackI7RUFBb0MsU05yWm5COzs7QU1zWmpCO0VBQXNDLFNOalpuQjs7O0FNa1puQjtFQUFzQyxTTmpabkI7OztBTWtabkI7RUFBdUMsU050Y25COzs7QU11Y3BCO0VBQXlDLFNOdGNuQjs7O0FNdWN0QjtFQUFrQyxTTm9GbkI7OztBTW5GZjtFQUFzQyxTTm5XbkI7OztBTW9XbkI7RUFBK0IsU05wZW5COzs7QU1xZVo7RUFBdUMsU052VG5COzs7QU13VHBCO0VBQXdDLFNObEduQjs7O0FNbUdyQjtFQUEwQyxTTnpjbkI7OztBTTBjdkI7RUFBdUMsU04xZm5COzs7QU0yZnBCO0VBQXNDLFNOckZuQjs7O0FNc0ZuQjtFQUF1QyxTTnRLbkI7OztBTXVLcEI7RUFBbUMsU05wTG5COzs7QU1xTGhCO0VBQTBDLFNOcExuQjs7O0FNcUx2QjtFQUF1QyxTTmlFbkI7OztBTWhFcEI7RUFBc0MsU05pRW5COzs7QU1oRW5CO0VBQW9DLFNObmRuQjs7O0FNb2RqQjtFQUFnQyxTTmhjbkI7OztBTWljYjtFQUFvQyxTTnBNbkI7OztBTXFNakI7RUFBc0MsU04vZ0JuQjs7O0FNZ2hCbkI7RUFBK0IsU041YW5COzs7QU02YVo7QUFBQTtBQUFBO0VBRWdDLFNOck5uQjs7O0FNc05iO0VBQXFDLFNObkpuQjs7O0FNb0psQjtFQUF1QyxTTnZjbkI7OztBTXdjcEI7RUFBMkMsU041WG5COzs7QU02WHhCO0VBQXFDLFNOL1duQjs7O0FNZ1hsQjtFQUFxQyxTTjdSbkI7OztBTThSbEI7RUFBb0MsU05sTW5COzs7QU1tTWpCO0VBQW1DLFNOakRuQjs7O0FNa0RoQjtFQUF5QyxTTnJDbkI7OztBTXNDdEI7RUFBd0MsU05qQ25COzs7QU1rQ3JCO0VBQXFDLFNOaENuQjs7O0FNaUNsQjtFQUFzQyxTTjNibkI7OztBTTRibkI7RUFBNEMsU043Ym5COzs7QU04YnpCO0VBQW9DLFNObFhuQjs7O0FNbVhqQjtFQUFpQyxTTjVDbkI7OztBTTZDZDtFQUF3QyxTTjhFbkI7OztBTTdFckI7RUFBdUMsU05sSm5COzs7QU1tSnBCO0VBQXdDLFNORW5COzs7QU1EckI7RUFBc0MsU052UG5COzs7QU13UG5CO0VBQWtDLFNONkVuQjs7O0FNNUVmO0VBQWlDLFNONUtuQjs7O0FNNktkO0VBQW9DLFNObktuQjs7O0FNb0tqQjtBQUFBO0VBQ3dDLFNOdUNuQjs7O0FNdENyQjtFQUE0QyxTTnVDbkI7OztBTXRDekI7RUFBeUMsU053RW5COzs7QU12RXRCO0VBQXdDLFNOakxuQjs7O0FNa0xyQjtFQUF1QyxTTnVFbkI7OztBTXRFcEI7RUFBd0MsU05sTG5COzs7QU1tTHJCO0VBQTBDLFNOakxuQjs7O0FNa0x2QjtFQUEwQyxTTm5MbkI7OztBTW9MdkI7RUFBbUMsU043Sm5COzs7QU04SmhCO0VBQXVDLFNON1NuQjs7O0FNOFNwQjtFQUE4QyxTTnRXbkI7OztBTXVXM0I7RUFBd0MsU05oSW5COzs7QU1pSXJCO0VBQXFDLFNONkVuQjs7O0FNNUVsQjtFQUFtQyxTTjNFbkI7OztBTTRFaEI7RUFBc0MsU051RG5COzs7QU10RG5CO0VBQXVDLFNOd0RuQjs7O0FNdkRwQjtBQUFBO0VBQ2dDLFNOMWdCbkI7OztBTTJnQmI7RUFBb0MsU04wRG5COzs7QU16RGpCO0VBQWtDLFNObUJuQjs7O0FNbEJmO0VBQW1DLFNObkJuQjs7O0FNb0JoQjtFQUFtQyxTTjdMbkI7OztBTThMaEI7QUFBQTtFQUN5QyxTTjRFbkI7OztBTTNFdEI7RUFBMEMsU05wS25COzs7QU1xS3ZCO0VBQXFDLFNOeEtuQjs7O0FNeUtsQjtFQUF5QyxTTjlYbkI7OztBTStYdEI7QUFBQTtFQUN5QyxTTnpoQm5COzs7QU0waEJ0QjtBQUFBO0VBQ21ELFNOeGhCbkI7OztBTXloQmhDO0FBQUE7RUFDeUMsU041aEJuQjs7O0FNNmhCdEI7QUFBQTtFQUM0QyxTTjdoQm5COzs7QU04aEJ6QjtBQUFBO0VBQzBDLFNObGlCbkI7OztBTW1pQnZCO0VBQTBDLFNON0xuQjs7O0FNOEx2QjtFQUFxQyxTTm5SbkI7OztBTW9SbEI7RUFBeUMsU04xTG5COzs7QU0yTHRCO0VBQTJDLFNOMUxuQjs7O0FNMkx4QjtFQUF3QyxTTmhEbkI7OztBTWlEckI7RUFBMEMsU05oRG5COzs7QU1pRHZCO0VBQW1DLFNON2VuQjs7O0FNOGVoQjtFQUEyQyxTTmhmbkI7OztBTWlmeEI7RUFBa0MsU05sZG5COzs7QU1tZGY7RUFBMEMsU054akJuQjs7O0FNeWpCdkI7RUFBd0MsU05oU25COzs7QU1pU3JCO0FBQUE7RUFDNEMsU05qU25COzs7QU1rU3pCO0FBQUE7RUFDMkMsU05yU25COzs7QU1zU3hCO0FBQUE7RUFDMEMsU054U25COzs7QU15U3ZCO0VBQXNDLFNON1NuQjs7O0FNOFNuQjtBQUFBO0VBQ3dDLFNON1RuQjs7O0FNOFRyQjtBQUFBO0VBQ3lDLFNObFVuQjs7O0FNbVV0QjtFQUE0QyxTTi9UbkI7OztBTWdVekI7RUFBMEMsU056VW5COzs7QU0wVXZCO0VBQXlDLFNOaFVuQjs7O0FNaVV0QjtFQUEyQyxTTnBVbkI7OztBTXFVeEI7RUFBeUMsU050VW5COzs7QU11VXRCO0VBQXNDLFNOM0JuQjs7O0FNNEJuQjtFQUF1QyxTTjNKbkI7OztBTTRKcEI7RUFBNkMsU045Y25COzs7QU0rYzFCO0VBQStCLFNOclduQjs7O0FNc1daO0VBQXNDLFNOclduQjs7O0FNc1duQjtFQUF3QyxTTnhCbkI7OztBTXlCckI7RUFBMEMsU052Tm5COzs7QU13TnZCO0VBQWlELFNOdk5uQjs7O0FNd045QjtFQUF1QyxTTjNXbkI7OztBTTRXcEI7RUFBd0MsU05tQm5COzs7QU1sQnJCO0VBQW1DLFNOakpuQjs7O0FNa0poQjtFQUFtQyxTTnZmbkI7OztBTXdmaEI7RUFBb0MsU056WW5COzs7QU0wWWpCO0VBQWtDLFNOMU5uQjs7O0FNMk5mO0VBQThDLFNOaFRuQjs7O0FNaVQzQjtBQUFBO0VBQ3VDLFNObkVuQjs7O0FNb0VwQjtFQUFtQyxTTmhlbkI7OztBTWllaEI7RUFBa0MsU052b0JuQjs7O0FNd29CZjtFQUFtQyxTTmpvQm5COzs7QU1rb0JoQjtFQUE0QyxTTnppQm5COzs7QU0waUJ6QjtFQUE2QyxTTjVpQm5COzs7QU02aUIxQjtFQUE2QyxTTjFpQm5COzs7QU0yaUIxQjtFQUE2QyxTTi9pQm5COzs7QU1nakIxQjtFQUFxQyxTTmhVbkI7OztBTWlVbEI7RUFBb0MsU04xUW5COzs7QU0yUWpCO0VBQXNDLFNOMVFuQjs7O0FNMlFuQjtFQUFrQyxTTjdRbkI7OztBTThRZjtFQUFnQyxTTmhSbkI7OztBTWlSYjtFQUF1QyxTTm5mbkI7OztBTW9mcEI7RUFBeUMsU05uZm5COzs7QU1vZnRCO0VBQWtDLFNOOVVuQjs7O0FNK1VmO0VBQWtDLFNObEJuQjs7O0FNbUJmO0VBQXNDLFNONWtCbkI7OztBTTZrQm5CO0VBQXNDLFNObFpuQjs7O0FPbFJuQjtFQUNFO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFFQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQ3RRQTtFQUNFO0VBQ0E7RUFDQTs7QUF0REE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQjdFcENPO0U2RXNDUDtFQUNBO0VBQ0EsUzdFNlJzQztFNkU1UnRDLFc3RTJSc0M7RTZFMVJ0QztFQUNBLGU3RTZCc0M7RUtpSDVDLG9Cd0U1SU07RXhFNklELGV3RTdJQztFeEU4SUUsWXdFOUlGOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsTzdFK1FzQztFNkU5UXRDLFE3RThRc0M7RTZFN1F0QztFQUNBO0VBQ0E7RUFDQSxlN0Vlc0M7O0E2RUkxQztBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUNFOztBQTVCTjtBQUFBO0VBQ0UsYTdFK1AwQztFNkU5UDFDLFM3RStQMEM7O0E2RWhPeEM7QUFBQTtFQUNFOztBQUdGO0FBQUE7RUFDRTs7QUFFQTtBQUFBO0VBQ0Usa0I3RXJHSztFNkVzR0w7O0FBTU47RUFDRTs7O0FBMUNKO0VBQ0U7RUFDQTtFQUNBOztBQXREQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCN0VwQ087RTZFc0NQO0VBQ0E7RUFDQSxTN0U2UnNDO0U2RTVSdEMsVzdFMlJzQztFNkUxUnRDO0VBQ0EsZTdFNkJzQztFS2lINUMsb0J3RTVJTTtFeEU2SUQsZXdFN0lDO0V4RThJRSxZd0U5SUY7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQSxPN0UrUXNDO0U2RTlRdEMsUTdFOFFzQztFNkU3UXRDO0VBQ0E7RUFDQTtFQUNBLGU3RWVzQzs7QTZFSTFDO0FBQUE7QUFBQTtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0FBQUE7RUFDRTs7QUE1Qk47QUFBQTtBQUFBO0FBQUE7RUFDRSxhN0UrUDBDO0U2RTlQMUMsUzdFK1AwQzs7QTZFaE94QztBQUFBO0FBQUE7QUFBQTtFQUNFOztBQUdGO0FBQUE7QUFBQTtBQUFBO0VBQ0U7O0FBRUE7QUFBQTtBQUFBO0FBQUE7RUFDRSxrQjdFckdLO0U2RXNHTDs7QUFNTjtFQUNFOzs7QUF6R0Y7QUFBQTtBQUFBO0FBQUE7RUFDRTtFQUNBLGtCdEVSbUI7O0FzRVVyQjtBQUFBO0FBQUE7QUFBQTtFQUNFLGtCdEVYbUI7RXNFWW5CLGN0RVptQjs7O0FzRU1yQjtBQUFBO0VBQ0U7RUFDQSxrQnRFUm1COztBc0VVckI7QUFBQTtFQUNFLGtCdEVYbUI7RXNFWW5CLGN0RVptQjs7O0FzRU1yQjtBQUFBO0VBQ0U7RUFDQSxrQnRFUm1COztBc0VVckI7QUFBQTtFQUNFLGtCdEVYbUI7RXNFWW5CLGN0RVptQjs7O0FzRU1yQjtBQUFBO0VBQ0U7RUFDQSxrQnZFWWtCOztBdUVWcEI7QUFBQTtFQUNFLGtCdkVTa0I7RXVFUmxCLGN2RVFrQjs7O0F1RWRwQjtBQUFBO0VBQ0U7RUFDQSxrQnZFVWtCOztBdUVScEI7QUFBQTtFQUNFLGtCdkVPa0I7RXVFTmxCLGN2RU1rQjs7O0F1RVpwQjtBQUFBO0VBQ0U7RUFDQSxrQnZFV2tCOztBdUVUcEI7QUFBQTtFQUNFLGtCdkVRa0I7RXVF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O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtBQUFBO0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtBQUNBO0FBQUE7QUFHQTtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtBQUNBO0FBQUE7QUFHQTtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtBQUNBO0FBQUE7QUFHQTtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtB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Q0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VB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bUdvRlg7RUFFRSxPNUY1RmlCO0U0RjZGakIsa0JuRzVGTzs7QW1HZ0dUO0VBR0UsTzVGcEdpQjtFNEZxR2pCLGtCbkdwR087O0FtR3dHVDtFQUdFLE9uR0dzQztFbUdGdEMsa0JuR0dzQzs7QW1HRTVDO0VBQ0UsY25HbkdlOztBbUdvR2Y7RUFFRSxrQm5HckhTOztBbUd1SFg7RUFDRSxrQjVGekhtQjs7QTRGNkh2QjtBQUFBO0FBQUE7RUFFRSxjbkcvR2U7O0FtR3NIYjtFQUdFLGtCbkd4SU87RW1HeUlQLE81RjFJaUI7O0E0RjhJckI7RUFHSTtJQUNFLE9uRzVJTzs7RW1HNklQO0lBRUUsTzVGckphO0k0RnNKYixrQm5HckpHOztFbUd5Skw7SUFHRSxPNUY3SmE7STRGOEpiLGtCbkc3Skc7O0VtR2lLTDtJQUdFLE9uR3REa0M7SW1HdURsQyxrQm5HdERrQzs7O0FtRzZENUM7RUFDRSxPbkd4S2E7O0FtR3lLYjtFQUNFLE81RmhMbUI7O0E0Rm9MdkI7RUFDRSxPbkcvS2E7O0FtR2dMYjtFQUVFLE81RnhMbUI7O0E0RjRMbkI7RUFFRSxPbkcvRXNDOzs7QW1Hc0Y1QztFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFFQTtFQUNFOztBQUlKO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7OztBQ3hOTjtFQUNFOztBQUVBO0VBQ0UsWXBHRlc7RW9HR1gsT3BHS2E7OztBb0dHakI7RTdFUEUsT2hCTnVCO0VnQk92QixrQnZCUGE7RXVCUWIsY2pCb0orQjs7QWlCbEovQjtFQUVFLE9oQlpxQjtFZ0JhckI7RUFDSTs7QUFFTjtFQUNFLE9oQmpCcUI7RWdCa0JyQjtFQUNJOztBQUVOO0VBR0UsT2hCeEJxQjtFZ0J5QnJCO0VBQ0k7O0FBRUo7RUFHRSxPaEIvQm1CO0VnQmdDbkI7RUFDSTs7QUFHUjtFQUdFOztBQUtBO0VBTUUsa0J2QmxEUztFdUJtREwsY2pCeUd1Qjs7QWlCckcvQjtFQUNFLE92QnhEVztFdUJ5RFgsa0JoQnpEcUI7OztBNkZpQnpCO0VBQ0U7RUFDQTtFQUNBLE9wR1JlO0VvR1NmLFlwR3BCYTtF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RUFDQTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7RUFFRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUVFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBRUU7O0FBR0Y7RUFDRTs7QUFNSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBRUU7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUVFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQU1KO0VBQ0U7RUFDQTs7QUFRRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS047RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBTUE7RUFDRTs7QUFFQTtFQUNFOztBQUlKO0VBQ0U7RUFDQTs7QUFPRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUVFOztBQUdGO0VBQ0U7RUFDQTs7QUFJSjtFQUVFOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBT0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUlFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBS0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFLTjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0VBRUU7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFFRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFLTjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBRUU7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFFRTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBTUY7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFLRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFNRjtBQUFBO0FBQUE7RUFFRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBTVI7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUVFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQU1GO0VBQ0U7O0FBT0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUlKO0VBQ0U7O0FBRUE7RUFDRTs7QUFJSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFNRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFLSjtFQUNFOztBQU9GO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBOztBQU1GO0VBQ0U7O0FBTUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7RUFHRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtBQUFBO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBQ0U7RUFDQTtFQUNBOztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTs7QUFFQTtBQUFBO0VBRUU7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBRUU7RUFDQTs7QUFJRjtFQUNFO0VBQ0E7O0FBS047RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7QUFBQTtFQUVFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBRUU7O0FBS047RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJQTtFQUNFOztBQUdGO0VBQ0U7O0FBT0o7QUFBQTtFQUVFO0VBQ0E7O0FBRUE7QUFBQTtFQUNFO0VBQ0E7RUFDQTs7QUFJSjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFFRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0FBQUE7RUFFRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDRTtFQUNBOztBQUlKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtFOztBQUdGO0FBQUE7QUFBQTtFQUdFOztBQUdGO0VBQ0U7OztBQUtOO0VBQ0U7SUFDRTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7O0VBR0E7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUVBO0lBQ0U7O0VBS0Y7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7QUFBQTtJQUVFOztFQUlKO0lBQ0U7SUFDQTs7RUFFQTtJQUNFO0lBQ0E7OztBQU1SO0VBQ0U7SUFDRTtJQUNBOztFQUVBO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7RUFFQTtJQUNFOztFQUlKO0lBQ0U7SUFDQTs7RUFFQTtBQUFBO0FBQUE7SUFFRTs7RUFJSjtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0U7O0VBSUo7SUFDRTtJQUNBOztFQUVBO0lBQ0U7O0VBS0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUlKO0lBQ0U7OztBQUtOO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0FBQUE7SUFFRTs7RUFJQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBOztFQUVBO0lBQ0U7O0VBSUo7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNFOztFQUlKO0lBQ0U7O0VBSUo7SUFDRTtJQUNBO0lBQ0E7O0VBRUE7SUFDRTs7RUFJSjtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUtOO0VBRUk7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7RUFJRjtJQUNFO0lBQ0E7O0VBRUE7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7RUFJSjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7RUFFQTtJQUNFOztFQUlKO0lBQ0U7SUFDQTs7RUFFQTtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOztFQUdGO0lBQ0UiLCJmaWxlIjoibGlnaHQtZ3JlZW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJGNvbG9yLWJnLTAwMDogI2ZmZmZmZiAhZGVmYXVsdDtcbiRjb2xvci1iZy0xMDA6ICNmOWY5ZjkgIWRlZmF1bHQ7XG4kY29sb3ItYmctMjAwOiAjZWVlZWVlICFkZWZhdWx0O1xuJGNvbG9yLWJnLTMwMDogI2RkZGRkZCAhZGVmYXVsdDtcblxuJGNvbG9yLXRleHQtMDAwOiAjZmZmZmZmICFkZWZhdWx0O1xuJGNvbG9yLXRleHQtMTAwOiAjMjAyMDIwICFkZWZhdWx0OyAvL2Rhcmtlc3RcbiRjb2xvci10ZXh0LTIwMDogIzU1NTU1NSAhZGVmYXVsdDsgLy9kYXJrZXJcbiRjb2xvci10ZXh0LTMwMDogIzU5NTk1OSAhZGVmYXVsdDsgLy9kYXJrXG4kY29sb3ItdGV4dC00MDA6ICM2NjY2NjYgIWRlZmF1bHQ7IC8vbm9ybWFsXG4kY29sb3ItdGV4dC01MDA6ICM3Nzc3NzcgIWRlZmF1bHQ7IC8vbGlndGhcbiRjb2xvci10ZXh0LTYwMDogIzk5OTk5OSAhZGVmYXVsdDsgLy9saWd0aGVyXG4kY29sb3ItdGV4dC03MDA6ICNhYWFhYWEgIWRlZmF1bHQ7IC8vXG4kY29sb3ItdGV4dC04MDA6ICNjY2NjY2MgIWRlZmF1bHQ7XG4kY29sb3ItdGV4dC05MDA6ICNkZGRkZGQgIWRlZmF1bHQ7XG5cbiRjb2xvci1ib3JkZXItMTAwOiAjZDlkOWQ5ICFkZWZhdWx0O1xuJGNvbG9yLWJvcmRlci0yMDA6ICNlOWU5ZTkgIWRlZmF1bHQ7XG4kY29sb3Itc2hhZG93OiAjY2NjY2NjICFkZWZhdWx0O1xuXG4vKlxuJGJhc2UtYmc6ICAgICAgICAgICAgICAgICNmZmZmZmYgIWRlZmF1bHQ7XG4kYmFzZS1iZy1kYXJrZXI6ICAgICAgICAgI2VlZWVlZSAhZGVmYXVsdDtcbiRiYXNlLWJnLWRhcms6ICAgICAgICAgICAjZjlmOWY5ICFkZWZhdWx0O1xuJGJhc2UtYm9yZGVyOiAgICAgICAgICAgICNkOWQ5ZDkgIWRlZmF1bHQ7XG4kYmFzZS1jb2xvcjogICAgICAgICAgICAgIzIwMjAyMCAhZGVmYXVsdDtcbiovXG5cbiRncmF5LWJhc2U6ICAgICAgICAgICAgICAjMjAyMDIwICFkZWZhdWx0O1xuJGdyYXktZGFya2VyOiAgICAgICAgICAgICM1NTU1NTUgIWRlZmF1bHQ7XG4kZ3JheS1kYXJrOiAgICAgICAgICAgICAgIzc3Nzc3NyAhZGVmYXVsdDtcbiRncmF5OiAgICAgICAgICAgICAgICAgICAjZGRkZGRkICFkZWZhdWx0O1xuJGdyYXktbGlnaHQ6ICAgICAgICAgICAgICNlZWVlZWUgIWRlZmF1bHQ7XG4kZ3JheS1saWdodGVyOiAgICAgICAgICAgI2Y5ZjlmOSAhZGVmYXVsdDtcblxuJHppbmRleC1uYXZiYXI6ICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcbiR6aW5kZXgtbmF2YmFyLWZpeGVkOiAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tncm91bmQ6ICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcblxuXG5cbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3BlbitTYW5zOjMwMCwzMDBpLDQwMCw0MDBpLDYwMCw2MDBpLDcwMCw3MDBpLDgwMCw4MDBpJnN1YnNldD1jeXJpbGxpYyxjeXJpbGxpYy1leHQsbGF0aW4tZXh0Jyk7XG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtYWxsZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlIC0gMiAhZGVmYXVsdDtcbiRmb250LXNpemUtc21hbGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgLSAxICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sYXJnZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSArIDEgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxhcmdlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICsgMiAhZGVmYXVsdDtcblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0zMDAgIWRlZmF1bHQ7XG4kdGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtMTAwICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtMDAwICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGNvbG9yLXN0YXR1cy1vbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuICFkZWZhdWx0O1xuXG4vLyoqIGhlYWRpbmdzXG4kaGVhZGluZy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzhweCAhZGVmYXVsdDtcbiRoZWFkaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC01MDAgIWRlZmF1bHQ7XG4kaGVhZGluZy1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcblxuLy8qKiBpY29uXG4kaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtOTAwICFkZWZhdWx0O1xuXG4vLyoqIGJvcmRlcnNcbiRib3JkZXItcmFkaXVzLWJhc2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgICAgICAgICAgICAgICAgICAgMiAhZGVmYXVsdDtcblxuLy8qKiBuYXZiYXJzXG4kbmF2YmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDJweCAhZGVmYXVsdDtcbiRuYXZiYXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGVmYXVsdC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWxhcmdlICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0wMDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJvcmRlci0xMDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtMTAwICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICRuYXZiYXItZGVmYXVsdC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICAgICAkbmF2YmFyLWRlZmF1bHQtYmcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgJG5hdmJhci1kZWZhdWx0LWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICAgICRjb2xvci1iZy0xMDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgI2NjYyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWRlZmF1bHQtYm9yZGVyICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICAgICRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICRpY29uLWNvbG9yICFkZWZhdWx0O1xuXG4kbmF2YmFyLW1haW4tc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1sYXJnZSAhZGVmYXVsdDtcbiRuYXZiYXItbWFpbi13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBub3JtYWwgIWRlZmF1bHQ7XG4kbmF2YmFyLW1haW4tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcbiRuYXZiYXItbWFpbi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYm9yZGVyLTEwMCAhZGVmYXVsdDtcbiRuYXZiYXItbWFpbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC0xMDAgIWRlZmF1bHQ7XG4kbmF2YmFyLW1haW4tYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJG5hdmJhci1tYWluLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1tYWluLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJG5hdmJhci1tYWluLWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICRuYXZiYXItbWFpbi1iZyAhZGVmYXVsdDtcbiRuYXZiYXItbWFpbi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkbmF2YmFyLW1haW4tY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW1haW4tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kbmF2YmFyLW1haW4tbGluay1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiRuYXZiYXItbWFpbi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRuYXZiYXItbWFpbi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICAkbmF2YmFyLW1haW4tbGluay1ob3Zlci1iZyAhZGVmYXVsdDtcbiRuYXZiYXItbWFpbi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuJG5hdmJhci1tYWluLWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1tYWluLXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRuYXZiYXItbWFpbi1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2YmFyLW1haW4tdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgJG5hdmJhci1tYWluLWxpbmstaG92ZXItYmcgIWRlZmF1bHQ7XG4kbmF2YmFyLW1haW4tdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kbmF2YmFyLW1haW4taWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGljb24tY29sb3IgIWRlZmF1bHQ7XG5cbi8vKiogbmF2c1xuJG5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggMTVweCAhZGVmYXVsdDtcbiRuYXYtbGluay1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMjAwICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0wMDAgIWRlZmF1bHQ7XG4kbmF2LWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtNTAwICFkZWZhdWx0O1xuXG4kbmF2LWRpc2FibGVkLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtNzAwICFkZWZhdWx0O1xuJG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRjb2xvci10ZXh0LTcwMCAhZGVmYXVsdDtcblxuLy89PSBUYWJzXG4kbmF2LXRhYnMtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuJG5hdi10YWJzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0xMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkbmF2LWxpbmstaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgICAkY29sb3ItYmctMDAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRjb2xvci10ZXh0LTEwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I6ICAgICAgICAkY29sb3ItYm9yZGVyLTEwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1qdXN0aWZpZWQtYWN0aXZlLWxpbmstYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmcgIWRlZmF1bHQ7XG5cbi8vPT0gUGFuZWxzXG4kcGFuZWwtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcbiRwYW5lbC1ib2R5LXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJHBhbmVsLWhlYWRpbmctcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgIDlweCAxNXB4ICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICRwYW5lbC1oZWFkaW5nLXBhZGRpbmcgIWRlZmF1bHQ7XG4kcGFuZWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuJHBhbmVsLWlubmVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1ib3JkZXItMTAwICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0xMDAgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kZWZhdWx0LXRleHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1ib3JkZXItMTAwICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtaGVhZGluZy1iZzogICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0xMDAgIWRlZmF1bHQ7XG5cbiR3aWRnZXQtY29udGVudC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgICAkY29sb3ItYmctMDAwICFkZWZhdWx0O1xuJHdpZGdldC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LTUwMCAhZGVmYXVsdDtcbiR3aWRnZXQtY29udGVudC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC04MDAgIWRlZmF1bHQ7XG4kd2lkZ2V0LWNvbC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgI2Y5ZjlmOSAhZGVmYXVsdDtcblxuLy89PSBGb3Jtc1xuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiRpbnB1dC1iZy1kaXNhYmxlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMjAwICFkZWZhdWx0O1xuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1jb2xvci1mb2N1czogICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC0xMDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJvcmRlci0xMDAgIWRlZmF1bHQ7XG4kaW5wdXQtYmctZm9jdXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcbiRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcjogICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC04MDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICRpbnB1dC1ib3JkZXIgIWRlZmF1bHQ7XG4kY3Vyc29yLWRpc2FibGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG4kaW5wdXQtbGFiZWwtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuXG4vLz09IFRhYmxlc1xuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG4kdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZzogICAgICAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRhYmxlLWJnLWFjY2VudDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtYmctaG92ZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiR0YWJsZS1iZy1hY3RpdmU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGFibGUtYmctaG92ZXIgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJvcmRlci0xMDAgIWRlZmF1bHQ7XG5cbiR0YWJsZS1saXN0LWhlYWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC01MDAgIWRlZmF1bHQ7XG4kdGFibGUtbGlzdC1oZWFkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTIwMCAhZGVmYXVsdDtcblxuLy89PSBEcm9wZG93bnNcbi8vKiogQmFja2dyb3VuZCBmb3IgdGhlIGRyb3Bkb3duIG1lbnUuXG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYm9yZGVyLTEwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1mYWxsYmFjay1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAkY29sb3ItYm9yZGVyLTEwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYm9yZGVyLTEwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC01MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtNTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0xMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgJGRyb3Bkb3duLWxpbmstaG92ZXItYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtNzAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRkcm9wZG93bi1saW5rLWNvbG9yICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtOTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWljb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWljb24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAxM3B4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgIDZweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtYWxsICFkZWZhdWx0O1xuXG4vLz09IFBhZ2luYXRpb25cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC0xMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0xMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYm9yZGVyICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC03MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYm9yZGVyICFkZWZhdWx0O1xuXG4vLyoqIFRodW1ibmFpbHNcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYm9yZGVyLTEwMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuLy8qKiBCdXR0b25zXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LTUwMCAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMjAwICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICRidG4tZGVmYXVsdC1iZyAhZGVmYXVsdDtcblxuLy8qKiBQYW5lbHNcbiRwYW5lbC10aXRsZS1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWxhcmdlciAhZGVmYXVsdDtcbiRwYW5lbC10aXRsZS1pY29uLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJHBhbmVsLXRpdGxlLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyoqIEdyb3Vwc1xuJGdyb3VwLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgIDhweCAhZGVmYXVsdDtcbiRncm91cC1oZWFkaW5nLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICA3cHggIWRlZmF1bHQ7XG4kZ3JvdXAtaGVhZGluZy1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgJGdyb3VwLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncm91cC1pdGVtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kZ3JvdXAtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgJGdyb3VwLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuJGdyb3VwLWhlYWRpbmctYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kZ3JvdXAtaGVhZGluZy1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1sYXJnZSAhZGVmYXVsdDtcbiRncm91cC1oZWFkaW5nLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMTAwICFkZWZhdWx0O1xuJGdyb3VwLWhlYWRpbmctaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0yMDAgIWRlZmF1bHQ7XG4kZ3JvdXAtaGVhZGluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtMTAwICFkZWZhdWx0O1xuJGdyb3VwLWhlYWRpbmctaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LTEwMCAhZGVmYXVsdDtcbiRncm91cC1oZWFkaW5nLWNvbGxhcHNlLWNvbG9yOiAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC01MDAgIWRlZmF1bHQ7XG4kZ3JvdXAtaGVhZGluZy1jb2xsYXBzZS1ob3Zlci1jb2xvcjogICAgICAgICAgJGNvbG9yLXRleHQtNTAwICFkZWZhdWx0O1xuXG4kZ3JvdXAtY2VsbC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJGdyb3VwLWNlbGwtcGFkZGluZy1yaWdodDogICAgICAgICAgICAgICAgICAgIDBweCAhZGVmYXVsdDtcblxuJGdyb3VwLWxpc3QtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kZ3JvdXAtbGlzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRncm91cC1saXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGdyb3VwLWxpc3QtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kZ3JvdXAtbGlzdC1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiRncm91cC1saXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGdyb3VwLWxpc3QtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cbiRncm91cC1jb2xsYXBzZS1zdGF0dXMtY29sb3I6ICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC04MDAgIWRlZmF1bHQ7XG4kZ3JvdXAtY29sbGFwc2Utc3RhdHVzLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGNvbG9yLXRleHQtODAwICFkZWZhdWx0O1xuJGdyb3VwLWNvbGxhcHNlLXN0YXR1cy1jb2xsYXBzZS1jb2xvcjogICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGdyb3VwLWNvbGxhcHNlLXN0YXR1cy1jb2xsYXBzZS1ob3Zlci1jb2xvcjogICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyoqIE1hcCBDb250cm9sc1xuJG1hcC1jb250cm9scy1idG4tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0wMDAgIWRlZmF1bHQ7XG4kbWFwLWNvbnRyb2xzLWJ0bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtMjAwICFkZWZhdWx0O1xuJG1hcC1jb250cm9scy1idG4taG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICRtYXAtY29udHJvbHMtYnRuLWJnICFkZWZhdWx0O1xuJG1hcC1jb250cm9scy1idG4taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICRtYXAtY29udHJvbHMtYnRuLWNvbG9yICFkZWZhdWx0O1xuJG1hcC1jb250cm9scy1idG4tYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJG1hcC1jb250cm9scy1idG4tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG4vLyoqIE1vZGFsc1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0wMDAgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTEwMCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMTAwICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyoqIFBvcHVwc1xuJHBvcHVwLWhlYWRlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0xMDAgIWRlZmF1bHQ7XG4kcG9wdXAtYm9keS1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcbiRwb3B1cC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRwb3B1cC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICA4cHg7XG4kcG9wdXAtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgMTBweDtcbiRwb3B1cC10aXRsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC0xMDAgIWRlZmF1bHQ7XG4kcG9wdXAtdGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1sYXJnZTtcbiRwb3B1cC1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC0zMDAgIWRlZmF1bHQ7XG4kcG9wdXAtYm9keS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbWFsbDtcblxuLy8qKiBTY3JvbGxiYXJcbiRzY3JvbGxiYXItc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHNjcm9sbGJhci10cmFjay1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0xMDAgIWRlZmF1bHQ7XG4kc2Nyb2xsYmFyLXRyYWNrLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcbiRzY3JvbGxiYXItdGh1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYmctMzAwICFkZWZhdWx0O1xuJHNjcm9sbGJhci10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0wMDAgIWRlZmF1bHQ7XG5cblxuJHNpZGViYXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1iZy0wMDAgIWRlZmF1bHQ7XG4kc2lkZWJhci10b3Atc3BhY2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwcHggIWRlZmF1bHQ7XG4kc2lkZWJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRzaWRlYmFyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICA4cHggIWRlZmF1bHQ7XG4kc2lkZWJhci1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGViYXItcGFkZGluZy12ZXJ0aWNhbCAkc2lkZWJhci1wYWRkaW5nLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kc2lkZWJhci10YWItaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgJHNpZGViYXItcGFkZGluZyAhZGVmYXVsdDtcbiRzaWRlYmFyLXRhYi1ib2R5LXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJHNpZGViYXItdGFiLWZvb3Rlci1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICRzaWRlYmFyLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vKiogQ2hlY2tib3hcbiRjaGVja2JveC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAnaWNvbW9vbicgIWRlZmF1bHQ7XG4kY2hlY2tib3gtY2hlY2staWNvbjogICAgICAgICAgICAgICAgICAgICAgICAgJ1xcZTkwYicgIWRlZmF1bHQ7XG4kY2hlY2tib3gtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICAgICAgICAgJGNvbG9yLWJnLTAwMCAhZGVmYXVsdDtcbiRjaGVja2JveC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItYm9yZGVyLTEwMCAhZGVmYXVsdDtcbiRjaGVja2JveC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcbiRjaGVja2JveC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxOHB4ICFkZWZhdWx0O1xuJGNoZWNrYm94LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kY2hlY2tib3gtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgKCRjaGVja2JveC1zaXplIC0gJGNoZWNrYm94LWZvbnQtc2l6ZSAtIDIpIC8gMiAhZGVmYXVsdDsiLCIvKiFcbiAqIEJvb3RzdHJhcCB2My4zLjUgKGh0dHA6Ly9nZXRib290c3RyYXAuY29tKVxuICogQ29weXJpZ2h0IDIwMTEtMjAxNSBUd2l0dGVyLCBJbmMuXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKVxuICovXG5cbi8vIENvcmUgdmFyaWFibGVzIGFuZCBtaXhpbnNcbkBpbXBvcnQgXCJib290c3RyYXAvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL21peGluc1wiO1xuXG4vLyBSZXNldCBhbmQgZGVwZW5kZW5jaWVzXG5AaW1wb3J0IFwiYm9vdHN0cmFwL25vcm1hbGl6ZVwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9wcmludFwiO1xuLy9AaW1wb3J0IFwiYm9vdHN0cmFwL2dseXBoaWNvbnNcIjtcblxuLy8gQ29yZSBDU1NcbkBpbXBvcnQgXCJib290c3RyYXAvc2NhZmZvbGRpbmdcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvdHlwZVwiO1xuLy9AaW1wb3J0IFwiYm9vdHN0cmFwL2NvZGVcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvZ3JpZFwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC90YWJsZXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvZm9ybXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvYnV0dG9uc1wiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwiYm9vdHN0cmFwL2NvbXBvbmVudC1hbmltYXRpb25zXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2Ryb3Bkb3duc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9idXR0b24tZ3JvdXBzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2lucHV0LWdyb3Vwc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9uYXZzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL25hdmJhclwiO1xuLy9AaW1wb3J0IFwiYm9vdHN0cmFwL2JyZWFkY3J1bWJzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3BhZ2luYXRpb25cIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9wYWdlclwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9sYWJlbHNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvYmFkZ2VzXCI7XG4vL0BpbXBvcnQgXCJib290c3RyYXAvanVtYm90cm9uXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3RodW1ibmFpbHNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvYWxlcnRzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Byb2dyZXNzLWJhcnNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvbWVkaWFcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvbGlzdC1ncm91cFwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9wYW5lbHNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvcmVzcG9uc2l2ZS1lbWJlZFwiO1xuLy9AaW1wb3J0IFwiYm9vdHN0cmFwL3dlbGxzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2Nsb3NlXCI7XG5cbi8vIENvbXBvbmVudHMgdy8gSmF2YVNjcmlwdFxuQGltcG9ydCBcImJvb3RzdHJhcC9tb2RhbHNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvdG9vbHRpcFwiO1xuLy9AaW1wb3J0IFwiYm9vdHN0cmFwL3BvcG92ZXJzXCI7XG4vL0BpbXBvcnQgXCJib290c3RyYXAvY2Fyb3VzZWxcIjtcblxuLy8gVXRpbGl0eSBjbGFzc2VzXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3V0aWxpdGllc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9yZXNwb25zaXZlLXV0aWxpdGllc1wiO1xuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vL1xuLy8gMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbi8vIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4vLyAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4vL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDFcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4vL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLyBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4vLyBhbmQgRmlyZWZveC5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4vL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4vLyAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4vL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIDFcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyAyXG59XG5cbi8vXG4vLyBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuLy8gUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbi8vXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbi8vIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbi8vXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBMaW5rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuLy9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vL1xuLy8gSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuLy8gYWN0aXZlL2hvdmVyIHN0YXRlLlxuLy9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4vL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4vLyBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbi8vXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8vIEVtYmVkZGVkIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbi8vXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLy9cbi8vIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuLy9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBHcm91cGluZyBjb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4vL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vL1xuLy8gQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuLy9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vL1xuLy8gQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy9cbi8vIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLy8gRm9ybXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuLy8gc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuLy9cblxuLy9cbi8vIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbi8vICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuLy8gMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbi8vIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDFcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxuICBtYXJnaW46IDA7IC8vIDNcbn1cblxuLy9cbi8vIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuLy9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4vLyBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuLy8gQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbi8vIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbi8vXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vL1xuLy8gMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2Bcbi8vICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuLy8gMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuLy8gMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbi8vICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbi8vXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG4gIGN1cnNvcjogcG9pbnRlcjsgLy8gM1xufVxuXG4vL1xuLy8gUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbi8vXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy9cbi8vIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbi8vXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuLy8gdGhlIFVBIHN0eWxlc2hlZXQuXG4vL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8vXG4vLyBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4vLyBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuLy9cbi8vIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4vLyAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuLy9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG59XG5cbi8vXG4vLyBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuLy8gYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbi8vIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbi8vXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vL1xuLy8gMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4vLyAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuLy9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLzJcbn1cblxuLy9cbi8vIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuLy8gU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuLy8gcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuLy9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4vL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbi8vIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbi8vXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuLy9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy9cbi8vIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbi8vIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuLy9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy8gVGFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuLy9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcblxuICBmb250LXNpemU6IGluaGVyaXQ7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuIiwiLyohIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyAqL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbnQgc3R5bGVzLlxuLy8gSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6IGg1YnAuY29tL3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOmJlZm9yZSxcbiAgICAqOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYSxcbiAgICBhOnZpc2l0ZWQge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICBhW2hyZWZdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgfVxuXG4gICAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gICAgfVxuXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAvLyBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgYVtocmVmXj1cIiNcIl06YWZ0ZXIsXG4gICAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgLy8gaDVicC5jb20vdFxuICAgIH1cblxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgc3RhcnRcblxuICAgIC8vIEJvb3RzdHJhcCBjb21wb25lbnRzXG4gICAgLm5hdmJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5idG4sXG4gICAgLmRyb3B1cCA+IC5idG4ge1xuICAgICAgICA+IC5jYXJldCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmxhYmVsIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgdGQsXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudGFibGUtYm9yZGVyZWQge1xuICAgICAgICB0aCxcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgZW5kXG59XG4iLCIvL1xuLy8gU2NhZmZvbGRpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gUmVzZXQgdGhlIGJveC1zaXppbmdcbi8vXG4vLyBIZWFkcyB1cCEgVGhpcyByZXNldCBtYXkgY2F1c2UgY29uZmxpY3RzIHdpdGggc29tZSB0aGlyZC1wYXJ0eSB3aWRnZXRzLlxuLy8gRm9yIHJlY29tbWVuZGF0aW9ucyBvbiByZXNvbHZpbmcgc3VjaCBjb25mbGljdHMsIHNlZVxuLy8gaHR0cDovL2dldGJvb3RzdHJhcC5jb20vZ2V0dGluZy1zdGFydGVkLyN0aGlyZC1ib3gtc2l6aW5nXG4qIHtcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbn1cbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG59XG5cblxuLy8gQm9keSByZXNldFxuXG5odG1sIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG59XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7XG59XG5cbi8vIFJlc2V0IGZvbnRzIGZvciByZWxldmFudCBlbGVtZW50c1xuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5cbi8vIExpbmtzXG5cbmEge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgdGFiLWZvY3VzO1xuICB9XG59XG5cblxuLy8gRmlndXJlc1xuLy9cbi8vIFdlIHJlc2V0IHRoaXMgaGVyZSBiZWNhdXNlIHByZXZpb3VzbHkgTm9ybWFsaXplIGhhZCBubyBgZmlndXJlYCBtYXJnaW5zLiBUaGlzXG4vLyBlbnN1cmVzIHdlIGRvbid0IGJyZWFrIGFueW9uZSdzIHVzZSBvZiB0aGUgZWxlbWVudC5cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5cbi8vIEltYWdlc1xuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcbi5pbWctcmVzcG9uc2l2ZSB7XG4gIEBpbmNsdWRlIGltZy1yZXNwb25zaXZlO1xufVxuXG4vLyBSb3VuZGVkIGNvcm5lcnNcbi5pbWctcm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxhcmdlO1xufVxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4vL1xuLy8gSGVhZHMgdXAhIFRoaXMgaXMgbWl4aW4tZWQgaW50byB0aHVtYm5haWxzLmxlc3MgZm9yIGAudGh1bWJuYWlsYC5cbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4ycyBlYXNlLWluLW91dCk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIEBpbmNsdWRlIGltZy1yZXNwb25zaXZlKGlubGluZS1ibG9jayk7XG59XG5cbi8vIFBlcmZlY3QgY2lyY2xlXG4uaW1nLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTsgLy8gc2V0IHJhZGl1cyBpbiBwZXJjZW50c1xufVxuXG5cbi8vIEhvcml6b250YWwgcnVsZXNcblxuaHIge1xuICBtYXJnaW4tdG9wOiAgICAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGhyLWJvcmRlcjtcbn1cblxuXG4vLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cDovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG4uc3Itb25seS1mb2N1c2FibGUge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gIH1cbn1cblxuXG4vLyBpT1MgXCJjbGlja2FibGUgZWxlbWVudHNcIiBmaXggZm9yIHJvbGU9XCJidXR0b25cIlxuLy9cbi8vIEZpeGVzIFwiY2xpY2thYmlsaXR5XCIgaXNzdWUgKGFuZCBtb3JlIGdlbmVyYWxseSwgdGhlIGZpcmluZyBvZiBldmVudHMgc3VjaCBhcyBmb2N1cyBhcyB3ZWxsKVxuLy8gZm9yIHRyYWRpdGlvbmFsbHkgbm9uLWZvY3VzYWJsZSBlbGVtZW50cyB3aXRoIHJvbGU9XCJidXR0b25cIlxuLy8gc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuIiwiLy8gVmVuZG9yIFByZWZpeGVzXG4vL1xuLy8gQWxsIHZlbmRvciBtaXhpbnMgYXJlIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMi4wIGR1ZSB0byB0aGUgaW50cm9kdWN0aW9uIG9mXG4vLyBBdXRvcHJlZml4ZXIgaW4gb3VyIEdydW50ZmlsZS4gVGhleSB3aWxsIGJlIHJlbW92ZWQgaW4gdjQuXG5cbi8vIC0gQW5pbWF0aW9uc1xuLy8gLSBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyAtIEJveCBzaGFkb3dcbi8vIC0gQm94IHNpemluZ1xuLy8gLSBDb250ZW50IGNvbHVtbnNcbi8vIC0gSHlwaGVuc1xuLy8gLSBQbGFjZWhvbGRlciB0ZXh0XG4vLyAtIFRyYW5zZm9ybWF0aW9uc1xuLy8gLSBUcmFuc2l0aW9uc1xuLy8gLSBVc2VyIFNlbGVjdFxuXG5cbi8vIEFuaW1hdGlvbnNcbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICAgICAtby1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1uYW1lKCRuYW1lKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ICRuYW1lO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbn1cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJGR1cmF0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkZGVsYXkpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbn1cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCRpdGVyYXRpb24tY291bnQpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkaXRlcmF0aW9uLWNvdW50O1xuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRpdGVyYXRpb24tY291bnQ7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUoJGZpbGwtbW9kZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG4gICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGwtbW9kZTtcbn1cblxuLy8gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gUHJldmVudCBicm93c2VycyBmcm9tIGZsaWNrZXJpbmcgd2hlbiB1c2luZyBDU1MgM0QgdHJhbnNmb3Jtcy5cbi8vIERlZmF1bHQgdmFsdWUgaXMgYHZpc2libGVgLCBidXQgY2FuIGJlIGNoYW5nZWQgdG8gYGhpZGRlbmBcblxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpe1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xuICAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xufVxuXG4vLyBEcm9wIHNoYWRvd3Ncbi8vXG4vLyBOb3RlOiBEZXByZWNhdGVkIGAuYm94LXNoYWRvdygpYCBhcyBvZiB2My4xLjAgc2luY2UgYWxsIG9mIEJvb3RzdHJhcCdzXG4vLyBzdXBwb3J0ZWQgYnJvd3NlcnMgdGhhdCBoYXZlIGJveCBzaGFkb3cgY2FwYWJpbGl0aWVzIG5vdyBzdXBwb3J0IGl0LlxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdzsgLy8gaU9TIDw0LjMgJiBBbmRyb2lkIDw0LjFcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG4vLyBCb3ggc2l6aW5nXG5AbWl4aW4gYm94LXNpemluZygkYm94bW9kZWwpIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XG4gICAgIC1tb3otYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRib3htb2RlbDtcbn1cblxuLy8gQ1NTMyBDb250ZW50IENvbHVtbnNcbkBtaXhpbiBjb250ZW50LWNvbHVtbnMoJGNvbHVtbi1jb3VudCwgJGNvbHVtbi1nYXA6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgICAgLW1vei1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgICAgICAgY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xuICAgICAtbW96LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xuICAgICAgICAgIGNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xufVxuXG4vLyBPcHRpb25hbCBoeXBoZW5hdGlvblxuQG1peGluIGh5cGhlbnMoJG1vZGU6IGF1dG8pIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6ICRtb2RlO1xuICAgICAtbW96LWh5cGhlbnM6ICRtb2RlO1xuICAgICAgLW1zLWh5cGhlbnM6ICRtb2RlOyAvLyBJRTEwK1xuICAgICAgIC1vLWh5cGhlbnM6ICRtb2RlO1xuICAgICAgICAgIGh5cGhlbnM6ICRtb2RlO1xufVxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yOiAkaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIpIHtcbiAgLy8gRmlyZWZveFxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIG9wYWNpdHk6IDE7IC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2XG4gIH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGNvbG9yOyB9IC8vIEludGVybmV0IEV4cGxvcmVyIDEwK1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICB7IGNvbG9yOiAkY29sb3I7IH0gLy8gU2FmYXJpIGFuZCBDaHJvbWVcbn1cblxuLy8gVHJhbnNmb3JtYXRpb25zXG5AbWl4aW4gc2NhbGUoJHJhdGlvLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xufVxuXG5AbWl4aW4gc2NhbGVYKCRyYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7XG59XG5AbWl4aW4gc2NhbGVZKCRyYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7XG59XG5AbWl4aW4gc2tldygkeCwgJHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy80ODg1OyBJRTkrXG4gICAgICAgLW8tdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbn1cbkBtaXhpbiB0cmFuc2xhdGUoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcbn1cbkBtaXhpbiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xufVxuQG1peGluIHJvdGF0ZSgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiByb3RhdGVYKCRkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiByb3RhdGVZKCRkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbn1cbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG4gICAgIC1tb3otcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG59XG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47IC8vIElFOSBvbmx5XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbn1cblxuXG4vLyBUcmFuc2l0aW9uc1xuXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHRyYW5zaXRpb24tcHJvcGVydHkuLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0cmFuc2l0aW9uLWRlbGF5KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdHJhbnNpdGlvbi1kdXJhdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKCR0aW1pbmctZnVuY3Rpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXRyYW5zZm9ybSgkdHJhbnNpdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG59XG5cblxuLy8gVXNlciBzZWxlY3Rcbi8vIEZvciBzZWxlY3RpbmcgdGV4dCBvbiB0aGUgcGFnZVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdCkge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0OyAvLyBJRTEwK1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuIiwiJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlcjogZmFsc2UgIWRlZmF1bHQ7XG4vL1xuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLz09IENvbG9yc1xuLy9cbi8vIyMgR3JheSBhbmQgYnJhbmQgY29sb3JzIGZvciB1c2UgYWNyb3NzIEJvb3RzdHJhcC5cblxuJGdyYXktYmFzZTogICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kZ3JheS1kYXJrZXI6ICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAxMy41JSkgIWRlZmF1bHQ7IC8vICMyMjJcbiRncmF5LWRhcms6ICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDIwJSkgICAhZGVmYXVsdDsgLy8gIzMzM1xuJGdyYXk6ICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMzMuNSUpICFkZWZhdWx0OyAvLyAjNTU1XG4kZ3JheS1saWdodDogICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCA0Ni43JSkgIWRlZmF1bHQ7IC8vICM3NzdcbiRncmF5LWxpZ2h0ZXI6ICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDkzLjUlKSAhZGVmYXVsdDsgLy8gI2VlZVxuXG4kYnJhbmQtcHJpbWFyeTogICAgICAgICBkYXJrZW4oIzQyOGJjYSwgNi41JSkgIWRlZmF1bHQ7IC8vICMzMzdhYjdcbiRicmFuZC1zdWNjZXNzOiAgICAgICAgICM1Y2I4NWMgIWRlZmF1bHQ7XG4kYnJhbmQtaW5mbzogICAgICAgICAgICAjNWJjMGRlICFkZWZhdWx0O1xuJGJyYW5kLXdhcm5pbmc6ICAgICAgICAgI2YwYWQ0ZSAhZGVmYXVsdDtcbiRicmFuZC1kYW5nZXI6ICAgICAgICAgICNkOTUzNGYgIWRlZmF1bHQ7XG5cblxuLy89PSBTY2FmZm9sZGluZ1xuLy9cbi8vIyMgU2V0dGluZ3MgZm9yIHNvbWUgb2YgdGhlIG1vc3QgZ2xvYmFsIHN0eWxlcy5cblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGJvZHk+YC5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIEdsb2JhbCB0ZXh0IGNvbG9yIG9uIGA8Ym9keT5gLlxuJHRleHQtY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcblxuLy8qKiBHbG9iYWwgdGV4dHVhbCBsaW5rIGNvbG9yLlxuJGxpbmstY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIExpbmsgaG92ZXIgY29sb3Igc2V0IHZpYSBgZGFya2VuKClgIGZ1bmN0aW9uLlxuJGxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuLy8qKiBMaW5rIGhvdmVyIGRlY29yYXRpb24uXG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG5cblxuLy89PSBUeXBvZ3JhcGh5XG4vL1xuLy8jIyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2VyaWY6ICAgICAgIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZiAhZGVmYXVsdDtcbi8vKiogRGVmYXVsdCBtb25vc3BhY2UgZm9udHMgZm9yIGA8Y29kZT5gLCBgPGtiZD5gLCBhbmQgYDxwcmU+YC5cbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAxNHB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sYXJnZTogICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSkgIWRlZmF1bHQ7IC8vIH4xOHB4XG4kZm9udC1zaXplLXNtYWxsOiAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDAuODUpKSAhZGVmYXVsdDsgLy8gfjEycHhcblxuJGZvbnQtc2l6ZS1oMTogICAgICAgICAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogMi42KSkgIWRlZmF1bHQ7IC8vIH4zNnB4XG4kZm9udC1zaXplLWgyOiAgICAgICAgICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAyLjE1KSkgIWRlZmF1bHQ7IC8vIH4zMHB4XG4kZm9udC1zaXplLWgzOiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNykpICFkZWZhdWx0OyAvLyB+MjRweFxuJGZvbnQtc2l6ZS1oNDogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSkgIWRlZmF1bHQ7IC8vIH4xOHB4XG4kZm9udC1zaXplLWg1OiAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRmb250LXNpemUtaDY6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMC44NSkpICFkZWZhdWx0OyAvLyB+MTJweFxuXG4vLyoqIFVuaXQtbGVzcyBgbGluZS1oZWlnaHRgIGZvciB1c2UgaW4gY29tcG9uZW50cyBsaWtlIGJ1dHRvbnMuXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgIDEuNDI4NTcxNDI5ICFkZWZhdWx0OyAvLyAyMC8xNFxuLy8qKiBDb21wdXRlZCBcImxpbmUtaGVpZ2h0XCIgKGBmb250LXNpemVgICogYGxpbmUtaGVpZ2h0YCkgZm9yIHVzZSB3aXRoIGBtYXJnaW5gLCBgcGFkZGluZ2AsIGV0Yy5cbiRsaW5lLWhlaWdodC1jb21wdXRlZDogICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlKSkgIWRlZmF1bHQ7IC8vIH4yMHB4XG5cbi8vKiogQnkgZGVmYXVsdCwgdGhpcyBpbmhlcml0cyBmcm9tIHRoZSBgPGJvZHk+YC5cbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cblxuLy89PSBJY29ub2dyYXBoeVxuLy9cbi8vIyMgU3BlY2lmeSBjdXN0b20gbG9jYXRpb24gYW5kIGZpbGVuYW1lIG9mIHRoZSBpbmNsdWRlZCBHbHlwaGljb25zIGljb24gZm9udC4gVXNlZnVsIGZvciB0aG9zZSBpbmNsdWRpbmcgQm9vdHN0cmFwIHZpYSBCb3dlci5cblxuLy8qKiBMb2FkIGZvbnRzIGZyb20gdGhpcyBkaXJlY3RvcnkuXG5cbi8vIFtjb252ZXJ0ZXJdIElmICRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIgaWYgdXNlZCwgcHJvdmlkZSBwYXRoIHJlbGF0aXZlIHRvIHRoZSBhc3NldHMgbG9hZCBwYXRoLlxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBiZWNhdXNlIHNvbWUgYXNzZXQgaGVscGVycywgc3VjaCBhcyBTcHJvY2tldHMsIGRvIG5vdCB3b3JrIHdpdGggZmlsZS1yZWxhdGl2ZSBwYXRocy5cbiRpY29uLWZvbnQtcGF0aDogaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgXCJib290c3RyYXAvXCIsIFwiLi4vZm9udHMvYm9vdHN0cmFwL1wiKSAhZGVmYXVsdDtcblxuLy8qKiBGaWxlIG5hbWUgZm9yIGFsbCBmb250IGZpbGVzLlxuJGljb24tZm9udC1uYW1lOiAgICAgICAgICBcImdseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXJcIiAhZGVmYXVsdDtcbi8vKiogRWxlbWVudCBJRCB3aXRoaW4gU1ZHIGljb24gZmlsZS5cbiRpY29uLWZvbnQtc3ZnLWlkOiAgICAgICAgXCJnbHlwaGljb25zX2hhbGZsaW5nc3JlZ3VsYXJcIiAhZGVmYXVsdDtcblxuXG4vLz09IENvbXBvbmVudHNcbi8vXG4vLyMjIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS4gVmFsdWVzIGJhc2VkIG9uIDE0cHggdGV4dCBhbmQgMS40MjggbGluZS1oZWlnaHQgKH4yMHB4IHRvIHN0YXJ0KS5cblxuJHBhZGRpbmctYmFzZS12ZXJ0aWNhbDogICAgIDZweCAhZGVmYXVsdDtcbiRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDogICAxMnB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy1sYXJnZS12ZXJ0aWNhbDogICAgMTBweCAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLWhvcml6b250YWw6ICAxNnB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDogICAgNXB4ICFkZWZhdWx0O1xuJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDogIDEwcHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXhzLXZlcnRpY2FsOiAgICAgICAxcHggIWRlZmF1bHQ7XG4kcGFkZGluZy14cy1ob3Jpem9udGFsOiAgICAgNXB4ICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQtbGFyZ2U6ICAgICAgICAgMS4zMzMzMzMzICFkZWZhdWx0OyAvLyBleHRyYSBkZWNpbWFscyBmb3IgV2luIDguMSBDaHJvbWVcbiRsaW5lLWhlaWdodC1zbWFsbDogICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzLWJhc2U6ICAgICAgICA0cHggIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgICAgNnB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgIDNweCAhZGVmYXVsdDtcblxuLy8qKiBHbG9iYWwgY29sb3IgZm9yIGFjdGl2ZSBpdGVtcyAoZS5nLiwgbmF2cyBvciBkcm9wZG93bnMpLlxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIEdsb2JhbCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8qKiBXaWR0aCBvZiB0aGUgYGJvcmRlcmAgZm9yIGdlbmVyYXRpbmcgY2FyZXRzIHRoYXQgaW5kaWNhdG9yIGRyb3Bkb3ducy5cbiRjYXJldC13aWR0aC1iYXNlOiAgICAgICAgICA0cHggIWRlZmF1bHQ7XG4vLyoqIENhcmV0cyBpbmNyZWFzZSBzbGlnaHRseSBpbiBzaXplIGZvciBsYXJnZXIgY29tcG9uZW50cy5cbiRjYXJldC13aWR0aC1sYXJnZTogICAgICAgICA1cHggIWRlZmF1bHQ7XG5cblxuLy89PSBUYWJsZXNcbi8vXG4vLyMjIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuLy8qKiBQYWRkaW5nIGZvciBgPHRoPmBzIGFuZCBgPHRkPmBzLlxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgICA4cHggIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgZm9yIGNlbGxzIGluIGAudGFibGUtY29uZGVuc2VkYC5cbiR0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nOiAgNXB4ICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBhbGwgdGFibGVzLlxuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLXN0cmlwZWRgLlxuJHRhYmxlLWJnLWFjY2VudDogICAgICAgICAgICAgICAjZjlmOWY5ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtaG92ZXJgLlxuJHRhYmxlLWJnLWhvdmVyOiAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHRhYmxlLWJnLWFjdGl2ZTogICAgICAgICAgICAgICAkdGFibGUtYmctaG92ZXIgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciB0YWJsZSBhbmQgY2VsbCBib3JkZXJzLlxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT0gQnV0dG9uc1xuLy9cbi8vIyMgRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuXG4kYnRuLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cbiRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXByaW1hcnktYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJGJ0bi1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4tc3VjY2Vzcy1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4kYnRuLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1pbmZvLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4td2FybmluZy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiRidG4td2FybmluZy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXdhcm5pbmctYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1kYW5nZXItYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sYXJnZSAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgICRib3JkZXItcmFkaXVzLXNtYWxsICFkZWZhdWx0O1xuXG5cbi8vPT0gRm9ybXNcbi8vXG4vLyMjXG5cbi8vKiogYDxpbnB1dD5gIGJhY2tncm91bmQgY29sb3JcbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIGA8aW5wdXQgZGlzYWJsZWQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmctZGlzYWJsZWQ6ICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4vLyoqIFRleHQgY29sb3IgZm9yIGA8aW5wdXQ+YHNcbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuLy8qKiBgPGlucHV0PmAgYm9yZGVyIGNvbG9yXG4kaW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBSZW5hbWUgYCRpbnB1dC1ib3JkZXItcmFkaXVzYCB0byBgJGlucHV0LWJvcmRlci1yYWRpdXMtYmFzZWAgaW4gdjRcbi8vKiogRGVmYXVsdCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuLy8gVGhpcyBoYXMgbm8gZWZmZWN0IG9uIGA8c2VsZWN0PmBzIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgJGJvcmRlci1yYWRpdXMtbGFyZ2UgIWRlZmF1bHQ7XG4vLyoqIFNtYWxsIGAuZm9ybS1jb250cm9sYCBib3JkZXIgcmFkaXVzXG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIGlucHV0cyBvbiBmb2N1c1xuJGlucHV0LWJvcmRlci1mb2N1czogICAgICAgICAgICAgIzY2YWZlOSAhZGVmYXVsdDtcblxuLy8qKiBQbGFjZWhvbGRlciB0ZXh0IGNvbG9yXG4kaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI6ICAgICAgICAjOTk5ICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1iYXNlOiAgICAgICAgICAgICAgKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcbi8vKiogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1sYXJnZTogICAgICAgICAgICAgKGNlaWwoJGZvbnQtc2l6ZS1sYXJnZSAqICRsaW5lLWhlaWdodC1sYXJnZSkgKyAoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgKiAyKSArIDIpICFkZWZhdWx0O1xuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4kaW5wdXQtaGVpZ2h0LXNtYWxsOiAgICAgICAgICAgICAoZmxvb3IoJGZvbnQtc2l6ZS1zbWFsbCAqICRsaW5lLWhlaWdodC1zbWFsbCkgKyAoJHBhZGRpbmctc21hbGwtdmVydGljYWwgKiAyKSArIDIpICFkZWZhdWx0O1xuXG4vLyoqIGAuZm9ybS1ncm91cGAgbWFyZ2luXG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4kbGVnZW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGxlZ2VuZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0ZXh0dWFsIGlucHV0IGFkZG9uc1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogQm9yZGVyIGNvbG9yIGZvciB0ZXh0dWFsIGlucHV0IGFkZG9uc1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlciAhZGVmYXVsdDtcblxuLy8qKiBEaXNhYmxlZCBjdXJzb3IgZm9yIGZvcm0gY29udHJvbHMgYW5kIGJ1dHRvbnMuXG4kY3Vyc29yLWRpc2FibGVkOiAgICAgICAgICAgICAgICBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuXG4vLz09IERyb3Bkb3duc1xuLy9cbi8vIyMgRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4vLyoqIEJhY2tncm91bmQgZm9yIHRoZSBkcm9wZG93biBtZW51LlxuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYC5cbiRkcm9wZG93bi1ib3JkZXI6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjE1KSAhZGVmYXVsdDtcbi8vKiogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYCAqKmZvciBJRTgqKi5cbiRkcm9wZG93bi1mYWxsYmFjay1ib3JkZXI6ICAgICAgICNjY2MgIWRlZmF1bHQ7XG4vLyoqIERpdmlkZXIgY29sb3IgZm9yIGJldHdlZW4gZHJvcGRvd24gaXRlbXMuXG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAjZTVlNWU1ICFkZWZhdWx0O1xuXG4vLyoqIERyb3Bkb3duIGxpbmsgdGV4dCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4vLyoqIEhvdmVyIGNvbG9yIGZvciBkcm9wZG93biBsaW5rcy5cbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkZ3JheS1kYXJrLCA1JSkgIWRlZmF1bHQ7XG4vLyoqIEhvdmVyIGJhY2tncm91bmQgZm9yIGRyb3Bkb3duIGxpbmtzLlxuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuLy8qKiBBY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtIHRleHQgY29sb3IuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbi8vKiogRGlzYWJsZWQgZHJvcGRvd24gbWVudSBpdGVtIGJhY2tncm91bmQgY29sb3IuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIGZvciBoZWFkZXJzIHdpdGhpbiBkcm9wZG93biBtZW51cy5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyoqIERlcHJlY2F0ZWQgYCRkcm9wZG93bi1jYXJldC1jb2xvcmAgYXMgb2YgdjMuMS4wXG4kZHJvcGRvd24tY2FyZXQtY29sb3I6ICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuXG5cbi8vLS0gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuLy9cbi8vIE5vdGU6IFRoZXNlIHZhcmlhYmxlcyBhcmUgbm90IGdlbmVyYXRlZCBpbnRvIHRoZSBDdXN0b21pemVyLlxuXG4kemluZGV4LW5hdmJhcjogICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC1uYXZiYXItZml4ZWQ6ICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2dyb3VuZDogIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuXG5cbi8vPT0gTWVkaWEgcXVlcmllcyBicmVha3BvaW50c1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBicmVha3BvaW50cyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSwgYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gRXh0cmEgc21hbGwgc2NyZWVuIC8gcGhvbmVcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14c2AgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXhzOiAgICAgICAgICAgICAgICAgIDQ4MHB4ICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXhzLW1pbmAgYXMgb2YgdjMuMi4wXG4kc2NyZWVuLXhzLW1pbjogICAgICAgICAgICAgICRzY3JlZW4teHMgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tcGhvbmVgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1waG9uZTogICAgICAgICAgICAgICAkc2NyZWVuLXhzLW1pbiAhZGVmYXVsdDtcblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tc21gIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1zbTogICAgICAgICAgICAgICAgICA3NjhweCAhZGVmYXVsdDtcbiRzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1zbSAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi10YWJsZXRgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi10YWJsZXQ6ICAgICAgICAgICAgICAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3Bcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1tZGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLW1kOiAgICAgICAgICAgICAgICAgIDk5MnB4ICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1taW46ICAgICAgICAgICAgICAkc2NyZWVuLW1kICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1kZXNrdG9wOiAgICAgICAgICAgICAkc2NyZWVuLW1kLW1pbiAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGdgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZzogICAgICAgICAgICAgICAgICAxMjAwcHggIWRlZmF1bHQ7XG4kc2NyZWVuLWxnLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tbGcgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGctZGVza3RvcGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWxnLWRlc2t0b3A6ICAgICAgICAgICRzY3JlZW4tbGctbWluICFkZWZhdWx0O1xuXG4vLyBTbyBtZWRpYSBxdWVyaWVzIGRvbid0IG92ZXJsYXAgd2hlbiByZXF1aXJlZCwgcHJvdmlkZSBhIG1heGltdW1cbiRzY3JlZW4teHMtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tc20tbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLW1kLW1pbiAtIDEpICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1sZy1taW4gLSAxKSAhZGVmYXVsdDtcblxuXG4vLz09IEdyaWQgc3lzdGVtXG4vL1xuLy8jIyBEZWZpbmUgeW91ciBjdXN0b20gcmVzcG9uc2l2ZSBncmlkLlxuXG4vLyoqIE51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGJldHdlZW4gY29sdW1ucy4gR2V0cyBkaXZpZGVkIGluIGhhbGYgZm9yIHRoZSBsZWZ0IGFuZCByaWdodC5cbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAzMHB4ICFkZWZhdWx0O1xuLy8gTmF2YmFyIGNvbGxhcHNlXG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVjb21lcyB1bmNvbGxhcHNlZC5cbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQ6ICAgICAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcbi8vKiogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWdpbnMgY29sbGFwc2luZy5cbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4OiAoJGdyaWQtZmxvYXQtYnJlYWtwb2ludCAtIDEpICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29udGFpbmVyIHNpemVzXG4vL1xuLy8jIyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbiRjb250YWluZXItdGFibGV0OiAgICAgICAgICAgICAoNzIwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tc20tbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLXNtOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci10YWJsZXQgIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4kY29udGFpbmVyLWRlc2t0b3A6ICAgICAgICAgICAgKDk0MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLW1kLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1tZDogICAgICAgICAgICAgICAgICRjb250YWluZXItZGVza3RvcCAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4kY29udGFpbmVyLWxhcmdlLWRlc2t0b3A6ICAgICAgKDExNDBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1sZy1taW5gIGFuZCB1cC5cbiRjb250YWluZXItbGc6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWxhcmdlLWRlc2t0b3AgIWRlZmF1bHQ7XG5cblxuLy89PSBOYXZiYXJcbi8vXG4vLyMjXG5cbi8vIEJhc2ljcyBvZiBhIG5hdmJhclxuJG5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAkbGluZS1oZWlnaHQtY29tcHV0ZWQgIWRlZmF1bHQ7XG4kbmF2YmFyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgIGZsb29yKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSkgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICgoJG5hdmJhci1oZWlnaHQgLSAkbGluZS1oZWlnaHQtY29tcHV0ZWQpIC8gMikgIWRlZmF1bHQ7XG4kbmF2YmFyLWNvbGxhcHNlLW1heC1oZWlnaHQ6ICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICM3NzcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICNmOGY4ZjggIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYmcsIDYuNSUpICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgbGlua3NcbiRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAjNzc3ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgIzU1NSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAjY2NjICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgYnJhbmQgbGFiZWxcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAkbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgdG9nZ2xlXG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc6ICAgICAgICAjODg4ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cblxuLy89PT0gSW52ZXJ0ZWQgbmF2YmFyXG4vLyBSZXNldCBpbnZlcnRlZCBuYXZiYXIgYmFzaWNzXG4kbmF2YmFyLWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktbGlnaHQsIDE1JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICMyMjIgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWludmVyc2UtYmcsIDEwJSkgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciBsaW5rc1xuJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWxpZ2h0LCAxNSUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWludmVyc2UtYmcsIDEwJSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICM0NDQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1iZzogICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgYnJhbmQgbGFiZWxcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgdG9nZ2xlXG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWJvcmRlci1jb2xvcjogICAgICAgICMzMzMgIWRlZmF1bHQ7XG5cblxuLy89PSBOYXZzXG4vL1xuLy8jI1xuXG4vLz09PSBTaGFyZWQgbmF2IHN0eWxlc1xuJG5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4IDE1cHggIWRlZmF1bHQ7XG4kbmF2LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRuYXYtZGlzYWJsZWQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLz09IFRhYnNcbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgI2RkZCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I6ICAgICAkYm9keS1iZyAhZGVmYXVsdDtcblxuLy89PSBQaWxsc1xuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy89PSBQYWdpbmF0aW9uXG4vL1xuLy8jI1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXI6ICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09IFBhZ2VyXG4vL1xuLy8jI1xuXG4kcGFnZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1iZyAhZGVmYXVsdDtcbiRwYWdlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJvcmRlciAhZGVmYXVsdDtcbiRwYWdlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbiRwYWdlci1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kcGFnZXItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnZXItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cbiRwYWdlci1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vPT0gSnVtYm90cm9uXG4vL1xuLy8jI1xuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWhlYWRpbmctY29sb3I6ICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1mb250LXNpemU6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS41KSkgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWhlYWRpbmctZm9udC1zaXplOiAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiA0LjUpKSAhZGVmYXVsdDtcblxuXG4vLz09IEZvcm0gc3RhdGVzIGFuZCBhbGVydHNcbi8vXG4vLyMjIERlZmluZSBjb2xvcnMgZm9yIGZvcm0gZmVlZGJhY2sgc3RhdGVzIGFuZCwgYnkgZGVmYXVsdCwgYWxlcnRzLlxuXG4kc3RhdGUtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAgICAjM2M3NjNkICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgI2RmZjBkOCAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1zdWNjZXNzLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1pbmZvLXRleHQ6ICAgICAgICAgICAgICAgICMzMTcwOGYgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1iZzogICAgICAgICAgICAgICAgICAjZDllZGY3ICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLWluZm8tYmcsIC0xMCksIDclKSAhZGVmYXVsdDtcblxuJHN0YXRlLXdhcm5pbmctdGV4dDogICAgICAgICAgICAgIzhhNmQzYiAhZGVmYXVsdDtcbiRzdGF0ZS13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtd2FybmluZy1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAgICAjYTk0NDQyICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1iZzogICAgICAgICAgICAgICAgI2YyZGVkZSAhZGVmYXVsdDtcbiRzdGF0ZS1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1kYW5nZXItYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuXG4vLz09IFRvb2x0aXBzXG4vL1xuLy8jI1xuXG4vLyoqIFRvb2x0aXAgbWF4IHdpZHRoXG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCB0ZXh0IGNvbG9yXG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIGJhY2tncm91bmQgY29sb3JcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcblxuLy8qKiBUb29sdGlwIGFycm93IHdpZHRoXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICA1cHggIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgYXJyb3cgY29sb3JcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG5cbi8vPT0gUG9wb3ZlcnNcbi8vXG4vLyMjXG5cbi8vKiogUG9wb3ZlciBib2R5IGJhY2tncm91bmQgY29sb3JcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBtYXhpbXVtIHdpZHRoXG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGJvcmRlciBjb2xvclxuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBmYWxsYmFjayBib3JkZXIgY29sb3JcbiRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgI2NjYyAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIHRpdGxlIGJhY2tncm91bmQgY29sb3JcbiRwb3BvdmVyLXRpdGxlLWJnOiAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciBhcnJvdyB3aWR0aFxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGFycm93IGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgd2lkdGhcbiRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoOiAgICAgICAgICAgKCRwb3BvdmVyLWFycm93LXdpZHRoICsgMSkgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgY29sb3JcbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgICAgZmFkZV9pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIDAuMDUpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IGZhbGxiYWNrIGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjogIGRhcmtlbigkcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3IsIDIwJSkgIWRlZmF1bHQ7XG5cblxuLy89PSBMYWJlbHNcbi8vXG4vLyMjXG5cbi8vKiogRGVmYXVsdCBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtZGVmYXVsdC1iZzogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogUHJpbWFyeSBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtcHJpbWFyeS1iZzogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogU3VjY2VzcyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtc3VjY2Vzcy1iZzogICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbi8vKiogSW5mbyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtaW5mby1iZzogICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbi8vKiogV2FybmluZyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtd2FybmluZy1iZzogICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbi8vKiogRGFuZ2VyIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1kYW5nZXItYmc6ICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBsYWJlbCB0ZXh0IGNvbG9yXG4kbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBEZWZhdWx0IHRleHQgY29sb3Igb2YgYSBsaW5rZWQgbGFiZWxcbiRsYWJlbC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XG5cblxuLy89PSBNb2RhbHNcbi8vXG4vLyMjXG5cbi8vKiogUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgdGl0bGVcbiRtb2RhbC10aXRsZS1wYWRkaW5nOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIHRpdGxlIGxpbmUtaGVpZ2h0XG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIGNvbnRlbnQgYXJlYVxuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBjb250ZW50IGJvcmRlciBjb2xvclxuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3IgKipmb3IgSUU4KipcbiRtb2RhbC1jb250ZW50LWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuLy8qKiBNb2RhbCBiYWNrZHJvcCBiYWNrZ3JvdW5kIGNvbG9yXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBiYWNrZHJvcCBvcGFjaXR5XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAuNSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgaGVhZGVyIGJvcmRlciBjb2xvclxuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgI2U1ZTVlNSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgZm9vdGVyIGJvcmRlciBjb2xvclxuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuXG4vLz09IEFsZXJ0c1xuLy9cbi8vIyMgRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nOiAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgYm9sZCAhZGVmYXVsdDtcblxuJGFsZXJ0LXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYmcgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtaW5mby1iZzogICAgICAgICAgICAgICAkc3RhdGUtaW5mby1iZyAhZGVmYXVsdDtcbiRhbGVydC1pbmZvLXRleHQ6ICAgICAgICAgICAgICRzdGF0ZS1pbmZvLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby1ib3JkZXI6ICAgICAgICAgICAkc3RhdGUtaW5mby1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC13YXJuaW5nLWJnOiAgICAgICAgICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctdGV4dDogICAgICAgICAgJHN0YXRlLXdhcm5pbmctdGV4dCAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWJvcmRlcjogICAgICAgICRzdGF0ZS13YXJuaW5nLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWRhbmdlci1iZzogICAgICAgICAgICAgJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItdGV4dDogICAgICAgICAgICRzdGF0ZS1kYW5nZXItdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8vPT0gUHJvZ3Jlc3MgYmFyc1xuLy9cbi8vIyNcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB3aG9sZSBwcm9ncmVzcyBjb21wb25lbnRcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4vLyoqIFByb2dyZXNzIGJhciB0ZXh0IGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBWYXJpYWJsZSBmb3Igc2V0dGluZyByb3VuZGVkIGNvcm5lcnMgb24gcHJvZ3Jlc3MgYmFyLlxuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIFN1Y2Nlc3MgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLXN1Y2Nlc3MtYmc6ICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbi8vKiogV2FybmluZyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItd2FybmluZy1iZzogICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuLy8qKiBEYW5nZXIgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZzogICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuLy8qKiBJbmZvIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1pbmZvLWJnOiAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG5cblxuLy89PSBMaXN0IGdyb3VwXG4vL1xuLy8jI1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb24gYC5saXN0LWdyb3VwLWl0ZW1gXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIGAubGlzdC1ncm91cC1pdGVtYCBib3JkZXIgY29sb3JcbiRsaXN0LWdyb3VwLWJvcmRlcjogICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbi8vKiogTGlzdCBncm91cCBib3JkZXIgcmFkaXVzXG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBzaW5nbGUgbGlzdCBpdGVtcyBvbiBob3ZlclxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuLy8qKiBCb3JkZXIgY29sb3Igb2YgYWN0aXZlIGxpc3QgZWxlbWVudHNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXI6ICAgICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I6ICBsaWdodGVuKCRsaXN0LWdyb3VwLWFjdGl2ZS1iZywgNDAlKSAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3IgZm9yIGNvbnRlbnQgd2l0aGluIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1saW5rLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1saW5rLWhvdmVyLWNvbG9yOiAgICRsaXN0LWdyb3VwLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG5cblxuLy89PSBQYW5lbHNcbi8vXG4vLyMjXG5cbiRwYW5lbC1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFuZWwtYm9keS1wYWRkaW5nOiAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJHBhbmVsLWhlYWRpbmctcGFkZGluZzogICAgICAgMTBweCAxNXB4ICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1wYWRkaW5nOiAgICAgICAgJHBhbmVsLWhlYWRpbmctcGFkZGluZyAhZGVmYXVsdDtcbiRwYW5lbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciBlbGVtZW50cyB3aXRoaW4gcGFuZWxzXG4kcGFuZWwtaW5uZXItYm9yZGVyOiAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1iZzogICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuJHBhbmVsLWRlZmF1bHQtdGV4dDogICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRwYW5lbC1kZWZhdWx0LWJvcmRlcjogICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kcGFuZWwtZGVmYXVsdC1oZWFkaW5nLWJnOiAgICAjZjVmNWY1ICFkZWZhdWx0O1xuXG4kcGFuZWwtcHJpbWFyeS10ZXh0OiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhbmVsLXByaW1hcnktYm9yZGVyOiAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFuZWwtcHJpbWFyeS1oZWFkaW5nLWJnOiAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJHBhbmVsLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1zdWNjZXNzLWhlYWRpbmctYmc6ICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLWluZm8taGVhZGluZy1iZzogICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtd2FybmluZy1oZWFkaW5nLWJnOiAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLWRhbmdlci10ZXh0OiAgICAgICAgICAgJHN0YXRlLWRhbmdlci10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLWRhbmdlci1ib3JkZXI6ICAgICAgICAgJHN0YXRlLWRhbmdlci1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtZGFuZ2VyLWhlYWRpbmctYmc6ICAgICAkc3RhdGUtZGFuZ2VyLWJnICFkZWZhdWx0O1xuXG5cbi8vPT0gVGh1bWJuYWlsc1xuLy9cbi8vIyNcblxuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGltYWdlXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICA0cHggIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBiYWNrZ3JvdW5kIGNvbG9yXG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJvcmRlciBjb2xvclxuJHRodW1ibmFpbC1ib3JkZXI6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJvcmRlciByYWRpdXNcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQ3VzdG9tIHRleHQgY29sb3IgZm9yIHRodW1ibmFpbCBjYXB0aW9uc1xuJHRodW1ibmFpbC1jYXB0aW9uLWNvbG9yOiAgICAgJHRleHQtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgY2FwdGlvblxuJHRodW1ibmFpbC1jYXB0aW9uLXBhZGRpbmc6ICAgOXB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gV2VsbHNcbi8vXG4vLyMjXG5cbiR3ZWxsLWJnOiAgICAgICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kd2VsbC1ib3JkZXI6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHdlbGwtYmcsIDclKSAhZGVmYXVsdDtcblxuXG4vLz09IEJhZGdlc1xuLy9cbi8vIyNcblxuJGJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogTGlua2VkIGJhZGdlIHRleHQgY29sb3Igb24gaG92ZXJcbiRiYWRnZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYmFkZ2UtYmc6ICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBCYWRnZSB0ZXh0IGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xuJGJhZGdlLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEJhZGdlIGJhY2tncm91bmQgY29sb3IgaW4gYWN0aXZlIG5hdiBsaW5rXG4kYmFkZ2UtYWN0aXZlLWJnOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGJhZGdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgMSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBCcmVhZGNydW1ic1xuLy9cbi8vIyNcblxuJGJyZWFkY3J1bWItcGFkZGluZy12ZXJ0aWNhbDogICA4cHggIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4vLyoqIEJyZWFkY3J1bWIgYmFja2dyb3VuZCBjb2xvclxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBCcmVhZGNydW1iIHRleHQgY29sb3JcbiRicmVhZGNydW1iLWNvbG9yOiAgICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBvZiBjdXJyZW50IHBhZ2UgaW4gdGhlIGJyZWFkY3J1bWJcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIFRleHR1YWwgc2VwYXJhdG9yIGZvciBiZXR3ZWVuIGJyZWFkY3J1bWIgZWxlbWVudHNcbiRicmVhZGNydW1iLXNlcGFyYXRvcjogICAgICAgICAgXCIvXCIgIWRlZmF1bHQ7XG5cblxuLy89PSBDYXJvdXNlbFxuLy9cbi8vIyNcblxuJGNhcm91c2VsLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKDAsMCwwLC42KSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gQ2xvc2Vcbi8vXG4vLyMjXG5cbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgMCAxcHggMCAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29kZVxuLy9cbi8vIyNcblxuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgI2M3MjU0ZSAhZGVmYXVsdDtcbiRjb2RlLWJnOiAgICAgICAgICAgICAgICAgICAgICNmOWYyZjQgIWRlZmF1bHQ7XG5cbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuXG4kcHJlLWJnOiAgICAgICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRwcmUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAzNDBweCAhZGVmYXVsdDtcblxuXG4vLz09IFR5cGVcbi8vXG4vLyMjXG5cbi8vKiogSG9yaXpvbnRhbCBvZmZzZXQgZm9yIGZvcm1zIGFuZCBsaXN0cy5cbiRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWw6IDE4MHB4ICFkZWZhdWx0O1xuLy8qKiBUZXh0IG11dGVkIGNvbG9yXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQWJicmV2aWF0aW9ucyBhbmQgYWNyb255bXMgYm9yZGVyIGNvbG9yXG4kYWJici1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogSGVhZGluZ3Mgc21hbGwgY29sb3JcbiRoZWFkaW5ncy1zbWFsbC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBCbG9ja3F1b3RlIHNtYWxsIGNvbG9yXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBmb250IHNpemVcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBib3JkZXIgY29sb3JcbiRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFBhZ2UgaGVhZGVyIGJvcmRlciBjb2xvclxuJHBhZ2UtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogV2lkdGggb2YgaG9yaXpvbnRhbCBkZXNjcmlwdGlvbiBsaXN0IHRpdGxlc1xuJGRsLWhvcml6b250YWwtb2Zmc2V0OiAgICAgICAgJGNvbXBvbmVudC1vZmZzZXQtaG9yaXpvbnRhbCAhZGVmYXVsdDtcbi8vKiogSG9yaXpvbnRhbCBsaW5lIGNvbG9yLlxuJGhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiIsIiRicmFuZC1wcmltYXJ5OiAgICAgICAgIFx0IzJmYWY2MjsiLCIvLyBXZWJLaXQtc3R5bGUgZm9jdXNcblxuQG1peGluIHRhYi1mb2N1cygpIHtcbiAgLypcbiAgLy8gRGVmYXVsdFxuICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbiAgLy8gV2ViS2l0XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gICovXG5cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdXRsaW5lOiAwO1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5AbWl4aW4gaW1nLXJlc3BvbnNpdmUoJGRpc3BsYXk6IGJsb2NrKSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIGhlaWdodDogYXV0bzsgLy8gUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmdcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuIE5vdGUgdGhhdCB0aGVcbi8vIHNwZWxsaW5nIG9mIGBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW9gIGlzIGludGVudGlvbmFsLlxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtaW1hZ2UtcGF0aChcIiN7JGZpbGUtMXh9XCIpLCBcIiN7JGZpbGUtMXh9XCIpKTtcblxuICBAbWVkaWFcbiAgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1pbWFnZS1wYXRoKFwiI3skZmlsZS0yeH1cIiksIFwiI3skZmlsZS0yeH1cIikpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbn1cbiIsIi8vXG4vLyBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEhlYWRpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcblxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkaGVhZGluZ3Mtc21hbGwtY29sb3I7XG4gIH1cbn1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzIHtcbiAgbWFyZ2luLXRvcDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG5cbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA2NSU7XG4gIH1cbn1cbmg0LCAuaDQsXG5oNSwgLmg1LFxuaDYsIC5oNiB7XG4gIG1hcmdpbi10b3A6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICB9XG59XG5cbmgxLCAuaDEgeyBmb250LXNpemU6ICRmb250LXNpemUtaDE7IH1cbmgyLCAuaDIgeyBmb250LXNpemU6ICRmb250LXNpemUtaDI7IH1cbmgzLCAuaDMgeyBmb250LXNpemU6ICRmb250LXNpemUtaDM7IH1cbmg0LCAuaDQgeyBmb250LXNpemU6ICRmb250LXNpemUtaDQ7IH1cbmg1LCAuaDUgeyBmb250LXNpemU6ICRmb250LXNpemUtaDU7IH1cbmg2LCAuaDYgeyBmb250LXNpemU6ICRmb250LXNpemUtaDY7IH1cblxuXG4vLyBCb2R5IHRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxucCB7XG4gIG1hcmdpbjogMCAwICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbn1cblxuLmxlYWQge1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDEuMTUpKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBmb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICB9XG59XG5cblxuLy8gRW1waGFzaXMgJiBtaXNjXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEV4OiAoMTJweCBzbWFsbCBmb250IC8gMTRweCBiYXNlIGZvbnQpICogMTAwJSA9IGFib3V0IDg1JVxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6IGZsb29yKCgxMDAlICogJGZvbnQtc2l6ZS1zbWFsbCAvICRmb250LXNpemUtYmFzZSkpO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3RhdGUtd2FybmluZy1iZztcbiAgcGFkZGluZzogLjJlbTtcbn1cblxuLy8gQWxpZ25tZW50XG4udGV4dC1sZWZ0ICAgICAgICAgICB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbi50ZXh0LXJpZ2h0ICAgICAgICAgIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbi50ZXh0LWNlbnRlciAgICAgICAgIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4udGV4dC1qdXN0aWZ5ICAgICAgICB7IHRleHQtYWxpZ246IGp1c3RpZnk7IH1cbi50ZXh0LW5vd3JhcCAgICAgICAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuLnRleHQtbG93ZXJjYXNlICAgICAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4udGV4dC11cHBlcmNhc2UgICAgICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbi50ZXh0LWNhcGl0YWxpemUgICAgIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcbi50ZXh0LW11dGVkIHtcbiAgY29sb3I6ICR0ZXh0LW11dGVkO1xufVxuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LXByaW1hcnknLCAkYnJhbmQtcHJpbWFyeSk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtc3VjY2VzcycsICRzdGF0ZS1zdWNjZXNzLXRleHQpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LWluZm8nLCAkc3RhdGUtaW5mby10ZXh0KTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC13YXJuaW5nJywgJHN0YXRlLXdhcm5pbmctdGV4dCk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtZGFuZ2VyJywgJHN0YXRlLWRhbmdlci10ZXh0KTtcblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuLy8gRm9yIG5vdyB3ZSdsbCBsZWF2ZSB0aGVzZSBhbG9uZ3NpZGUgdGhlIHRleHQgY2xhc3NlcyB1bnRpbCB2NCB3aGVuIHdlIGNhblxuLy8gc2FmZWx5IHNoaWZ0IHRoaW5ncyBhcm91bmQgKHBlciBTZW1WZXIgcnVsZXMpLlxuLmJnLXByaW1hcnkge1xuICAvLyBHaXZlbiB0aGUgY29udHJhc3QgaGVyZSwgdGhpcyBpcyB0aGUgb25seSBjbGFzcyB0byBoYXZlIGl0cyBjb2xvciBpbnZlcnRlZFxuICAvLyBhdXRvbWF0aWNhbGx5LlxuICBjb2xvcjogI2ZmZjtcbn1cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1wcmltYXJ5JywgJGJyYW5kLXByaW1hcnkpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctc3VjY2VzcycsICRzdGF0ZS1zdWNjZXNzLWJnKTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLWluZm8nLCAkc3RhdGUtaW5mby1iZyk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy13YXJuaW5nJywgJHN0YXRlLXdhcm5pbmctYmcpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctZGFuZ2VyJywgJHN0YXRlLWRhbmdlci1iZyk7XG5cblxuLy8gUGFnZSBoZWFkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKTtcbiAgbWFyZ2luOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICogMikgMCAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vIExpc3RzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFVub3JkZXJlZCBhbmQgT3JkZXJlZCBsaXN0c1xudWwsXG5vbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgdWwsXG4gIG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vIExpc3Qgb3B0aW9uc1xuXG4vLyBbY29udmVydGVyXSBleHRyYWN0ZWQgZnJvbSBgLmxpc3QtdW5zdHlsZWRgIGZvciBsaWJzYXNzIGNvbXBhdGliaWxpdHlcbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGFzIGBAbWl4aW4gbGlzdC11bnN0eWxlZGAgZm9yIGxpYnNhc3MgY29tcGF0aWJpbGl0eVxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xufVxuXG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xuICBtYXJnaW4tbGVmdDogLTVweDtcblxuICA+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+ICYge1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gIH1cbn1cblxuLy8gSG92ZXIgc3RhdGUsIGJ1dCBvbmx5IGZvciBsaW5rc1xuYS5iYWRnZSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkYmFkZ2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG4iLCIvL1xuLy8gVGh1bWJuYWlsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBNaXhpbiBhbmQgYWRqdXN0IHRoZSByZWd1bGFyIGltYWdlIGNsYXNzXG4udGh1bWJuYWlsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYm9yZGVyIC4ycyBlYXNlLWluLW91dCk7XG5cbiAgPiBpbWcsXG4gIGEgPiBpbWcge1xuICAgIEBpbmNsdWRlIGltZy1yZXNwb25zaXZlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJjpob3ZlciwgYSY6Zm9jdXMsIGEmLmFjdGl2ZSB0byBhLnRodW1ibmFpbDpob3ZlciwgYS50aHVtYm5haWw6Zm9jdXMsIGEudGh1bWJuYWlsLmFjdGl2ZVxuXG4gIC8vIEltYWdlIGNhcHRpb25zXG4gIC5jYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAkdGh1bWJuYWlsLWNhcHRpb24tcGFkZGluZztcbiAgICBjb2xvcjogJHRodW1ibmFpbC1jYXB0aW9uLWNvbG9yO1xuICB9XG59XG5cbi8vIEFkZCBhIGhvdmVyIHN0YXRlIGZvciBsaW5rZWQgdmVyc2lvbnMgb25seVxuYS50aHVtYm5haWw6aG92ZXIsXG5hLnRodW1ibmFpbDpmb2N1cyxcbmEudGh1bWJuYWlsLmFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogJGxpbmstY29sb3I7XG59XG4iLCIvL1xuLy8gQWxlcnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2Ugc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hbGVydCB7XG4gIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYWxlcnQtYm9yZGVyLXJhZGl1cztcblxuICAvLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xuICBoNCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICAvLyBTcGVjaWZpZWQgZm9yIHRoZSBoNCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4gIC5hbGVydC1saW5rIHtcbiAgICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG4gIH1cblxuICAvLyBJbXByb3ZlIGFsaWdubWVudCBhbmQgc3BhY2luZyBvZiBpbm5lciBjb250ZW50XG4gID4gcCxcbiAgPiB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gID4gcCArIHAge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxufVxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NhYmxlLCAvLyBUaGUgbWlzc3BlbGxlZCAuYWxlcnQtZGlzbWlzc2FibGUgd2FzIGRlcHJlY2F0ZWQgaW4gMy4yLjAuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAoJGFsZXJ0LXBhZGRpbmcgKyAyMCk7XG5cbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMnB4O1xuICAgIHJpZ2h0OiAtMjFweDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBBbHRlcm5hdGUgc3R5bGVzXG4vL1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydC5cblxuLmFsZXJ0LXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1zdWNjZXNzLWJnLCAkYWxlcnQtc3VjY2Vzcy1ib3JkZXIsICRhbGVydC1zdWNjZXNzLXRleHQpO1xufVxuXG4uYWxlcnQtaW5mbyB7XG4gIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LWluZm8tYmcsICRhbGVydC1pbmZvLWJvcmRlciwgJGFsZXJ0LWluZm8tdGV4dCk7XG59XG5cbi5hbGVydC13YXJuaW5nIHtcbiAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCgkYWxlcnQtd2FybmluZy1iZywgJGFsZXJ0LXdhcm5pbmctYm9yZGVyLCAkYWxlcnQtd2FybmluZy10ZXh0KTtcbn1cblxuLmFsZXJ0LWRhbmdlciB7XG4gIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LWRhbmdlci1iZywgJGFsZXJ0LWRhbmdlci1ib3JkZXIsICRhbGVydC1kYW5nZXItdGV4dCk7XG59XG4iLCIvLyBBbGVydHNcblxuQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICR0ZXh0LWNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIGNvbG9yOiAkdGV4dC1jb2xvcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkdGV4dC1jb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy9cbi8vIFByb2dyZXNzIGJhcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFyIGFuaW1hdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gV2ViS2l0XG5ALXdlYmtpdC1rZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICBmcm9tICB7IGJhY2tncm91bmQtcG9zaXRpb246IDQwcHggMDsgfVxuICB0byAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxufVxuXG4vLyBTcGVjIGFuZCBJRTEwK1xuQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gIGZyb20gIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOyB9XG4gIHRvICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG59XG5cblxuLy8gQmFyIGl0c2VsZlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBPdXRlciBjb250YWluZXJcbi5wcm9ncmVzcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLWJvcmRlci1yYWRpdXM7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpKTtcbn1cblxuLy8gQmFyIG9mIHByb2dyZXNzXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmc7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAtMXB4IDAgcmdiYSgwLDAsMCwuMTUpKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbih3aWR0aCAuNnMgZWFzZSk7XG59XG5cbi8vIFN0cmlwZWQgYmFyc1xuLy9cbi8vIGAucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyYCBpcyBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBpbiBmYXZvciBvZiB0aGVcbi8vIGAucHJvZ3Jlc3MtYmFyLXN0cmlwZWRgIGNsYXNzLCB3aGljaCB5b3UganVzdCBhZGQgdG8gYW4gZXhpc3Rpbmdcbi8vIGAucHJvZ3Jlc3MtYmFyYC5cbi5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXIsXG4ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkO1xuICBiYWNrZ3JvdW5kLXNpemU6IDQwcHggNDBweDtcbn1cblxuLy8gQ2FsbCBhbmltYXRpb24gZm9yIHRoZSBhY3RpdmUgb25lXG4vL1xuLy8gYC5wcm9ncmVzcy5hY3RpdmUgLnByb2dyZXNzLWJhcmAgaXMgZGVwcmVjYXRlZCBhcyBvZiB2My4yLjAgaW4gZmF2b3Igb2YgdGhlXG4vLyBgLnByb2dyZXNzLWJhci5hY3RpdmVgIGFwcHJvYWNoLlxuLnByb2dyZXNzLmFjdGl2ZSAucHJvZ3Jlc3MtYmFyLFxuLnByb2dyZXNzLWJhci5hY3RpdmUge1xuICBAaW5jbHVkZSBhbmltYXRpb24ocHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlKTtcbn1cblxuXG4vLyBWYXJpYXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wcm9ncmVzcy1iYXItc3VjY2VzcyB7XG4gIEBpbmNsdWRlIHByb2dyZXNzLWJhci12YXJpYW50KCRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZyk7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5mbyB7XG4gIEBpbmNsdWRlIHByb2dyZXNzLWJhci12YXJpYW50KCRwcm9ncmVzcy1iYXItaW5mby1iZyk7XG59XG5cbi5wcm9ncmVzcy1iYXItd2FybmluZyB7XG4gIEBpbmNsdWRlIHByb2dyZXNzLWJhci12YXJpYW50KCRwcm9ncmVzcy1iYXItd2FybmluZy1iZyk7XG59XG5cbi5wcm9ncmVzcy1iYXItZGFuZ2VyIHtcbiAgQGluY2x1ZGUgcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJHByb2dyZXNzLWJhci1kYW5nZXItYmcpO1xufVxuIiwiLy8gR3JhZGllbnRzXG5cblxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0xKTsgLy8gSUU5IGFuZCBkb3duXG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7ICAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7ICAvLyBPcGVyYSAxMlxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTApOyAvLyBJRTkgYW5kIGRvd25cbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG59XG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTEpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xufVxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAjNTU1LCAkb3V0ZXItY29sb3I6ICMzMzMpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi8vIFByb2dyZXNzIGJhcnNcblxuQG1peGluIHByb2dyZXNzLWJhci12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgLy8gRGVwcmVjYXRlZCBwYXJlbnQgY2xhc3MgcmVxdWlyZW1lbnQgYXMgb2YgdjMuMi4wXG4gIC5wcm9ncmVzcy1zdHJpcGVkICYge1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQ7XG4gIH1cbn1cbiIsIi5tZWRpYSB7XG4gIC8vIFByb3BlciBzcGFjaW5nIGJldHdlZW4gaW5zdGFuY2VzIG9mIC5tZWRpYVxuICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLm1lZGlhLFxuLm1lZGlhLWJvZHkge1xuICB6b29tOiAxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubWVkaWEtYm9keSB7XG4gIHdpZHRoOiAxMDAwMHB4O1xufVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLy8gRml4IGNvbGxhcHNlIGluIHdlYmtpdCBmcm9tIG1heC13aWR0aDogMTAwJSBhbmQgZGlzcGxheTogdGFibGUtY2VsbC5cbiAgJi5pbWctdGh1bWJuYWlsIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuLm1lZGlhLXJpZ2h0LFxuLm1lZGlhID4gLnB1bGwtcmlnaHQge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG5cbi5tZWRpYS1sZWZ0LFxuLm1lZGlhID4gLnB1bGwtbGVmdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG5cbi5tZWRpYS1sZWZ0LFxuLm1lZGlhLXJpZ2h0LFxuLm1lZGlhLWJvZHkge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4ubWVkaWEtbWlkZGxlIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm1lZGlhLWJvdHRvbSB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbi8vIFJlc2V0IG1hcmdpbnMgb24gaGVhZGluZ3MgZm9yIHRpZ2h0ZXIgZGVmYXVsdCBzcGFjaW5nXG4ubWVkaWEtaGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLy8gTWVkaWEgbGlzdCB2YXJpYXRpb25cbi8vXG4vLyBVbmRvIGRlZmF1bHQgdWwvb2wgc3R5bGVzXG4ubWVkaWEtbGlzdCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vXG4vLyBMaXN0IGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgLy8gUGxhY2UgdGhlIGJvcmRlciBvbiB0aGUgbGlzdCBpdGVtcyBhbmQgbmVnYXRpdmUgbWFyZ2luIHVwIGZvciBiZXR0ZXIgc3R5bGluZ1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgJGxpc3QtZ3JvdXAtYm9yZGVyO1xuXG4gIC8vIFJvdW5kIHRoZSBmaXJzdCBhbmQgbGFzdCBpdGVtc1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlIGl0ZW1zLlxuLy8gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzaG93aW5nIHNlbGVjdGVkIGl0ZW1zLlxuXG5hLmxpc3QtZ3JvdXAtaXRlbSxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBjb2xvcjogJGxpc3QtZ3JvdXAtbGluay1jb2xvcjtcblxuICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cbn1cblxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJi5kaXNhYmxlZCxcbiAgJi5kaXNhYmxlZDpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yO1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcblxuICAgIC8vIEZvcmNlIGNvbG9yIHRvIGluaGVyaXQgZm9yIGN1c3RvbSBjb250ZW50XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICAgICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQWN0aXZlIGNsYXNzIG9uIGl0ZW0gaXRzZWxmLCBub3QgcGFyZW50XG4gICYuYWN0aXZlLFxuICAmLmFjdGl2ZTpob3ZlcixcbiAgJi5hY3RpdmU6Zm9jdXMge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyO1xuXG4gICAgLy8gRm9yY2UgY29sb3IgdG8gaW5oZXJpdCBmb3IgY3VzdG9tIGNvbnRlbnRcbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gc21hbGwsXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gLnNtYWxsIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICAgICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoc3VjY2VzcywgJHN0YXRlLXN1Y2Nlc3MtYmcsICRzdGF0ZS1zdWNjZXNzLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoaW5mbywgJHN0YXRlLWluZm8tYmcsICRzdGF0ZS1pbmZvLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQod2FybmluZywgJHN0YXRlLXdhcm5pbmctYmcsICRzdGF0ZS13YXJuaW5nLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoZGFuZ2VyLCAkc3RhdGUtZGFuZ2VyLWJnLCAkc3RhdGUtZGFuZ2VyLXRleHQpO1xuXG5cbi8vIEN1c3RvbSBjb250ZW50IG9wdGlvbnNcbi8vXG4vLyBFeHRyYSBjbGFzc2VzIGZvciBjcmVhdGluZyB3ZWxsLWZvcm1hdHRlZCBjb250ZW50IHdpdGhpbiBgLmxpc3QtZ3JvdXAtaXRlbWBzLlxuXG4ubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4ubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJiwgYnV0dG9uJiB0byBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9XG4gIH1cblxuICBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuICAgICYuYWN0aXZlLFxuICAgICYuYWN0aXZlOmhvdmVyLFxuICAgICYuYWN0aXZlOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gUGFuZWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi5wYW5lbCB7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJHBhbmVsLWJvcmRlci1yYWRpdXM7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KSk7XG59XG5cbi8vIFBhbmVsIGNvbnRlbnRzXG4ucGFuZWwtYm9keSB7XG4gIHBhZGRpbmc6ICRwYW5lbC1ib2R5LXBhZGRpbmc7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBPcHRpb25hbCBoZWFkaW5nXG4ucGFuZWwtaGVhZGluZyB7XG4gIHBhZGRpbmc6ICRwYW5lbC1oZWFkaW5nLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuXG4gID4gLmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFdpdGhpbiBoZWFkaW5nLCBzdHJpcCBhbnkgYGgqYCB0YWcgb2YgaXRzIGRlZmF1bHQgbWFyZ2lucyBmb3Igc3BhY2luZy5cbi5wYW5lbC10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4xMjUpKTtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgPiBhLFxuICA+IHNtYWxsLFxuICA+IC5zbWFsbCxcbiAgPiBzbWFsbCA+IGEsXG4gID4gLnNtYWxsID4gYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWwgZm9vdGVyIChzdGF5cyBncmF5IGluIGV2ZXJ5IG1vZGlmaWVyIGNsYXNzKVxuLnBhbmVsLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRwYW5lbC1mb290ZXItcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWZvb3Rlci1iZztcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRwYW5lbC1pbm5lci1ib3JkZXI7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcbn1cblxuXG4vLyBMaXN0IGdyb3VwcyBpbiBwYW5lbHNcbi8vXG4vLyBCeSBkZWZhdWx0LCBzcGFjZSBvdXQgbGlzdCBncm91cCBjb250ZW50IGZyb20gcGFuZWwgaGVhZGluZ3MgdG8gYWNjb3VudCBmb3Jcbi8vIGFueSBraW5kIG9mIGN1c3RvbSBjb250ZW50IGJldHdlZW4gdGhlIHR3by5cblxuLnBhbmVsIHtcbiAgPiAubGlzdC1ncm91cCxcbiAgPiAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLy8gQWRkIGJvcmRlciB0b3AgcmFkaXVzIGZvciBmaXJzdCBvbmVcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRkIGJvcmRlciBib3R0b20gcmFkaXVzIGZvciBsYXN0IG9uZVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gLnBhbmVsLWhlYWRpbmcgKyAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cbn1cbi8vIENvbGxhcHNlIHNwYWNlIGJldHdlZW4gd2hlbiB0aGVyZSdzIG5vIGFkZGl0aW9uYWwgY29udGVudC5cbi5wYW5lbC1oZWFkaW5nICsgLmxpc3QtZ3JvdXAge1xuICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICB9XG59XG4ubGlzdC1ncm91cCArIC5wYW5lbC1mb290ZXIge1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xufVxuXG4vLyBUYWJsZXMgaW4gcGFuZWxzXG4vL1xuLy8gUGxhY2UgYSBub24tYm9yZGVyZWQgYC50YWJsZWAgd2l0aGluIGEgcGFuZWwgKG5vdCB3aXRoaW4gYSBgLnBhbmVsLWJvZHlgKSBhbmRcbi8vIHdhdGNoIGl0IGdvIGZ1bGwgd2lkdGguXG5cbi5wYW5lbCB7XG4gID4gLnRhYmxlLFxuICA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLFxuICA+IC5wYW5lbC1jb2xsYXBzZSA+IC50YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIGNhcHRpb24ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAkcGFuZWwtYm9keS1wYWRkaW5nO1xuICAgICAgcGFkZGluZy1yaWdodDogJHBhbmVsLWJvZHktcGFkZGluZztcbiAgICB9XG4gIH1cbiAgLy8gQWRkIGJvcmRlciB0b3AgcmFkaXVzIGZvciBmaXJzdCBvbmVcbiAgPiAudGFibGU6Zmlyc3QtY2hpbGQsXG4gID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcblxuICAgID4gdGhlYWQ6Zmlyc3QtY2hpbGQsXG4gICAgPiB0Ym9keTpmaXJzdC1jaGlsZCB7XG4gICAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcblxuICAgICAgICB0ZDpmaXJzdC1jaGlsZCxcbiAgICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICB9XG4gICAgICAgIHRkOmxhc3QtY2hpbGQsXG4gICAgICAgIHRoOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBBZGQgYm9yZGVyIGJvdHRvbSByYWRpdXMgZm9yIGxhc3Qgb25lXG4gID4gLnRhYmxlOmxhc3QtY2hpbGQsXG4gID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG5cbiAgICA+IHRib2R5Omxhc3QtY2hpbGQsXG4gICAgPiB0Zm9vdDpsYXN0LWNoaWxkIHtcbiAgICAgID4gdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG5cbiAgICAgICAgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgfVxuICAgICAgICB0ZDpsYXN0LWNoaWxkLFxuICAgICAgICB0aDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiAucGFuZWwtYm9keSArIC50YWJsZSxcbiAgPiAucGFuZWwtYm9keSArIC50YWJsZS1yZXNwb25zaXZlLFxuICA+IC50YWJsZSArIC5wYW5lbC1ib2R5LFxuICA+IC50YWJsZS1yZXNwb25zaXZlICsgLnBhbmVsLWJvZHkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG4gID4gLnRhYmxlID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgPiAudGFibGUgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG4gID4gLnRhYmxlLWJvcmRlcmVkLFxuICA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gICAgPiB0aGVhZCxcbiAgICA+IHRib2R5LFxuICAgID4gdGZvb3Qge1xuICAgICAgPiB0ciB7XG4gICAgICAgID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAgID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgPiB0aGVhZCxcbiAgICA+IHRib2R5IHtcbiAgICAgID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gdGJvZHksXG4gICAgPiB0Zm9vdCB7XG4gICAgICA+IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gLnRhYmxlLXJlc3BvbnNpdmUge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cblxuLy8gQ29sbGFwc2FibGUgcGFuZWxzIChha2EsIGFjY29yZGlvbilcbi8vXG4vLyBXcmFwIGEgc2VyaWVzIG9mIHBhbmVscyBpbiBgLnBhbmVsLWdyb3VwYCB0byB0dXJuIHRoZW0gaW50byBhbiBhY2NvcmRpb24gd2l0aFxuLy8gdGhlIGhlbHAgb2Ygb3VyIGNvbGxhcHNlIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4ucGFuZWwtZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG5cbiAgLy8gVGlnaHRlbiB1cCBtYXJnaW4gc28gaXQncyBvbmx5IGJldHdlZW4gcGFuZWxzXG4gIC5wYW5lbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkcGFuZWwtYm9yZGVyLXJhZGl1cztcblxuICAgICsgLnBhbmVsIHtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICB9XG4gIH1cblxuICAucGFuZWwtaGVhZGluZyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHksXG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHBhbmVsLWlubmVyLWJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAucGFuZWwtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgICsgLnBhbmVsLWNvbGxhcHNlIC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcGFuZWwtaW5uZXItYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWF0aW9uc1xuLnBhbmVsLWRlZmF1bHQge1xuICBAaW5jbHVkZSBwYW5lbC12YXJpYW50KCRwYW5lbC1kZWZhdWx0LWJvcmRlciwgJHBhbmVsLWRlZmF1bHQtdGV4dCwgJHBhbmVsLWRlZmF1bHQtaGVhZGluZy1iZywgJHBhbmVsLWRlZmF1bHQtYm9yZGVyKTtcbn1cbi5wYW5lbC1wcmltYXJ5IHtcbiAgQGluY2x1ZGUgcGFuZWwtdmFyaWFudCgkcGFuZWwtcHJpbWFyeS1ib3JkZXIsICRwYW5lbC1wcmltYXJ5LXRleHQsICRwYW5lbC1wcmltYXJ5LWhlYWRpbmctYmcsICRwYW5lbC1wcmltYXJ5LWJvcmRlcik7XG59XG4ucGFuZWwtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIHBhbmVsLXZhcmlhbnQoJHBhbmVsLXN1Y2Nlc3MtYm9yZGVyLCAkcGFuZWwtc3VjY2Vzcy10ZXh0LCAkcGFuZWwtc3VjY2Vzcy1oZWFkaW5nLWJnLCAkcGFuZWwtc3VjY2Vzcy1ib3JkZXIpO1xufVxuLnBhbmVsLWluZm8ge1xuICBAaW5jbHVkZSBwYW5lbC12YXJpYW50KCRwYW5lbC1pbmZvLWJvcmRlciwgJHBhbmVsLWluZm8tdGV4dCwgJHBhbmVsLWluZm8taGVhZGluZy1iZywgJHBhbmVsLWluZm8tYm9yZGVyKTtcbn1cbi5wYW5lbC13YXJuaW5nIHtcbiAgQGluY2x1ZGUgcGFuZWwtdmFyaWFudCgkcGFuZWwtd2FybmluZy1ib3JkZXIsICRwYW5lbC13YXJuaW5nLXRleHQsICRwYW5lbC13YXJuaW5nLWhlYWRpbmctYmcsICRwYW5lbC13YXJuaW5nLWJvcmRlcik7XG59XG4ucGFuZWwtZGFuZ2VyIHtcbiAgQGluY2x1ZGUgcGFuZWwtdmFyaWFudCgkcGFuZWwtZGFuZ2VyLWJvcmRlciwgJHBhbmVsLWRhbmdlci10ZXh0LCAkcGFuZWwtZGFuZ2VyLWhlYWRpbmctYmcsICRwYW5lbC1kYW5nZXItYm9yZGVyKTtcbn1cbiIsIi8vIFBhbmVsc1xuXG5AbWl4aW4gcGFuZWwtdmFyaWFudCgkYm9yZGVyLCAkaGVhZGluZy10ZXh0LWNvbG9yLCAkaGVhZGluZy1iZy1jb2xvciwgJGhlYWRpbmctYm9yZGVyKSB7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmID4gLnBhbmVsLWhlYWRpbmcge1xuICAgIGNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGhlYWRpbmctYm9yZGVyO1xuXG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJiA+IC5wYW5lbC1mb290ZXIge1xuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEVtYmVkcyByZXNwb25zaXZlXG4vL1xuLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5lbWJlZC1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vLyBNb2RpZmllciBjbGFzcyBmb3IgMTY6OSBhc3BlY3QgcmF0aW9cbi5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5IHtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cblxuLy8gTW9kaWZpZXIgY2xhc3MgZm9yIDQ6MyBhc3BlY3QgcmF0aW9cbi5lbWJlZC1yZXNwb25zaXZlLTRieTMge1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xufVxuIiwiLy9cbi8vIENsb3NlIGljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAoJGZvbnQtc2l6ZS1iYXNlICogMS41KTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIEBpbmNsdWRlIG9wYWNpdHkoLjIpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KC41KTtcbiAgfVxuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBidXR0b24mIHRvIGJ1dHRvbi5jbG9zZVxufVxuXG4vLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5idXR0b24uY2xvc2Uge1xuICBwYWRkaW5nOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbiIsIi8vXG4vLyBNb2RhbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzaGl0XG5cbi8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuLm1vZGFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgJi5mYWRlIC5tb2RhbC1kaWFsb2cge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgwLCAtMjUlKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXRyYW5zZm9ybSgwLjNzIGVhc2Utb3V0KTtcbiAgfVxuICAmLmluIC5tb2RhbC1kaWFsb2cgeyBAaW5jbHVkZSB0cmFuc2xhdGUoMCwgMCkgfVxufVxuLm1vZGFsLW9wZW4gLm1vZGFsIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDEwcHg7XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1jb250ZW50LWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCAkbW9kYWwtY29udGVudC1mYWxsYmFjay1ib3JkZXItY29sb3I7IC8vb2xkIGJyb3dzZXJzIGZhbGxiYWNrIChpZTggZXRjKVxuICBib3JkZXI6IDFweCBzb2xpZCAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxhcmdlO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgM3B4IDlweCByZ2JhKDAsMCwwLC41KSk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tncm91bmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgQGluY2x1ZGUgb3BhY2l0eSgwKTsgfVxuICAmLmluIHsgQGluY2x1ZGUgb3BhY2l0eSgkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eSk7IH1cbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBwYWRkaW5nOiAkbW9kYWwtdGl0bGUtcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBtaW4taGVpZ2h0OiAoJG1vZGFsLXRpdGxlLXBhZGRpbmcgKyAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQpO1xufVxuLy8gQ2xvc2UgaWNvblxuLm1vZGFsLWhlYWRlciAuY2xvc2Uge1xuICBtYXJnaW4tdG9wOiAtMnB4O1xufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xuICB0ZXh0LWFsaWduOiByaWdodDsgLy8gcmlnaHQgYWxpZ24gYnV0dG9uc1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGNsZWFyZml4OyAvLyBjbGVhciBpdCBpbiBjYXNlIGZvbGtzIHVzZSAucHVsbC0qIGNsYXNzZXMgb24gYnV0dG9uc1xuXG4gIC8vIFByb3Blcmx5IHNwYWNlIG91dCBidXR0b25zXG4gIC5idG4gKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIGFjY291bnQgZm9yIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0gd2hpY2ggZ2V0cyB0aGUgYm90dG9tIG1hcmdpbiBsaWtlIGFsbCBvdGhlciBpbnB1dHNcbiAgfVxuICAvLyBidXQgb3ZlcnJpZGUgdGhhdCBmb3IgYnV0dG9uIGdyb3Vwc1xuICAuYnRuLWdyb3VwIC5idG4gKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgfVxuICAvLyBhbmQgb3ZlcnJpZGUgaXQgZm9yIGJsb2NrIGJ1dHRvbnMgYXMgd2VsbFxuICAuYnRuLWJsb2NrICsgLmJ0bi1ibG9jayB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICB3aWR0aDogJG1vZGFsLW1kO1xuICAgIG1hcmdpbjogMzBweCBhdXRvO1xuICB9XG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgNXB4IDE1cHggcmdiYSgwLDAsMCwuNSkpO1xuICB9XG5cbiAgLy8gTW9kYWwgc2l6ZXNcbiAgLm1vZGFsLXNtIHsgd2lkdGg6ICRtb2RhbC1zbTsgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgLm1vZGFsLWxnIHsgd2lkdGg6ICRtb2RhbC1sZzsgfVxufVxuIiwiLy9cbi8vIFRvb2x0aXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkemluZGV4LXRvb2x0aXA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQ7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcblxuICBAaW5jbHVkZSBvcGFjaXR5KDApO1xuXG4gICYuaW4gICAgIHsgQGluY2x1ZGUgb3BhY2l0eSgkdG9vbHRpcC1vcGFjaXR5KTsgfVxuICAmLnRvcCAgICB7IG1hcmdpbi10b3A6ICAtM3B4OyBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAwOyB9XG4gICYucmlnaHQgIHsgbWFyZ2luLWxlZnQ6ICAzcHg7IHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGg7IH1cbiAgJi5ib3R0b20geyBtYXJnaW4tdG9wOiAgIDNweDsgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctd2lkdGggMDsgfVxuICAmLmxlZnQgICB7IG1hcmdpbi1sZWZ0OiAtM3B4OyBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LXdpZHRoOyB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6IDNweCA4cHg7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZztcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbn1cblxuLy8gQXJyb3dzXG4udG9vbHRpcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbi8vIE5vdGU6IERlcHJlY2F0ZWQgLnRvcC1sZWZ0LCAudG9wLXJpZ2h0LCAuYm90dG9tLWxlZnQsIGFuZCAuYm90dG9tLXJpZ2h0IGFzIG9mIHYzLjMuMVxuLnRvb2x0aXAge1xuICAmLnRvcCAudG9vbHRpcC1hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLnRvcC1sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1ib3R0b206IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi50b3AtcmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tYm90dG9tOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYucmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYubGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5ib3R0b20gLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5ib3R0b20tbGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYuYm90dG9tLXJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxufVxuIiwiQG1peGluIHJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLCIvL1xuLy8gVXRpbGl0eSBjbGFzc2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEZsb2F0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY2xlYXJmaXgge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cbi5jZW50ZXItYmxvY2sge1xuICBAaW5jbHVkZSBjZW50ZXItYmxvY2s7XG59XG4ucHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuLnB1bGwtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gVG9nZ2xpbmcgY29udGVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBOb3RlOiBEZXByZWNhdGVkIC5oaWRlIGluIGZhdm9yIG9mIC5oaWRkZW4gb3IgLnNyLW9ubHkgKGFzIGFwcHJvcHJpYXRlKSBpbiB2My4wLjFcbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnNob3cge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi50ZXh0LWhpZGUge1xuICBAaW5jbHVkZSB0ZXh0LWhpZGU7XG59XG5cblxuLy8gSGlkZSBmcm9tIHNjcmVlbnJlYWRlcnMgYW5kIGJyb3dzZXJzXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5cbi8vIEZvciBBZmZpeCBwbHVnaW5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFmZml4IHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuIiwiLy8gQ2VudGVyLWFsaWduIGEgYmxvY2sgbGV2ZWwgZWxlbWVudFxuXG5AbWl4aW4gY2VudGVyLWJsb2NrKCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuLy9cbi8vIEhlYWRzIHVwISB2MyBsYXVuY2hlZCB3aXRoIG9ubHkgYC5oaWRlLXRleHQoKWAsIGJ1dCBwZXIgb3VyIHBhdHRlcm4gZm9yXG4vLyBtaXhpbnMgYmVpbmcgcmV1c2VkIGFzIGNsYXNzZXMgd2l0aCB0aGUgc2FtZSBuYW1lLCB0aGlzIGRvZXNuJ3QgaG9sZCB1cC4gQXNcbi8vIG9mIHYzLjAuMSB3ZSBoYXZlIGFkZGVkIGAudGV4dC1oaWRlKClgIGFuZCBkZXByZWNhdGVkIGAuaGlkZS10ZXh0KClgLlxuLy9cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvY29tbWl0L2FhMDM5NmVhZTc1N1xuXG4vLyBEZXByZWNhdGVkIGFzIG9mIHYzLjAuMSAod2lsbCBiZSByZW1vdmVkIGluIHY0KVxuQG1peGluIGhpZGUtdGV4dCgpIHtcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbi8vIE5ldyBtaXhpbiB0byB1c2UgYXMgb2YgdjMuMC4xXG5AbWl4aW4gdGV4dC1oaWRlKCkge1xuICBAaW5jbHVkZSBoaWRlLXRleHQ7XG59XG4iLCIvL1xuLy8gUmVzcG9uc2l2ZTogVXRpbGl0eSBjbGFzc2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIElFMTAgaW4gV2luZG93cyAoUGhvbmUpIDhcbi8vXG4vLyBTdXBwb3J0IGZvciByZXNwb25zaXZlIHZpZXdzIHZpYSBtZWRpYSBxdWVyaWVzIGlzIGtpbmQgb2YgYm9ya2VkIGluIElFMTAsIGZvclxuLy8gU3VyZmFjZS9kZXNrdG9wIGluIHNwbGl0IHZpZXcgYW5kIGZvciBXaW5kb3dzIFBob25lIDguIFRoaXMgcGFydGljdWxhciBmaXhcbi8vIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgYSBzbmlwcGV0IG9mIEphdmFTY3JpcHQgdG8gc25pZmYgdGhlIHVzZXIgYWdlbnQgYW5kXG4vLyBhcHBseSBzb21lIGNvbmRpdGlvbmFsIENTUyB0byAqb25seSogdGhlIFN1cmZhY2UvZGVza3RvcCBXaW5kb3dzIDguIExvb2sgYXRcbi8vIG91ciBHZXR0aW5nIFN0YXJ0ZWQgcGFnZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzIGJ1Zy5cbi8vXG4vLyBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSBmb2xsb3dpbmc6XG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTA0OTdcbi8vIERvY3M6IGh0dHA6Ly9nZXRib290c3RyYXAuY29tL2dldHRpbmctc3RhcnRlZC8jc3VwcG9ydC1pZTEwLXdpZHRoXG4vLyBTb3VyY2U6IGh0dHA6Ly90aW1rYWRsZWMuY29tLzIwMTMvMDEvd2luZG93cy1waG9uZS04LWFuZC1kZXZpY2Utd2lkdGgvXG4vLyBTb3VyY2U6IGh0dHA6Ly90aW1rYWRsZWMuY29tLzIwMTIvMTAvaWUxMC1zbmFwLW1vZGUtYW5kLXJlc3BvbnNpdmUtZGVzaWduL1xuXG5AYXQtcm9vdCB7XG4gIEAtbXMtdmlld3BvcnQge1xuICAgIHdpZHRoOiBkZXZpY2Utd2lkdGg7XG4gIH1cbn1cblxuXG4vLyBWaXNpYmlsaXR5IHV0aWxpdGllc1xuLy8gTm90ZTogRGVwcmVjYXRlZCAudmlzaWJsZS14cywgLnZpc2libGUtc20sIC52aXNpYmxlLW1kLCBhbmQgLnZpc2libGUtbGcgYXMgb2YgdjMuMi4wXG5cbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS14cycpO1xuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXNtJyk7XG5AaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLnZpc2libGUtbWQnKTtcbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1sZycpO1xuXG4udmlzaWJsZS14cy1ibG9jayxcbi52aXNpYmxlLXhzLWlubGluZSxcbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayxcbi52aXNpYmxlLXNtLWJsb2NrLFxuLnZpc2libGUtc20taW5saW5lLFxuLnZpc2libGUtc20taW5saW5lLWJsb2NrLFxuLnZpc2libGUtbWQtYmxvY2ssXG4udmlzaWJsZS1tZC1pbmxpbmUsXG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1sZy1ibG9jayxcbi52aXNpYmxlLWxnLWlubGluZSxcbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUteHMnKTtcbn1cbi52aXNpYmxlLXhzLWJsb2NrIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUteHMtaW5saW5lIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtc20nKTtcbn1cbi52aXNpYmxlLXNtLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1zbS1pbmxpbmUge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1zbS1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtbWQnKTtcbn1cbi52aXNpYmxlLW1kLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1tZC1pbmxpbmUge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXZpc2liaWxpdHkoJy52aXNpYmxlLWxnJyk7XG59XG4udmlzaWJsZS1sZy1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1sZy1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4teHMnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tc20nKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tbWQnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcuaGlkZGVuLWxnJyk7XG59XG5cblxuLy8gUHJpbnQgdXRpbGl0aWVzXG4vL1xuLy8gTWVkaWEgcXVlcmllcyBhcmUgcGxhY2VkIG9uIHRoZSBpbnNpZGUgdG8gYmUgbWl4aW4tZnJpZW5kbHkuXG5cbi8vIE5vdGU6IERlcHJlY2F0ZWQgLnZpc2libGUtcHJpbnQgYXMgb2YgdjMuMi4wXG5cbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1wcmludCcpO1xuXG5AbWVkaWEgcHJpbnQge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXZpc2liaWxpdHkoJy52aXNpYmxlLXByaW50Jyk7XG59XG4udmlzaWJsZS1wcmludC1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1wcmludC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1wcmludCcpO1xufVxuIiwiLy8gUmVzcG9uc2l2ZSB1dGlsaXRpZXNcblxuLy9cbi8vIE1vcmUgZWFzaWx5IGluY2x1ZGUgYWxsIHRoZSBzdGF0ZXMgZm9yIHJlc3BvbnNpdmUtdXRpbGl0aWVzLmxlc3MuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiByZXNwb25zaXZlLXZpc2liaWxpdHkoJHBhcmVudCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIHRhYmxlI3skcGFyZW50fSAgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRyI3skcGFyZW50fSAgICAgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aCN7JHBhcmVudH0sXG4gIHRkI3skcGFyZW50fSAgICAgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJHBhcmVudCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8qISBqUXVlcnkgVUkgLSB2MS4xMi4xIC0gMjAxNy0wNi0xMlxuKiBodHRwOi8vanF1ZXJ5dWkuY29tXG4qIEluY2x1ZGVzOiBjb3JlLmNzcywgcmVzaXphYmxlLmNzcywgc29ydGFibGUuY3NzLCB0aGVtZS5jc3NcbiogVG8gdmlldyBhbmQgbW9kaWZ5IHRoaXMgdGhlbWUsIHZpc2l0IGh0dHA6Ly9qcXVlcnl1aS5jb20vdGhlbWVyb2xsZXIvP3Njb3BlPSZmb2xkZXJOYW1lPWJhc2UmY29ybmVyUmFkaXVzU2hhZG93PThweCZvZmZzZXRMZWZ0U2hhZG93PTBweCZvZmZzZXRUb3BTaGFkb3c9MHB4JnRoaWNrbmVzc1NoYWRvdz01cHgmb3BhY2l0eVNoYWRvdz0zMCZiZ0ltZ09wYWNpdHlTaGFkb3c9MCZiZ1RleHR1cmVTaGFkb3c9ZmxhdCZiZ0NvbG9yU2hhZG93PTY2NjY2NiZvcGFjaXR5T3ZlcmxheT0zMCZiZ0ltZ09wYWNpdHlPdmVybGF5PTAmYmdUZXh0dXJlT3ZlcmxheT1mbGF0JmJnQ29sb3JPdmVybGF5PWFhYWFhYSZpY29uQ29sb3JFcnJvcj1jYzAwMDAmZmNFcnJvcj01ZjNmM2YmYm9yZGVyQ29sb3JFcnJvcj1mMWE4OTkmYmdUZXh0dXJlRXJyb3I9ZmxhdCZiZ0NvbG9yRXJyb3I9ZmRkZmRmJmljb25Db2xvckhpZ2hsaWdodD03Nzc2MjAmZmNIaWdobGlnaHQ9Nzc3NjIwJmJvcmRlckNvbG9ySGlnaGxpZ2h0PWRhZDU1ZSZiZ1RleHR1cmVIaWdobGlnaHQ9ZmxhdCZiZ0NvbG9ySGlnaGxpZ2h0PWZmZmE5MCZpY29uQ29sb3JBY3RpdmU9ZmZmZmZmJmZjQWN0aXZlPWZmZmZmZiZib3JkZXJDb2xvckFjdGl2ZT0wMDNlZmYmYmdUZXh0dXJlQWN0aXZlPWZsYXQmYmdDb2xvckFjdGl2ZT0wMDdmZmYmaWNvbkNvbG9ySG92ZXI9NTU1NTU1JmZjSG92ZXI9MmIyYjJiJmJvcmRlckNvbG9ySG92ZXI9Y2NjY2NjJmJnVGV4dHVyZUhvdmVyPWZsYXQmYmdDb2xvckhvdmVyPWVkZWRlZCZpY29uQ29sb3JEZWZhdWx0PTc3Nzc3NyZmY0RlZmF1bHQ9NDU0NTQ1JmJvcmRlckNvbG9yRGVmYXVsdD1jNWM1YzUmYmdUZXh0dXJlRGVmYXVsdD1mbGF0JmJnQ29sb3JEZWZhdWx0PWY2ZjZmNiZpY29uQ29sb3JDb250ZW50PTQ0NDQ0NCZmY0NvbnRlbnQ9MzMzMzMzJmJvcmRlckNvbG9yQ29udGVudD1kZGRkZGQmYmdUZXh0dXJlQ29udGVudD1mbGF0JmJnQ29sb3JDb250ZW50PWZmZmZmZiZpY29uQ29sb3JIZWFkZXI9NDQ0NDQ0JmZjSGVhZGVyPTMzMzMzMyZib3JkZXJDb2xvckhlYWRlcj1kZGRkZGQmYmdUZXh0dXJlSGVhZGVyPWZsYXQmYmdDb2xvckhlYWRlcj1lOWU5ZTkmY29ybmVyUmFkaXVzPTNweCZmd0RlZmF1bHQ9bm9ybWFsJmZzRGVmYXVsdD0xZW0mZmZEZWZhdWx0PUFyaWFsJTJDSGVsdmV0aWNhJTJDc2Fucy1zZXJpZlxuKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yczsgTGljZW5zZWQgTUlUICovXG5cbi8qIExheW91dCBoZWxwZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1oZWxwZXItaGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi51aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUge1xuXHRib3JkZXI6IDA7XG5cdGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cdGhlaWdodDogMXB4O1xuXHRtYXJnaW46IC0xcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDFweDtcbn1cbi51aS1oZWxwZXItcmVzZXQge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMDtcblx0b3V0bGluZTogMDtcblx0bGluZS1oZWlnaHQ6IDEuMztcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRmb250LXNpemU6IDEwMCU7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4udWktaGVscGVyLWNsZWFyZml4OmJlZm9yZSxcbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlwiO1xuXHRkaXNwbGF5OiB0YWJsZTtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIge1xuXHRjbGVhcjogYm90aDtcbn1cbi51aS1oZWxwZXItemZpeCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRvcGFjaXR5OiAwO1xuXHRmaWx0ZXI6QWxwaGEoT3BhY2l0eT0wKTsgLyogc3VwcG9ydDogSUU4ICovXG59XG5cbi51aS1mcm9udCB7XG5cdHotaW5kZXg6IDEwMDtcbn1cblxuXG4vKiBJbnRlcmFjdGlvbiBDdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1zdGF0ZS1kaXNhYmxlZCB7XG5cdGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG4vKiBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktaWNvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0bWFyZ2luLXRvcDogLS4yNWVtO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRleHQtaW5kZW50OiAtOTk5OTlweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLnVpLXdpZGdldC1pY29uLWJsb2NrIHtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tbGVmdDogLThweDtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIE1pc2MgdmlzdWFsc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIE92ZXJsYXlzICovXG4udWktd2lkZ2V0LW92ZXJsYXkge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cbi51aS1yZXNpemFibGUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udWktcmVzaXphYmxlLWhhbmRsZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Zm9udC1zaXplOiAwLjFweDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG5cdHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cbi51aS1yZXNpemFibGUtZGlzYWJsZWQgLnVpLXJlc2l6YWJsZS1oYW5kbGUsXG4udWktcmVzaXphYmxlLWF1dG9oaWRlIC51aS1yZXNpemFibGUtaGFuZGxlIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi51aS1yZXNpemFibGUtbiB7XG5cdGN1cnNvcjogbi1yZXNpemU7XG5cdGhlaWdodDogN3B4O1xuXHR3aWR0aDogMTAwJTtcblx0dG9wOiAtNXB4O1xuXHRsZWZ0OiAwO1xufVxuLnVpLXJlc2l6YWJsZS1zIHtcblx0Y3Vyc29yOiBzLXJlc2l6ZTtcblx0aGVpZ2h0OiA3cHg7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3R0b206IC01cHg7XG5cdGxlZnQ6IDA7XG59XG4udWktcmVzaXphYmxlLWUge1xuXHRjdXJzb3I6IGUtcmVzaXplO1xuXHR3aWR0aDogN3B4O1xuXHRyaWdodDogLTVweDtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG4udWktcmVzaXphYmxlLXcge1xuXHRjdXJzb3I6IHctcmVzaXplO1xuXHR3aWR0aDogN3B4O1xuXHRsZWZ0OiAtNXB4O1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcbn1cbi51aS1yZXNpemFibGUtc2Uge1xuXHRjdXJzb3I6IHNlLXJlc2l6ZTtcblx0d2lkdGg6IDEycHg7XG5cdGhlaWdodDogMTJweDtcblx0cmlnaHQ6IDFweDtcblx0Ym90dG9tOiAxcHg7XG59XG4udWktcmVzaXphYmxlLXN3IHtcblx0Y3Vyc29yOiBzdy1yZXNpemU7XG5cdHdpZHRoOiA5cHg7XG5cdGhlaWdodDogOXB4O1xuXHRsZWZ0OiAtNXB4O1xuXHRib3R0b206IC01cHg7XG59XG4udWktcmVzaXphYmxlLW53IHtcblx0Y3Vyc29yOiBudy1yZXNpemU7XG5cdHdpZHRoOiA5cHg7XG5cdGhlaWdodDogOXB4O1xuXHRsZWZ0OiAtNXB4O1xuXHR0b3A6IC01cHg7XG59XG4udWktcmVzaXphYmxlLW5lIHtcblx0Y3Vyc29yOiBuZS1yZXNpemU7XG5cdHdpZHRoOiA5cHg7XG5cdGhlaWdodDogOXB4O1xuXHRyaWdodDogLTVweDtcblx0dG9wOiAtNXB4O1xufVxuLnVpLXNvcnRhYmxlLWhhbmRsZSB7XG5cdC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG5cdHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLyogQ29tcG9uZW50IGNvbnRhaW5lcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXdpZGdldCB7XG5cdGZvbnQtZmFtaWx5OiBBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtcblx0Zm9udC1zaXplOiAxZW07XG59XG4udWktd2lkZ2V0IC51aS13aWRnZXQge1xuXHRmb250LXNpemU6IDFlbTtcbn1cbi51aS13aWRnZXQgaW5wdXQsXG4udWktd2lkZ2V0IHNlbGVjdCxcbi51aS13aWRnZXQgdGV4dGFyZWEsXG4udWktd2lkZ2V0IGJ1dHRvbiB7XG5cdGZvbnQtZmFtaWx5OiBBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtcblx0Zm9udC1zaXplOiAxZW07XG59XG4udWktd2lkZ2V0LnVpLXdpZGdldC1jb250ZW50IHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2M1YzVjNTtcbn1cbi51aS13aWRnZXQtY29udGVudCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7XG5cdGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cdGNvbG9yOiAjMzMzMzMzO1xufVxuLnVpLXdpZGdldC1jb250ZW50IGEge1xuXHRjb2xvcjogIzMzMzMzMztcbn1cbi51aS13aWRnZXQtaGVhZGVyIHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2RkZGRkZDtcblx0YmFja2dyb3VuZDogI2U5ZTllOTtcblx0Y29sb3I6ICMzMzMzMzM7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnVpLXdpZGdldC1oZWFkZXIgYSB7XG5cdGNvbG9yOiAjMzMzMzMzO1xufVxuXG4vKiBJbnRlcmFjdGlvbiBzdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXN0YXRlLWRlZmF1bHQsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRlZmF1bHQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGVmYXVsdCxcbi51aS1idXR0b24sXG5cbi8qIFdlIHVzZSBodG1sIGhlcmUgYmVjYXVzZSB3ZSBuZWVkIGEgZ3JlYXRlciBzcGVjaWZpY2l0eSB0byBtYWtlIHN1cmUgZGlzYWJsZWRcbndvcmtzIHByb3Blcmx5IHdoZW4gY2xpY2tlZCBvciBob3ZlcmVkICovXG5odG1sIC51aS1idXR0b24udWktc3RhdGUtZGlzYWJsZWQ6aG92ZXIsXG5odG1sIC51aS1idXR0b24udWktc3RhdGUtZGlzYWJsZWQ6YWN0aXZlIHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2M1YzVjNTtcblx0YmFja2dyb3VuZDogI2Y2ZjZmNjtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Y29sb3I6ICM0NTQ1NDU7XG59XG4udWktc3RhdGUtZGVmYXVsdCBhLFxuLnVpLXN0YXRlLWRlZmF1bHQgYTpsaW5rLFxuLnVpLXN0YXRlLWRlZmF1bHQgYTp2aXNpdGVkLFxuYS51aS1idXR0b24sXG5hOmxpbmsudWktYnV0dG9uLFxuYTp2aXNpdGVkLnVpLWJ1dHRvbixcbi51aS1idXR0b24ge1xuXHRjb2xvcjogIzQ1NDU0NTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1ob3Zlcixcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3Zlcixcbi51aS1zdGF0ZS1mb2N1cyxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZm9jdXMsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXMsXG4udWktYnV0dG9uOmhvdmVyLFxuLnVpLWJ1dHRvbjpmb2N1cyB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XG5cdGJhY2tncm91bmQ6ICNlZGVkZWQ7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGNvbG9yOiAjMmIyYjJiO1xufVxuLnVpLXN0YXRlLWhvdmVyIGEsXG4udWktc3RhdGUtaG92ZXIgYTpob3Zlcixcbi51aS1zdGF0ZS1ob3ZlciBhOmxpbmssXG4udWktc3RhdGUtaG92ZXIgYTp2aXNpdGVkLFxuLnVpLXN0YXRlLWZvY3VzIGEsXG4udWktc3RhdGUtZm9jdXMgYTpob3Zlcixcbi51aS1zdGF0ZS1mb2N1cyBhOmxpbmssXG4udWktc3RhdGUtZm9jdXMgYTp2aXNpdGVkLFxuYS51aS1idXR0b246aG92ZXIsXG5hLnVpLWJ1dHRvbjpmb2N1cyB7XG5cdGNvbG9yOiAjMmIyYjJiO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi51aS12aXN1YWwtZm9jdXMge1xuXHRib3gtc2hhZG93OiAwIDAgM3B4IDFweCByZ2IoOTQsIDE1OCwgMjE0KTtcbn1cbi51aS1zdGF0ZS1hY3RpdmUsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWFjdGl2ZSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1hY3RpdmUsXG5hLnVpLWJ1dHRvbjphY3RpdmUsXG4udWktYnV0dG9uOmFjdGl2ZSxcbi51aS1idXR0b24udWktc3RhdGUtYWN0aXZlOmhvdmVyIHtcblx0Ym9yZGVyOiAxcHggc29saWQgIzAwM2VmZjtcblx0YmFja2dyb3VuZDogIzAwN2ZmZjtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Y29sb3I6ICNmZmZmZmY7XG59XG4udWktaWNvbi1iYWNrZ3JvdW5kLFxuLnVpLXN0YXRlLWFjdGl2ZSAudWktaWNvbi1iYWNrZ3JvdW5kIHtcblx0Ym9yZGVyOiAjMDAzZWZmO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuLnVpLXN0YXRlLWFjdGl2ZSBhLFxuLnVpLXN0YXRlLWFjdGl2ZSBhOmxpbmssXG4udWktc3RhdGUtYWN0aXZlIGE6dmlzaXRlZCB7XG5cdGNvbG9yOiAjZmZmZmZmO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIEludGVyYWN0aW9uIEN1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXN0YXRlLWhpZ2hsaWdodCxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0LFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNkYWQ1NWU7XG5cdGJhY2tncm91bmQ6ICNmZmZhOTA7XG5cdGNvbG9yOiAjNzc3NjIwO1xufVxuLnVpLXN0YXRlLWNoZWNrZWQge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjZGFkNTVlO1xuXHRiYWNrZ3JvdW5kOiAjZmZmYTkwO1xufVxuLnVpLXN0YXRlLWhpZ2hsaWdodCBhLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQgYSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1oaWdobGlnaHQgYSB7XG5cdGNvbG9yOiAjNzc3NjIwO1xufVxuLnVpLXN0YXRlLWVycm9yLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvcixcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvciB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNmMWE4OTk7XG5cdGJhY2tncm91bmQ6ICNmZGRmZGY7XG5cdGNvbG9yOiAjNWYzZjNmO1xufVxuLnVpLXN0YXRlLWVycm9yIGEsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yIGEsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3IgYSB7XG5cdGNvbG9yOiAjNWYzZjNmO1xufVxuLnVpLXN0YXRlLWVycm9yLXRleHQsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLXRleHQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3ItdGV4dCB7XG5cdGNvbG9yOiAjNWYzZjNmO1xufVxuLnVpLXByaW9yaXR5LXByaW1hcnksXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXByaW9yaXR5LXByaW1hcnksXG4udWktd2lkZ2V0LWhlYWRlciAudWktcHJpb3JpdHktcHJpbWFyeSB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnVpLXByaW9yaXR5LXNlY29uZGFyeSxcbi51aS13aWRnZXQtY29udGVudCAudWktcHJpb3JpdHktc2Vjb25kYXJ5LFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXNlY29uZGFyeSB7XG5cdG9wYWNpdHk6IC43O1xuXHRmaWx0ZXI6QWxwaGEoT3BhY2l0eT03MCk7IC8qIHN1cHBvcnQ6IElFOCAqL1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xufVxuLnVpLXN0YXRlLWRpc2FibGVkLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1kaXNhYmxlZCxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kaXNhYmxlZCB7XG5cdG9wYWNpdHk6IC4zNTtcblx0ZmlsdGVyOkFscGhhKE9wYWNpdHk9MzUpOyAvKiBzdXBwb3J0OiBJRTggKi9cblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi51aS1zdGF0ZS1kaXNhYmxlZCAudWktaWNvbiB7XG5cdGZpbHRlcjpBbHBoYShPcGFjaXR5PTM1KTsgLyogc3VwcG9ydDogSUU4IC0gU2VlICM2MDU5ICovXG59XG5cbi8qIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogc3RhdGVzIGFuZCBpbWFnZXMgKi9cbi51aS1pY29uIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cbi51aS1pY29uLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1pY29uIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3VpLWljb25zXzQ0NDQ0NF8yNTZ4MjQwLnBuZ1wiKTtcbn1cbi51aS13aWRnZXQtaGVhZGVyIC51aS1pY29uIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3VpLWljb25zXzQ0NDQ0NF8yNTZ4MjQwLnBuZ1wiKTtcbn1cbi51aS1zdGF0ZS1ob3ZlciAudWktaWNvbixcbi51aS1zdGF0ZS1mb2N1cyAudWktaWNvbixcbi51aS1idXR0b246aG92ZXIgLnVpLWljb24sXG4udWktYnV0dG9uOmZvY3VzIC51aS1pY29uIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3VpLWljb25zXzU1NTU1NV8yNTZ4MjQwLnBuZ1wiKTtcbn1cbi51aS1zdGF0ZS1hY3RpdmUgLnVpLWljb24sXG4udWktYnV0dG9uOmFjdGl2ZSAudWktaWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy91aS1pY29uc19mZmZmZmZfMjU2eDI0MC5wbmdcIik7XG59XG4udWktc3RhdGUtaGlnaGxpZ2h0IC51aS1pY29uLFxuLnVpLWJ1dHRvbiAudWktc3RhdGUtaGlnaGxpZ2h0LnVpLWljb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfNzc3NjIwXzI1NngyNDAucG5nXCIpO1xufVxuLnVpLXN0YXRlLWVycm9yIC51aS1pY29uLFxuLnVpLXN0YXRlLWVycm9yLXRleHQgLnVpLWljb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfY2MwMDAwXzI1NngyNDAucG5nXCIpO1xufVxuLnVpLWJ1dHRvbiAudWktaWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy91aS1pY29uc183Nzc3NzdfMjU2eDI0MC5wbmdcIik7XG59XG5cbi8qIHBvc2l0aW9uaW5nICovXG4udWktaWNvbi1ibGFuayB7IGJhY2tncm91bmQtcG9zaXRpb246IDE2cHggMTZweDsgfVxuLnVpLWljb24tY2FyZXQtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4udWktaWNvbi1jYXJldC0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggMDsgfVxuLnVpLWljb24tY2FyZXQtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggMDsgfVxuLnVpLWljb24tY2FyZXQtMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IDA7IH1cbi51aS1pY29uLWNhcmV0LTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NXB4IDA7IH1cbi51aS1pY29uLWNhcmV0LTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAwOyB9XG4udWktaWNvbi1jYXJldC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAwOyB9XG4udWktaWNvbi1jYXJldC0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IDA7IH1cbi51aS1pY29uLWNhcmV0LTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IDA7IH1cbi51aS1pY29uLWNhcmV0LTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IDA7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTEtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY1cHggLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNnB4OyB9XG4udWktaWNvbi10cmlhbmdsZS0yLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTZweDsgfVxuLnVpLWljb24tYXJyb3ctMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjVweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTItbmUtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0yLXNlLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvd3N0b3AtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvd3N0b3AtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvd3N0b3AtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvd3N0b3AtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDFweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTItbmUtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMi1zZS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJuLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC02NHB4OyB9XG4udWktaWNvbi1hcnJvd3JldHVybi0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZXR1cm4tMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJuLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3ctNCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgwcHg7IH1cbi51aS1pY29uLWFycm93LTQtZGlhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC04MHB4OyB9XG4udWktaWNvbi1leHRsaW5rIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTgwcHg7IH1cbi51aS1pY29uLW5ld3dpbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC04MHB4OyB9XG4udWktaWNvbi1yZWZyZXNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTgwcHg7IH1cbi51aS1pY29uLXNodWZmbGUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtODBweDsgfVxuLnVpLWljb24tdHJhbnNmZXItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTgwcHg7IH1cbi51aS1pY29uLXRyYW5zZmVydGhpY2stZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC04MHB4OyB9XG4udWktaWNvbi1mb2xkZXItY29sbGFwc2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTZweDsgfVxuLnVpLWljb24tZm9sZGVyLW9wZW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtOTZweDsgfVxuLnVpLWljb24tZG9jdW1lbnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTZweDsgfVxuLnVpLWljb24tZG9jdW1lbnQtYiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC05NnB4OyB9XG4udWktaWNvbi1ub3RlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTk2cHg7IH1cbi51aS1pY29uLW1haWwtY2xvc2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTk2cHg7IH1cbi51aS1pY29uLW1haWwtb3BlbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC05NnB4OyB9XG4udWktaWNvbi1zdWl0Y2FzZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTZweDsgfVxuLnVpLWljb24tY29tbWVudCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtOTZweDsgfVxuLnVpLWljb24tcGVyc29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC05NnB4OyB9XG4udWktaWNvbi1wcmludCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtOTZweDsgfVxuLnVpLWljb24tdHJhc2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTk2cHg7IH1cbi51aS1pY29uLWxvY2tlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtOTZweDsgfVxuLnVpLWljb24tdW5sb2NrZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTk2cHg7IH1cbi51aS1pY29uLWJvb2ttYXJrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC05NnB4OyB9XG4udWktaWNvbi10YWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTk2cHg7IH1cbi51aS1pY29uLWhvbWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMTJweDsgfVxuLnVpLWljb24tZmxhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xMTJweDsgfVxuLnVpLWljb24tY2FsZW5kYXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTEycHg7IH1cbi51aS1pY29uLWNhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTEycHg7IH1cbi51aS1pY29uLXBlbmNpbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xMTJweDsgfVxuLnVpLWljb24tY2xvY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTEycHg7IH1cbi51aS1pY29uLWRpc2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTEycHg7IH1cbi51aS1pY29uLWNhbGN1bGF0b3IgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTExMnB4OyB9XG4udWktaWNvbi16b29taW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTExMnB4OyB9XG4udWktaWNvbi16b29tb3V0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMTJweDsgfVxuLnVpLWljb24tc2VhcmNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xMTJweDsgfVxuLnVpLWljb24td3JlbmNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xMTJweDsgfVxuLnVpLWljb24tZ2VhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTEycHg7IH1cbi51aS1pY29uLWhlYXJ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xMTJweDsgfVxuLnVpLWljb24tc3RhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtMTEycHg7IH1cbi51aS1pY29uLWxpbmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTExMnB4OyB9XG4udWktaWNvbi1jYW5jZWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjhweDsgfVxuLnVpLWljb24tcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xMjhweDsgfVxuLnVpLWljb24tcGx1c3RoaWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTEyOHB4OyB9XG4udWktaWNvbi1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xMjhweDsgfVxuLnVpLWljb24tbWludXN0aGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xMjhweDsgfVxuLnVpLWljb24tY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTI4cHg7IH1cbi51aS1pY29uLWNsb3NldGhpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTI4cHg7IH1cbi51aS1pY29uLWtleSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTI4cHg7IH1cbi51aS1pY29uLWxpZ2h0YnVsYiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTI4cHg7IH1cbi51aS1pY29uLXNjaXNzb3JzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMjhweDsgfVxuLnVpLWljb24tY2xpcGJvYXJkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xMjhweDsgfVxuLnVpLWljb24tY29weSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTI4cHg7IH1cbi51aS1pY29uLWNvbnRhY3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTEyOHB4OyB9XG4udWktaWNvbi1pbWFnZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTI4cHg7IH1cbi51aS1pY29uLXZpZGVvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0xMjhweDsgfVxuLnVpLWljb24tc2NyaXB0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0xMjhweDsgfVxuLnVpLWljb24tYWxlcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDRweDsgfVxuLnVpLWljb24taW5mbyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNDRweDsgfVxuLnVpLWljb24tbm90aWNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE0NHB4OyB9XG4udWktaWNvbi1oZWxwIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE0NHB4OyB9XG4udWktaWNvbi1jaGVjayB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNDRweDsgfVxuLnVpLWljb24tYnVsbGV0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE0NHB4OyB9XG4udWktaWNvbi1yYWRpby1vbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNDRweDsgfVxuLnVpLWljb24tcmFkaW8tb2ZmIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNDRweDsgfVxuLnVpLWljb24tcGluLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE0NHB4OyB9XG4udWktaWNvbi1waW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTQ0cHg7IH1cbi51aS1pY29uLXBsYXkgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNjBweDsgfVxuLnVpLWljb24tcGF1c2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTYwcHg7IH1cbi51aS1pY29uLXNlZWstbmV4dCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNjBweDsgfVxuLnVpLWljb24tc2Vlay1wcmV2IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE2MHB4OyB9XG4udWktaWNvbi1zZWVrLWVuZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNjBweDsgfVxuLnVpLWljb24tc2Vlay1zdGFydCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNjBweDsgfVxuLyogdWktaWNvbi1zZWVrLWZpcnN0IGlzIGRlcHJlY2F0ZWQsIHVzZSB1aS1pY29uLXNlZWstc3RhcnQgaW5zdGVhZCAqL1xuLnVpLWljb24tc2Vlay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNjBweDsgfVxuLnVpLWljb24tc3RvcCB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNjBweDsgfVxuLnVpLWljb24tZWplY3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE2MHB4OyB9XG4udWktaWNvbi12b2x1bWUtb2ZmIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNjBweDsgfVxuLnVpLWljb24tdm9sdW1lLW9uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNjBweDsgfVxuLnVpLWljb24tcG93ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNzZweDsgfVxuLnVpLWljb24tc2lnbmFsLWRpYWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTc2cHg7IH1cbi51aS1pY29uLXNpZ25hbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNzZweDsgfVxuLnVpLWljb24tYmF0dGVyeS0wIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE3NnB4OyB9XG4udWktaWNvbi1iYXR0ZXJ5LTEgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTc2cHg7IH1cbi51aS1pY29uLWJhdHRlcnktMiB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNzZweDsgfVxuLnVpLWljb24tYmF0dGVyeS0zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE3NnB4OyB9XG4udWktaWNvbi1jaXJjbGUtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtbWludXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS1hcnJvdy1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLWFycm93LXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtYXJyb3ctdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS1hcnJvdy1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLXpvb21pbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS16b29tb3V0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLWNoZWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlc21hbGwtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwOHB4OyB9XG4udWktaWNvbi1jaXJjbGVzbWFsbC1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0yMDhweDsgfVxuLnVpLWljb24tY2lyY2xlc21hbGwtY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMjA4cHg7IH1cbi51aS1pY29uLXNxdWFyZXNtYWxsLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMjA4cHg7IH1cbi51aS1pY29uLXNxdWFyZXNtYWxsLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTIwOHB4OyB9XG4udWktaWNvbi1zcXVhcmVzbWFsbC1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0yMDhweDsgfVxuLnVpLWljb24tZ3JpcC1kb3R0ZWQtdmVydGljYWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMjRweDsgfVxuLnVpLWljb24tZ3JpcC1kb3R0ZWQtaG9yaXpvbnRhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0yMjRweDsgfVxuLnVpLWljb24tZ3JpcC1zb2xpZC12ZXJ0aWNhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0yMjRweDsgfVxuLnVpLWljb24tZ3JpcC1zb2xpZC1ob3Jpem9udGFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTIyNHB4OyB9XG4udWktaWNvbi1ncmlwc21hbGwtZGlhZ29uYWwtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMjI0cHg7IH1cbi51aS1pY29uLWdyaXAtZGlhZ29uYWwtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjI0cHg7IH1cblxuXG4vKiBNaXNjIHZpc3VhbHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBDb3JuZXIgcmFkaXVzICovXG4udWktY29ybmVyLWFsbCxcbi51aS1jb3JuZXItdG9wLFxuLnVpLWNvcm5lci1sZWZ0LFxuLnVpLWNvcm5lci10bCB7XG5cdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbn1cbi51aS1jb3JuZXItYWxsLFxuLnVpLWNvcm5lci10b3AsXG4udWktY29ybmVyLXJpZ2h0LFxuLnVpLWNvcm5lci10ciB7XG5cdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG59XG4udWktY29ybmVyLWFsbCxcbi51aS1jb3JuZXItYm90dG9tLFxuLnVpLWNvcm5lci1sZWZ0LFxuLnVpLWNvcm5lci1ibCB7XG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbn1cbi51aS1jb3JuZXItYWxsLFxuLnVpLWNvcm5lci1ib3R0b20sXG4udWktY29ybmVyLXJpZ2h0LFxuLnVpLWNvcm5lci1iciB7XG5cdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG59XG5cbi8qIE92ZXJsYXlzICovXG4udWktd2lkZ2V0LW92ZXJsYXkge1xuXHRiYWNrZ3JvdW5kOiAjYWFhYWFhO1xuXHRvcGFjaXR5OiAuMztcblx0ZmlsdGVyOiBBbHBoYShPcGFjaXR5PTMwKTsgLyogc3VwcG9ydDogSUU4ICovXG59XG4udWktd2lkZ2V0LXNoYWRvdyB7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCA1cHggIzY2NjY2Njtcblx0Ym94LXNoYWRvdzogMHB4IDBweCA1cHggIzY2NjY2Njtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi5hbmltYXRlZCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICYuaW5maW5pdGUge1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICB9XG4gICYuaGluZ2Uge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gIH1cbiAgJi5mbGlwT3V0WCB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzO1xuICB9XG4gICYuZmxpcE91dFkge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcbiAgfVxuICAmLmJvdW5jZUluIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IC43NXM7XG4gIH1cbiAgJi5ib3VuY2VPdXQge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcbiAgfVxuICAmLmZsaXAge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBhbmltYXRpb24tbmFtZTogZmxpcDtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICB9XG4gIDIwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cbiAgNTMlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuICA4MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuICA0MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICB9XG4gIDQzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gIH1cbiAgNzAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgfVxuICA5MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuICAyMCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICB9XG4gIDUzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cbiAgODAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuICB0byB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cbiAgNDAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgfVxuICA0MyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICB9XG4gIDcwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gIH1cbn1cbi5ib3VuY2Uge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xuICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxhc2gge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAyNSUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNzUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZsYXNoIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMjUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmZsYXNoIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbiAgNTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuICA1MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuLnB1bHNlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuICAzMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gIH1cbiAgNTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuICA2NSUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcbiAgfVxuICA3NSUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG4gIDMwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gIH1cbiAgNDAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgfVxuICA1MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICB9XG4gIDY1JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpO1xuICB9XG4gIDc1JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuLnJ1YmJlckJhbmQge1xuICBhbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZSB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgMTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgMzAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgNTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgNzAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgMjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxuICA2MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbiAgODAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNoYWtlIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICAxMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuICAzMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuICA1MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuICA3MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuICA5MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuICAyMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbiAgNDAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxuICA4MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbn1cbi5zaGFrZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBoZWFkU2hha2Uge1xuICAwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAwLjUlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgfVxuICAxLjUlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICB9XG4gIDIuNSUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICB9XG4gIDMuNSUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgaGVhZFNoYWtlIHtcbiAgMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIDUwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgMC41JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gIH1cbiAgMS41JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgfVxuICAyLjUlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgfVxuICAzLjUlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICB9XG59XG4uaGVhZFNoYWtlIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgfVxuICA0MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgfVxuICA4MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gIH1cbiAgNjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICB9XG4gIDgwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICB9XG59XG4uc3dpbmcge1xuICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB0YWRhIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbiAgMTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG4gIDIwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuICAzMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG4gIDUwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cbiAgNzAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuICA5MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuICA2MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cbiAgODAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyB0YWRhIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbiAgMTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG4gIDIwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuICAzMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG4gIDUwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cbiAgNzAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuICA5MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuICA2MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cbiAgODAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuLnRhZGEge1xuICBhbmltYXRpb24tbmFtZTogdGFkYTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB3b2JibGUge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAxNSUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuICAzMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG4gIDQ1JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cbiAgNzUlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuQGtleWZyYW1lcyB3b2JibGUge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAxNSUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuICAzMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG4gIDQ1JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cbiAgNzUlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLndvYmJsZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgamVsbG8ge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgMC4xJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgMS4yJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gIH1cbiAgMi4zJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgfVxuICAzLjQlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gIH1cbiAgNC41JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICB9XG4gIDUuNiUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG4gIDYuNyUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICB9XG4gIDcuOCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgamVsbG8ge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgMC4xJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgMS4yJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gIH1cbiAgMi4zJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgfVxuICAzLjQlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gIH1cbiAgNC41JSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICB9XG4gIDUuNiUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG4gIDYuNyUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICB9XG4gIDcuOCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gIH1cbn1cbi5qZWxsbyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBqZWxsbztcbiAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG4gIDIwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuICA0MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cbiAgNjAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cbiAgODAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG4gIDIwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuICA0MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cbiAgNjAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cbiAgODAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cbn1cbi5ib3VuY2VJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG4gIDYwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gIH1cbiAgNzUlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuICA5MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG4gIDYwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gIH1cbiAgNzUlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuICA5MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgfVxufVxuLmJvdW5jZUluRG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuICA2MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuICA2MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gIH1cbn1cbi5ib3VuY2VJbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gIH1cbiAgNjAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG4gIDkwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gIH1cbiAgNjAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG4gIDkwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4uYm91bmNlSW5SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gIH1cbiAgNjAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG4gIDkwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICB9XG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgfVxuICA2MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cbiAgNzUlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmJvdW5jZUluVXAge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXQge1xuICAyMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuICA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cbiAgNTUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG59XG4uYm91bmNlT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuLmJvdW5jZU91dERvd24ge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuLmJvdW5jZU91dExlZnQge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG4uYm91bmNlT3V0UmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgfVxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gIH1cbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuLmJvdW5jZU91dFVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmZhZGVJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLmZhZGVJbkRvd24ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi5mYWRlSW5Eb3duQmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLmZhZGVJbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi5mYWRlSW5MZWZ0QmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi5mYWRlSW5SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4uZmFkZUluUmlnaHRCaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi5mYWRlSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4uZmFkZUluVXBCaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5mYWRlT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cbi5mYWRlT3V0RG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG4uZmFkZU91dERvd25CaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG4uZmFkZU91dExlZnQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbi5mYWRlT3V0TGVmdEJpZyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG4uZmFkZU91dFJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbi5mYWRlT3V0UmlnaHRCaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG4uZmFkZU91dFVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG4uZmFkZU91dFVwQmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cbiAgNTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIDgwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuQGtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cbiAgNTAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIDgwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblgge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNDAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbiAgNjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDgwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuQGtleWZyYW1lcyBmbGlwSW5YIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA4MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cbi5mbGlwSW5YIHtcbiAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSlcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA4MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmxpcEluWSB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA0MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuICA2MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgODAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG4uZmxpcEluWSB7XG4gIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFgge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbiAgMzAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmxpcE91dFgge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbiAgMzAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5mbGlwT3V0WCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSlcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG4gIDMwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG4gIDMwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uZmxpcE91dFkge1xuICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KVxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgODAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgODAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmxpZ2h0U3BlZWRJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5saWdodFNwZWVkT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4ge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLnJvdGF0ZUluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLnJvdGF0ZUluRG93bkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLnJvdGF0ZUluRG93blJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5yb3RhdGVJblVwTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLnJvdGF0ZUluVXBSaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5yb3RhdGVPdXQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5yb3RhdGVPdXREb3duTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLnJvdGF0ZU91dERvd25SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLnJvdGF0ZU91dFVwTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4ucm90YXRlT3V0VXBSaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGhpbmdlIHtcbiAgMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuICAyMCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cbiAgNjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG4gIDQwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDgwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cbiAgMjAlIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG4gIDYwJSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuICA0MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA4MCUge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5oaW5nZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuQGtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLnJvbGxJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gIH1cbn1cbi5yb2xsT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi56b29tSW4ge1xuICBhbmltYXRpb24tbmFtZTogem9vbUluO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cbi56b29tSW5Eb3duIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21JbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuLnpvb21JbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogem9vbUluTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cbi56b29tSW5SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cbi56b29tSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uem9vbU91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG4uem9vbU91dERvd24ge1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dExlZnQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICB9XG59XG4uem9vbU91dExlZnQge1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuLnpvb21PdXRSaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21PdXRVcCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZClcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuLnpvb21PdXRVcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uc2xpZGVJbkRvd24ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uc2xpZGVJbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLnNsaWRlSW5SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIHRvIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICB0byB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLnNsaWRlSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cbi5zbGlkZU91dERvd24ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuLnNsaWRlT3V0TGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICAvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuLnNsaWRlT3V0UmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuLnNsaWRlT3V0VXAge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbn0iLCIvKiFcbiAqICBGb250IEF3ZXNvbWUgNC40LjAgYnkgQGRhdmVnYW5keSAtIGh0dHA6Ly9mb250YXdlc29tZS5pbyAtIEBmb250YXdlc29tZVxuICogIExpY2Vuc2UgLSBodHRwOi8vZm9udGF3ZXNvbWUuaW8vbGljZW5zZSAoRm9udDogU0lMIE9GTCAxLjEsIENTUzogTUlUIExpY2Vuc2UpXG4gKi9cblxuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcInBhdGhcIjtcbkBpbXBvcnQgXCJjb3JlXCI7XG5AaW1wb3J0IFwibGFyZ2VyXCI7XG5AaW1wb3J0IFwiZml4ZWQtd2lkdGhcIjtcbkBpbXBvcnQgXCJsaXN0XCI7XG5AaW1wb3J0IFwiYm9yZGVyZWQtcHVsbGVkXCI7XG5AaW1wb3J0IFwiYW5pbWF0ZWRcIjtcbkBpbXBvcnQgXCJyb3RhdGVkLWZsaXBwZWRcIjtcbkBpbXBvcnQgXCJzdGFja2VkXCI7XG5AaW1wb3J0IFwiaWNvbnNcIjtcbiIsIi8qIEZPTlQgUEFUSFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LmVvdD92PSN7JGZhLXZlcnNpb259Jyk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQuZW90PyNpZWZpeCZ2PSN7JGZhLXZlcnNpb259JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LndvZmYyP3Y9I3skZmEtdmVyc2lvbn0nKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZj92PSN7JGZhLXZlcnNpb259JykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQudHRmP3Y9I3skZmEtdmVyc2lvbn0nKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQuc3ZnP3Y9I3skZmEtdmVyc2lvbn0jZm9udGF3ZXNvbWVyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbi8vICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9Gb250QXdlc29tZS5vdGYnKSBmb3JtYXQoJ29wZW50eXBlJyk7IC8vIHVzZWQgd2hlbiBkZXZlbG9waW5nIGZvbnRzXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbiIsIi8vIEJhc2UgQ2xhc3MgRGVmaW5pdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsICN7JGZhLWZvbnQtc2l6ZS1iYXNlfS8jeyRmYS1saW5lLWhlaWdodC1iYXNlfSBGb250QXdlc29tZTsgLy8gc2hvcnRlbmluZyBmb250IGRlY2xhcmF0aW9uXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgLy8gY2FuJ3QgaGF2ZSBmb250LXNpemUgaW5oZXJpdCBvbiBsaW5lIGFib3ZlLCBzbyBuZWVkIHRvIG92ZXJyaWRlXG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvOyAvLyBvcHRpbWl6ZWxlZ2liaWxpdHkgdGhyb3dzIHRoaW5ncyBvZmYgIzEwOTRcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuIiwiLy8gSWNvbiBTaXplc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKiBtYWtlcyB0aGUgZm9udCAzMyUgbGFyZ2VyIHJlbGF0aXZlIHRvIHRoZSBpY29uIGNvbnRhaW5lciAqL1xuLiN7JGZhLWNzcy1wcmVmaXh9LWxnIHtcbiAgZm9udC1zaXplOiAoNGVtIC8gMyk7XG4gIGxpbmUtaGVpZ2h0OiAoM2VtIC8gNCk7XG4gIHZlcnRpY2FsLWFsaWduOiAtMTUlO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LTJ4IHsgZm9udC1zaXplOiAyZW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS0zeCB7IGZvbnQtc2l6ZTogM2VtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tNHggeyBmb250LXNpemU6IDRlbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LTV4IHsgZm9udC1zaXplOiA1ZW07IH1cbiIsIi8vIEZpeGVkIFdpZHRoIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uI3skZmEtY3NzLXByZWZpeH0tZncge1xuICB3aWR0aDogKDE4ZW0gLyAxNCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIi8vIExpc3QgSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXVsIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogJGZhLWxpLXdpZHRoO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gID4gbGkgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbn1cbi4jeyRmYS1jc3MtcHJlZml4fS1saSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLSRmYS1saS13aWR0aDtcbiAgd2lkdGg6ICRmYS1saS13aWR0aDtcbiAgdG9wOiAoMmVtIC8gMTQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICYuI3skZmEtY3NzLXByZWZpeH0tbGcge1xuICAgIGxlZnQ6IC0kZmEtbGktd2lkdGggKyAoNGVtIC8gMTQpO1xuICB9XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmYS1mb250LXBhdGg6ICAgICAgICBcIi4uL2ZvbnRzXCIgIWRlZmF1bHQ7XG4kZmEtZm9udC1zaXplLWJhc2U6ICAgMTRweCAhZGVmYXVsdDtcbiRmYS1saW5lLWhlaWdodC1iYXNlOiAxICFkZWZhdWx0O1xuLy8kZmEtZm9udC1wYXRoOiAgICAgICAgXCIvL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjQuMC9mb250c1wiICFkZWZhdWx0OyAvLyBmb3IgcmVmZXJlbmNpbmcgQm9vdHN0cmFwIENETiBmb250IGZpbGVzIGRpcmVjdGx5XG4kZmEtY3NzLXByZWZpeDogICAgICAgZmEgIWRlZmF1bHQ7XG4kZmEtdmVyc2lvbjogICAgICAgICAgXCI0LjQuMFwiICFkZWZhdWx0O1xuJGZhLWJvcmRlci1jb2xvcjogICAgICNlZWUgIWRlZmF1bHQ7XG4kZmEtaW52ZXJzZTogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRmYS1saS13aWR0aDogICAgICAgICAoMzBlbSAvIDE0KSAhZGVmYXVsdDtcblxuJGZhLXZhci01MDBweDogXCJcXGYyNmVcIjtcbiRmYS12YXItYWRqdXN0OiBcIlxcZjA0MlwiO1xuJGZhLXZhci1hZG46IFwiXFxmMTcwXCI7XG4kZmEtdmFyLWFsaWduLWNlbnRlcjogXCJcXGYwMzdcIjtcbiRmYS12YXItYWxpZ24tanVzdGlmeTogXCJcXGYwMzlcIjtcbiRmYS12YXItYWxpZ24tbGVmdDogXCJcXGYwMzZcIjtcbiRmYS12YXItYWxpZ24tcmlnaHQ6IFwiXFxmMDM4XCI7XG4kZmEtdmFyLWFtYXpvbjogXCJcXGYyNzBcIjtcbiRmYS12YXItYW1idWxhbmNlOiBcIlxcZjBmOVwiO1xuJGZhLXZhci1hbmNob3I6IFwiXFxmMTNkXCI7XG4kZmEtdmFyLWFuZHJvaWQ6IFwiXFxmMTdiXCI7XG4kZmEtdmFyLWFuZ2VsbGlzdDogXCJcXGYyMDlcIjtcbiRmYS12YXItYW5nbGUtZG91YmxlLWRvd246IFwiXFxmMTAzXCI7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1sZWZ0OiBcIlxcZjEwMFwiO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtcmlnaHQ6IFwiXFxmMTAxXCI7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS11cDogXCJcXGYxMDJcIjtcbiRmYS12YXItYW5nbGUtZG93bjogXCJcXGYxMDdcIjtcbiRmYS12YXItYW5nbGUtbGVmdDogXCJcXGYxMDRcIjtcbiRmYS12YXItYW5nbGUtcmlnaHQ6IFwiXFxmMTA1XCI7XG4kZmEtdmFyLWFuZ2xlLXVwOiBcIlxcZjEwNlwiO1xuJGZhLXZhci1hcHBsZTogXCJcXGYxNzlcIjtcbiRmYS12YXItYXJjaGl2ZTogXCJcXGYxODdcIjtcbiRmYS12YXItYXJlYS1jaGFydDogXCJcXGYxZmVcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLWRvd246IFwiXFxmMGFiXCI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1sZWZ0OiBcIlxcZjBhOFwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtby1kb3duOiBcIlxcZjAxYVwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtby1sZWZ0OiBcIlxcZjE5MFwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtby1yaWdodDogXCJcXGYxOGVcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLW8tdXA6IFwiXFxmMDFiXCI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1yaWdodDogXCJcXGYwYTlcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLXVwOiBcIlxcZjBhYVwiO1xuJGZhLXZhci1hcnJvdy1kb3duOiBcIlxcZjA2M1wiO1xuJGZhLXZhci1hcnJvdy1sZWZ0OiBcIlxcZjA2MFwiO1xuJGZhLXZhci1hcnJvdy1yaWdodDogXCJcXGYwNjFcIjtcbiRmYS12YXItYXJyb3ctdXA6IFwiXFxmMDYyXCI7XG4kZmEtdmFyLWFycm93czogXCJcXGYwNDdcIjtcbiRmYS12YXItYXJyb3dzLWFsdDogXCJcXGYwYjJcIjtcbiRmYS12YXItYXJyb3dzLWg6IFwiXFxmMDdlXCI7XG4kZmEtdmFyLWFycm93cy12OiBcIlxcZjA3ZFwiO1xuJGZhLXZhci1hc3RlcmlzazogXCJcXGYwNjlcIjtcbiRmYS12YXItYXQ6IFwiXFxmMWZhXCI7XG4kZmEtdmFyLWF1dG9tb2JpbGU6IFwiXFxmMWI5XCI7XG4kZmEtdmFyLWJhY2t3YXJkOiBcIlxcZjA0YVwiO1xuJGZhLXZhci1iYWxhbmNlLXNjYWxlOiBcIlxcZjI0ZVwiO1xuJGZhLXZhci1iYW46IFwiXFxmMDVlXCI7XG4kZmEtdmFyLWJhbms6IFwiXFxmMTljXCI7XG4kZmEtdmFyLWJhci1jaGFydDogXCJcXGYwODBcIjtcbiRmYS12YXItYmFyLWNoYXJ0LW86IFwiXFxmMDgwXCI7XG4kZmEtdmFyLWJhcmNvZGU6IFwiXFxmMDJhXCI7XG4kZmEtdmFyLWJhcnM6IFwiXFxmMGM5XCI7XG4kZmEtdmFyLWJhdHRlcnktMDogXCJcXGYyNDRcIjtcbiRmYS12YXItYmF0dGVyeS0xOiBcIlxcZjI0M1wiO1xuJGZhLXZhci1iYXR0ZXJ5LTI6IFwiXFxmMjQyXCI7XG4kZmEtdmFyLWJhdHRlcnktMzogXCJcXGYyNDFcIjtcbiRmYS12YXItYmF0dGVyeS00OiBcIlxcZjI0MFwiO1xuJGZhLXZhci1iYXR0ZXJ5LWVtcHR5OiBcIlxcZjI0NFwiO1xuJGZhLXZhci1iYXR0ZXJ5LWZ1bGw6IFwiXFxmMjQwXCI7XG4kZmEtdmFyLWJhdHRlcnktaGFsZjogXCJcXGYyNDJcIjtcbiRmYS12YXItYmF0dGVyeS1xdWFydGVyOiBcIlxcZjI0M1wiO1xuJGZhLXZhci1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOiBcIlxcZjI0MVwiO1xuJGZhLXZhci1iZWQ6IFwiXFxmMjM2XCI7XG4kZmEtdmFyLWJlZXI6IFwiXFxmMGZjXCI7XG4kZmEtdmFyLWJlaGFuY2U6IFwiXFxmMWI0XCI7XG4kZmEtdmFyLWJlaGFuY2Utc3F1YXJlOiBcIlxcZjFiNVwiO1xuJGZhLXZhci1iZWxsOiBcIlxcZjBmM1wiO1xuJGZhLXZhci1iZWxsLW86IFwiXFxmMGEyXCI7XG4kZmEtdmFyLWJlbGwtc2xhc2g6IFwiXFxmMWY2XCI7XG4kZmEtdmFyLWJlbGwtc2xhc2gtbzogXCJcXGYxZjdcIjtcbiRmYS12YXItYmljeWNsZTogXCJcXGYyMDZcIjtcbiRmYS12YXItYmlub2N1bGFyczogXCJcXGYxZTVcIjtcbiRmYS12YXItYmlydGhkYXktY2FrZTogXCJcXGYxZmRcIjtcbiRmYS12YXItYml0YnVja2V0OiBcIlxcZjE3MVwiO1xuJGZhLXZhci1iaXRidWNrZXQtc3F1YXJlOiBcIlxcZjE3MlwiO1xuJGZhLXZhci1iaXRjb2luOiBcIlxcZjE1YVwiO1xuJGZhLXZhci1ibGFjay10aWU6IFwiXFxmMjdlXCI7XG4kZmEtdmFyLWJvbGQ6IFwiXFxmMDMyXCI7XG4kZmEtdmFyLWJvbHQ6IFwiXFxmMGU3XCI7XG4kZmEtdmFyLWJvbWI6IFwiXFxmMWUyXCI7XG4kZmEtdmFyLWJvb2s6IFwiXFxmMDJkXCI7XG4kZmEtdmFyLWJvb2ttYXJrOiBcIlxcZjAyZVwiO1xuJGZhLXZhci1ib29rbWFyay1vOiBcIlxcZjA5N1wiO1xuJGZhLXZhci1icmllZmNhc2U6IFwiXFxmMGIxXCI7XG4kZmEtdmFyLWJ0YzogXCJcXGYxNWFcIjtcbiRmYS12YXItYnVnOiBcIlxcZjE4OFwiO1xuJGZhLXZhci1idWlsZGluZzogXCJcXGYxYWRcIjtcbiRmYS12YXItYnVpbGRpbmctbzogXCJcXGYwZjdcIjtcbiRmYS12YXItYnVsbGhvcm46IFwiXFxmMGExXCI7XG4kZmEtdmFyLWJ1bGxzZXllOiBcIlxcZjE0MFwiO1xuJGZhLXZhci1idXM6IFwiXFxmMjA3XCI7XG4kZmEtdmFyLWJ1eXNlbGxhZHM6IFwiXFxmMjBkXCI7XG4kZmEtdmFyLWNhYjogXCJcXGYxYmFcIjtcbiRmYS12YXItY2FsY3VsYXRvcjogXCJcXGYxZWNcIjtcbiRmYS12YXItY2FsZW5kYXI6IFwiXFxmMDczXCI7XG4kZmEtdmFyLWNhbGVuZGFyLWNoZWNrLW86IFwiXFxmMjc0XCI7XG4kZmEtdmFyLWNhbGVuZGFyLW1pbnVzLW86IFwiXFxmMjcyXCI7XG4kZmEtdmFyLWNhbGVuZGFyLW86IFwiXFxmMTMzXCI7XG4kZmEtdmFyLWNhbGVuZGFyLXBsdXMtbzogXCJcXGYyNzFcIjtcbiRmYS12YXItY2FsZW5kYXItdGltZXMtbzogXCJcXGYyNzNcIjtcbiRmYS12YXItY2FtZXJhOiBcIlxcZjAzMFwiO1xuJGZhLXZhci1jYW1lcmEtcmV0cm86IFwiXFxmMDgzXCI7XG4kZmEtdmFyLWNhcjogXCJcXGYxYjlcIjtcbiRmYS12YXItY2FyZXQtZG93bjogXCJcXGYwZDdcIjtcbiRmYS12YXItY2FyZXQtbGVmdDogXCJcXGYwZDlcIjtcbiRmYS12YXItY2FyZXQtcmlnaHQ6IFwiXFxmMGRhXCI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1vLWRvd246IFwiXFxmMTUwXCI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1vLWxlZnQ6IFwiXFxmMTkxXCI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1vLXJpZ2h0OiBcIlxcZjE1MlwiO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtby11cDogXCJcXGYxNTFcIjtcbiRmYS12YXItY2FyZXQtdXA6IFwiXFxmMGQ4XCI7XG4kZmEtdmFyLWNhcnQtYXJyb3ctZG93bjogXCJcXGYyMThcIjtcbiRmYS12YXItY2FydC1wbHVzOiBcIlxcZjIxN1wiO1xuJGZhLXZhci1jYzogXCJcXGYyMGFcIjtcbiRmYS12YXItY2MtYW1leDogXCJcXGYxZjNcIjtcbiRmYS12YXItY2MtZGluZXJzLWNsdWI6IFwiXFxmMjRjXCI7XG4kZmEtdmFyLWNjLWRpc2NvdmVyOiBcIlxcZjFmMlwiO1xuJGZhLXZhci1jYy1qY2I6IFwiXFxmMjRiXCI7XG4kZmEtdmFyLWNjLW1hc3RlcmNhcmQ6IFwiXFxmMWYxXCI7XG4kZmEtdmFyLWNjLXBheXBhbDogXCJcXGYxZjRcIjtcbiRmYS12YXItY2Mtc3RyaXBlOiBcIlxcZjFmNVwiO1xuJGZhLXZhci1jYy12aXNhOiBcIlxcZjFmMFwiO1xuJGZhLXZhci1jZXJ0aWZpY2F0ZTogXCJcXGYwYTNcIjtcbiRmYS12YXItY2hhaW46IFwiXFxmMGMxXCI7XG4kZmEtdmFyLWNoYWluLWJyb2tlbjogXCJcXGYxMjdcIjtcbiRmYS12YXItY2hlY2s6IFwiXFxmMDBjXCI7XG4kZmEtdmFyLWNoZWNrLWNpcmNsZTogXCJcXGYwNThcIjtcbiRmYS12YXItY2hlY2stY2lyY2xlLW86IFwiXFxmMDVkXCI7XG4kZmEtdmFyLWNoZWNrLXNxdWFyZTogXCJcXGYxNGFcIjtcbiRmYS12YXItY2hlY2stc3F1YXJlLW86IFwiXFxmMDQ2XCI7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLWRvd246IFwiXFxmMTNhXCI7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLWxlZnQ6IFwiXFxmMTM3XCI7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLXJpZ2h0OiBcIlxcZjEzOFwiO1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cDogXCJcXGYxMzlcIjtcbiRmYS12YXItY2hldnJvbi1kb3duOiBcIlxcZjA3OFwiO1xuJGZhLXZhci1jaGV2cm9uLWxlZnQ6IFwiXFxmMDUzXCI7XG4kZmEtdmFyLWNoZXZyb24tcmlnaHQ6IFwiXFxmMDU0XCI7XG4kZmEtdmFyLWNoZXZyb24tdXA6IFwiXFxmMDc3XCI7XG4kZmEtdmFyLWNoaWxkOiBcIlxcZjFhZVwiO1xuJGZhLXZhci1jaHJvbWU6IFwiXFxmMjY4XCI7XG4kZmEtdmFyLWNpcmNsZTogXCJcXGYxMTFcIjtcbiRmYS12YXItY2lyY2xlLW86IFwiXFxmMTBjXCI7XG4kZmEtdmFyLWNpcmNsZS1vLW5vdGNoOiBcIlxcZjFjZVwiO1xuJGZhLXZhci1jaXJjbGUtdGhpbjogXCJcXGYxZGJcIjtcbiRmYS12YXItY2xpcGJvYXJkOiBcIlxcZjBlYVwiO1xuJGZhLXZhci1jbG9jay1vOiBcIlxcZjAxN1wiO1xuJGZhLXZhci1jbG9uZTogXCJcXGYyNGRcIjtcbiRmYS12YXItY2xvc2U6IFwiXFxmMDBkXCI7XG4kZmEtdmFyLWNsb3VkOiBcIlxcZjBjMlwiO1xuJGZhLXZhci1jbG91ZC1kb3dubG9hZDogXCJcXGYwZWRcIjtcbiRmYS12YXItY2xvdWQtdXBsb2FkOiBcIlxcZjBlZVwiO1xuJGZhLXZhci1jbnk6IFwiXFxmMTU3XCI7XG4kZmEtdmFyLWNvZGU6IFwiXFxmMTIxXCI7XG4kZmEtdmFyLWNvZGUtZm9yazogXCJcXGYxMjZcIjtcbiRmYS12YXItY29kZXBlbjogXCJcXGYxY2JcIjtcbiRmYS12YXItY29mZmVlOiBcIlxcZjBmNFwiO1xuJGZhLXZhci1jb2c6IFwiXFxmMDEzXCI7XG4kZmEtdmFyLWNvZ3M6IFwiXFxmMDg1XCI7XG4kZmEtdmFyLWNvbHVtbnM6IFwiXFxmMGRiXCI7XG4kZmEtdmFyLWNvbW1lbnQ6IFwiXFxmMDc1XCI7XG4kZmEtdmFyLWNvbW1lbnQtbzogXCJcXGYwZTVcIjtcbiRmYS12YXItY29tbWVudGluZzogXCJcXGYyN2FcIjtcbiRmYS12YXItY29tbWVudGluZy1vOiBcIlxcZjI3YlwiO1xuJGZhLXZhci1jb21tZW50czogXCJcXGYwODZcIjtcbiRmYS12YXItY29tbWVudHMtbzogXCJcXGYwZTZcIjtcbiRmYS12YXItY29tcGFzczogXCJcXGYxNGVcIjtcbiRmYS12YXItY29tcHJlc3M6IFwiXFxmMDY2XCI7XG4kZmEtdmFyLWNvbm5lY3RkZXZlbG9wOiBcIlxcZjIwZVwiO1xuJGZhLXZhci1jb250YW86IFwiXFxmMjZkXCI7XG4kZmEtdmFyLWNvcHk6IFwiXFxmMGM1XCI7XG4kZmEtdmFyLWNvcHlyaWdodDogXCJcXGYxZjlcIjtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9uczogXCJcXGYyNWVcIjtcbiRmYS12YXItY3JlZGl0LWNhcmQ6IFwiXFxmMDlkXCI7XG4kZmEtdmFyLWNyb3A6IFwiXFxmMTI1XCI7XG4kZmEtdmFyLWNyb3NzaGFpcnM6IFwiXFxmMDViXCI7XG4kZmEtdmFyLWNzczM6IFwiXFxmMTNjXCI7XG4kZmEtdmFyLWN1YmU6IFwiXFxmMWIyXCI7XG4kZmEtdmFyLWN1YmVzOiBcIlxcZjFiM1wiO1xuJGZhLXZhci1jdXQ6IFwiXFxmMGM0XCI7XG4kZmEtdmFyLWN1dGxlcnk6IFwiXFxmMGY1XCI7XG4kZmEtdmFyLWRhc2hib2FyZDogXCJcXGYwZTRcIjtcbiRmYS12YXItZGFzaGN1YmU6IFwiXFxmMjEwXCI7XG4kZmEtdmFyLWRhdGFiYXNlOiBcIlxcZjFjMFwiO1xuJGZhLXZhci1kZWRlbnQ6IFwiXFxmMDNiXCI7XG4kZmEtdmFyLWRlbGljaW91czogXCJcXGYxYTVcIjtcbiRmYS12YXItZGVza3RvcDogXCJcXGYxMDhcIjtcbiRmYS12YXItZGV2aWFudGFydDogXCJcXGYxYmRcIjtcbiRmYS12YXItZGlhbW9uZDogXCJcXGYyMTlcIjtcbiRmYS12YXItZGlnZzogXCJcXGYxYTZcIjtcbiRmYS12YXItZG9sbGFyOiBcIlxcZjE1NVwiO1xuJGZhLXZhci1kb3QtY2lyY2xlLW86IFwiXFxmMTkyXCI7XG4kZmEtdmFyLWRvd25sb2FkOiBcIlxcZjAxOVwiO1xuJGZhLXZhci1kcmliYmJsZTogXCJcXGYxN2RcIjtcbiRmYS12YXItZHJvcGJveDogXCJcXGYxNmJcIjtcbiRmYS12YXItZHJ1cGFsOiBcIlxcZjFhOVwiO1xuJGZhLXZhci1lZGl0OiBcIlxcZjA0NFwiO1xuJGZhLXZhci1lamVjdDogXCJcXGYwNTJcIjtcbiRmYS12YXItZWxsaXBzaXMtaDogXCJcXGYxNDFcIjtcbiRmYS12YXItZWxsaXBzaXMtdjogXCJcXGYxNDJcIjtcbiRmYS12YXItZW1waXJlOiBcIlxcZjFkMVwiO1xuJGZhLXZhci1lbnZlbG9wZTogXCJcXGYwZTBcIjtcbiRmYS12YXItZW52ZWxvcGUtbzogXCJcXGYwMDNcIjtcbiRmYS12YXItZW52ZWxvcGUtc3F1YXJlOiBcIlxcZjE5OVwiO1xuJGZhLXZhci1lcmFzZXI6IFwiXFxmMTJkXCI7XG4kZmEtdmFyLWV1cjogXCJcXGYxNTNcIjtcbiRmYS12YXItZXVybzogXCJcXGYxNTNcIjtcbiRmYS12YXItZXhjaGFuZ2U6IFwiXFxmMGVjXCI7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uOiBcIlxcZjEyYVwiO1xuJGZhLXZhci1leGNsYW1hdGlvbi1jaXJjbGU6IFwiXFxmMDZhXCI7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOiBcIlxcZjA3MVwiO1xuJGZhLXZhci1leHBhbmQ6IFwiXFxmMDY1XCI7XG4kZmEtdmFyLWV4cGVkaXRlZHNzbDogXCJcXGYyM2VcIjtcbiRmYS12YXItZXh0ZXJuYWwtbGluazogXCJcXGYwOGVcIjtcbiRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmU6IFwiXFxmMTRjXCI7XG4kZmEtdmFyLWV5ZTogXCJcXGYwNmVcIjtcbiRmYS12YXItZXllLXNsYXNoOiBcIlxcZjA3MFwiO1xuJGZhLXZhci1leWVkcm9wcGVyOiBcIlxcZjFmYlwiO1xuJGZhLXZhci1mYWNlYm9vazogXCJcXGYwOWFcIjtcbiRmYS12YXItZmFjZWJvb2stZjogXCJcXGYwOWFcIjtcbiRmYS12YXItZmFjZWJvb2stb2ZmaWNpYWw6IFwiXFxmMjMwXCI7XG4kZmEtdmFyLWZhY2Vib29rLXNxdWFyZTogXCJcXGYwODJcIjtcbiRmYS12YXItZmFzdC1iYWNrd2FyZDogXCJcXGYwNDlcIjtcbiRmYS12YXItZmFzdC1mb3J3YXJkOiBcIlxcZjA1MFwiO1xuJGZhLXZhci1mYXg6IFwiXFxmMWFjXCI7XG4kZmEtdmFyLWZlZWQ6IFwiXFxmMDllXCI7XG4kZmEtdmFyLWZlbWFsZTogXCJcXGYxODJcIjtcbiRmYS12YXItZmlnaHRlci1qZXQ6IFwiXFxmMGZiXCI7XG4kZmEtdmFyLWZpbGU6IFwiXFxmMTViXCI7XG4kZmEtdmFyLWZpbGUtYXJjaGl2ZS1vOiBcIlxcZjFjNlwiO1xuJGZhLXZhci1maWxlLWF1ZGlvLW86IFwiXFxmMWM3XCI7XG4kZmEtdmFyLWZpbGUtY29kZS1vOiBcIlxcZjFjOVwiO1xuJGZhLXZhci1maWxlLWV4Y2VsLW86IFwiXFxmMWMzXCI7XG4kZmEtdmFyLWZpbGUtaW1hZ2UtbzogXCJcXGYxYzVcIjtcbiRmYS12YXItZmlsZS1tb3ZpZS1vOiBcIlxcZjFjOFwiO1xuJGZhLXZhci1maWxlLW86IFwiXFxmMDE2XCI7XG4kZmEtdmFyLWZpbGUtcGRmLW86IFwiXFxmMWMxXCI7XG4kZmEtdmFyLWZpbGUtcGhvdG8tbzogXCJcXGYxYzVcIjtcbiRmYS12YXItZmlsZS1waWN0dXJlLW86IFwiXFxmMWM1XCI7XG4kZmEtdmFyLWZpbGUtcG93ZXJwb2ludC1vOiBcIlxcZjFjNFwiO1xuJGZhLXZhci1maWxlLXNvdW5kLW86IFwiXFxmMWM3XCI7XG4kZmEtdmFyLWZpbGUtdGV4dDogXCJcXGYxNWNcIjtcbiRmYS12YXItZmlsZS10ZXh0LW86IFwiXFxmMGY2XCI7XG4kZmEtdmFyLWZpbGUtdmlkZW8tbzogXCJcXGYxYzhcIjtcbiRmYS12YXItZmlsZS13b3JkLW86IFwiXFxmMWMyXCI7XG4kZmEtdmFyLWZpbGUtemlwLW86IFwiXFxmMWM2XCI7XG4kZmEtdmFyLWZpbGVzLW86IFwiXFxmMGM1XCI7XG4kZmEtdmFyLWZpbG06IFwiXFxmMDA4XCI7XG4kZmEtdmFyLWZpbHRlcjogXCJcXGYwYjBcIjtcbiRmYS12YXItZmlyZTogXCJcXGYwNmRcIjtcbiRmYS12YXItZmlyZS1leHRpbmd1aXNoZXI6IFwiXFxmMTM0XCI7XG4kZmEtdmFyLWZpcmVmb3g6IFwiXFxmMjY5XCI7XG4kZmEtdmFyLWZsYWc6IFwiXFxmMDI0XCI7XG4kZmEtdmFyLWZsYWctY2hlY2tlcmVkOiBcIlxcZjExZVwiO1xuJGZhLXZhci1mbGFnLW86IFwiXFxmMTFkXCI7XG4kZmEtdmFyLWZsYXNoOiBcIlxcZjBlN1wiO1xuJGZhLXZhci1mbGFzazogXCJcXGYwYzNcIjtcbiRmYS12YXItZmxpY2tyOiBcIlxcZjE2ZVwiO1xuJGZhLXZhci1mbG9wcHktbzogXCJcXGYwYzdcIjtcbiRmYS12YXItZm9sZGVyOiBcIlxcZjA3YlwiO1xuJGZhLXZhci1mb2xkZXItbzogXCJcXGYxMTRcIjtcbiRmYS12YXItZm9sZGVyLW9wZW46IFwiXFxmMDdjXCI7XG4kZmEtdmFyLWZvbGRlci1vcGVuLW86IFwiXFxmMTE1XCI7XG4kZmEtdmFyLWZvbnQ6IFwiXFxmMDMxXCI7XG4kZmEtdmFyLWZvbnRpY29uczogXCJcXGYyODBcIjtcbiRmYS12YXItZm9ydW1iZWU6IFwiXFxmMjExXCI7XG4kZmEtdmFyLWZvcndhcmQ6IFwiXFxmMDRlXCI7XG4kZmEtdmFyLWZvdXJzcXVhcmU6IFwiXFxmMTgwXCI7XG4kZmEtdmFyLWZyb3duLW86IFwiXFxmMTE5XCI7XG4kZmEtdmFyLWZ1dGJvbC1vOiBcIlxcZjFlM1wiO1xuJGZhLXZhci1nYW1lcGFkOiBcIlxcZjExYlwiO1xuJGZhLXZhci1nYXZlbDogXCJcXGYwZTNcIjtcbiRmYS12YXItZ2JwOiBcIlxcZjE1NFwiO1xuJGZhLXZhci1nZTogXCJcXGYxZDFcIjtcbiRmYS12YXItZ2VhcjogXCJcXGYwMTNcIjtcbiRmYS12YXItZ2VhcnM6IFwiXFxmMDg1XCI7XG4kZmEtdmFyLWdlbmRlcmxlc3M6IFwiXFxmMjJkXCI7XG4kZmEtdmFyLWdldC1wb2NrZXQ6IFwiXFxmMjY1XCI7XG4kZmEtdmFyLWdnOiBcIlxcZjI2MFwiO1xuJGZhLXZhci1nZy1jaXJjbGU6IFwiXFxmMjYxXCI7XG4kZmEtdmFyLWdpZnQ6IFwiXFxmMDZiXCI7XG4kZmEtdmFyLWdpdDogXCJcXGYxZDNcIjtcbiRmYS12YXItZ2l0LXNxdWFyZTogXCJcXGYxZDJcIjtcbiRmYS12YXItZ2l0aHViOiBcIlxcZjA5YlwiO1xuJGZhLXZhci1naXRodWItYWx0OiBcIlxcZjExM1wiO1xuJGZhLXZhci1naXRodWItc3F1YXJlOiBcIlxcZjA5MlwiO1xuJGZhLXZhci1naXR0aXA6IFwiXFxmMTg0XCI7XG4kZmEtdmFyLWdsYXNzOiBcIlxcZjAwMFwiO1xuJGZhLXZhci1nbG9iZTogXCJcXGYwYWNcIjtcbiRmYS12YXItZ29vZ2xlOiBcIlxcZjFhMFwiO1xuJGZhLXZhci1nb29nbGUtcGx1czogXCJcXGYwZDVcIjtcbiRmYS12YXItZ29vZ2xlLXBsdXMtc3F1YXJlOiBcIlxcZjBkNFwiO1xuJGZhLXZhci1nb29nbGUtd2FsbGV0OiBcIlxcZjFlZVwiO1xuJGZhLXZhci1ncmFkdWF0aW9uLWNhcDogXCJcXGYxOWRcIjtcbiRmYS12YXItZ3JhdGlwYXk6IFwiXFxmMTg0XCI7XG4kZmEtdmFyLWdyb3VwOiBcIlxcZjBjMFwiO1xuJGZhLXZhci1oLXNxdWFyZTogXCJcXGYwZmRcIjtcbiRmYS12YXItaGFja2VyLW5ld3M6IFwiXFxmMWQ0XCI7XG4kZmEtdmFyLWhhbmQtZ3JhYi1vOiBcIlxcZjI1NVwiO1xuJGZhLXZhci1oYW5kLWxpemFyZC1vOiBcIlxcZjI1OFwiO1xuJGZhLXZhci1oYW5kLW8tZG93bjogXCJcXGYwYTdcIjtcbiRmYS12YXItaGFuZC1vLWxlZnQ6IFwiXFxmMGE1XCI7XG4kZmEtdmFyLWhhbmQtby1yaWdodDogXCJcXGYwYTRcIjtcbiRmYS12YXItaGFuZC1vLXVwOiBcIlxcZjBhNlwiO1xuJGZhLXZhci1oYW5kLXBhcGVyLW86IFwiXFxmMjU2XCI7XG4kZmEtdmFyLWhhbmQtcGVhY2UtbzogXCJcXGYyNWJcIjtcbiRmYS12YXItaGFuZC1wb2ludGVyLW86IFwiXFxmMjVhXCI7XG4kZmEtdmFyLWhhbmQtcm9jay1vOiBcIlxcZjI1NVwiO1xuJGZhLXZhci1oYW5kLXNjaXNzb3JzLW86IFwiXFxmMjU3XCI7XG4kZmEtdmFyLWhhbmQtc3BvY2stbzogXCJcXGYyNTlcIjtcbiRmYS12YXItaGFuZC1zdG9wLW86IFwiXFxmMjU2XCI7XG4kZmEtdmFyLWhkZC1vOiBcIlxcZjBhMFwiO1xuJGZhLXZhci1oZWFkZXI6IFwiXFxmMWRjXCI7XG4kZmEtdmFyLWhlYWRwaG9uZXM6IFwiXFxmMDI1XCI7XG4kZmEtdmFyLWhlYXJ0OiBcIlxcZjAwNFwiO1xuJGZhLXZhci1oZWFydC1vOiBcIlxcZjA4YVwiO1xuJGZhLXZhci1oZWFydGJlYXQ6IFwiXFxmMjFlXCI7XG4kZmEtdmFyLWhpc3Rvcnk6IFwiXFxmMWRhXCI7XG4kZmEtdmFyLWhvbWU6IFwiXFxmMDE1XCI7XG4kZmEtdmFyLWhvc3BpdGFsLW86IFwiXFxmMGY4XCI7XG4kZmEtdmFyLWhvdGVsOiBcIlxcZjIzNlwiO1xuJGZhLXZhci1ob3VyZ2xhc3M6IFwiXFxmMjU0XCI7XG4kZmEtdmFyLWhvdXJnbGFzcy0xOiBcIlxcZjI1MVwiO1xuJGZhLXZhci1ob3VyZ2xhc3MtMjogXCJcXGYyNTJcIjtcbiRmYS12YXItaG91cmdsYXNzLTM6IFwiXFxmMjUzXCI7XG4kZmEtdmFyLWhvdXJnbGFzcy1lbmQ6IFwiXFxmMjUzXCI7XG4kZmEtdmFyLWhvdXJnbGFzcy1oYWxmOiBcIlxcZjI1MlwiO1xuJGZhLXZhci1ob3VyZ2xhc3MtbzogXCJcXGYyNTBcIjtcbiRmYS12YXItaG91cmdsYXNzLXN0YXJ0OiBcIlxcZjI1MVwiO1xuJGZhLXZhci1ob3V6ejogXCJcXGYyN2NcIjtcbiRmYS12YXItaHRtbDU6IFwiXFxmMTNiXCI7XG4kZmEtdmFyLWktY3Vyc29yOiBcIlxcZjI0NlwiO1xuJGZhLXZhci1pbHM6IFwiXFxmMjBiXCI7XG4kZmEtdmFyLWltYWdlOiBcIlxcZjAzZVwiO1xuJGZhLXZhci1pbmJveDogXCJcXGYwMWNcIjtcbiRmYS12YXItaW5kZW50OiBcIlxcZjAzY1wiO1xuJGZhLXZhci1pbmR1c3RyeTogXCJcXGYyNzVcIjtcbiRmYS12YXItaW5mbzogXCJcXGYxMjlcIjtcbiRmYS12YXItaW5mby1jaXJjbGU6IFwiXFxmMDVhXCI7XG4kZmEtdmFyLWlucjogXCJcXGYxNTZcIjtcbiRmYS12YXItaW5zdGFncmFtOiBcIlxcZjE2ZFwiO1xuJGZhLXZhci1pbnN0aXR1dGlvbjogXCJcXGYxOWNcIjtcbiRmYS12YXItaW50ZXJuZXQtZXhwbG9yZXI6IFwiXFxmMjZiXCI7XG4kZmEtdmFyLWludGVyc2V4OiBcIlxcZjIyNFwiO1xuJGZhLXZhci1pb3hob3N0OiBcIlxcZjIwOFwiO1xuJGZhLXZhci1pdGFsaWM6IFwiXFxmMDMzXCI7XG4kZmEtdmFyLWpvb21sYTogXCJcXGYxYWFcIjtcbiRmYS12YXItanB5OiBcIlxcZjE1N1wiO1xuJGZhLXZhci1qc2ZpZGRsZTogXCJcXGYxY2NcIjtcbiRmYS12YXIta2V5OiBcIlxcZjA4NFwiO1xuJGZhLXZhci1rZXlib2FyZC1vOiBcIlxcZjExY1wiO1xuJGZhLXZhci1rcnc6IFwiXFxmMTU5XCI7XG4kZmEtdmFyLWxhbmd1YWdlOiBcIlxcZjFhYlwiO1xuJGZhLXZhci1sYXB0b3A6IFwiXFxmMTA5XCI7XG4kZmEtdmFyLWxhc3RmbTogXCJcXGYyMDJcIjtcbiRmYS12YXItbGFzdGZtLXNxdWFyZTogXCJcXGYyMDNcIjtcbiRmYS12YXItbGVhZjogXCJcXGYwNmNcIjtcbiRmYS12YXItbGVhbnB1YjogXCJcXGYyMTJcIjtcbiRmYS12YXItbGVnYWw6IFwiXFxmMGUzXCI7XG4kZmEtdmFyLWxlbW9uLW86IFwiXFxmMDk0XCI7XG4kZmEtdmFyLWxldmVsLWRvd246IFwiXFxmMTQ5XCI7XG4kZmEtdmFyLWxldmVsLXVwOiBcIlxcZjE0OFwiO1xuJGZhLXZhci1saWZlLWJvdXk6IFwiXFxmMWNkXCI7XG4kZmEtdmFyLWxpZmUtYnVveTogXCJcXGYxY2RcIjtcbiRmYS12YXItbGlmZS1yaW5nOiBcIlxcZjFjZFwiO1xuJGZhLXZhci1saWZlLXNhdmVyOiBcIlxcZjFjZFwiO1xuJGZhLXZhci1saWdodGJ1bGItbzogXCJcXGYwZWJcIjtcbiRmYS12YXItbGluZS1jaGFydDogXCJcXGYyMDFcIjtcbiRmYS12YXItbGluazogXCJcXGYwYzFcIjtcbiRmYS12YXItbGlua2VkaW46IFwiXFxmMGUxXCI7XG4kZmEtdmFyLWxpbmtlZGluLXNxdWFyZTogXCJcXGYwOGNcIjtcbiRmYS12YXItbGludXg6IFwiXFxmMTdjXCI7XG4kZmEtdmFyLWxpc3Q6IFwiXFxmMDNhXCI7XG4kZmEtdmFyLWxpc3QtYWx0OiBcIlxcZjAyMlwiO1xuJGZhLXZhci1saXN0LW9sOiBcIlxcZjBjYlwiO1xuJGZhLXZhci1saXN0LXVsOiBcIlxcZjBjYVwiO1xuJGZhLXZhci1sb2NhdGlvbi1hcnJvdzogXCJcXGYxMjRcIjtcbiRmYS12YXItbG9jazogXCJcXGYwMjNcIjtcbiRmYS12YXItbG9uZy1hcnJvdy1kb3duOiBcIlxcZjE3NVwiO1xuJGZhLXZhci1sb25nLWFycm93LWxlZnQ6IFwiXFxmMTc3XCI7XG4kZmEtdmFyLWxvbmctYXJyb3ctcmlnaHQ6IFwiXFxmMTc4XCI7XG4kZmEtdmFyLWxvbmctYXJyb3ctdXA6IFwiXFxmMTc2XCI7XG4kZmEtdmFyLW1hZ2ljOiBcIlxcZjBkMFwiO1xuJGZhLXZhci1tYWduZXQ6IFwiXFxmMDc2XCI7XG4kZmEtdmFyLW1haWwtZm9yd2FyZDogXCJcXGYwNjRcIjtcbiRmYS12YXItbWFpbC1yZXBseTogXCJcXGYxMTJcIjtcbiRmYS12YXItbWFpbC1yZXBseS1hbGw6IFwiXFxmMTIyXCI7XG4kZmEtdmFyLW1hbGU6IFwiXFxmMTgzXCI7XG4kZmEtdmFyLW1hcDogXCJcXGYyNzlcIjtcbiRmYS12YXItbWFwLW1hcmtlcjogXCJcXGYwNDFcIjtcbiRmYS12YXItbWFwLW86IFwiXFxmMjc4XCI7XG4kZmEtdmFyLW1hcC1waW46IFwiXFxmMjc2XCI7XG4kZmEtdmFyLW1hcC1zaWduczogXCJcXGYyNzdcIjtcbiRmYS12YXItbWFyczogXCJcXGYyMjJcIjtcbiRmYS12YXItbWFycy1kb3VibGU6IFwiXFxmMjI3XCI7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlOiBcIlxcZjIyOVwiO1xuJGZhLXZhci1tYXJzLXN0cm9rZS1oOiBcIlxcZjIyYlwiO1xuJGZhLXZhci1tYXJzLXN0cm9rZS12OiBcIlxcZjIyYVwiO1xuJGZhLXZhci1tYXhjZG46IFwiXFxmMTM2XCI7XG4kZmEtdmFyLW1lYW5wYXRoOiBcIlxcZjIwY1wiO1xuJGZhLXZhci1tZWRpdW06IFwiXFxmMjNhXCI7XG4kZmEtdmFyLW1lZGtpdDogXCJcXGYwZmFcIjtcbiRmYS12YXItbWVoLW86IFwiXFxmMTFhXCI7XG4kZmEtdmFyLW1lcmN1cnk6IFwiXFxmMjIzXCI7XG4kZmEtdmFyLW1pY3JvcGhvbmU6IFwiXFxmMTMwXCI7XG4kZmEtdmFyLW1pY3JvcGhvbmUtc2xhc2g6IFwiXFxmMTMxXCI7XG4kZmEtdmFyLW1pbnVzOiBcIlxcZjA2OFwiO1xuJGZhLXZhci1taW51cy1jaXJjbGU6IFwiXFxmMDU2XCI7XG4kZmEtdmFyLW1pbnVzLXNxdWFyZTogXCJcXGYxNDZcIjtcbiRmYS12YXItbWludXMtc3F1YXJlLW86IFwiXFxmMTQ3XCI7XG4kZmEtdmFyLW1vYmlsZTogXCJcXGYxMGJcIjtcbiRmYS12YXItbW9iaWxlLXBob25lOiBcIlxcZjEwYlwiO1xuJGZhLXZhci1tb25leTogXCJcXGYwZDZcIjtcbiRmYS12YXItbW9vbi1vOiBcIlxcZjE4NlwiO1xuJGZhLXZhci1tb3J0YXItYm9hcmQ6IFwiXFxmMTlkXCI7XG4kZmEtdmFyLW1vdG9yY3ljbGU6IFwiXFxmMjFjXCI7XG4kZmEtdmFyLW1vdXNlLXBvaW50ZXI6IFwiXFxmMjQ1XCI7XG4kZmEtdmFyLW11c2ljOiBcIlxcZjAwMVwiO1xuJGZhLXZhci1uYXZpY29uOiBcIlxcZjBjOVwiO1xuJGZhLXZhci1uZXV0ZXI6IFwiXFxmMjJjXCI7XG4kZmEtdmFyLW5ld3NwYXBlci1vOiBcIlxcZjFlYVwiO1xuJGZhLXZhci1vYmplY3QtZ3JvdXA6IFwiXFxmMjQ3XCI7XG4kZmEtdmFyLW9iamVjdC11bmdyb3VwOiBcIlxcZjI0OFwiO1xuJGZhLXZhci1vZG5va2xhc3NuaWtpOiBcIlxcZjI2M1wiO1xuJGZhLXZhci1vZG5va2xhc3NuaWtpLXNxdWFyZTogXCJcXGYyNjRcIjtcbiRmYS12YXItb3BlbmNhcnQ6IFwiXFxmMjNkXCI7XG4kZmEtdmFyLW9wZW5pZDogXCJcXGYxOWJcIjtcbiRmYS12YXItb3BlcmE6IFwiXFxmMjZhXCI7XG4kZmEtdmFyLW9wdGluLW1vbnN0ZXI6IFwiXFxmMjNjXCI7XG4kZmEtdmFyLW91dGRlbnQ6IFwiXFxmMDNiXCI7XG4kZmEtdmFyLXBhZ2VsaW5lczogXCJcXGYxOGNcIjtcbiRmYS12YXItcGFpbnQtYnJ1c2g6IFwiXFxmMWZjXCI7XG4kZmEtdmFyLXBhcGVyLXBsYW5lOiBcIlxcZjFkOFwiO1xuJGZhLXZhci1wYXBlci1wbGFuZS1vOiBcIlxcZjFkOVwiO1xuJGZhLXZhci1wYXBlcmNsaXA6IFwiXFxmMGM2XCI7XG4kZmEtdmFyLXBhcmFncmFwaDogXCJcXGYxZGRcIjtcbiRmYS12YXItcGFzdGU6IFwiXFxmMGVhXCI7XG4kZmEtdmFyLXBhdXNlOiBcIlxcZjA0Y1wiO1xuJGZhLXZhci1wYXc6IFwiXFxmMWIwXCI7XG4kZmEtdmFyLXBheXBhbDogXCJcXGYxZWRcIjtcbiRmYS12YXItcGVuY2lsOiBcIlxcZjA0MFwiO1xuJGZhLXZhci1wZW5jaWwtc3F1YXJlOiBcIlxcZjE0YlwiO1xuJGZhLXZhci1wZW5jaWwtc3F1YXJlLW86IFwiXFxmMDQ0XCI7XG4kZmEtdmFyLXBob25lOiBcIlxcZjA5NVwiO1xuJGZhLXZhci1waG9uZS1zcXVhcmU6IFwiXFxmMDk4XCI7XG4kZmEtdmFyLXBob3RvOiBcIlxcZjAzZVwiO1xuJGZhLXZhci1waWN0dXJlLW86IFwiXFxmMDNlXCI7XG4kZmEtdmFyLXBpZS1jaGFydDogXCJcXGYyMDBcIjtcbiRmYS12YXItcGllZC1waXBlcjogXCJcXGYxYTdcIjtcbiRmYS12YXItcGllZC1waXBlci1hbHQ6IFwiXFxmMWE4XCI7XG4kZmEtdmFyLXBpbnRlcmVzdDogXCJcXGYwZDJcIjtcbiRmYS12YXItcGludGVyZXN0LXA6IFwiXFxmMjMxXCI7XG4kZmEtdmFyLXBpbnRlcmVzdC1zcXVhcmU6IFwiXFxmMGQzXCI7XG4kZmEtdmFyLXBsYW5lOiBcIlxcZjA3MlwiO1xuJGZhLXZhci1wbGF5OiBcIlxcZjA0YlwiO1xuJGZhLXZhci1wbGF5LWNpcmNsZTogXCJcXGYxNDRcIjtcbiRmYS12YXItcGxheS1jaXJjbGUtbzogXCJcXGYwMWRcIjtcbiRmYS12YXItcGx1ZzogXCJcXGYxZTZcIjtcbiRmYS12YXItcGx1czogXCJcXGYwNjdcIjtcbiRmYS12YXItcGx1cy1jaXJjbGU6IFwiXFxmMDU1XCI7XG4kZmEtdmFyLXBsdXMtc3F1YXJlOiBcIlxcZjBmZVwiO1xuJGZhLXZhci1wbHVzLXNxdWFyZS1vOiBcIlxcZjE5NlwiO1xuJGZhLXZhci1wb3dlci1vZmY6IFwiXFxmMDExXCI7XG4kZmEtdmFyLXByaW50OiBcIlxcZjAyZlwiO1xuJGZhLXZhci1wdXp6bGUtcGllY2U6IFwiXFxmMTJlXCI7XG4kZmEtdmFyLXFxOiBcIlxcZjFkNlwiO1xuJGZhLXZhci1xcmNvZGU6IFwiXFxmMDI5XCI7XG4kZmEtdmFyLXF1ZXN0aW9uOiBcIlxcZjEyOFwiO1xuJGZhLXZhci1xdWVzdGlvbi1jaXJjbGU6IFwiXFxmMDU5XCI7XG4kZmEtdmFyLXF1b3RlLWxlZnQ6IFwiXFxmMTBkXCI7XG4kZmEtdmFyLXF1b3RlLXJpZ2h0OiBcIlxcZjEwZVwiO1xuJGZhLXZhci1yYTogXCJcXGYxZDBcIjtcbiRmYS12YXItcmFuZG9tOiBcIlxcZjA3NFwiO1xuJGZhLXZhci1yZWJlbDogXCJcXGYxZDBcIjtcbiRmYS12YXItcmVjeWNsZTogXCJcXGYxYjhcIjtcbiRmYS12YXItcmVkZGl0OiBcIlxcZjFhMVwiO1xuJGZhLXZhci1yZWRkaXQtc3F1YXJlOiBcIlxcZjFhMlwiO1xuJGZhLXZhci1yZWZyZXNoOiBcIlxcZjAyMVwiO1xuJGZhLXZhci1yZWdpc3RlcmVkOiBcIlxcZjI1ZFwiO1xuJGZhLXZhci1yZW1vdmU6IFwiXFxmMDBkXCI7XG4kZmEtdmFyLXJlbnJlbjogXCJcXGYxOGJcIjtcbiRmYS12YXItcmVvcmRlcjogXCJcXGYwYzlcIjtcbiRmYS12YXItcmVwZWF0OiBcIlxcZjAxZVwiO1xuJGZhLXZhci1yZXBseTogXCJcXGYxMTJcIjtcbiRmYS12YXItcmVwbHktYWxsOiBcIlxcZjEyMlwiO1xuJGZhLXZhci1yZXR3ZWV0OiBcIlxcZjA3OVwiO1xuJGZhLXZhci1ybWI6IFwiXFxmMTU3XCI7XG4kZmEtdmFyLXJvYWQ6IFwiXFxmMDE4XCI7XG4kZmEtdmFyLXJvY2tldDogXCJcXGYxMzVcIjtcbiRmYS12YXItcm90YXRlLWxlZnQ6IFwiXFxmMGUyXCI7XG4kZmEtdmFyLXJvdGF0ZS1yaWdodDogXCJcXGYwMWVcIjtcbiRmYS12YXItcm91YmxlOiBcIlxcZjE1OFwiO1xuJGZhLXZhci1yc3M6IFwiXFxmMDllXCI7XG4kZmEtdmFyLXJzcy1zcXVhcmU6IFwiXFxmMTQzXCI7XG4kZmEtdmFyLXJ1YjogXCJcXGYxNThcIjtcbiRmYS12YXItcnVibGU6IFwiXFxmMTU4XCI7XG4kZmEtdmFyLXJ1cGVlOiBcIlxcZjE1NlwiO1xuJGZhLXZhci1zYWZhcmk6IFwiXFxmMjY3XCI7XG4kZmEtdmFyLXNhdmU6IFwiXFxmMGM3XCI7XG4kZmEtdmFyLXNjaXNzb3JzOiBcIlxcZjBjNFwiO1xuJGZhLXZhci1zZWFyY2g6IFwiXFxmMDAyXCI7XG4kZmEtdmFyLXNlYXJjaC1taW51czogXCJcXGYwMTBcIjtcbiRmYS12YXItc2VhcmNoLXBsdXM6IFwiXFxmMDBlXCI7XG4kZmEtdmFyLXNlbGxzeTogXCJcXGYyMTNcIjtcbiRmYS12YXItc2VuZDogXCJcXGYxZDhcIjtcbiRmYS12YXItc2VuZC1vOiBcIlxcZjFkOVwiO1xuJGZhLXZhci1zZXJ2ZXI6IFwiXFxmMjMzXCI7XG4kZmEtdmFyLXNoYXJlOiBcIlxcZjA2NFwiO1xuJGZhLXZhci1zaGFyZS1hbHQ6IFwiXFxmMWUwXCI7XG4kZmEtdmFyLXNoYXJlLWFsdC1zcXVhcmU6IFwiXFxmMWUxXCI7XG4kZmEtdmFyLXNoYXJlLXNxdWFyZTogXCJcXGYxNGRcIjtcbiRmYS12YXItc2hhcmUtc3F1YXJlLW86IFwiXFxmMDQ1XCI7XG4kZmEtdmFyLXNoZWtlbDogXCJcXGYyMGJcIjtcbiRmYS12YXItc2hlcWVsOiBcIlxcZjIwYlwiO1xuJGZhLXZhci1zaGllbGQ6IFwiXFxmMTMyXCI7XG4kZmEtdmFyLXNoaXA6IFwiXFxmMjFhXCI7XG4kZmEtdmFyLXNoaXJ0c2luYnVsazogXCJcXGYyMTRcIjtcbiRmYS12YXItc2hvcHBpbmctY2FydDogXCJcXGYwN2FcIjtcbiRmYS12YXItc2lnbi1pbjogXCJcXGYwOTBcIjtcbiRmYS12YXItc2lnbi1vdXQ6IFwiXFxmMDhiXCI7XG4kZmEtdmFyLXNpZ25hbDogXCJcXGYwMTJcIjtcbiRmYS12YXItc2ltcGx5YnVpbHQ6IFwiXFxmMjE1XCI7XG4kZmEtdmFyLXNpdGVtYXA6IFwiXFxmMGU4XCI7XG4kZmEtdmFyLXNreWF0bGFzOiBcIlxcZjIxNlwiO1xuJGZhLXZhci1za3lwZTogXCJcXGYxN2VcIjtcbiRmYS12YXItc2xhY2s6IFwiXFxmMTk4XCI7XG4kZmEtdmFyLXNsaWRlcnM6IFwiXFxmMWRlXCI7XG4kZmEtdmFyLXNsaWRlc2hhcmU6IFwiXFxmMWU3XCI7XG4kZmEtdmFyLXNtaWxlLW86IFwiXFxmMTE4XCI7XG4kZmEtdmFyLXNvY2Nlci1iYWxsLW86IFwiXFxmMWUzXCI7XG4kZmEtdmFyLXNvcnQ6IFwiXFxmMGRjXCI7XG4kZmEtdmFyLXNvcnQtYWxwaGEtYXNjOiBcIlxcZjE1ZFwiO1xuJGZhLXZhci1zb3J0LWFscGhhLWRlc2M6IFwiXFxmMTVlXCI7XG4kZmEtdmFyLXNvcnQtYW1vdW50LWFzYzogXCJcXGYxNjBcIjtcbiRmYS12YXItc29ydC1hbW91bnQtZGVzYzogXCJcXGYxNjFcIjtcbiRmYS12YXItc29ydC1hc2M6IFwiXFxmMGRlXCI7XG4kZmEtdmFyLXNvcnQtZGVzYzogXCJcXGYwZGRcIjtcbiRmYS12YXItc29ydC1kb3duOiBcIlxcZjBkZFwiO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtYXNjOiBcIlxcZjE2MlwiO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtZGVzYzogXCJcXGYxNjNcIjtcbiRmYS12YXItc29ydC11cDogXCJcXGYwZGVcIjtcbiRmYS12YXItc291bmRjbG91ZDogXCJcXGYxYmVcIjtcbiRmYS12YXItc3BhY2Utc2h1dHRsZTogXCJcXGYxOTdcIjtcbiRmYS12YXItc3Bpbm5lcjogXCJcXGYxMTBcIjtcbiRmYS12YXItc3Bvb246IFwiXFxmMWIxXCI7XG4kZmEtdmFyLXNwb3RpZnk6IFwiXFxmMWJjXCI7XG4kZmEtdmFyLXNxdWFyZTogXCJcXGYwYzhcIjtcbiRmYS12YXItc3F1YXJlLW86IFwiXFxmMDk2XCI7XG4kZmEtdmFyLXN0YWNrLWV4Y2hhbmdlOiBcIlxcZjE4ZFwiO1xuJGZhLXZhci1zdGFjay1vdmVyZmxvdzogXCJcXGYxNmNcIjtcbiRmYS12YXItc3RhcjogXCJcXGYwMDVcIjtcbiRmYS12YXItc3Rhci1oYWxmOiBcIlxcZjA4OVwiO1xuJGZhLXZhci1zdGFyLWhhbGYtZW1wdHk6IFwiXFxmMTIzXCI7XG4kZmEtdmFyLXN0YXItaGFsZi1mdWxsOiBcIlxcZjEyM1wiO1xuJGZhLXZhci1zdGFyLWhhbGYtbzogXCJcXGYxMjNcIjtcbiRmYS12YXItc3Rhci1vOiBcIlxcZjAwNlwiO1xuJGZhLXZhci1zdGVhbTogXCJcXGYxYjZcIjtcbiRmYS12YXItc3RlYW0tc3F1YXJlOiBcIlxcZjFiN1wiO1xuJGZhLXZhci1zdGVwLWJhY2t3YXJkOiBcIlxcZjA0OFwiO1xuJGZhLXZhci1zdGVwLWZvcndhcmQ6IFwiXFxmMDUxXCI7XG4kZmEtdmFyLXN0ZXRob3Njb3BlOiBcIlxcZjBmMVwiO1xuJGZhLXZhci1zdGlja3ktbm90ZTogXCJcXGYyNDlcIjtcbiRmYS12YXItc3RpY2t5LW5vdGUtbzogXCJcXGYyNGFcIjtcbiRmYS12YXItc3RvcDogXCJcXGYwNGRcIjtcbiRmYS12YXItc3RyZWV0LXZpZXc6IFwiXFxmMjFkXCI7XG4kZmEtdmFyLXN0cmlrZXRocm91Z2g6IFwiXFxmMGNjXCI7XG4kZmEtdmFyLXN0dW1ibGV1cG9uOiBcIlxcZjFhNFwiO1xuJGZhLXZhci1zdHVtYmxldXBvbi1jaXJjbGU6IFwiXFxmMWEzXCI7XG4kZmEtdmFyLXN1YnNjcmlwdDogXCJcXGYxMmNcIjtcbiRmYS12YXItc3Vid2F5OiBcIlxcZjIzOVwiO1xuJGZhLXZhci1zdWl0Y2FzZTogXCJcXGYwZjJcIjtcbiRmYS12YXItc3VuLW86IFwiXFxmMTg1XCI7XG4kZmEtdmFyLXN1cGVyc2NyaXB0OiBcIlxcZjEyYlwiO1xuJGZhLXZhci1zdXBwb3J0OiBcIlxcZjFjZFwiO1xuJGZhLXZhci10YWJsZTogXCJcXGYwY2VcIjtcbiRmYS12YXItdGFibGV0OiBcIlxcZjEwYVwiO1xuJGZhLXZhci10YWNob21ldGVyOiBcIlxcZjBlNFwiO1xuJGZhLXZhci10YWc6IFwiXFxmMDJiXCI7XG4kZmEtdmFyLXRhZ3M6IFwiXFxmMDJjXCI7XG4kZmEtdmFyLXRhc2tzOiBcIlxcZjBhZVwiO1xuJGZhLXZhci10YXhpOiBcIlxcZjFiYVwiO1xuJGZhLXZhci10ZWxldmlzaW9uOiBcIlxcZjI2Y1wiO1xuJGZhLXZhci10ZW5jZW50LXdlaWJvOiBcIlxcZjFkNVwiO1xuJGZhLXZhci10ZXJtaW5hbDogXCJcXGYxMjBcIjtcbiRmYS12YXItdGV4dC1oZWlnaHQ6IFwiXFxmMDM0XCI7XG4kZmEtdmFyLXRleHQtd2lkdGg6IFwiXFxmMDM1XCI7XG4kZmEtdmFyLXRoOiBcIlxcZjAwYVwiO1xuJGZhLXZhci10aC1sYXJnZTogXCJcXGYwMDlcIjtcbiRmYS12YXItdGgtbGlzdDogXCJcXGYwMGJcIjtcbiRmYS12YXItdGh1bWItdGFjazogXCJcXGYwOGRcIjtcbiRmYS12YXItdGh1bWJzLWRvd246IFwiXFxmMTY1XCI7XG4kZmEtdmFyLXRodW1icy1vLWRvd246IFwiXFxmMDg4XCI7XG4kZmEtdmFyLXRodW1icy1vLXVwOiBcIlxcZjA4N1wiO1xuJGZhLXZhci10aHVtYnMtdXA6IFwiXFxmMTY0XCI7XG4kZmEtdmFyLXRpY2tldDogXCJcXGYxNDVcIjtcbiRmYS12YXItdGltZXM6IFwiXFxmMDBkXCI7XG4kZmEtdmFyLXRpbWVzLWNpcmNsZTogXCJcXGYwNTdcIjtcbiRmYS12YXItdGltZXMtY2lyY2xlLW86IFwiXFxmMDVjXCI7XG4kZmEtdmFyLXRpbnQ6IFwiXFxmMDQzXCI7XG4kZmEtdmFyLXRvZ2dsZS1kb3duOiBcIlxcZjE1MFwiO1xuJGZhLXZhci10b2dnbGUtbGVmdDogXCJcXGYxOTFcIjtcbiRmYS12YXItdG9nZ2xlLW9mZjogXCJcXGYyMDRcIjtcbiRmYS12YXItdG9nZ2xlLW9uOiBcIlxcZjIwNVwiO1xuJGZhLXZhci10b2dnbGUtcmlnaHQ6IFwiXFxmMTUyXCI7XG4kZmEtdmFyLXRvZ2dsZS11cDogXCJcXGYxNTFcIjtcbiRmYS12YXItdHJhZGVtYXJrOiBcIlxcZjI1Y1wiO1xuJGZhLXZhci10cmFpbjogXCJcXGYyMzhcIjtcbiRmYS12YXItdHJhbnNnZW5kZXI6IFwiXFxmMjI0XCI7XG4kZmEtdmFyLXRyYW5zZ2VuZGVyLWFsdDogXCJcXGYyMjVcIjtcbiRmYS12YXItdHJhc2g6IFwiXFxmMWY4XCI7XG4kZmEtdmFyLXRyYXNoLW86IFwiXFxmMDE0XCI7XG4kZmEtdmFyLXRyZWU6IFwiXFxmMWJiXCI7XG4kZmEtdmFyLXRyZWxsbzogXCJcXGYxODFcIjtcbiRmYS12YXItdHJpcGFkdmlzb3I6IFwiXFxmMjYyXCI7XG4kZmEtdmFyLXRyb3BoeTogXCJcXGYwOTFcIjtcbiRmYS12YXItdHJ1Y2s6IFwiXFxmMGQxXCI7XG4kZmEtdmFyLXRyeTogXCJcXGYxOTVcIjtcbiRmYS12YXItdHR5OiBcIlxcZjFlNFwiO1xuJGZhLXZhci10dW1ibHI6IFwiXFxmMTczXCI7XG4kZmEtdmFyLXR1bWJsci1zcXVhcmU6IFwiXFxmMTc0XCI7XG4kZmEtdmFyLXR1cmtpc2gtbGlyYTogXCJcXGYxOTVcIjtcbiRmYS12YXItdHY6IFwiXFxmMjZjXCI7XG4kZmEtdmFyLXR3aXRjaDogXCJcXGYxZThcIjtcbiRmYS12YXItdHdpdHRlcjogXCJcXGYwOTlcIjtcbiRmYS12YXItdHdpdHRlci1zcXVhcmU6IFwiXFxmMDgxXCI7XG4kZmEtdmFyLXVtYnJlbGxhOiBcIlxcZjBlOVwiO1xuJGZhLXZhci11bmRlcmxpbmU6IFwiXFxmMGNkXCI7XG4kZmEtdmFyLXVuZG86IFwiXFxmMGUyXCI7XG4kZmEtdmFyLXVuaXZlcnNpdHk6IFwiXFxmMTljXCI7XG4kZmEtdmFyLXVubGluazogXCJcXGYxMjdcIjtcbiRmYS12YXItdW5sb2NrOiBcIlxcZjA5Y1wiO1xuJGZhLXZhci11bmxvY2stYWx0OiBcIlxcZjEzZVwiO1xuJGZhLXZhci11bnNvcnRlZDogXCJcXGYwZGNcIjtcbiRmYS12YXItdXBsb2FkOiBcIlxcZjA5M1wiO1xuJGZhLXZhci11c2Q6IFwiXFxmMTU1XCI7XG4kZmEtdmFyLXVzZXI6IFwiXFxmMDA3XCI7XG4kZmEtdmFyLXVzZXItbWQ6IFwiXFxmMGYwXCI7XG4kZmEtdmFyLXVzZXItcGx1czogXCJcXGYyMzRcIjtcbiRmYS12YXItdXNlci1zZWNyZXQ6IFwiXFxmMjFiXCI7XG4kZmEtdmFyLXVzZXItdGltZXM6IFwiXFxmMjM1XCI7XG4kZmEtdmFyLXVzZXJzOiBcIlxcZjBjMFwiO1xuJGZhLXZhci12ZW51czogXCJcXGYyMjFcIjtcbiRmYS12YXItdmVudXMtZG91YmxlOiBcIlxcZjIyNlwiO1xuJGZhLXZhci12ZW51cy1tYXJzOiBcIlxcZjIyOFwiO1xuJGZhLXZhci12aWFjb2luOiBcIlxcZjIzN1wiO1xuJGZhLXZhci12aWRlby1jYW1lcmE6IFwiXFxmMDNkXCI7XG4kZmEtdmFyLXZpbWVvOiBcIlxcZjI3ZFwiO1xuJGZhLXZhci12aW1lby1zcXVhcmU6IFwiXFxmMTk0XCI7XG4kZmEtdmFyLXZpbmU6IFwiXFxmMWNhXCI7XG4kZmEtdmFyLXZrOiBcIlxcZjE4OVwiO1xuJGZhLXZhci12b2x1bWUtZG93bjogXCJcXGYwMjdcIjtcbiRmYS12YXItdm9sdW1lLW9mZjogXCJcXGYwMjZcIjtcbiRmYS12YXItdm9sdW1lLXVwOiBcIlxcZjAyOFwiO1xuJGZhLXZhci13YXJuaW5nOiBcIlxcZjA3MVwiO1xuJGZhLXZhci13ZWNoYXQ6IFwiXFxmMWQ3XCI7XG4kZmEtdmFyLXdlaWJvOiBcIlxcZjE4YVwiO1xuJGZhLXZhci13ZWl4aW46IFwiXFxmMWQ3XCI7XG4kZmEtdmFyLXdoYXRzYXBwOiBcIlxcZjIzMlwiO1xuJGZhLXZhci13aGVlbGNoYWlyOiBcIlxcZjE5M1wiO1xuJGZhLXZhci13aWZpOiBcIlxcZjFlYlwiO1xuJGZhLXZhci13aWtpcGVkaWEtdzogXCJcXGYyNjZcIjtcbiRmYS12YXItd2luZG93czogXCJcXGYxN2FcIjtcbiRmYS12YXItd29uOiBcIlxcZjE1OVwiO1xuJGZhLXZhci13b3JkcHJlc3M6IFwiXFxmMTlhXCI7XG4kZmEtdmFyLXdyZW5jaDogXCJcXGYwYWRcIjtcbiRmYS12YXIteGluZzogXCJcXGYxNjhcIjtcbiRmYS12YXIteGluZy1zcXVhcmU6IFwiXFxmMTY5XCI7XG4kZmEtdmFyLXktY29tYmluYXRvcjogXCJcXGYyM2JcIjtcbiRmYS12YXIteS1jb21iaW5hdG9yLXNxdWFyZTogXCJcXGYxZDRcIjtcbiRmYS12YXIteWFob286IFwiXFxmMTllXCI7XG4kZmEtdmFyLXljOiBcIlxcZjIzYlwiO1xuJGZhLXZhci15Yy1zcXVhcmU6IFwiXFxmMWQ0XCI7XG4kZmEtdmFyLXllbHA6IFwiXFxmMWU5XCI7XG4kZmEtdmFyLXllbjogXCJcXGYxNTdcIjtcbiRmYS12YXIteW91dHViZTogXCJcXGYxNjdcIjtcbiRmYS12YXIteW91dHViZS1wbGF5OiBcIlxcZjE2YVwiO1xuJGZhLXZhci15b3V0dWJlLXNxdWFyZTogXCJcXGYxNjZcIjtcblxuIiwiLy8gQm9yZGVyZWQgJiBQdWxsZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlciB7XG4gIHBhZGRpbmc6IC4yZW0gLjI1ZW0gLjE1ZW07XG4gIGJvcmRlcjogc29saWQgLjA4ZW0gJGZhLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogLjFlbTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtbGVmdCB7IGZsb2F0OiBsZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHVsbC1yaWdodCB7IGZsb2F0OiByaWdodDsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0ge1xuICAmLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtbGVmdCB7IG1hcmdpbi1yaWdodDogLjNlbTsgfVxuICAmLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtcmlnaHQgeyBtYXJnaW4tbGVmdDogLjNlbTsgfVxufVxuXG4vKiBEZXByZWNhdGVkIGFzIG9mIDQuNC4wICovXG4ucHVsbC1yaWdodCB7IGZsb2F0OiByaWdodDsgfVxuLnB1bGwtbGVmdCB7IGZsb2F0OiBsZWZ0OyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fSB7XG4gICYucHVsbC1sZWZ0IHsgbWFyZ2luLXJpZ2h0OiAuM2VtOyB9XG4gICYucHVsbC1yaWdodCB7IG1hcmdpbi1sZWZ0OiAuM2VtOyB9XG59XG4iLCIvLyBTcGlubmluZyBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgICAgYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bHNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG4gICAgICAgICAgYW5pbWF0aW9uOiBmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhLXNwaW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cbiIsIi8vIFJvdGF0ZWQgJiBGbGlwcGVkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAgIHsgQGluY2x1ZGUgZmEtaWNvbi1yb3RhdGUoOTBkZWcsIDEpOyAgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS0xODAgeyBAaW5jbHVkZSBmYS1pY29uLXJvdGF0ZSgxODBkZWcsIDIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCB7IEBpbmNsdWRlIGZhLWljb24tcm90YXRlKDI3MGRlZywgMyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCB7IEBpbmNsdWRlIGZhLWljb24tZmxpcCgtMSwgMSwgMCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLXZlcnRpY2FsICAgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoMSwgLTEsIDIpOyB9XG5cbi8vIEhvb2sgZm9yIElFOC05XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbjpyb290IC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAsXG46cm9vdCAuI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTE4MCxcbjpyb290IC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtMjcwLFxuOnJvb3QgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCxcbjpyb290IC4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLXZlcnRpY2FsIHtcbiAgZmlsdGVyOiBub25lO1xufVxuIiwiLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gZmEtaWNvbigpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAjeyRmYS1mb250LXNpemUtYmFzZX0vI3skZmEtbGluZS1oZWlnaHQtYmFzZX0gRm9udEF3ZXNvbWU7IC8vIHNob3J0ZW5pbmcgZm9udCBkZWNsYXJhdGlvblxuICBmb250LXNpemU6IGluaGVyaXQ7IC8vIGNhbid0IGhhdmUgZm9udC1zaXplIGluaGVyaXQgb24gbGluZSBhYm92ZSwgc28gbmVlZCB0byBvdmVycmlkZVxuICB0ZXh0LXJlbmRlcmluZzogYXV0bzsgLy8gb3B0aW1pemVsZWdpYmlsaXR5IHRocm93cyB0aGluZ3Mgb2ZmICMxMDk0XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG59XG5cbkBtaXhpbiBmYS1pY29uLXJvdGF0ZSgkZGVncmVlcywgJHJvdGF0aW9uKSB7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249I3skcm90YXRpb259KTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbn1cblxuQG1peGluIGZhLWljb24tZmxpcCgkaG9yaXosICR2ZXJ0LCAkcm90YXRpb24pIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0jeyRyb3RhdGlvbn0pO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJGhvcml6LCAkdmVydCk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgkaG9yaXosICR2ZXJ0KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCRob3JpeiwgJHZlcnQpO1xufVxuIiwiLy8gU3RhY2tlZCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDJlbTtcbiAgaGVpZ2h0OiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stMXgsIC4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0yeCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0xeCB7IGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stMnggeyBmb250LXNpemU6IDJlbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWludmVyc2UgeyBjb2xvcjogJGZhLWludmVyc2U7IH1cbiIsIi8qIEZvbnQgQXdlc29tZSB1c2VzIHRoZSBVbmljb2RlIFByaXZhdGUgVXNlIEFyZWEgKFBVQSkgdG8gZW5zdXJlIHNjcmVlblxuICAgcmVhZGVycyBkbyBub3QgcmVhZCBvZmYgcmFuZG9tIGNoYXJhY3RlcnMgdGhhdCByZXByZXNlbnQgaWNvbnMgKi9cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2xhc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tdXNpYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW11c2ljOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2VhcmNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVudmVsb3BlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhlYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0YXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGFyLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbG06YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGgtbGFyZ2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aC1sYXJnZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aC1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGgtbGlzdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hlY2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZW1vdmU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3NlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10aW1lczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRpbWVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoLXBsdXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zZWFyY2gtcGx1czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlYXJjaC1taW51czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNlYXJjaC1taW51czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvd2VyLW9mZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBvd2VyLW9mZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ25hbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNpZ25hbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlYXI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYXNoLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmFzaC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9tZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhvbWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG9jay1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2xvY2stbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvYWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yb2FkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kb3dubG9hZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1vLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtby1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLW8tdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtby11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluYm94OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5ib3g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGF5LWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGxheS1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS1yaWdodDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcmVwZWF0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVwZWF0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVmcmVzaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlZnJlc2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpc3QtYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9jazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxvY2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmxhZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRwaG9uZXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oZWFkcGhvbmVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sdW1lLW9mZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZvbHVtZS1vZmY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZvbHVtZS1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sdW1lLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdm9sdW1lLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXJjb2RlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcXJjb2RlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFyY29kZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhcmNvZGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YWc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWdzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGFnczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ib29rOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9va21hcms6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ib29rbWFyazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByaW50OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcHJpbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYW1lcmE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYW1lcmE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9udDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbGQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ib2xkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXRhbGljOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaXRhbGljOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGV4dC1oZWlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZXh0LWhlaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRleHQtd2lkdGg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZXh0LXdpZHRoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFsaWduLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1jZW50ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbGlnbi1jZW50ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFsaWduLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tanVzdGlmeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFsaWduLWp1c3RpZnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlzdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlZGVudDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tb3V0ZGVudDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW91dGRlbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmRlbnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbmRlbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWRlby1jYW1lcmE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12aWRlby1jYW1lcmE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG90bzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taW1hZ2U6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpY3R1cmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpY3R1cmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBlbmNpbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXAtbWFya2VyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRqdXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWRqdXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGludDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRpbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lZGl0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1wZW5jaWwtc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wZW5jaWwtc3F1YXJlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZS1zcXVhcmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoYXJlLXNxdWFyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGVjay1zcXVhcmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGVwLWJhY2t3YXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFzdC1iYWNrd2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZhc3QtYmFja3dhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWNrd2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhY2t3YXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxheTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsYXk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXVzZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhdXNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0b3A7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9yd2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhc3QtZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZhc3QtZm9yd2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZXAtZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0ZXAtZm9yd2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVqZWN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZWplY3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXMtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGx1cy1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taW51cy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taW51cy1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW1lcy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aW1lcy1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGVjay1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdWVzdGlvbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xdWVzdGlvbi1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmZvLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWluZm8tY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3Jvc3NoYWlyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNyb3NzaGFpcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW1lcy1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRpbWVzLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGVjay1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1haWwtZm9yd2FyZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4cGFuZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4cGFuZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXByZXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tcHJlc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGx1czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWludXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hc3RlcmlzazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFzdGVyaXNrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhjbGFtYXRpb24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXhjbGFtYXRpb24tY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2lmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdpZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZWFmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGVhZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXllOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXllOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXllLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXllLXNsYXNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2FybmluZzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leGNsYW1hdGlvbi10cmlhbmdsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGxhbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbGVuZGFyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFuZG9tOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmFuZG9tOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbW1lbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWduZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYWduZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJldHdlZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZXR3ZWV0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctY2FydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNob3BwaW5nLWNhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb2xkZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItb3BlbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbGRlci1vcGVuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLXY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvd3MtdjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93cy1oOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3dzLWg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXItY2hhcnQtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmFyLWNoYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmFyLWNoYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHdpdHRlci1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10d2l0dGVyLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZhY2Vib29rLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbWVyYS1yZXRybzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbWVyYS1yZXRybzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtleTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWtleTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlYXJzOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jb2dzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29nczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tbWVudHM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aHVtYnMtby11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRodW1icy1vLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLW8tZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRodW1icy1vLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWhhbGY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGFyLWhhbGY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFydC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGVhcnQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ24tb3V0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2lnbi1vdXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5rZWRpbi1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saW5rZWRpbi1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aHVtYi10YWNrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGh1bWItdGFjazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4dGVybmFsLWxpbms6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leHRlcm5hbC1saW5rOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbi1pbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNpZ24taW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cm9waHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cm9waHk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRodWItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2l0aHViLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVwbG9hZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlbW9uLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sZW1vbi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waG9uZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3F1YXJlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rbWFyay1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYm9va21hcmstbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBob25lLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR3aXR0ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10d2l0dGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stZjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mYWNlYm9vazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1YjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdpdGh1YjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVubG9jazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVubG9jazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWRpdC1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3JlZGl0LWNhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mZWVkOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZGQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhkZC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVsbGhvcm46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idWxsaG9ybjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWxsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2VydGlmaWNhdGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jZXJ0aWZpY2F0ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtby1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1vLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLW8tdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLW8tdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLW8tZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtby1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdsb2JlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td3JlbmNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd3JlbmNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFza3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YXNrczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbHRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbHRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyaWVmY2FzZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJyaWVmY2FzZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93cy1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvd3MtYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JvdXA6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFpbjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tbGluazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpbms7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNsb3VkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhc2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbGFzazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWN1dDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc2Npc3NvcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zY2lzc29yczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvcHk6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGVzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlcy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFwZXJjbGlwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGFwZXJjbGlwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2F2ZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmxvcHB5LW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbG9wcHktbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5hdmljb246YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlb3JkZXI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlzdC11bDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpc3QtdWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LW9sOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlzdC1vbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmlrZXRocm91Z2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdHJpa2V0aHJvdWdoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5kZXJsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW5kZXJsaW5lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YWJsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hZ2ljOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFnaWM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cnVjazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRydWNrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGludGVyZXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpbnRlcmVzdC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nb29nbGUtcGx1cy1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdvb2dsZS1wbHVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tb25leTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbHVtbnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2x1bW5zOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5zb3J0ZWQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1kb3duOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWRlc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LWRlc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LXVwOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtYXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbnZlbG9wZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbmtlZGluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlua2VkaW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtbGVmdDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdW5kbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVuZG87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZWdhbDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZ2F2ZWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nYXZlbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRhc2hib2FyZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGFjaG9tZXRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRhY2hvbWV0ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21tZW50LW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50cy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tbWVudHMtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYXNoOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ib2x0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYm9sdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpdGVtYXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaXRlbWFwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW1icmVsbGE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11bWJyZWxsYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhc3RlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jbGlwYm9hcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jbGlwYm9hcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saWdodGJ1bGItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpZ2h0YnVsYi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhjaGFuZ2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leGNoYW5nZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLWRvd25sb2FkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2xvdWQtZG93bmxvYWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC11cGxvYWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jbG91ZC11cGxvYWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLW1kOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci1tZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZXRob3Njb3BlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RldGhvc2NvcGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdWl0Y2FzZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN1aXRjYXNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVsbC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29mZmVlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29mZmVlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0bGVyeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWN1dGxlcnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXRleHQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtdGV4dC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVpbGRpbmctbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1aWxkaW5nLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG9zcGl0YWwtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtYnVsYW5jZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFtYnVsYW5jZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGtpdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1lZGtpdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpZ2h0ZXItamV0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlnaHRlci1qZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWgtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsdXMtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS1kb3VibGUtbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLWRvdWJsZS1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLWRvdWJsZS11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtZG91YmxlLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXNrdG9wOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZGVza3RvcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhcHRvcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxhcHRvcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhYmxldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRhYmxldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vYmlsZS1waG9uZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbW9iaWxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1b3RlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xdW90ZS1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVvdGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xdW90ZS1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW5uZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zcGlubmVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFpbC1yZXBseTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcmVwbHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZXBseTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1Yi1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1naXRodWItYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb2xkZXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlci1vcGVuLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb2xkZXItb3Blbi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21pbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNtaWxlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcm93bi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZnJvd24tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1laC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWVoLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYW1lcGFkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2FtZXBhZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtleWJvYXJkLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1rZXlib2FyZC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhZy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmxhZy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhZy1jaGVja2VyZWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbGFnLWNoZWNrZXJlZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlcm1pbmFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGVybWluYWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29kZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1haWwtcmVwbHktYWxsOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBseS1hbGw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZXBseS1hbGw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWhhbGYtZW1wdHk6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItaGFsZi1mdWxsOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWhhbGYtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0YXItaGFsZi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9jYXRpb24tYXJyb3c6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sb2NhdGlvbi1hcnJvdzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyb3A6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jcm9wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZS1mb3JrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29kZS1mb3JrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5saW5rOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFpbi1icm9rZW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGFpbi1icm9rZW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdWVzdGlvbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXF1ZXN0aW9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5mbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWluZm87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4Y2xhbWF0aW9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VwZXJzY3JpcHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdXBlcnNjcmlwdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1YnNjcmlwdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN1YnNjcmlwdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVyYXNlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVyYXNlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1enpsZS1waWVjZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXB1enpsZS1waWVjZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvcGhvbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taWNyb3Bob25lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9waG9uZS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1pY3JvcGhvbmUtc2xhc2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGllbGQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGllbGQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsZW5kYXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlyZS1leHRpbmd1aXNoZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb2NrZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yb2NrZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXhjZG46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXhjZG47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tY2lyY2xlLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1jaXJjbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tY2lyY2xlLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1odG1sNTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWh0bWw1OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3NzMzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNzczM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmNob3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmNob3I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bmxvY2stYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW5sb2NrLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1bGxzZXllOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnVsbHNleWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGxpcHNpcy1oOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZWxsaXBzaXMtaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsbGlwc2lzLXY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbGxpcHNpcy12OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnNzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJzcy1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGF5LWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsYXktY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGlja2V0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGlja2V0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWludXMtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXMtc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taW51cy1zcXVhcmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxldmVsLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGV2ZWwtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXZlbC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGV2ZWwtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZWNrLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wZW5jaWwtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXh0ZXJuYWwtbGluay1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leHRlcm5hbC1saW5rLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoYXJlLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXBhc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21wYXNzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLWRvd246YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1vLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1zcXVhcmUtby1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLXVwOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtby11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LXNxdWFyZS1vLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLXJpZ2h0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtby1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LXNxdWFyZS1vLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXVybzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZXVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2JwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2JwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9sbGFyOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS11c2Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydXBlZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taW5yOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5yOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY255OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ybWI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXllbjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tanB5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItanB5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVibGU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdWJsZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcnViOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcnViOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td29uOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1rcnc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1rcnc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXRjb2luOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1idGM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idGM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdGV4dDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtdGV4dDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYWxwaGEtYXNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydC1hbHBoYS1hc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFscGhhLWRlc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LWFscGhhLWRlc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFtb3VudC1hc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LWFtb3VudC1hc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFtb3VudC1kZXNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydC1hbW91bnQtZGVzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtbnVtZXJpYy1hc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LW51bWVyaWMtYXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLWRlc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LW51bWVyaWMtZGVzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1icy11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRodW1icy11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1icy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGh1bWJzLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15b3V0dWJlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXlvdXR1YmUtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teW91dHViZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXlvdXR1YmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS14aW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteGluZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXhpbmctc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteGluZy1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15b3V0dWJlLXBsYXk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci15b3V0dWJlLXBsYXk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcm9wYm94OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZHJvcGJveDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLW92ZXJmbG93OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RhY2stb3ZlcmZsb3c7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnN0YWdyYW06YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbnN0YWdyYW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlja3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbGlja3I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZG46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hZG47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXRidWNrZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iaXRidWNrZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXRidWNrZXQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYml0YnVja2V0LXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR1bWJscjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXR1bWJscjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR1bWJsci1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10dW1ibHItc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG9uZy1hcnJvdy1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxvbmctYXJyb3ctdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sb25nLWFycm93LWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG9uZy1hcnJvdy1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcGxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXBwbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3dzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2luZG93czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZHJvaWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmRyb2lkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGludXg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saW51eDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyaWJiYmxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZHJpYmJibGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za3lwZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNreXBlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm91cnNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvdXJzcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmVsbG86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmVsbG87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mZW1hbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mZW1hbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdHRpcDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZ3JhdGlwYXk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ncmF0aXBheTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1bi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3VuLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb29uLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tb29uLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcmNoaXZlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJjaGl2ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1ZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1ZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdms7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13ZWlibzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdlaWJvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVucmVuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVucmVuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFnZWxpbmVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGFnZWxpbmVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stZXhjaGFuZ2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGFjay1leGNoYW5nZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1vLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLW8tcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLW8tbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS1sZWZ0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtby1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyZXQtc3F1YXJlLW8tbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvdC1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRvdC1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdoZWVsY2hhaXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aGVlbGNoYWlyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmltZW8tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmltZW8tc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHVya2lzaC1saXJhOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10cnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGx1cy1zcXVhcmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwYWNlLXNodXR0bGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zcGFjZS1zaHV0dGxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xhY2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbGFjazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVudmVsb3BlLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdvcmRwcmVzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdvcmRwcmVzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZW5pZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9wZW5pZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluc3RpdHV0aW9uOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYW5rOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS11bml2ZXJzaXR5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW5pdmVyc2l0eTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vcnRhci1ib2FyZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZ3JhZHVhdGlvbi1jYXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ncmFkdWF0aW9uLWNhcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlhaG9vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteWFob287IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nb29nbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRkaXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWRkaXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRkaXQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVkZGl0LXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0dW1ibGV1cG9uLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0dW1ibGV1cG9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3R1bWJsZXVwb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZWxpY2lvdXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kZWxpY2lvdXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWdnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZGlnZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waWVkLXBpcGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllZC1waXBlci1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waWVkLXBpcGVyLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRydXBhbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRydXBhbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpvb21sYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWpvb21sYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhbmd1YWdlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGFuZ3VhZ2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYXg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mYXg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWlsZGluZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1aWxkaW5nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hpbGQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGlsZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhdzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhdzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwb29uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3Bvb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jdWJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3ViZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWN1YmVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3ViZXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWhhbmNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVoYW5jZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlaGFuY2Utc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVoYW5jZS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGVhbTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0ZWFtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlYW0tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RlYW0tc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVjeWNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlY3ljbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdXRvbW9iaWxlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jYXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRheGk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YXhpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJlZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyZWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcG90aWZ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3BvdGlmeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRldmlhbnRhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kZXZpYW50YXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc291bmRjbG91ZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvdW5kY2xvdWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kYXRhYmFzZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRhdGFiYXNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1wZGYtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtcGRmLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXdvcmQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtd29yZC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1leGNlbC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1leGNlbC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1wb3dlcnBvaW50LW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLXBvd2VycG9pbnQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcGhvdG8tbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1waWN0dXJlLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW1hZ2UtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtaW1hZ2UtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtemlwLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtYXJjaGl2ZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1hcmNoaXZlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXNvdW5kLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtYXVkaW8tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtYXVkaW8tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtbW92aWUtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS12aWRlby1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS12aWRlby1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1jb2RlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLWNvZGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12aW5lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZXBlbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvZGVwZW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qc2ZpZGRsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWpzZmlkZGxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlmZS1ib3V5OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1saWZlLWJ1b3k6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZmUtc2F2ZXI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1cHBvcnQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZmUtcmluZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpZmUtcmluZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNpcmNsZS1vLW5vdGNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2lyY2xlLW8tbm90Y2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcmViZWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWJlbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1lbXBpcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbXBpcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2l0LXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdpdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXktY29tYmluYXRvci1zcXVhcmU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXljLXNxdWFyZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taGFja2VyLW5ld3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYWNrZXItbmV3czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbmNlbnQtd2VpYm86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZW5jZW50LXdlaWJvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xcTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlY2hhdDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0td2VpeGluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2VpeGluOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VuZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcGFwZXItcGxhbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXBlci1wbGFuZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlbmQtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcGFwZXItcGxhbmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhcGVyLXBsYW5lLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaXN0b3J5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGlzdG9yeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNpcmNsZS10aGluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2lyY2xlLXRoaW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oZWFkZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXJhZ3JhcGg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXJhZ3JhcGg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGlkZXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2xpZGVyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoYXJlLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLWFsdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGFyZS1hbHQtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9tYjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJvbWI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb2NjZXItYmFsbC1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1mdXRib2wtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZ1dGJvbC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHR5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHR5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlub2N1bGFyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJpbm9jdWxhcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGx1ZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNsaWRlc2hhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbGlkZXNoYXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHdpdGNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHdpdGNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWVscDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXllbHA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uZXdzcGFwZXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW5ld3NwYXBlci1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2lmaTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpZmk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxjdWxhdG9yOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsY3VsYXRvcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBheXBhbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBheXBhbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS13YWxsZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nb29nbGUtd2FsbGV0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtdmlzYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLXZpc2E7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1tYXN0ZXJjYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtbWFzdGVyY2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWRpc2NvdmVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtZGlzY292ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1hbWV4OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtYW1leDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLXBheXBhbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLXBheXBhbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLXN0cmlwZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLXN0cmlwZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGwtc2xhc2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWxsLXNsYXNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbC1zbGFzaC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVsbC1zbGFzaC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhc2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmFzaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvcHlyaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvcHlyaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWVkcm9wcGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXllZHJvcHBlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhaW50LWJydXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGFpbnQtYnJ1c2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXJ0aGRheS1jYWtlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmlydGhkYXktY2FrZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFyZWEtY2hhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcmVhLWNoYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllLWNoYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGllLWNoYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGluZS1jaGFydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpbmUtY2hhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXN0Zm06YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sYXN0Zm07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXN0Zm0tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGFzdGZtLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS1vZmY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10b2dnbGUtb2ZmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdG9nZ2xlLW9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmljeWNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJpY3ljbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pb3hob3N0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW94aG9zdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2VsbGlzdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2VsbGlzdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGVrZWw6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoZXFlbDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taWxzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaWxzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVhbnBhdGg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tZWFucGF0aDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1eXNlbGxhZHM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idXlzZWxsYWRzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29ubmVjdGRldmVsb3A6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb25uZWN0ZGV2ZWxvcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRhc2hjdWJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZGFzaGN1YmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb3J1bWJlZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvcnVtYmVlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVhbnB1YjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxlYW5wdWI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWxsc3k6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zZWxsc3k7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGlydHNpbmJ1bGs6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGlydHNpbmJ1bGs7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaW1wbHlidWlsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNpbXBseWJ1aWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2t5YXRsYXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1za3lhdGxhczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnQtcGx1czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcnQtcGx1czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnQtYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcnQtYXJyb3ctZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpYW1vbmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kaWFtb25kOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoaXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXNlY3JldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZXItc2VjcmV0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW90b3JjeWNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1vdG9yY3ljbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHJlZXQtdmlldzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0cmVldC12aWV3OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnRiZWF0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGVhcnRiZWF0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVudXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12ZW51czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVyY3VyeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1lcmN1cnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnRlcnNleDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdHJhbnNnZW5kZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmFuc2dlbmRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYW5zZ2VuZGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyYW5zZ2VuZGVyLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlbnVzLWRvdWJsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZlbnVzLWRvdWJsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtZG91YmxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFycy1kb3VibGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12ZW51cy1tYXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmVudXMtbWFyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFycy1zdHJva2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzLXN0cm9rZS12OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFycy1zdHJva2UtdjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlLWg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXJzLXN0cm9rZS1oOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmV1dGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbmV1dGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2VuZGVybGVzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdlbmRlcmxlc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYWNlYm9vay1vZmZpY2lhbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZhY2Vib29rLW9mZmljaWFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0LXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waW50ZXJlc3QtcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdoYXRzYXBwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2hhdHNhcHA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZXJ2ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zZXJ2ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXBsdXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyLXBsdXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXRpbWVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci10aW1lczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdGVsOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iZWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWFjb2luOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmlhY29pbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJhaW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdWJ3YXk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdWJ3YXk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWRpdW06YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tZWRpdW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15YzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0teS1jb21iaW5hdG9yOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteS1jb21iaW5hdG9yOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3B0aW4tbW9uc3RlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9wdGluLW1vbnN0ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcGVuY2FydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9wZW5jYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwZWRpdGVkc3NsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXhwZWRpdGVkc3NsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS00OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXR0ZXJ5LWZ1bGw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LTM6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS0yOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWhhbGY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXR0ZXJ5LWhhbGY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LTE6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktcXVhcnRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdHRlcnktcXVhcnRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktMDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdHRlcnktZW1wdHk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3VzZS1wb2ludGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbW91c2UtcG9pbnRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWktY3Vyc29yOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaS1jdXJzb3I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vYmplY3QtZ3JvdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vYmplY3QtZ3JvdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vYmplY3QtdW5ncm91cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9iamVjdC11bmdyb3VwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RpY2t5LW5vdGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGlja3ktbm90ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0aWNreS1ub3RlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGlja3ktbm90ZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtamNiOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtamNiOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtZGluZXJzLWNsdWI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1kaW5lcnMtY2x1YjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb25lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2xvbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWxhbmNlLXNjYWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmFsYW5jZS1zY2FsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG91cmdsYXNzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtMTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLXN0YXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG91cmdsYXNzLXN0YXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLTI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG91cmdsYXNzLWhhbGY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtMzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLWVuZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhvdXJnbGFzcy1lbmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3VyZ2xhc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWdyYWItbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1yb2NrLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLXJvY2stbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtc3RvcC1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBhcGVyLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLXBhcGVyLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXNjaXNzb3JzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLXNjaXNzb3JzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWxpemFyZC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1saXphcmQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtc3BvY2stbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtc3BvY2stbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcG9pbnRlci1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1wb2ludGVyLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBlYWNlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLXBlYWNlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFkZW1hcms6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmFkZW1hcms7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWdpc3RlcmVkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVnaXN0ZXJlZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2c6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdnLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdnLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyaXBhZHZpc29yOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJpcGFkdmlzb3I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vZG5va2xhc3NuaWtpOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb2Rub2tsYXNzbmlraTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9kbm9rbGFzc25pa2ktc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb2Rub2tsYXNzbmlraS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZXQtcG9ja2V0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2V0LXBvY2tldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpa2lwZWRpYS13OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2lraXBlZGlhLXc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYWZhcmk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zYWZhcmk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaHJvbWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaHJvbWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJlZm94OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlyZWZveDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZXJhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb3BlcmE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnRlcm5ldC1leHBsb3JlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWludGVybmV0LWV4cGxvcmVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHY6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbGV2aXNpb246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZWxldmlzaW9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29udGFvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29udGFvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tNTAwcHg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci01MDBweDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtYXpvbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFtYXpvbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXBsdXMtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbGVuZGFyLXBsdXMtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLW1pbnVzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYWxlbmRhci1taW51cy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItdGltZXMtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbGVuZGFyLXRpbWVzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1jaGVjay1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsZW5kYXItY2hlY2stbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZHVzdHJ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5kdXN0cnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtcGluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFwLXBpbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1zaWduczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcC1zaWduczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFwLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50aW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tbWVudGluZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRpbmctbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbW1lbnRpbmctbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXp6OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG91eno7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aW1lbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZpbWVvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxhY2stdGllOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmxhY2stdGllOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udGljb25zOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9udGljb25zOyB9XG4iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgc3JjOiAgdXJsKCcuLi9mb250cy9pY29tb29uLmVvdD8xcm8zdHcnKTtcbiAgc3JjOiAgdXJsKCcuLi9mb250cy9pY29tb29uLmVvdD8xcm8zdHcjaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgnLi4vZm9udHMvaWNvbW9vbi53b2ZmMj8xcm8zdHcnKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnLi4vZm9udHMvaWNvbW9vbi50dGY/MXJvM3R3JykgZm9ybWF0KCd0cnVldHlwZScpLFxuICB1cmwoJy4uL2ZvbnRzL2ljb21vb24ud29mZj8xcm8zdHcnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCcuLi9mb250cy9pY29tb29uLnN2Zz8xcm8zdHcjaWNvbW9vbicpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLmljbyB7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcblxuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5pY28tc2hvdy1uYW1lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMFwiO1xufVxuLmljby1vYmplY3QtYXJyb3ctYm9yZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNiXCI7XG59XG4uaWNvLW9iamVjdC1hcnJvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzZFwiO1xufVxuLmljby1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI2XCI7XG59XG4uaWNvLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQ0XCI7XG59XG4uaWNvLWFycm93LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTU0XCI7XG59XG4uaWNvLWFycm93LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTBcIjtcbn1cbi5pY28tYXJyb3ctdXAtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1NVwiO1xufVxuLmljby1hcnJvdy1sZWZ0LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI3XCI7XG59XG4uaWNvLWFycm93LWFyci1yaWdodC1idG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDJcIjtcbn1cbi5pY28tcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMVwiO1xufVxuLmljby1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyZVwiO1xufVxuLmljby16b29tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJkXCI7XG59XG4uaWNvLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBiXCI7XG59XG4uaWNvLXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NWJcIjtcbn1cbi5pY28tZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTFcIjtcbn1cbi5pY28tdXBsb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTU2XCI7XG59XG4uaWNvLWdlYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTJcIjtcbn1cbi5pY28tc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQ5XCI7XG59XG4uaWNvLXdhdGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTVhXCI7XG59XG4uaWNvLXdhcm5pbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NTlcIjtcbn1cbi5pY28tbG9jYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjlcIjtcbn1cbi5pY28tY2FtZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XG59XG4uaWNvLXN0cmVldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0ZlwiO1xufVxuLmljby1yZXBvcnRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQzXCI7XG59XG4uaWNvLWZpbHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNFwiO1xufVxuLmljby1ncmFwaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyMVwiO1xufVxuLmljby1mb2xsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTVcIjtcbn1cbi5pY28tdHJhZmZpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyY1wiO1xufVxuLmljby1zYXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQ4XCI7XG59XG4uaWNvLXRvb2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzdcIjtcbn1cbi5pY28tcnVsZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDZcIjtcbn1cbi5pY28tcnVsZXItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0N1wiO1xufVxuLmljby1nZWFyLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzZcIjtcbn1cbi5pY28tc2Vuc29yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTMwXCI7XG59XG4uaWNvLXNpZ25hbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxOFwiO1xufVxuLmljby1ob3VzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0YlwiO1xufVxuLmljby1wb2ludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0ZFwiO1xufVxuLmljby1sb2dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTMyXCI7XG59XG4uaWNvLW9wdGlvbnMtaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzYVwiO1xufVxuLmljby1vcHRpb25zLXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDFcIjtcbn1cbi5pY28tc3R5bGl6ZS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTUwXCI7XG59XG4uaWNvLXN0eWxpemUtMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1MVwiO1xufVxuLmljby1kZXRhaWxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBlXCI7XG59XG4uaWNvLWFjY291bnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzlcIjtcbn1cbi5pY28tdXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzOFwiO1xufVxuLmljby11c2VyLWFkZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1N1wiO1xufVxuLmljby11c2VyLXNldHRpbmdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTU4XCI7XG59XG4uaWNvLW9iamVjdC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJhXCI7XG59XG4uaWNvLW9iamVjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzNFwiO1xufVxuLmljby1vYmplY3QtYWRkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNlXCI7XG59XG4uaWNvLW9iamVjdC1pbXBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjBcIjtcbn1cbi5pY28tc2hvdy1uYW1lczI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NGNcIjtcbn1cbi5pY28tc2hvdy10cmFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwM1wiO1xufVxuLmljby1maXRib3VuZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzVcIjtcbn1cbi5pY28tZ3JvdXBpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5M2NcIjtcbn1cbi5pY28tcG9pOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTMzXCI7XG59XG4uaWNvLXBvaS1pbXBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTdcIjtcbn1cbi5pY28tYWRkLWV2ZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG59XG4uaWNvLWV2ZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTMxXCI7XG59XG4uaWNvLWV2ZW50LWFkZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNVwiO1xufVxuLmljby1nZW9mZW5jZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyYlwiO1xufVxuLmljby1nZW9mZW5jZS1pbXBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjVcIjtcbn1cbi5pY28tcGFya2luZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0MFwiO1xufVxuLmljby10aW1lLXRvZGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFmXCI7XG59XG4uaWNvLXRpbWUtaG91cjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyMlwiO1xufVxuLmljby10aW1lLXllc3RlcmRheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyM1wiO1xufVxuLmljby1nc20tMDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxOVwiO1xufVxuLmljby1nc20tMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxYVwiO1xufVxuLmljby1nc20tMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxYlwiO1xufVxuLmljby1nc20tMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxY1wiO1xufVxuLmljby1nc20tNDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxZFwiO1xufVxuLmljby1nc20tNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxZVwiO1xufVxuLmljby1iYXR0ZXJ5LTA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDZcIjtcbn1cbi5pY28tYmF0dGVyeS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XG59XG4uaWNvLWJhdHRlcnktMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwOFwiO1xufVxuLmljby1iYXR0ZXJ5LTM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDlcIjtcbn1cbi5pY28tYmF0dGVyeS00OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBjXCI7XG59XG4uaWNvLWJhdHRlcnktNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwZFwiO1xufVxuLmljby1lbmdpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTNcIjtcbn1cbi5pY28taWduaXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjRcIjtcbn1cbi5pY28tZnVlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNlwiO1xufVxuLmljby1vZG9tZXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzZlwiO1xufVxuLmljby1iYXR0ZXJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBmXCI7XG59XG4uaWNvLXJwbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0NVwiO1xufVxuLmljby1zcGVlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0ZVwiO1xufVxuLmljby10YWNob21ldGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTUyXCI7XG59XG4uaWNvLXRlbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NTNcIjtcbn1cbi5pY28tZG9vcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjBcIjtcbn1cbi5pY28tY3B1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI4XCI7XG59XG4uaWNvLWRiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJmXCI7XG59XG4uaWNvLXJhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0MlwiO1xufVxuLmljby1jb25uZWN0ZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NGFcIjtcbn1cbi5pY28tZGlzY29ubmVjdGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTVjXCI7XG59XG4uaWNvLXNvczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1ZFwiO1xufVxuLmljby16b25laW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NWVcIjtcbn1cbi5pY28tem9uZW91dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1ZlwiO1xufVxuLmljby1sb2dpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTYxXCI7XG59XG4uaWNvLWVuZ2luZS1ob3VyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2MlwiO1xufVxuLmljby1zZWF0YmVsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2M1wiO1xufVxuLmljby10ZXh0dWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTY0XCI7XG59XG4uaWNvLWxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjVcIjtcbn0iLCIvL1xuLy8gQ2hlY2tib3hlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBjaGVja2JveC12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGxhYmVsOiAnbGFiZWwnKSB7XG4gICN7JHBhcmVudH0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyAjeyRsYWJlbH0sXG4gICN7JHBhcmVudH0gaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyAjeyRsYWJlbH0ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gICAgJjo6YWZ0ZXJ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGNoZWNrYm94LWNvbnRhaW5lcigkc2VsZWN0b3IpIHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgICAmOjpiZWZvcmV7XG4gICAgICAgIGNvbnRlbnQ6ICdcXDAwMDAnO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAoJGNoZWNrYm94LXNpemUgLSAzKTtcbiAgICAgICAgaGVpZ2h0OiAoJGNoZWNrYm94LXNpemUgLSAzKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjaGVja2JveC1iYWNrZ3JvdW5kLWNvbG9yO1xuXG4gICAgICAgIG1hcmdpbjogMXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgcGFkZGluZzogJGNoZWNrYm94LXBhZGRpbmc7XG4gICAgICAgIGZvbnQtc2l6ZTogJGNoZWNrYm94LWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRjaGVja2JveC1ib3JkZXItcmFkaXVzO1xuXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYm9yZGVyIDAuMTVzIGVhc2UtaW4tb3V0LCBjb2xvciAwLjE1cyBlYXNlLWluLW91dCk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVye1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6ICRjaGVja2JveC1zaXplO1xuICAgICAgICBoZWlnaHQ6ICRjaGVja2JveC1zaXplO1xuICAgICAgICBjb250ZW50OiAnXFwwMDAwJztcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY2hlY2tib3gtYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkY2hlY2tib3gtYm9yZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG59XG5AbWl4aW4gY2hlY2tib3gtY2hlY2tlZCgkc2VsZWN0b3Ipe1xuICAjeyRzZWxlY3Rvcn06OmJlZm9yZXtcbiAgICBmb250LWZhbWlseTogJGNoZWNrYm94LWZvbnQtZmFtaWx5O1xuICAgIGNvbnRlbnQ6ICRjaGVja2JveC1jaGVjay1pY29uO1xuICB9XG59XG5cbkBtaXhpbiBjaGVja2JveCgkcGFyZW50LCAkbGFiZWwpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgIEBpbmNsdWRlIGNoZWNrYm94LWNvbnRhaW5lcigkbGFiZWwpO1xuXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAmOmZvY3VzICsgI3skbGFiZWx9OjpiZWZvcmUge1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBjaGVja2JveC1jaGVja2VkKCcmOmNoZWNrZWQgKyAjeyRsYWJlbH0nKTtcblxuICAgICAgJjpjaGVja2VkOmRpc2FibGVkICsgI3skbGFiZWx9OjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuXG4gICAgICAmOmRpc2FibGVkICsgI3skbGFiZWx9IHtcbiAgICAgICAgb3BhY2l0eTogMC40NTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZy1kaXNhYmxlZDtcbiAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAmLmNoZWNrYm94LWlubGluZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSYWRpb3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiByYWRpby12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IGlucHV0W3R5cGU9XCJyYWRpb1wiXXtcbiAgICArIGxhYmVse1xuICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmNoZWNrZWQgKyBsYWJlbHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICAgICY6OmFmdGVye1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJib290c3RyYXAtY2hlY2tib3gtbWl4aW5zXCI7XG5cbkBpbmNsdWRlIGNoZWNrYm94KCcuY2hlY2tib3gnLCAnbGFiZWwnKTtcbkBpbmNsdWRlIGNoZWNrYm94KCcuY2hlY2tib3gtaW5saW5lJywgJ2xhYmVsJyk7XG5cbkBpbmNsdWRlIGNoZWNrYm94LXZhcmlhbnQoJy5jaGVja2JveC1pbmxpbmUnLCAkYnJhbmQtcHJpbWFyeSk7XG5AaW5jbHVkZSBjaGVja2JveC12YXJpYW50KCcuY2hlY2tib3gnLCAkYnJhbmQtcHJpbWFyeSk7XG5AaW5jbHVkZSBjaGVja2JveC12YXJpYW50KCcuY2hlY2tib3gtcHJpbWFyeScsICRicmFuZC1wcmltYXJ5KTtcbkBpbmNsdWRlIGNoZWNrYm94LXZhcmlhbnQoJy5jaGVja2JveC1kYW5nZXInLCAgJGJyYW5kLWRhbmdlcik7XG5AaW5jbHVkZSBjaGVja2JveC12YXJpYW50KCcuY2hlY2tib3gtaW5mbycsICAgICRicmFuZC1pbmZvKTtcbkBpbmNsdWRlIGNoZWNrYm94LXZhcmlhbnQoJy5jaGVja2JveC13YXJuaW5nJywgJGJyYW5kLXdhcm5pbmcpO1xuQGluY2x1ZGUgY2hlY2tib3gtdmFyaWFudCgnLmNoZWNrYm94LXN1Y2Nlc3MnLCAkYnJhbmQtc3VjY2Vzcyk7XG5cbi5jaGVja2JveCxcbi5jaGVja2JveC1pbmxpbmUge1xuICAmLmNoZWNrYm94LWxnIHtcbiAgICBsYWJlbHtcbiAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgd2lkdGg6ICgkY2hlY2tib3gtc2l6ZSArIDEwIC0gMik7XG4gICAgICAgIGhlaWdodDogKCRjaGVja2JveC1zaXplICsgMTAgLSAyKTtcbiAgICAgICAgZm9udC1zaXplOiAoJGNoZWNrYm94LWZvbnQtc2l6ZSArIDEwKTtcbiAgICAgIH1cbiAgICAgICY6OmFmdGVye1xuICAgICAgICB3aWR0aDogKCRjaGVja2JveC1zaXplICsgMTApO1xuICAgICAgICBoZWlnaHQ6ICgkY2hlY2tib3gtc2l6ZSArIDEwKTtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxufVxuXG4ucmFkaW8sXG4ucmFkaW8taW5saW5lIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy9kaXNwbGF5OiBibG9jaztcbiAgLy9tYXJnaW46IDAgMCA1cHggMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gIGxhYmVse1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcblxuICAgICY6OmJlZm9yZXtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6ICgkY2hlY2tib3gtc2l6ZSAtIDYpO1xuICAgICAgaGVpZ2h0OiAoJGNoZWNrYm94LXNpemUgLSA2KTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2hlY2tib3gtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICAgbWFyZ2luOiAzcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcblxuICAgICAgLy9AaW5jbHVkZSBzY2FsZSgwLCAwKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tdHJhbnNmb3JtKC4xcyBjdWJpYy1iZXppZXIoLjgsLTAuMzMsLjIsMS4zMykpO1xuICAgIH1cblxuICAgICY6OmFmdGVye1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgd2lkdGg6ICRjaGVja2JveC1zaXplO1xuICAgICAgaGVpZ2h0OiAkY2hlY2tib3gtc2l6ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG5cbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaGVja2JveC1ib3JkZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2hlY2tib3gtYmFja2dyb3VuZC1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXIgMC4xNXMgZWFzZS1pbi1vdXQpO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXXtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgJjpmb2N1cyArIGxhYmVsOjpiZWZvcmV7XG4gICAgICAvL0BpbmNsdWRlIHRhYi1mb2N1cygpO1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3Jle1xuICAgICAgLy9AaW5jbHVkZSBzY2FsZSgxLCAxKTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkICsgbGFiZWx7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuXG4gICAgICAmOjpiZWZvcmV7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5yYWRpby1pbmxpbmV7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5AaW5jbHVkZSByYWRpby12YXJpYW50KCcucmFkaW8taW5saW5lJywgJGJyYW5kLXByaW1hcnkpO1xuQGluY2x1ZGUgcmFkaW8tdmFyaWFudCgnLnJhZGlvJywgJGJyYW5kLXByaW1hcnkpO1xuQGluY2x1ZGUgcmFkaW8tdmFyaWFudCgnLnJhZGlvLXByaW1hcnknLCAkYnJhbmQtcHJpbWFyeSk7XG5AaW5jbHVkZSByYWRpby12YXJpYW50KCcucmFkaW8tZGFuZ2VyJywgICRicmFuZC1kYW5nZXIpO1xuQGluY2x1ZGUgcmFkaW8tdmFyaWFudCgnLnJhZGlvLWluZm8nLCAgICAkYnJhbmQtaW5mbyk7XG5AaW5jbHVkZSByYWRpby12YXJpYW50KCcucmFkaW8td2FybmluZycsICRicmFuZC13YXJuaW5nKTtcbkBpbmNsdWRlIHJhZGlvLXZhcmlhbnQoJy5yYWRpby1zdWNjZXNzJywgJGJyYW5kLXN1Y2Nlc3MpO1xuXG5cbiIsIi8qIVxuICogRGF0ZXBpY2tlciBmb3IgQm9vdHN0cmFwXG4gKlxuICogQ29weXJpZ2h0IDIwMTIgU3RlZmFuIFBldHJlXG4gKiBJbXByb3ZlbWVudHMgYnkgQXNobGV5IE5vdmFrXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UgdjIuMFxuICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICovXG5cbkBtaXhpbiBkYXRlcGlja2VyLWJ1dHRvbi12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQsICRib3JkZXIpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7Ly9kYXJrZW4oJGJhY2tncm91bmQsIDglKTtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuICB9XG5cbiAgJjpob3ZlcntcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgOCUpO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG4gIH1cbn1cblxuLmRhdGVwaWNrZXIge1xuICAvL3BhZGRpbmc6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgJi5kYXRlcGlja2VyLWlubGluZSB7XG4gICAgd2lkdGg6IDIyMHB4O1xuICB9XG4gICYuZGF0ZXBpY2tlci1kcm9wZG93biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgei1pbmRleDogOTk5OTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJvcmRlci1sZWZ0OiAgIDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodDogIDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyO1xuICAgICAgYm9yZGVyLXRvcDogICAgMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRkcm9wZG93bi1ib3JkZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBib3JkZXItbGVmdDogICA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6ICA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgJGRyb3Bkb3duLWJnO1xuICAgICAgYm9yZGVyLXRvcDogICAgMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgJi5kYXRlcGlja2VyLW9yaWVudC1sZWZ0OmJlZm9yZSAgIHsgbGVmdDogNnB4OyB9XG4gICAgJi5kYXRlcGlja2VyLW9yaWVudC1sZWZ0OmFmdGVyICAgIHsgbGVmdDogN3B4OyB9XG4gICAgJi5kYXRlcGlja2VyLW9yaWVudC1yaWdodDpiZWZvcmUgIHsgcmlnaHQ6IDZweDsgfVxuICAgICYuZGF0ZXBpY2tlci1vcmllbnQtcmlnaHQ6YWZ0ZXIgICB7IHJpZ2h0OiA3cHg7IH1cbiAgICAmLmRhdGVwaWNrZXItb3JpZW50LWJvdHRvbTpiZWZvcmUgeyB0b3A6IC03cHg7IH1cbiAgICAmLmRhdGVwaWNrZXItb3JpZW50LWJvdHRvbTphZnRlciAgeyB0b3A6IC02cHg7IH1cbiAgICAmLmRhdGVwaWNrZXItb3JpZW50LXRvcDpiZWZvcmUge1xuICAgICAgYm90dG9tOiAgICAgICAgLTdweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItdG9wOiAgICA3cHggc29saWQgJGRyb3Bkb3duLWJvcmRlcjtcbiAgICB9XG4gICAgJi5kYXRlcGlja2VyLW9yaWVudC10b3A6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAgICAgICAgLTZweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItdG9wOiAgICA2cHggc29saWQgJGRyb3Bkb3duLWJnO1xuICAgIH1cbiAgfVxuICA+ZGl2IHtcbiAgICAvL2Rpc3BsYXk6IG5vbmU7XG4gIH1cbiAgJi5kYXlzIGRpdi5kYXRlcGlja2VyLWRheXMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gICYubW9udGhzIGRpdi5kYXRlcGlja2VyLW1vbnRocyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgJi55ZWFycyBkaXYuZGF0ZXBpY2tlci15ZWFycyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgdGFibGV7XG4gICAgbWFyZ2luOiAwO1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB0ciB7XG4gICAgICB0ZCwgdGgge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gSW5saW5lIGRpc3BsYXkgaW5zaWRlIGEgdGFibGUgcHJlc2VudHMgc29tZSBwcm9ibGVtcyB3aXRoXG4gIC8vIGJvcmRlciBhbmQgYmFja2dyb3VuZCBjb2xvcnMuXG4gIC50YWJsZS1zdHJpcGVkICYgdGFibGUgdHIge1xuICAgIHRkLCB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuICB0YWJsZSB0ciB0ZCB7XG4gICAgJi5kYXk6aG92ZXIsICYuZGF5LmZvY3VzZWQge1xuICAgICAgYmFja2dyb3VuZDogJGdyYXktbGlnaHRlcjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgJi5vbGQsXG4gICAgJi5uZXcge1xuICAgICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICB9XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbiAgICAmLnRvZGF5LFxuICAgICYudG9kYXk6aG92ZXIsXG4gICAgJi50b2RheS5kaXNhYmxlZCxcbiAgICAmLnRvZGF5LmRpc2FibGVkOmhvdmVyIHtcbiAgICAgICR0b2RheS1iZzogJGJyYW5kLWluZm87XG4gICAgICBAaW5jbHVkZSBkYXRlcGlja2VyLWJ1dHRvbi12YXJpYW50KCRncmF5LWRhcmssICR0b2RheS1iZywgZGFya2VuKCR0b2RheS1iZywgMjAlKSk7XG4gICAgfVxuICAgICYudG9kYXk6aG92ZXI6aG92ZXIgeyAvLyBUaGFuayBib290c3RyYXAgMi4wIGZvciB0aGlzIHNlbGVjdG9yLi4uXG4gICAgICAvLyBUT0RPOiBCdW1wIG1pbiBCUyB0byAyLjEsIHVzZSAkdGV4dENvbG9yIGluIGJ1dHRvbkJhY2tncm91bmQgYWJvdmVcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cbiAgICAmLnRvZGF5LmFjdGl2ZTpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gICAgJi5yYW5nZSxcbiAgICAmLnJhbmdlOmhvdmVyLFxuICAgICYucmFuZ2UuZGlzYWJsZWQsXG4gICAgJi5yYW5nZS5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiRncmF5LWxpZ2h0ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgICAmLnJhbmdlLnRvZGF5LFxuICAgICYucmFuZ2UudG9kYXk6aG92ZXIsXG4gICAgJi5yYW5nZS50b2RheS5kaXNhYmxlZCxcbiAgICAmLnJhbmdlLnRvZGF5LmRpc2FibGVkOmhvdmVyIHtcbiAgICAgICR0b2RheS1iZzogJGJyYW5kLWluZm87XG4gICAgICBAaW5jbHVkZSBkYXRlcGlja2VyLWJ1dHRvbi12YXJpYW50KCMwMDAsICR0b2RheS1iZywgZGFya2VuKCR0b2RheS1iZywgMjAlKSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgICAmLnNlbGVjdGVkLFxuICAgICYuc2VsZWN0ZWQ6aG92ZXIsXG4gICAgJi5zZWxlY3RlZC5kaXNhYmxlZCxcbiAgICAmLnNlbGVjdGVkLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIGRhdGVwaWNrZXItYnV0dG9uLXZhcmlhbnQoI2ZmZiwgJGdyYXktbGlnaHQsICRncmF5KTtcbiAgICAgIHRleHQtc2hhZG93OiAwIC0xcHggMCByZ2JhKDAsMCwwLC4yNSk7XG4gICAgfVxuICAgICYuYWN0aXZlLFxuICAgICYuYWN0aXZlOmhvdmVyLFxuICAgICYuYWN0aXZlLmRpc2FibGVkLFxuICAgICYuYWN0aXZlLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIGRhdGVwaWNrZXItYnV0dG9uLXZhcmlhbnQoI2ZmZiwgJGJyYW5kLXByaW1hcnksICRicmFuZC1wcmltYXJ5KTtcbiAgICAgIHRleHQtc2hhZG93OiAwIC0xcHggMCByZ2JhKDAsMCwwLC4yNSk7XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjMlO1xuICAgICAgaGVpZ2h0OiA1NHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDU0cHg7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMSU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0ZXI7XG4gICAgICB9XG4gICAgICAmLmRpc2FibGVkLFxuICAgICAgJi5kaXNhYmxlZDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cbiAgICAgICYuYWN0aXZlLFxuICAgICAgJi5hY3RpdmU6aG92ZXIsXG4gICAgICAmLmFjdGl2ZS5kaXNhYmxlZCxcbiAgICAgICYuYWN0aXZlLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZGF0ZXBpY2tlci1idXR0b24tdmFyaWFudCgkYnRuLXByaW1hcnktY29sb3IsICRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJvcmRlcik7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIC0xcHggMCByZ2JhKDAsMCwwLC4yNSk7XG4gICAgICB9XG4gICAgICAmLm9sZCxcbiAgICAgICYubmV3IHtcbiAgICAgICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0aC5kYXRlcGlja2VyLXN3aXRjaCB7XG4gICAgd2lkdGg6IDE0NXB4O1xuICB9XG5cbiAgLmRhdGVwaWNrZXItc3dpdGNoLFxuICAubmV4dCxcbiAgLnByZXYsXG4gIHRmb290IHRyIHRoIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0ZXI7XG4gICAgfVxuICB9XG5cbiAgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGgsXG4gIHRmb290IHRyIHRoIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICY6aG92ZXJ7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodGVyO1xuICAgIH1cbiAgfVxuICAvKi5kb3cge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkICFpbXBvcnRhbnQ7XG4gIH0qL1xuXG4gIC8vIEJhc2ljIHN0eWxpbmcgZm9yIGNhbGVuZGFyLXdlZWsgY2VsbHNcbiAgLmN3IHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgcGFkZGluZzogMCAycHggMCA1cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aC5jdyB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG4uaW5wdXQtZ3JvdXAge1xuICAmLmRhdGUge1xuICAgIC5pbnB1dC1ncm91cC1hZGRvbiBpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgIH1cbiAgfVxufVxuLmlucHV0LWRhdGVyYW5nZSB7XG4gIGlucHV0IHtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgfVxuICBpbnB1dDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4IDAgMCAzcHg7XG4gIH1cbiAgaW5wdXQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAzcHggM3B4IDA7XG4gIH1cbiAgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtaW4td2lkdGg6IDE2cHg7XG4gICAgcGFkZGluZzogNHB4IDVweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2ZmZjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgICBib3JkZXI6IHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbiAgICBtYXJnaW4tbGVmdDotNXB4O1xuICAgIG1hcmdpbi1yaWdodDotNXB4O1xuICB9XG59IiwiJGR0cC10b2RheS1iZzogJGJyYW5kLWluZm87XG4kZHRwLXRvZGF5LWNvbG9yOiAkZ3JheS1kYXJrO1xuJGR0cC10b2RheS1ib3JkZXI6IGRhcmtlbigkZHRwLXRvZGF5LWJnLCAyMCUpO1xuXG4uZGF0ZXRpbWVwaWNrZXIge1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICY6bm90KC5mb3JtLWNvbnRyb2wpIHtcbiAgICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgfVxuICAgICYuZGF0ZXRpbWVwaWNrZXItcnRsIHtcbiAgICAgICAgZGlyZWN0aW9uOiBydGw7XG4gICAgICAgIHRhYmxlIHtcbiAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYgPiBkaXYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAmLm1pbnV0ZXMge1xuICAgICAgICBkaXYge1xuICAgICAgICAgICAgJi5kYXRldGltZXBpY2tlci1taW51dGVzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmhvdXJzIHtcbiAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICYuZGF0ZXRpbWVwaWNrZXItaG91cnMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuZGF5cyB7XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICAmLmRhdGV0aW1lcGlja2VyLWRheXMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYubW9udGhzIHtcbiAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICYuZGF0ZXRpbWVwaWNrZXItbW9udGhzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnllYXJzIHtcbiAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICYuZGF0ZXRpbWVwaWNrZXIteWVhcnMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHRhYmxlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ciB7XG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgJi5taW51dGUge1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5ob3VyIHtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuZGF5IHtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIzJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1NHB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNTRweDtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMSU7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgICAgICAgICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyYXktbGlnaHRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmLm9sZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5kYXRldGltZXBpY2tlci1ob3VycyB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmRhdGV0aW1lcGlja2VyLW1pbnV0ZXMge1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGhlaWdodDogMjZweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIHRoIHtcbiAgICAgICAgJi5zd2l0Y2gge1xuICAgICAgICAgICAgd2lkdGg6IDE0NXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuLmRhdGV0aW1lcGlja2VyLWlubGluZSB7XG4gICAgd2lkdGg6IDIyMHB4O1xufVxuLmRhdGV0aW1lcGlja2VyLWRyb3Bkb3duLCAuZGF0ZXRpbWVwaWNrZXItZHJvcGRvd24tbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5bY2xhc3MqPVwiZGF0ZXRpbWVwaWNrZXItZHJvcGRvd25cIl06YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA3cHggc29saWQgJGRyb3Bkb3duLWJvcmRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5bY2xhc3MqPVwiZGF0ZXRpbWVwaWNrZXItZHJvcGRvd25cIl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAkZHJvcGRvd24tYmc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuW2NsYXNzKj1cImRhdGV0aW1lcGlja2VyLWRyb3Bkb3duLXRvcFwiXTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IDdweCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG59XG5bY2xhc3MqPVwiZGF0ZXRpbWVwaWNrZXItZHJvcGRvd24tdG9wXCJdOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiA2cHggc29saWQgJGRyb3Bkb3duLWJnO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG59XG4uZGF0ZXRpbWVwaWNrZXItZHJvcGRvd24tYm90dG9tLWxlZnQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtN3B4O1xuICAgICAgICByaWdodDogNnB4O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgdG9wOiAtNnB4O1xuICAgICAgICByaWdodDogN3B4O1xuICAgIH1cbn1cbi5kYXRldGltZXBpY2tlci1kcm9wZG93bi1ib3R0b20tcmlnaHQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtN3B4O1xuICAgICAgICBsZWZ0OiA2cHg7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICB0b3A6IC02cHg7XG4gICAgICAgIGxlZnQ6IDdweDtcbiAgICB9XG59XG4uZGF0ZXRpbWVwaWNrZXItZHJvcGRvd24tdG9wLWxlZnQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYm90dG9tOiAtN3B4O1xuICAgICAgICByaWdodDogNnB4O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAtNnB4O1xuICAgICAgICByaWdodDogN3B4O1xuICAgIH1cbn1cbi5kYXRldGltZXBpY2tlci1kcm9wZG93bi10b3AtcmlnaHQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYm90dG9tOiAtN3B4O1xuICAgICAgICBsZWZ0OiA2cHg7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICBib3R0b206IC02cHg7XG4gICAgICAgIGxlZnQ6IDdweDtcbiAgICB9XG59XG4uZGF0ZXRpbWVwaWNrZXIgIHRkLFxuLmRhdGV0aW1lcGlja2VyIHRoIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICBib3JkZXI6IG5vbmU7XG59XG4udGFibGUtc3RyaXBlZCAuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQsXG4udGFibGUtc3RyaXBlZCAuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLm9sZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5uZXcge1xuICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG59XG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuZGlzYWJsZWQsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXksXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXIsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkdHAtdG9kYXktYmc7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAkZHRwLXRvZGF5LWJnLCAkZHRwLXRvZGF5LWJnKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgJGR0cC10b2RheS1iZywgJGR0cC10b2RheS1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKCRkdHAtdG9kYXktYmcpLCB0bygkZHRwLXRvZGF5LWJnKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAkZHRwLXRvZGF5LWJnLCAkZHRwLXRvZGF5LWJnKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAkZHRwLXRvZGF5LWJnLCAkZHRwLXRvZGF5LWJnKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG9wLCAkZHRwLXRvZGF5LWJnLCAkZHRwLXRvZGF5LWJnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJGR0cC10b2RheS1iZycsIGVuZENvbG9yc3RyPSckZHRwLXRvZGF5LWJnJywgR3JhZGllbnRUeXBlPTApO1xuICAgIGJvcmRlci1jb2xvcjogJGR0cC10b2RheS1iZyAkZHRwLXRvZGF5LWJnICRkdHAtdG9kYXktYmc7XG4gICAgLy9ib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMSkgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkPWZhbHNlKTtcbn1cbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3Zlcixcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3Zlcjpob3Zlcixcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3Zlcixcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3Zlcjpob3Zlcixcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXI6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3ZlcjphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyLmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZC5hY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXIuYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyLmRpc2FibGVkLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkLmRpc2FibGVkLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyLmRpc2FibGVkLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5W2Rpc2FibGVkXSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3ZlcltkaXNhYmxlZF0sXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWRbZGlzYWJsZWRdLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyW2Rpc2FibGVkXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGR0cC10b2RheS1iZztcbn1cbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXI6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3ZlcjphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyLmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZC5hY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXIuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHRwLXRvZGF5LWJnIFxcOTtcbn1cbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidG4tcHJpbWFyeS1iZztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJnKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYmcpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbSgkYnRuLXByaW1hcnktYmcpLCB0bygkYnRuLXByaW1hcnktYmcpKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJnKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAkYnRuLXByaW1hcnktYmcsICRidG4tcHJpbWFyeS1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvcCwgJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYmcpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSckYnRuLXByaW1hcnktYmcnLCBlbmRDb2xvcnN0cj0nJGJ0bi1wcmltYXJ5LWJnJywgR3JhZGllbnRUeXBlPTApO1xuICAgIGJvcmRlci1jb2xvcjogJGJ0bi1wcmltYXJ5LWJnICRidG4tcHJpbWFyeS1iZyAkYnRuLXByaW1hcnktYmc7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSkgcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSk7XG4gICAgY29sb3I6ICRidG4tcHJpbWFyeS1jb2xvcjtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXIsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyOmhvdmVyLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZDpob3Zlcixcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6aG92ZXI6aG92ZXIsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXI6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZDphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyOmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTpob3Zlci5hY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkLmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIuYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXIuZGlzYWJsZWQsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkLmRpc2FibGVkLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZDpob3Zlci5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmVbZGlzYWJsZWRdLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTpob3ZlcltkaXNhYmxlZF0sXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkW2Rpc2FibGVkXSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6aG92ZXJbZGlzYWJsZWRdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLXByaW1hcnktYmc7XG59XG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXI6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZDphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyOmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTpob3Zlci5hY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkLmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtcHJpbWFyeSBcXDk7XG59XG4uZGF0ZXRpbWVwaWNrZXIgLmRhdGV0aW1lcGlja2VyLWhvdXJzIHRhYmxlIHRyIHRkIHNwYW4uaG91cl9hbSxcbi5kYXRldGltZXBpY2tlciAuZGF0ZXRpbWVwaWNrZXItaG91cnMgdGFibGUgdHIgdGQgc3Bhbi5ob3VyX3BtIHtcbiAgICB3aWR0aDogMTQuNiU7XG59XG4uZGF0ZXRpbWVwaWNrZXIgLmRhdGV0aW1lcGlja2VyLWhvdXJzIGZpZWxkc2V0IGxlZ2VuZCxcbi5kYXRldGltZXBpY2tlciAuZGF0ZXRpbWVwaWNrZXItbWludXRlcyBmaWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbi1ib3R0b206IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG59XG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5kaXNhYmxlZCxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmRpc2FibGVkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLXByaW1hcnktYmc7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAkYnRuLXByaW1hcnktYmcsICRidG4tcHJpbWFyeS1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJnKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oJGJ0bi1wcmltYXJ5LWJnKSwgdG8oJGJ0bi1wcmltYXJ5LWJnKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAkYnRuLXByaW1hcnktYmcsICRidG4tcHJpbWFyeS1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYmcpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0b3AsICRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJGJ0bi1wcmltYXJ5LWJnJywgZW5kQ29sb3JzdHI9JyRidG4tcHJpbWFyeS1iZycsIEdyYWRpZW50VHlwZT0wKTtcbiAgICBib3JkZXItY29sb3I6ICRidG4tcHJpbWFyeS1iZyAkYnRuLXByaW1hcnktYmcgJGJ0bi1wcmltYXJ5LWJnO1xuICAgIC8vYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSkgcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSk7XG4gICAgY29sb3I6ICRidG4tcHJpbWFyeS1jb2xvcjtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlcixcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlcjpob3Zlcixcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3Zlcixcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3Zlcjpob3Zlcixcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXI6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3ZlcjphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyLmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZC5hY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIuYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyLmRpc2FibGVkLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkLmRpc2FibGVkLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyLmRpc2FibGVkLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlW2Rpc2FibGVkXSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3ZlcltkaXNhYmxlZF0sXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWRbZGlzYWJsZWRdLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyW2Rpc2FibGVkXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ0bi1wcmltYXJ5LWJnO1xufVxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3ZlcjphY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6YWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyOmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5hY3RpdmUsXG4uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXIuYWN0aXZlLFxuLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkLmFjdGl2ZSxcbi5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3Zlci5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1wcmltYXJ5IFxcOTtcbn1cbi5kYXRldGltZXBpY2tlciB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aCxcbi5kYXRldGltZXBpY2tlciB0Zm9vdCB0cjpmaXJzdC1jaGlsZCB0aCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmRhdGV0aW1lcGlja2VyIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoOmhvdmVyLFxuLmRhdGV0aW1lcGlja2VyIHRmb290IHRyOmZpcnN0LWNoaWxkIHRoOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodGVyO1xufVxuLmlucHV0LWFwcGVuZC5kYXRlIC5hZGQtb24gaSxcbi5pbnB1dC1wcmVwZW5kLmRhdGUgLmFkZC1vbiBpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xufVxuXG4iLCIkY29sb3ItcmVkLWVycm9yOiByZ2IoMTg1LCA3NCwgNzIpICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktYXJyb3c6ICRkcm9wZG93bi1iZyAhZGVmYXVsdDtcblxuJHdpZHRoLWRlZmF1bHQ6IDIyMHB4ICFkZWZhdWx0OyAvLyAzIDk2MHB4LWdyaWQgY29sdW1uc1xuXG4kemluZGV4LXNlbGVjdC1kcm9wZG93bjogMTA2MCAhZGVmYXVsdDsgLy8gbXVzdCBiZSBoaWdoZXIgdGhhbiBhIG1vZGFsIGJhY2tncm91bmQgKDEwNTApXG5cbi8vKiogUGxhY2Vob2xkZXIgdGV4dCBjb2xvclxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAjOTk5ICFkZWZhdWx0O1xuXG5cbkBmdW5jdGlvbiBmYWRlKCRjb2xvciwgJGFtbnQpIHtcbiAgQGlmICRhbW50ID4gMSB7XG4gICAgJGFtbnQ6ICRhbW50IC8gMTAwOyAvLyBjb252ZXJ0IHRvIHBlcmNlbnRhZ2UgaWYgaW50XG4gIH1cbiAgQHJldHVybiByZ2JhKCRjb2xvciwgJGFtbnQpO1xufVxuXG4uYm9vdHN0cmFwLXNlbGVjdCB7XG4gIHdpZHRoOiAyMjBweCBcXDA7IC8qSUU5IGFuZCBiZWxvdyovXG5cbiAgLy8gVGhlIHNlbGVjdHBpY2tlciBidXR0b25cbiAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAmLmJzLXBsYWNlaG9sZGVyLFxuICAgICYuYnMtcGxhY2Vob2xkZXI6aG92ZXIsXG4gICAgJi5icy1wbGFjZWhvbGRlcjpmb2N1cyxcbiAgICAmLmJzLXBsYWNlaG9sZGVyOmFjdGl2ZSB7IGNvbG9yOiAkaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI7IH1cbiAgfVxuXG4gID4gc2VsZWN0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDAuNXB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAmLm1vYmlsZS1kZXZpY2Uge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cblxuICAvLyBFcnJvciBkaXNwbGF5XG4gIC5oYXMtZXJyb3IgJiAuZHJvcGRvd24tdG9nZ2xlLFxuICAuZXJyb3IgJiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1yZWQtZXJyb3I7XG4gIH1cblxuICAmLmZpdC13aWR0aCB7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gICY6bm90KFtjbGFzcyo9XCJjb2wtXCJdKTpub3QoW2NsYXNzKj1cImZvcm0tY29udHJvbFwiXSk6bm90KC5pbnB1dC1ncm91cC1idG4pIHtcbiAgICB3aWR0aDogJHdpZHRoLWRlZmF1bHQ7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXM7XG4gICAgLypcbiAgICBvdXRsaW5lOiB0aGluIGRvdHRlZCAjMzMzMzMzICFpbXBvcnRhbnQ7XG4gICAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gICAgKi9cbiAgfVxufVxuXG4vLyBSdWxlc1xuc2VsZWN0LmJzLXNlbGVjdC1oaWRkZW4sXG5zZWxlY3Quc2VsZWN0cGlja2VyLFxuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmJvb3RzdHJhcC1zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuXG4gICY6bm90KFtjbGFzcyo9XCJjb2wtXCJdKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmLmlucHV0LWdyb3VwLWJ0biB7XG4gICAgei1pbmRleDogYXV0bztcblxuICAgICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICA+IC5idG4ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBUaGUgc2VsZWN0cGlja2VyIGNvbXBvbmVudHNcbi5ib290c3RyYXAtc2VsZWN0LmJ0bi1ncm91cCB7XG4gICY6bm90KC5pbnB1dC1ncm91cC1idG4pLFxuICAmW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC8vIEZvcmNlcyB0aGUgcHVsbCB0byB0aGUgcmlnaHQsIGlmIG5lY2Vzc2FyeVxuICAmLFxuICAmW2NsYXNzKj1cImNvbC1cIl0sXG4gIC5yb3cgJltjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAmLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWlubGluZSAmLFxuICAuZm9ybS1ob3Jpem9udGFsICYsXG4gIC5mb3JtLWdyb3VwICYge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZm9ybS1ncm91cC1sZyAmLmZvcm0tY29udHJvbCxcbiAgLmZvcm0tZ3JvdXAtc20gJi5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAvLyBTZXQgdGhlIHdpZHRoIG9mIHRoZSBsaXZlIHNlYXJjaCAoYW5kIGFueSBvdGhlciBmb3JtIGNvbnRyb2wgd2l0aGluIGFuIGlubGluZSBmb3JtKVxuICAvLyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3NpbHZpb21vcmV0by9ib290c3RyYXAtc2VsZWN0L2lzc3Vlcy82ODVcbiAgLmZvcm0taW5saW5lICYgLmZvcm0tY29udHJvbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICA+IC5kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJi5icy1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICB6LWluZGV4OiAkemluZGV4LXNlbGVjdC1kcm9wZG93bjtcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgc2VsZWN0cGlja2VyIGJ1dHRvblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAuZmlsdGVyLW9wdGlvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuXG4gICAgLmNhcmV0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDEycHg7XG4gICAgICAvL21hcmdpbi10b3A6IC0ycHg7XG4gICAgICBtYXJnaW4tdG9wOiAtN3B4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgfVxuXG4gICZbY2xhc3MqPVwiY29sLVwiXSAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIFRoZSBzZWxlY3RwaWNrZXIgZHJvcGRvd25cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuXG4gICAgJi5pbm5lciB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmLmFjdGl2ZSBzbWFsbCB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIGEge1xuICAgICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgICYub3B0IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjI1ZW07XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuLmNoZWNrLW1hcmsge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuLnRleHQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzbWFsbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41ZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5vdGlmeSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDVweDtcbiAgICAgIHdpZHRoOiA5NiU7XG4gICAgICBtYXJnaW46IDAgMiU7XG4gICAgICBtaW4taGVpZ2h0OiAyNnB4O1xuICAgICAgcGFkZGluZzogM3B4IDVweDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYigyMjcsIDIyNywgMjI3KTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IGZhZGUocmdiKDAsIDAsIDApLCA1KSk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gICAgfVxuICB9XG5cbiAgLm5vLXJlc3VsdHMge1xuICAgIHBhZGRpbmc6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmctMTAwO1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gICYuZml0LXdpZHRoIC5kcm9wZG93bi10b2dnbGUge1xuICAgIC5maWx0ZXItb3B0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgfVxuXG4gICAgLypcbiAgICAuY2FyZXQge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgfVxuICAgICovXG4gIH1cblxuICAmLnNob3ctdGljayAuZHJvcGRvd24tbWVudSBsaSB7XG4gICAgJi5zZWxlY3RlZCBhIHNwYW4uY2hlY2stbWFyayB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICB9XG5cbiAgICBhIHNwYW4udGV4dCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDM0cHg7XG4gICAgfVxuICB9XG59XG5cbi5ib290c3RyYXAtc2VsZWN0LnNob3ctbWVudS1hcnJvdyB7XG4gICYub3BlbiA+IC5kcm9wZG93bi10b2dnbGUge1xuICAgIHotaW5kZXg6ICgkemluZGV4LXNlbGVjdC1kcm9wZG93biArIDEpO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiA3cHggc29saWQgJGRyb3Bkb3duLWJvcmRlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTRweDtcbiAgICAgIGxlZnQ6IDlweDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAkZHJvcGRvd24tYmc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC00cHg7XG4gICAgICBsZWZ0OiAxMHB4O1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IC0zcHg7XG4gICAgICBib3JkZXItdG9wOiA3cHggc29saWQgJGRyb3Bkb3duLWJvcmRlcjtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IC0zcHg7XG4gICAgICBib3JkZXItdG9wOiA2cHggc29saWQgJGRyb3Bkb3duLWJnO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAmLnB1bGwtcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDEycHg7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDEzcHg7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICYub3BlbiA+IC5kcm9wZG93bi10b2dnbGUge1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbi5icy1zZWFyY2hib3gsXG4uYnMtYWN0aW9uc2JveCxcbi5icy1kb25lYnV0dG9uIHtcbiAgbWFyZ2luOiAkZHJvcGRvd24tcGFkZGluZy12ZXJ0aWNhbCAkZHJvcGRvd24tcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4uYnMtYWN0aW9uc2JveCB7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG5cbiAgJiAuYnRuLWdyb3VwIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4uYnMtZG9uZWJ1dHRvbiB7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG5cbiAgJiAuYnRuLWdyb3VwIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmJzLXNlYXJjaGJveCB7XG4gICYgLmZvcm0tY29udHJvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG5cbi5icy1pbnB1dCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xuICBoZWlnaHQ6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG5cbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi5ib290c3RyYXAtc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gIC5kcm9wZG93bi1tZW51LmlubmVyIHtcbiAgICAgPiBsaSB7XG4gICAgICAgcGFkZGluZzogMDtcbiAgICAgICBAZXh0ZW5kIC5jb2wtc20tMTI7XG4gICAgICAgQGluY2x1ZGUgdGV4dC1vdmVyZmxvdztcblxuICAgICAgICZbZGF0YS1vcmlnaW5hbC1pbmRleF1bZGF0YS1vcHRncm91cF0ge1xuICAgICAgICAgQGV4dGVuZCAuY29sLXNtLTEyO1xuICAgICAgIH1cblxuICAgICAgICYuZHJvcGRvd24taGVhZGVyIHtcbiAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1iZy0xMDA7XG4gICAgICAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICB9XG4gICAgICAgJi5kaXZpZGVyIHtcbiAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgfVxuICAgICB9XG4gICB9XG4gfVxuXG4uYm9vdHN0cmFwLXNlbGVjdC5mb3JtLWNvbnRyb2wubXVsdGlleHBhbmQge1xuICBoZWlnaHQ6IGF1dG87XG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5kcm9wZG93bi1tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUuaW5uZXIge1xuICAgIG1pbi1oZWlnaHQ6IDE2MHB4O1xuICAgIG1heC1oZWlnaHQ6IDE2MHB4O1xuICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgQGV4dGVuZCAuc2Nyb2xsYmFyO1xuXG4gICAgPiBsaSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgQGV4dGVuZCAuY29sLXNtLTEyO1xuICAgICAgQGluY2x1ZGUgdGV4dC1vdmVyZmxvdztcblxuICAgICAgPiBhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LW92ZXJmbG93KCk7XG4gICAgICB9XG5cbiAgICAgICZbZGF0YS1vcmlnaW5hbC1pbmRleF0sXG4gICAgICAmW2RhdGEtb3JpZ2luYWwtaW5kZXhdW2RhdGEtb3B0Z3JvdXBdIHtcbiAgICAgICAgQGV4dGVuZCAuY29sLXNtLTQ7XG4gICAgICB9XG5cbiAgICAgICYubm8tcmVzdWx0cyxcbiAgICAgICYuZHJvcGRvd24taGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJnLTEwMDtcbiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICAgICYuZGl2aWRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuaGFsZiB7XG4gICAgLmRyb3Bkb3duLW1lbnUuaW5uZXIgbGlbZGF0YS1vcmlnaW5hbC1pbmRleF0ge1xuICAgICAgQGV4dGVuZCAuY29sLXNtLTY7XG4gICAgfVxuICB9XG4gICYuZnVsbCB7XG4gICAgLmRyb3Bkb3duLW1lbnUuaW5uZXIgbGlbZGF0YS1vcmlnaW5hbC1pbmRleF0ge1xuICAgICAgQGV4dGVuZCAuY29sLXNtLTEyO1xuICAgIH1cbiAgfVxuXG4gIC5icy1kb25lYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmJzLXNlYXJjaGJveCxcbiAgLmJzLWFjdGlvbnNib3gge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogMDtcbiAgICAvL0BleHRlbmQgLmNvbC14cy02O1xuICB9XG4gIC5icy1hY3Rpb25zYm94IHtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIC5idG4ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsLCAkZm9udC1zaXplLWJhc2UsICRsaW5lLWhlaWdodC1iYXNlLCAkYnRuLWJvcmRlci1yYWRpdXMtYmFzZSk7XG4gICAgfVxuICB9XG59XG5cblxuIiwiLyohXG4gKiBCb290c3RyYXAgQ29sb3JwaWNrZXIgdjIuNS4xXG4gKiBodHRwczovL2l0c2phdmkuY29tL2Jvb3RzdHJhcC1jb2xvcnBpY2tlci9cbiAqXG4gKiBPcmlnaW5hbGx5IHdyaXR0ZW4gYnkgKGMpIDIwMTIgU3RlZmFuIFBldHJlXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UgdjIuMFxuICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wLnR4dFxuICpcbiAqL1xuJGNvbG9ycGlja2VyLWltZy1wYXRoOiBcIi4uL2ltYWdlcy9ib290c3RyYXAtY29sb3JwaWNrZXJcIiAhZGVmYXVsdDtcblxuQG1peGluIGJnSW1nKCRpbWdGaWxlbmFtZSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRjb2xvcnBpY2tlci1pbWctcGF0aH0vI3skaW1nRmlsZW5hbWV9XCIpO1xufVxuXG5AbWl4aW4gYm9yZGVyUmFkaXVzKCRzaXplKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHNpemU7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogJHNpemU7XG4gIGJvcmRlci1yYWRpdXM6ICRzaXplO1xufVxuXG4uY29sb3JwaWNrZXItc2F0dXJhdGlvbiB7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgQGluY2x1ZGUgYmdJbWcoJ3NhdHVyYXRpb24ucG5nJyk7XG4gIGN1cnNvcjogY3Jvc3NoYWlyO1xuICBmbG9hdDogbGVmdDtcbiAgaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA1cHg7XG4gICAgd2lkdGg6IDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cyg1cHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IC00cHggMCAwIC00cHg7XG4gICAgYiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgd2lkdGg6IDVweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoNXB4KTtcbiAgICB9XG4gIH1cbn1cblxuLmNvbG9ycGlja2VyLWh1ZSxcbi5jb2xvcnBpY2tlci1hbHBoYSB7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBmbG9hdDogbGVmdDtcbiAgY3Vyc29yOiByb3ctcmVzaXplO1xuICBtYXJnaW4tbGVmdDogNHB4O1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5jb2xvcnBpY2tlci1odWUgaSxcbi5jb2xvcnBpY2tlci1hbHBoYSBpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuXG4uY29sb3JwaWNrZXItaHVlIHtcbiAgQGluY2x1ZGUgYmdJbWcoJ2h1ZS5wbmcnKTtcbn1cblxuLmNvbG9ycGlja2VyLWFscGhhIHtcbiAgQGluY2x1ZGUgYmdJbWcoJ2FscGhhLnBuZycpO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY29sb3JwaWNrZXItc2F0dXJhdGlvbixcbi5jb2xvcnBpY2tlci1odWUsXG4uY29sb3JwaWNrZXItYWxwaGEge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG59XG5cbi5jb2xvcnBpY2tlciB7XG4gIHBhZGRpbmc6IDRweDtcbiAgbWluLXdpZHRoOiAxMzBweDtcbiAgbWFyZ2luLXRvcDogMXB4O1xuICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoNHB4KTtcbiAgei1pbmRleDogMjUwMDtcbn1cblxuLmNvbG9ycGlja2VyOmJlZm9yZSxcbi5jb2xvcnBpY2tlcjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIlwiO1xuICBsaW5lLWhlaWdodDogMDtcbn1cblxuLmNvbG9ycGlja2VyOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5jb2xvcnBpY2tlcjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC03cHg7XG4gIGxlZnQ6IDZweDtcbn1cblxuLmNvbG9ycGlja2VyOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjZmZmZmZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTZweDtcbiAgbGVmdDogN3B4O1xufVxuXG4uY29sb3JwaWNrZXIgZGl2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY29sb3JwaWNrZXIuY29sb3JwaWNrZXItd2l0aC1hbHBoYSB7XG4gIG1pbi13aWR0aDogMTQwcHg7XG59XG5cbi5jb2xvcnBpY2tlci5jb2xvcnBpY2tlci13aXRoLWFscGhhIC5jb2xvcnBpY2tlci1hbHBoYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY29sb3JwaWNrZXItY29sb3Ige1xuICBoZWlnaHQ6IDEwcHg7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgY2xlYXI6IGJvdGg7XG4gIEBpbmNsdWRlIGJnSW1nKCdhbHBoYS5wbmcnKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xufVxuXG4uY29sb3JwaWNrZXItY29sb3IgZGl2IHtcbiAgaGVpZ2h0OiAxMHB4O1xufVxuXG4uY29sb3JwaWNrZXItc2VsZWN0b3JzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAxMHB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY29sb3JwaWNrZXItc2VsZWN0b3JzIGkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwcHg7XG4gIHdpZHRoOiAxMHB4O1xufVxuXG4uY29sb3JwaWNrZXItc2VsZWN0b3JzIGkgKyBpIHtcbiAgbWFyZ2luLWxlZnQ6IDNweDtcbn1cblxuLmNvbG9ycGlja2VyLWVsZW1lbnQgLmlucHV0LWdyb3VwLWFkZG9uIGksXG4uY29sb3JwaWNrZXItZWxlbWVudCAuYWRkLW9uIGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiAxNnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG4gIHdpZHRoOiAxNnB4O1xufVxuXG4uY29sb3JwaWNrZXIuY29sb3JwaWNrZXItaW5saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB6LWluZGV4OiBhdXRvO1xufVxuXG4uY29sb3JwaWNrZXIuY29sb3JwaWNrZXItaG9yaXpvbnRhbCB7XG4gIHdpZHRoOiAxMTBweDtcbiAgbWluLXdpZHRoOiAxMTBweDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uY29sb3JwaWNrZXIuY29sb3JwaWNrZXItaG9yaXpvbnRhbCAuY29sb3JwaWNrZXItc2F0dXJhdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLmNvbG9ycGlja2VyLmNvbG9ycGlja2VyLWhvcml6b250YWwgLmNvbG9ycGlja2VyLWNvbG9yIHtcbiAgd2lkdGg6IDEwMHB4O1xufVxuXG4uY29sb3JwaWNrZXIuY29sb3JwaWNrZXItaG9yaXpvbnRhbCAuY29sb3JwaWNrZXItaHVlLFxuLmNvbG9ycGlja2VyLmNvbG9ycGlja2VyLWhvcml6b250YWwgLmNvbG9ycGlja2VyLWFscGhhIHtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBjdXJzb3I6IGNvbC1yZXNpemU7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLmNvbG9ycGlja2VyLmNvbG9ycGlja2VyLWhvcml6b250YWwgLmNvbG9ycGlja2VyLWh1ZSBpLFxuLmNvbG9ycGlja2VyLmNvbG9ycGlja2VyLWhvcml6b250YWwgLmNvbG9ycGlja2VyLWFscGhhIGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxNXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDFweDtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW4tdG9wOiAwcHg7XG59XG5cbi5jb2xvcnBpY2tlci5jb2xvcnBpY2tlci1ob3Jpem9udGFsIC5jb2xvcnBpY2tlci1odWUge1xuICBAaW5jbHVkZSBiZ0ltZygnaHVlLWhvcml6b250YWwucG5nJyk7XG59XG5cbi5jb2xvcnBpY2tlci5jb2xvcnBpY2tlci1ob3Jpem9udGFsIC5jb2xvcnBpY2tlci1hbHBoYSB7XG4gIEBpbmNsdWRlIGJnSW1nKCdhbHBoYS1ob3Jpem9udGFsLnBuZycpO1xufVxuXG4uY29sb3JwaWNrZXItcmlnaHQ6YmVmb3JlIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDZweDtcbn1cblxuLmNvbG9ycGlja2VyLXJpZ2h0OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDdweDtcbn1cblxuLmNvbG9ycGlja2VyLW5vLWFycm93OmJlZm9yZSB7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi5jb2xvcnBpY2tlci1uby1hcnJvdzphZnRlciB7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi5jb2xvcnBpY2tlcixcbi5jb2xvcnBpY2tlci1hbHBoYSxcbi5jb2xvcnBpY2tlci1zYXR1cmF0aW9uLFxuLmNvbG9ycGlja2VyLWh1ZSxcbi5jb2xvcnBpY2tlci1zZWxlY3RvcnMge1xuICAmLmNvbG9ycGlja2VyLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5jb2xvcnBpY2tlcixcbi5jb2xvcnBpY2tlci1hbHBoYSxcbi5jb2xvcnBpY2tlci1zYXR1cmF0aW9uLFxuLmNvbG9ycGlja2VyLWh1ZSxcbi5jb2xvcnBpY2tlci1zZWxlY3RvcnMge1xuICAmLmNvbG9ycGlja2VyLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY29sb3JwaWNrZXItaW5saW5lLmNvbG9ycGlja2VyLXZpc2libGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4iLCIvLyBNaXgtaW5zXG5AbWl4aW4gYm9yZGVyUmFkaXVzKCRyYWRpdXMpIHtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbkBtaXhpbiBib3hTaGFkb3coJGJveFNoYWRvdykge1xuICAtbW96LWJveC1zaGFkb3c6ICRib3hTaGFkb3c7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJGJveFNoYWRvdztcbiAgYm94LXNoYWRvdzogJGJveFNoYWRvdztcbn1cblxuQG1peGluIHdvcmRXcmFwKCR3b3JkV3JhcDogYnJlYWstd29yZCkge1xuICAtbXMtd29yZC13cmFwOiAkd29yZFdyYXA7XG4gIHdvcmQtd3JhcDogJHdvcmRXcmFwO1xufVxuXG4vLyBWYXJpYWJsZXNcbiRibGFjazogIzAwMDAwMDtcbiRncmV5OiAjOTk5OTk5O1xuJGxpZ2h0LWdyZXk6ICNDQ0NDQ0M7XG4kd2hpdGU6ICNGRkZGRkY7XG4kbmVhci1ibGFjazogIzAzMDMwMztcbiRncmVlbjogIzUxQTM1MTtcbiRyZWQ6ICNCRDM2MkY7XG4kYmx1ZTogIzJGOTZCNDtcbiRvcmFuZ2U6ICNGODk0MDY7XG5cbi8vIFN0eWxlc1xuLnRvYXN0LXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi50b2FzdC1tZXNzYWdlIHtcbiAgQGluY2x1ZGUgd29yZFdyYXAoKTtcblxuICBhLFxuICBsYWJlbCB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIGE6aG92ZXIge1xuICAgIGNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLnRvYXN0LWNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IC0wLjNlbTtcbiAgdG9wOiAtMC4zZW07XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgLXdlYmtpdC10ZXh0LXNoYWRvdzogMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LDEpO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LDEpO1xuICBAaW5jbHVkZSBvcGFjaXR5KDAuOCk7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMC40KTtcbiAgfVxufVxuXG4vKkFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbiBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbiBJZiB5b3Ugd2FudCB0aGUgYW5jaG9yIHZlcnNpb24sIGl0IHJlcXVpcmVzIGBocmVmPVwiI1wiYC4qL1xuYnV0dG9uLnRvYXN0LWNsb3NlLWJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vLyNlbmRyZWdpb25cblxuLnRvYXN0LXRvcC1mdWxsLXdpZHRoIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50b2FzdC1ib3R0b20tZnVsbC13aWR0aCB7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udG9hc3QtdG9wLWxlZnQge1xuICB0b3A6IDEycHg7XG4gIGxlZnQ6IDEycHg7XG59XG5cbi50b2FzdC10b3AtcmlnaHQge1xuICB0b3A6IDQ4cHg7XG4gIHJpZ2h0OiAzN3B4O1xufVxuXG4udG9hc3QtYm90dG9tLXJpZ2h0IHtcbiAgcmlnaHQ6IDEycHg7XG4gIGJvdHRvbTogMTJweDtcbn1cblxuLnRvYXN0LWJvdHRvbS1sZWZ0IHtcbiAgYm90dG9tOiAxMnB4O1xuICBsZWZ0OiAxMnB4O1xufVxuXG4jdG9hc3QtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMTAwO1xuXG4gICoge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gID4gZGl2IHtcbiAgICBtYXJnaW46IDAgMCA2cHg7XG4gICAgcGFkZGluZzogMTVweCAxNXB4IDE1cHggNTBweDtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTVweCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDNweCAzcHggM3B4IDNweCk7XG4gICAgQGluY2x1ZGUgYm94U2hhZG93KDAgMCAxMnB4ICRncmV5KTtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDAuOCk7XG4gIH1cblxuICA+IDpob3ZlciB7XG4gICAgQGluY2x1ZGUgYm94U2hhZG93KDAgMCAxMnB4ICRibGFjayk7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICA+IC50b2FzdC1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQVlDQVlBQUFEZ2R6MzRBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFBR3dTVVJCVkVoTHRaYTlTZ05CRU1jOXNVeHhSY29VS1N6U1dJaFhwRk1oaFlXRmhhQmc0eVBZaVdDWFp4QkxFUnNMUlMzRVFrRWZ3Q0tkaldKQXdTS0Nnb0tDY3VkdjRPNVlMcnQ3RXpnWGhpVTMvNCtiMmNrbXdWakpTcEtrUTZ3QWk0Z3doVCt6M3dSQmNFejB5alNzZVVUcmNSeWZzSHNYbUQwQW1iSE9DOUlpOFZJbW51WEJQZ2xIcFE1d3dTVk03c05uVEc3WmE0SndEZENqeHlBaUgzbnlBMm10YVRKdWZpRFo1ZENhcWxJdElMaDFOSGF0Zk41c2t2ang5WjM4bTY5Q2d6dVhtWmdWclBJR0U3NjNKeDlxS3NSb3pXWXc2eE9IZEVSK25uMktrTytCYitVVjVDQk42V0M2UXRCZ2JSVm96cmFoQWJtbTZIdFVzZ3RQQzE5dEZkeFhaWUJPZmtibUZKMVZhSEExVkFIamQwcHA3MG9UWnp2UitFVnJ4MllnZmRzcTZldTU1QkhZUjhobGNraStuK2tFUlVGRzhCckEwQndqZUF2Mk04V0xRQnRjeStTRDZmTnNtbkIzQWxCTHJnVHRWVzFjMlFONGJWV0xBVGFJUzYwSjJEdTV5MVRpSmdqU0J2RlZaZ1Rtd0NVK2RBWkZvUHhHRUVzOG55SEM5QndlMkd2RUp2MldYWmIwdmpkeUZUNEN4azNlL2tJcWxPR29WTHd3UGV2cFlIVCswMFQraFd3WERmNEFKQU9VcVdjRGhid0FBQUFBU1VWT1JLNUNZSUk9XCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICA+IC50b2FzdC1lcnJvciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUhPU1VSQlZFaExyWmEvU2dOQkVNWnpoMFdLQ0NsU0NLYUlZT0VEK0FBS2VRUUxHOEhXenRMQ0ltQnJZYWRnSWRZK2dJS05Za0JGU3d1N0NBb3FDZ2trb0dCSS9FMjhQZGJMWm1lRExnelp6Y3g4My96WjJTU1hDMWo5ZnIrSTFIcTkzZzJ5eEg0aXdNMXZrb0JXQWR4Q21welR4ZmtOMlJjeVpOYUhGSWtTbzEwKzhrZ3hrWElVUlY1SEd4VG1GdWM3NUIyUmZRa3B4SEc4YUFnYUFGYTB0QUhxWUZmUTdJd2UyeWhPRGs4K0o0Qzd5QW9SVFdJM3cvNGtsR1JnUjRsTzdScG45K2d2TXlXcCt1eEZoOCtIK0FSbGdOMW5KdUp1UUFZdk5rRW53R0ZjazE4RXI0cTNlZ0VjL29PK21oTGRLZ1J5aGRORmlhY0MwcmxPQ2JoTlZ6NEg5Rm5BWWdEQnZVM1FJaW9abEpGTEp0c29IWVJEZmlab1V5SXhxQ3RScFZsQU5xMEVVNGRBcGpydGdlelBGYWQ1UzE5V2dqa2MwaE5WbnVGNEhqVkE2QzdRclNJYnlsQitvWmUzYUhnQnNxbE5xS1lINDhqWHlKS011QWJpeVZKOEt6YUIzZVJjMHBnOVZ3UTRuaUZyeUk2OHFpT2kzQWJqd2RzZm5BdGswYkNqVExKS3I2bXJEOWc4aXEvUy9CODFoZ3VPTWxRVG5WeUc0MHdBY2pubWdzQ05FU0Ryam1lN3dmZnRQNFA3U1A0TjNDSlpkdnpvTnlHcTJjL0hXT1hKR3N2VmcrUkEvazJNQy93TjZJMllBMlB0OEdrQUFBQUFTVVZPUks1Q1lJST1cIikgIWltcG9ydGFudDtcbiAgfVxuXG4gID4gLnRvYXN0LXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBWUFBQURnZHozNEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFEc1NVUkJWRWhMWTJBWUJmUU1nZi8vLzNQOCsvZXZBSWd2QS9Gc0lGK0JhdllERFdNQkdyb2FTTU1CaUU4VkM3QVpEcklGYU1GbmlpM0FaVGpVZ3NVVVdVREE4T2RBSDZpUWJRRWh3NEh5R3NQRWNLQlhCSUM0QVJoZXg0RzRCc2ptd2VVMXNvSUZhR2cvV3RvRlpSSVpkRXZJTWh4a0NDalhJVnNBVFY2Z0ZHQUNzNFJzdzBFR2dJSUgzUUpZSmdIU0FSUVpEcldBQitqYXd6Z3MrUTJVTzQ5RDdqblJTUkdvRUZSSUxjZG1FTVdHSTBjbTBKSjJRcFlBMVJEdmNtekpFV2hBQmhEL3BxckwwUzBDV3VBQktnblJraTlsTHNlUzdnMkFscXdIV1FTS0g0b0tMcklMcFJHaEVRQ3cyTGlSVUlhNGx3QUFBQUJKUlU1RXJrSmdnZz09XCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICA+IC50b2FzdC13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQVlDQVlBQUFEZ2R6MzRBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFBR1lTVVJCVkVoTDVaU3ZUc05RRk1iWFpHSUNNWUdZbUpoQVFJSkFJQ1lRUEFBQ2lTREI4QWlJQ1FRSlQ0Q3FRRXdnSnZZQVNBUUNpWmlZbUpoQUlCQVRDQVJKeSs5clRzbGRkOHNLdTFNMCtkTGIwNTd2Ni9sYnEvMnJLMG1TL1RSTmo5Y1dOQUtQWUlKSUk3Z0l4Q2NRNTFjdnFJRCtHSUVYOEFTRzRCMWJLNWdJWkZlUWZvSmRFWE9mZ1g0UUFRZzdrSDJBNjV5UTg3bHl4YjI3c2dna0F6QXVGaGJiZzFLMmtnQ2tCMWJWd3lJUjltMkw3UFJQSWhEVUlYZ0d0eUt3NTc1eXozbFROczZYNEpYbmpWK0xLTS9tM015ZG5UYnRPS0lqdHo2VmhDQnE0dlNtM25jZHJEMmxrMFZnVVhTVktqVkRKWEp6aWpXMVJRZHNVN0Y3N0hlOHU2OGtvTlpUejhPejV5R2E2SjNIM2xaMHhZZ1hCSzJReW1sV1dBK1JXblloc2tMQnYydm1FK2hCTUN0YkE3S1g1ZHJXeVJULzJKc3FaMkl2ZkI5WTRiV0ROTUZiSlJGbUM5RTc0U29TMENxdWx3amtDMCs1YnBjVjFDWjhOTWVqNHBqeTBVK2RvRFFzR3lvMWh6Vkp0dElqaFE3R25CdFJGTjFVYXJVbEg4RjN4aWN0K0hZMDdyRXpvVUdQbFdjalJGUnI0L2dDaFpnYzNaTDJkOG9BQUFBQVNVVk9SSzVDWUlJPVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLypvdmVycmlkZXMqL1xuICAmLnRvYXN0LXRvcC1mdWxsLXdpZHRoID4gZGl2LFxuICAmLnRvYXN0LWJvdHRvbS1mdWxsLXdpZHRoID4gZGl2IHtcbiAgICB3aWR0aDogOTYlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuXG4udG9hc3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmVhci1ibGFjaztcbn1cblxuLnRvYXN0LXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG59XG5cbi50b2FzdC1lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG59XG5cbi50b2FzdC1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG59XG5cbi50b2FzdC13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbn1cblxuLypSZXNwb25zaXZlIERlc2lnbiovXG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDI0MHB4KSB7XG4gICN0b2FzdC1jb250YWluZXIge1xuXG4gICAgPiBkaXYge1xuICAgICAgcGFkZGluZzogOHB4IDhweCA4cHggNTBweDtcbiAgICAgIHdpZHRoOiAxMWVtO1xuICAgIH1cblxuICAgICYgLnRvYXN0LWNsb3NlLWJ1dHRvbiB7XG4gICAgICByaWdodDogLTAuMmVtO1xuICAgICAgdG9wOiAtMC4yZW07XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDI0MXB4KSBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgI3RvYXN0LWNvbnRhaW5lciB7XG4gICAgPiBkaXYge1xuICAgICAgcGFkZGluZzogOHB4IDhweCA4cHggNTBweDtcbiAgICAgIHdpZHRoOiAxOGVtO1xuICAgIH1cblxuICAgICYgLnRvYXN0LWNsb3NlLWJ1dHRvbiB7XG4gICAgICByaWdodDogLTAuMmVtO1xuICAgICAgdG9wOiAtMC4yZW07XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQ4MXB4KSBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI3RvYXN0LWNvbnRhaW5lciB7XG4gICAgPiBkaXYge1xuICAgICAgcGFkZGluZzogMTVweCAxNXB4IDE1cHggNTBweDtcbiAgICAgIHdpZHRoOiAyNWVtO1xuICAgIH1cbiAgfVxufSIsIi8vY29sb3JzXG4kY29sb3JfYWx0b19hcHByb3g6ICNkZGQ7XG4kY29sb3JfZGVlcF9jZXJ1bGVhbl9hcHByb3g6ICMwMDc4YTg7XG4kd2ViX29yYW5nZTogIG9yYW5nZTtcbiRjb2xvcl9kb2RnZXJfYmx1ZV9hcHByb3g6ICMzOGY7XG4kd2hpdGVfNTA6IHJnYmEoMjU1LDI1NSwyNTUsMC41KTtcbiRibGFja182NTogcmdiYSgwLDAsMCwwLjY1KTtcbiR3aGl0ZTogI2ZmZjtcbiRjb2xvcl9jZWxlc3RlX2FwcHJveDogI2NjYztcbiRibGFjazogYmxhY2s7XG4kd2lsZF9zYW5kOiAjZjRmNGY0O1xuJGNvbG9yX3Bpbmtfc3dhbl9hcHByb3g6ICNiYmI7XG4kYmxhY2tfNDA6IHJnYmEoMCwwLDAsMC40KTtcbiRjb2xvcl9taW5lX3NoYWZ0X2FwcHJveDogIzMzMztcbiR3aGl0ZV83MDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuJGNvbG9yX3RhcGFfYXBwcm94OiAjNzc3O1xuJGJsYWNrXzIwOiByZ2JhKDAsMCwwLDAuMik7XG4kY29sb3JfcGFsZV9zbGF0ZV9hcHByb3g6ICNjM2MzYzM7XG4kY29sb3JfbW91bnRhaW5fbWlzdF9hcHByb3g6ICM5OTk7XG4kY29sb3Jfc3Rvcm1fZHVzdF9hcHByb3g6ICM2NjY7XG4kY29sb3JfbG9nX2NhYmluX2FwcHJveDogIzIyMjtcblxuJGV4dGVuZF8yLXotaW5kZXg6IDkwMDtcbiRsZWFmbGV0LXBhbmUtei1pbmRleDogNDAwO1xuJGxlYWZsZXQtem9vbS1ib3gtei1pbmRleDogODAwO1xuJGxlYWZsZXQtb3ZlcmxheS1wYW5lLXotaW5kZXg6IDQwMDtcbiRsZWFmbGV0LXRpbGUtcGFuZS16LWluZGV4OiAyMDA7XG4kbGVhZmxldC1zaGFkb3ctcGFuZS16LWluZGV4OiA1MDA7XG4kbGVhZmxldC1tYXJrZXItcGFuZS16LWluZGV4OiA2MDA7XG4kbGVhZmxldC10b29sdGlwLXBhbmUtei1pbmRleDogNjUwO1xuJGxlYWZsZXQtcG9wdXAtcGFuZS16LWluZGV4OiA3MDA7XG4kbGVhZmxldC1jb250cm9sLXotaW5kZXg6IDgwMDtcblxuJGxlYWZsZXQtbWFwLXBhbmUtY2FudmFzLXotaW5kZXg6IDEwMDtcbiRsZWFmbGV0LW1hcC1wYW5lLXN2Zy16LWluZGV4OiAyMDA7XG5cbi8vZm9udHNcbiRmb250XzA6IEx1Y2lkYSBDb25zb2xlO1xuJGZvbnRfMTogTW9uYWNvO1xuJGZvbnRfMjogbW9ub3NwYWNlO1xuJGZvbnRfMzogVGFob21hO1xuJGZvbnRfNDogVmVyZGFuYTtcbiRmb250XzU6IHNhbnMtc2VyaWY7XG5cbi8vdXJsc1xuJHVybF8wOiB1cmwoI2RlZmF1bHQjVk1MKTtcbiR1cmxfMTogdXJsKC4uL2ltYWdlcy9sYXllcnMucG5nKTtcbiR1cmxfMjogdXJsKC4uL2ltYWdlcy9sYXllcnMtMngucG5nKTtcbiR1cmxfMzogdXJsKC4uL2ltYWdlcy9tYXJrZXItaWNvbi5wbmcpO1xuXG4vL0BleHRlbmQtZWxlbWVudHNcbi8vb3JpZ2luYWwgc2VsZWN0b3JzXG4vLy5sZWFmbGV0LXBhbmUsIC5sZWFmbGV0LXRpbGUsIC5sZWFmbGV0LW1hcmtlci1pY29uLCAubGVhZmxldC1tYXJrZXItc2hhZG93LCAubGVhZmxldC10aWxlLWNvbnRhaW5lciwgLmxlYWZsZXQtcGFuZSA+c3ZnLCAubGVhZmxldC1wYW5lID5jYW52YXMsIC5sZWFmbGV0LXpvb20tYm94LCAubGVhZmxldC1pbWFnZS1sYXllciwgLmxlYWZsZXQtbGF5ZXJcbiVleHRlbmRfMSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xufVxuXG4vL29yaWdpbmFsIHNlbGVjdG9yc1xuLy8ubGVhZmxldC10b3AsIC5sZWFmbGV0LWJvdHRvbVxuJWV4dGVuZF8yIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAkZXh0ZW5kXzItei1pbmRleDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8vb3JpZ2luYWwgc2VsZWN0b3JzXG4vLy5sZWFmbGV0LWJhciBhLCAubGVhZmxldC1iYXIgYTpob3ZlclxuJWV4dGVuZF8zIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX2NlbGVzdGVfYXBwcm94O1xuXHR3aWR0aDogMjZweDtcblx0aGVpZ2h0OiAyNnB4O1xuXHRsaW5lLWhlaWdodDogMjZweDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjb2xvcjogJGJsYWNrO1xufVxuXG4vL29yaWdpbmFsIHNlbGVjdG9yc1xuLy8ubGVhZmxldC1iYXIgYSwgLmxlYWZsZXQtY29udHJvbC1sYXllcnMtdG9nZ2xlXG4lZXh0ZW5kXzQge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLy9vcmlnaW5hbCBzZWxlY3RvcnNcbi8vLmxlYWZsZXQtcG9wdXAtY29udGVudC13cmFwcGVyLCAubGVhZmxldC1wb3B1cC10aXBcbiVleHRlbmRfNSB7XG5cdGJhY2tncm91bmQ6ICRwb3B1cC1ib2R5LWJnO1xuXHRjb2xvcjogJGNvbG9yX21pbmVfc2hhZnRfYXBwcm94O1xuXHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSBib3gtc2hhZG93KCRzaGFkb3ctMSwgJHNoYWRvdy0yLCAkc2hhZG93LTMsICRzaGFkb3ctNCwgJHNoYWRvdy01LCAkc2hhZG93LTYsICRzaGFkb3ctNywgJHNoYWRvdy04LCAkc2hhZG93LTksICRzaGFkb3ctMTApXG5cdGJveC1zaGFkb3c6IDAgM3B4IDE0cHggJGJsYWNrXzQwO1xufVxuXG4vL29yaWdpbmFsIHNlbGVjdG9yc1xuLy8ubGVhZmxldC10b29sdGlwLXRvcDpiZWZvcmUsIC5sZWFmbGV0LXRvb2x0aXAtYm90dG9tOmJlZm9yZSwgLmxlYWZsZXQtdG9vbHRpcC1sZWZ0OmJlZm9yZSwgLmxlYWZsZXQtdG9vbHRpcC1yaWdodDpiZWZvcmVcbiVleHRlbmRfNiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdGJvcmRlcjogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Y29udGVudDogXCJcIjtcbn1cblxuXG4ubGVhZmxldC1wYW5lIHtcblx0QGV4dGVuZCAlZXh0ZW5kXzE7XG5cdHotaW5kZXg6ICRsZWFmbGV0LXBhbmUtei1pbmRleDtcblx0PiBzdmcge1xuXHRcdEBleHRlbmQgJWV4dGVuZF8xO1xuXHRcdHBhdGgge1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHQmLmxlYWZsZXQtaW50ZXJhY3RpdmUge1xuXHRcdFx0XHRwb2ludGVyLWV2ZW50czogdmlzaWJsZVBhaW50ZWQ7XG5cdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQ+IGNhbnZhcyB7XG5cdFx0QGV4dGVuZCAlZXh0ZW5kXzE7XG5cdH1cbn1cbi5sZWFmbGV0LXRpbGUge1xuXHRAZXh0ZW5kICVleHRlbmRfMTtcblx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdXNlci1zZWxlY3QoJHNlbGVjdClcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdGZpbHRlcjogaW5oZXJpdDtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLmxlYWZsZXQtbWFya2VyLWljb24ge1xuXHRAZXh0ZW5kICVleHRlbmRfMTtcblx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdXNlci1zZWxlY3QoJHNlbGVjdClcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0Ji5sZWFmbGV0LWludGVyYWN0aXZlIHtcblx0XHRwb2ludGVyLWV2ZW50czogdmlzaWJsZVBhaW50ZWQ7XG5cdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdH1cbn1cbi5sZWFmbGV0LW1hcmtlci1zaGFkb3cge1xuXHRAZXh0ZW5kICVleHRlbmRfMTtcblx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdXNlci1zZWxlY3QoJHNlbGVjdClcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5sZWFmbGV0LXRpbGUtY29udGFpbmVyIHtcblx0QGV4dGVuZCAlZXh0ZW5kXzE7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmxlYWZsZXQtem9vbS1ib3gge1xuXHRAZXh0ZW5kICVleHRlbmRfMTtcblx0d2lkdGg6IDA7XG5cdGhlaWdodDogMDtcblx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgYm94LXNpemluZygkYnMpXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdHotaW5kZXg6ICRsZWFmbGV0LXpvb20tYm94LXotaW5kZXg7XG5cdGJvcmRlcjogMnB4IGRvdHRlZCAkY29sb3JfZG9kZ2VyX2JsdWVfYXBwcm94O1xuXHRiYWNrZ3JvdW5kOiAkd2hpdGVfNTA7XG59XG4ubGVhZmxldC1pbWFnZS1sYXllciB7XG5cdEBleHRlbmQgJWV4dGVuZF8xO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0Ji5sZWFmbGV0LWludGVyYWN0aXZlIHtcblx0XHRwb2ludGVyLWV2ZW50czogdmlzaWJsZVBhaW50ZWQ7XG5cdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdH1cbn1cbi5sZWFmbGV0LWxheWVyIHtcblx0QGV4dGVuZCAlZXh0ZW5kXzE7XG59XG4ubGVhZmxldC1jb250YWluZXIge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRiYWNrZ3JvdW5kOiAkY29sb3JfYWx0b19hcHByb3g7XG5cdG91dGxpbmU6IDA7XG5cdGZvbnQ6IDEycHgvMS41IFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcblx0Ji5sZWFmbGV0LXRvdWNoLXpvb20ge1xuXHRcdHRvdWNoLWFjdGlvbjogcGFuLXggcGFuLXk7XG5cdH1cblx0YSB7XG5cdFx0Y29sb3I6ICRjb2xvcl9kZWVwX2NlcnVsZWFuX2FwcHJveDtcblx0XHQmLmxlYWZsZXQtYWN0aXZlIHtcblx0XHRcdG91dGxpbmU6IDJweCBzb2xpZCAkd2ViX29yYW5nZTtcblx0XHR9XG4gICAgICAvKlxuXHRcdCYubGVhZmxldC1wb3B1cC1jbG9zZS1idXR0b24ge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRwYWRkaW5nOiA0cHggNHB4IDAgMDtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHdpZHRoOiAxOHB4O1xuXHRcdFx0aGVpZ2h0OiAxNHB4O1xuXHRcdFx0Zm9udDogMTZweC8xNHB4ICRmb250XzMsICRmb250XzQsICRmb250XzU7XG5cdFx0XHRjb2xvcjogJGNvbG9yX3BhbGVfc2xhdGVfYXBwcm94O1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogJGNvbG9yX21vdW50YWluX21pc3RfYXBwcm94O1xuXHRcdFx0fVxuXHRcdH1cblx0ICAqL1xuXHR9XG5cdC5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24ge1xuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRiYWNrZ3JvdW5kOiAkd2hpdGVfNzA7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGZvbnQtc2l6ZTogMTFweDtcblx0fVxuXHQubGVhZmxldC1jb250cm9sLXNjYWxlIHtcblx0XHRmb250LXNpemU6IDExcHg7XG5cdH1cblx0LmxlYWZsZXQtb3ZlcmxheS1wYW5lIHN2ZyB7XG5cdFx0bWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblx0LmxlYWZsZXQtbWFya2VyLXBhbmUgaW1nIHtcblx0XHRtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXHQubGVhZmxldC1zaGFkb3ctcGFuZSBpbWcge1xuXHRcdG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cdC5sZWFmbGV0LXRpbGUtcGFuZSBpbWcge1xuXHRcdG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cdGltZy5sZWFmbGV0LWltYWdlLWxheWVyIHtcblx0XHRtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXHQmLmxlYWZsZXQtdG91Y2gtZHJhZy5sZWFmbGV0LXRvdWNoLXpvb20ge1xuXHRcdHRvdWNoLWFjdGlvbjogbm9uZTtcblx0fVxufVxuLmxlYWZsZXQtc2FmYXJpIHtcblx0LmxlYWZsZXQtdGlsZSB7XG5cdH1cblx0LmxlYWZsZXQtdGlsZS1jb250YWluZXIge1xuXHRcdHdpZHRoOiAxNjAwcHg7XG5cdFx0aGVpZ2h0OiAxNjAwcHg7XG5cdH1cbn1cbi5sZWFmbGV0LXRpbGUtbG9hZGVkIHtcblx0dmlzaWJpbGl0eTogaW5oZXJpdDtcbn1cbi5sZWFmbGV0LW92ZXJsYXktcGFuZSB7XG5cdHotaW5kZXg6ICRsZWFmbGV0LW92ZXJsYXktcGFuZS16LWluZGV4O1xuXHRzdmcge1xuXHR9XG59XG4ubGVhZmxldC10aWxlLXBhbmUge1xuXHR6LWluZGV4OiAkbGVhZmxldC10aWxlLXBhbmUtei1pbmRleDtcbn1cbi5sZWFmbGV0LXNoYWRvdy1wYW5lIHtcblx0ei1pbmRleDogJGxlYWZsZXQtc2hhZG93LXBhbmUtei1pbmRleDtcbn1cbi5sZWFmbGV0LW1hcmtlci1wYW5lIHtcblx0ei1pbmRleDogJGxlYWZsZXQtbWFya2VyLXBhbmUtei1pbmRleDtcbn1cbi5sZWFmbGV0LXRvb2x0aXAtcGFuZSB7XG5cdHotaW5kZXg6ICRsZWFmbGV0LXRvb2x0aXAtcGFuZS16LWluZGV4O1xufVxuLmxlYWZsZXQtcG9wdXAtcGFuZSB7XG5cdHotaW5kZXg6ICRsZWFmbGV0LXBvcHVwLXBhbmUtei1pbmRleDtcblx0Y3Vyc29yOiBhdXRvO1xufVxuLmxlYWZsZXQtbWFwLXBhbmUge1xuXHRjYW52YXMge1xuXHRcdHotaW5kZXg6ICRsZWFmbGV0LW1hcC1wYW5lLWNhbnZhcy16LWluZGV4O1xuXHR9XG5cdHN2ZyB7XG5cdFx0ei1pbmRleDogJGxlYWZsZXQtbWFwLXBhbmUtc3ZnLXotaW5kZXg7XG5cdH1cbn1cbi5sZWFmbGV0LXZtbC1zaGFwZSB7XG5cdHdpZHRoOiAxcHg7XG5cdGhlaWdodDogMXB4O1xufVxuLmx2bWwge1xuXHRiZWhhdmlvcjogJHVybF8wO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5sZWFmbGV0LWNvbnRyb2wge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6ICRsZWFmbGV0LWNvbnRyb2wtei1pbmRleDtcblx0cG9pbnRlci1ldmVudHM6IHZpc2libGVQYWludGVkO1xuXHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0ZmxvYXQ6IGxlZnQ7XG5cdGNsZWFyOiBib3RoO1xuXHRjdXJzb3I6IGF1dG87XG59XG4ubGVhZmxldC10b3Age1xuXHRAZXh0ZW5kICVleHRlbmRfMjtcblx0dG9wOiAwO1xuXHQubGVhZmxldC1jb250cm9sIHtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHR9XG59XG4ubGVhZmxldC1ib3R0b20ge1xuXHRAZXh0ZW5kICVleHRlbmRfMjtcblx0Ym90dG9tOiAwO1xuXHQubGVhZmxldC1jb250cm9sIHtcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHR9XG5cdC5sZWFmbGV0LWNvbnRyb2wtc2NhbGUge1xuXHRcdG1hcmdpbi1ib3R0b206IDVweDtcblx0fVxufVxuLmxlYWZsZXQtcmlnaHQge1xuXHRyaWdodDogMDtcblx0LmxlYWZsZXQtY29udHJvbCB7XG5cdFx0Ly9mbG9hdDogcmlnaHQ7XG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHR9XG59XG4ubGVhZmxldC1sZWZ0IHtcblx0bGVmdDogMDtcblx0LmxlYWZsZXQtY29udHJvbCB7XG5cdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XG5cdH1cblx0LmxlYWZsZXQtY29udHJvbC1zY2FsZSB7XG5cdFx0bWFyZ2luLWxlZnQ6IDVweDtcblx0fVxufVxuLmxlYWZsZXQtZmFkZS1hbmltIHtcblx0LmxlYWZsZXQtdGlsZSB7XG5cdFx0d2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG5cdH1cblx0LmxlYWZsZXQtcG9wdXAge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi0xLCAkdHJhbnNpdGlvbi0yLCAkdHJhbnNpdGlvbi0zLCAkdHJhbnNpdGlvbi00LCAkdHJhbnNpdGlvbi01LCAkdHJhbnNpdGlvbi02LCAkdHJhbnNpdGlvbi03LCAkdHJhbnNpdGlvbi04LCAkdHJhbnNpdGlvbi05LCAkdHJhbnNpdGlvbi0xMClcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyO1xuXHR9XG5cdC5sZWFmbGV0LW1hcC1wYW5lIC5sZWFmbGV0LXBvcHVwIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG4ubGVhZmxldC16b29tLWFuaW1hdGVkIHtcblx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKVxuXHR0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG59XG4ubGVhZmxldC16b29tLWFuaW0ge1xuXHQubGVhZmxldC16b29tLWFuaW1hdGVkIHtcblx0XHR3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXHRcdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tMSwgJHRyYW5zaXRpb24tMiwgJHRyYW5zaXRpb24tMywgJHRyYW5zaXRpb24tNCwgJHRyYW5zaXRpb24tNSwgJHRyYW5zaXRpb24tNiwgJHRyYW5zaXRpb24tNywgJHRyYW5zaXRpb24tOCwgJHRyYW5zaXRpb24tOSwgJHRyYW5zaXRpb24tMTApXG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGN1YmljLWJlemllcigwLDAsMC4yNSwxKTtcblx0fVxuXHQubGVhZmxldC10aWxlIHtcblx0XHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLTEsICR0cmFuc2l0aW9uLTIsICR0cmFuc2l0aW9uLTMsICR0cmFuc2l0aW9uLTQsICR0cmFuc2l0aW9uLTUsICR0cmFuc2l0aW9uLTYsICR0cmFuc2l0aW9uLTcsICR0cmFuc2l0aW9uLTgsICR0cmFuc2l0aW9uLTksICR0cmFuc2l0aW9uLTEwKVxuXHRcdHRyYW5zaXRpb246IG5vbmU7XG5cdH1cblx0LmxlYWZsZXQtem9vbS1oaWRlIHtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdH1cbn1cbi5sZWFmbGV0LWludGVyYWN0aXZlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuLmxlYWZsZXQtZ3JhYiB7XG59XG4ubGVhZmxldC1jcm9zc2hhaXIge1xuXHRjdXJzb3I6IGNyb3NzaGFpcjtcblx0LmxlYWZsZXQtaW50ZXJhY3RpdmUge1xuXHRcdGN1cnNvcjogY3Jvc3NoYWlyO1xuXHR9XG59XG4ubGVhZmxldC1kcmFnZ2luZyB7XG5cdC5sZWFmbGV0LWdyYWIge1xuXHRcdGN1cnNvcjogbW92ZTtcblx0XHQubGVhZmxldC1pbnRlcmFjdGl2ZSB7XG5cdFx0XHRjdXJzb3I6IG1vdmU7XG5cdFx0fVxuXHR9XG5cdC5sZWFmbGV0LW1hcmtlci1kcmFnZ2FibGUge1xuXHRcdGN1cnNvcjogbW92ZTtcblx0fVxufVxuLmxlYWZsZXQtYmFyIHtcblx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93LTEsICRzaGFkb3ctMiwgJHNoYWRvdy0zLCAkc2hhZG93LTQsICRzaGFkb3ctNSwgJHNoYWRvdy02LCAkc2hhZG93LTcsICRzaGFkb3ctOCwgJHNoYWRvdy05LCAkc2hhZG93LTEwKVxuXHRib3gtc2hhZG93OiAwIDFweCA1cHggJGJsYWNrXzY1O1xuXHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRyYWRpdXMsICR2ZXJ0aWNhbC1yYWRpdXMpXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0YSB7XG5cdFx0QGV4dGVuZCAlZXh0ZW5kXzM7XG5cdFx0QGV4dGVuZCAlZXh0ZW5kXzQ7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRAZXh0ZW5kICVleHRlbmRfMztcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aWxkX3NhbmQ7XG5cdFx0fVxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKVxuXHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xuXHRcdFx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cylcblx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG5cdFx0fVxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpXG5cdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG5cdFx0XHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKVxuXHRcdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcblx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0fVxuXHRcdCYubGVhZmxldC1kaXNhYmxlZCB7XG5cdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2lsZF9zYW5kO1xuXHRcdFx0Y29sb3I6ICRjb2xvcl9waW5rX3N3YW5fYXBwcm94O1xuXHRcdH1cblx0fVxufVxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtdG9nZ2xlIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi5sZWFmbGV0LXRvdWNoIHtcblx0LmxlYWZsZXQtYmFyIHtcblx0XHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSBib3gtc2hhZG93KCRzaGFkb3ctMSwgJHNoYWRvdy0yLCAkc2hhZG93LTMsICRzaGFkb3ctNCwgJHNoYWRvdy01LCAkc2hhZG93LTYsICRzaGFkb3ctNywgJHNoYWRvdy04LCAkc2hhZG93LTksICRzaGFkb3ctMTApXG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRib3JkZXI6IDJweCBzb2xpZCAkYmxhY2tfMjA7XG5cdFx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgYmFja2dyb3VuZC1jbGlwKCRjbGlwKVxuXHRcdGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cdFx0YSB7XG5cdFx0XHR3aWR0aDogMzBweDtcblx0XHRcdGhlaWdodDogMzBweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAzMHB4O1xuXHRcdH1cblx0fVxuXHQubGVhZmxldC1jb250cm9sLXpvb20taW4ge1xuXHRcdGZvbnQtc2l6ZTogMjJweDtcblx0fVxuXHQubGVhZmxldC1jb250cm9sLXpvb20tb3V0IHtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdH1cblx0LmxlYWZsZXQtY29udHJvbC1sYXllcnMtdG9nZ2xlIHtcblx0XHQvL3dpZHRoOiA0NHB4O1xuXHRcdC8vaGVpZ2h0OiA0NHB4O1xuXHR9XG5cdC5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24ge1xuXHRcdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdy0xLCAkc2hhZG93LTIsICRzaGFkb3ctMywgJHNoYWRvdy00LCAkc2hhZG93LTUsICRzaGFkb3ctNiwgJHNoYWRvdy03LCAkc2hhZG93LTgsICRzaGFkb3ctOSwgJHNoYWRvdy0xMClcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHR9XG5cdC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIHtcblx0XHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSBib3gtc2hhZG93KCRzaGFkb3ctMSwgJHNoYWRvdy0yLCAkc2hhZG93LTMsICRzaGFkb3ctNCwgJHNoYWRvdy01LCAkc2hhZG93LTYsICRzaGFkb3ctNywgJHNoYWRvdy04LCAkc2hhZG93LTksICRzaGFkb3ctMTApXG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRib3JkZXI6IDJweCBzb2xpZCAkYmxhY2tfMjA7XG5cdFx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgYmFja2dyb3VuZC1jbGlwKCRjbGlwKVxuXHRcdGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cdH1cbn1cbi5sZWFmbGV0LWNvbnRyb2wtem9vbS1pbiB7XG5cdGZvbnQ6IGJvbGQgMThweCAkZm9udF8wLCAkZm9udF8xLCAkZm9udF8yO1xuXHR0ZXh0LWluZGVudDogMXB4O1xufVxuLmxlYWZsZXQtY29udHJvbC16b29tLW91dCB7XG5cdGZvbnQ6IGJvbGQgMThweCAkZm9udF8wLCAkZm9udF8xLCAkZm9udF8yO1xuXHR0ZXh0LWluZGVudDogMXB4O1xuXHRmb250LXNpemU6IDIwcHg7XG59XG4vKlxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMge1xuXHRAZXh0ZW5kIC5kcm9wYXJyb3c7XG5cdEBleHRlbmQgLmRyb3ByaWdodDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWxpc3Qge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0QGV4dGVuZCAuZHJvcGRvd24tbWVudTtcblx0fVxuXHRsYWJlbCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAwO1xuXG5cdFx0QGluY2x1ZGUgY2hlY2tib3goJ2RpdicsICdzcGFuJyk7XG5cdFx0QGluY2x1ZGUgY2hlY2tib3gtdmFyaWFudCgnZGl2JywgJGJyYW5kLXByaW1hcnksICdzcGFuJyk7XG5cblx0XHRkaXYge1xuXHRcdFx0cGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmctdmVydGljYWwgJGRyb3Bkb3duLXBhZGRpbmctaG9yaXpvbnRhbDtcblx0XHR9XG5cdH1cbn1cblxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtZXhwYW5kZWQge1xuXHQubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuKi9cbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXNjcm9sbGJhciB7XG5cdG92ZXJmbG93LXk6IHNjcm9sbDtcblx0cGFkZGluZy1yaWdodDogNXB4O1xufVxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtc2VsZWN0b3Ige1xuXHRtYXJnaW4tdG9wOiAycHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dG9wOiAxcHg7XG59XG4ubGVhZmxldC1jb250cm9sLWxheWVycy1zZXBhcmF0b3Ige1xuXHRoZWlnaHQ6IDA7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3JfYWx0b19hcHByb3g7XG5cdG1hcmdpbjogNXB4IC0xMHB4IDVweCAtNnB4O1xufVxuLmxlYWZsZXQtZGVmYXVsdC1pY29uLXBhdGgge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiAkdXJsXzM7XG59XG4ubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uIHtcblx0cGFkZGluZzogMCA1cHg7XG5cdGNvbG9yOiAkY29sb3JfbWluZV9zaGFmdF9hcHByb3g7XG5cdGEge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHQmOmhvdmVyIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0fVxufVxuLmxlYWZsZXQtY29udHJvbC1zY2FsZS1saW5lIHtcblx0cGFkZGluZzogMCA1cHg7XG5cdGNvbG9yOiAkY29sb3JfbWluZV9zaGFmdF9hcHByb3g7XG5cdGJvcmRlcjogMnB4IHNvbGlkICRjb2xvcl90YXBhX2FwcHJveDtcblx0Ym9yZGVyLXRvcDogbm9uZTtcblx0bGluZS1oZWlnaHQ6IDEuMTtcblx0cGFkZGluZzogMnB4IDVweCAxcHg7XG5cdGZvbnQtc2l6ZTogMTFweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgYm94LXNpemluZygkYnMpXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0YmFja2dyb3VuZDogJHdoaXRlXzUwO1xuXHQmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcblx0XHRib3JkZXItdG9wOiAycHggc29saWQgJGNvbG9yX3RhcGFfYXBwcm94O1xuXHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0bWFyZ2luLXRvcDogLTJweDtcblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvcl90YXBhX2FwcHJveDtcblx0XHR9XG5cdH1cbn1cbi5sZWFmbGV0LXBvcHVwIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4ubGVhZmxldC1wb3B1cC1jb250ZW50LXdyYXBwZXIge1xuXHQvL3BhZGRpbmc6IDFweDtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcmFkaXVzLCAkdmVydGljYWwtcmFkaXVzKVxuXHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdC8vQGV4dGVuZCAlZXh0ZW5kXzU7XG59XG4ubGVhZmxldC1wb3B1cC1jb250ZW50IHtcbiAgLy93aWR0aDogMzAwcHg7XG59XG4ubGVhZmxldC1wb3B1cC10aXAtY29udGFpbmVyIHtcblx0d2lkdGg6IDQwcHg7XG5cdGhlaWdodDogMjBweDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiA1MCU7XG5cdG1hcmdpbi1sZWZ0OiAtMjBweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ubGVhZmxldC1wb3B1cC10aXAge1xuXHR3aWR0aDogMTdweDtcblx0aGVpZ2h0OiAxN3B4O1xuXHRwYWRkaW5nOiAxcHg7XG5cdG1hcmdpbjogLTEwcHggYXV0byAwO1xuXHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB0cmFuc2Zvcm0oJHNjYWxlLCAkcm90YXRlLCAkdHJhbnN4LCAkdHJhbnN5LCAkc2tld3gsICRza2V3eSwgJG9yaWdpbngsICRvcmlnaW55KVxuXHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdEBleHRlbmQgJWV4dGVuZF81O1xufVxuLmxlYWZsZXQtcG9wdXAtc2Nyb2xsZWQge1xuXHRvdmVyZmxvdzogYXV0bztcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9hbHRvX2FwcHJveDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcl9hbHRvX2FwcHJveDtcbn1cbi5sZWFmbGV0LW9sZGllIHtcblx0LmxlYWZsZXQtcG9wdXAtY29udGVudC13cmFwcGVyIHtcblx0XHR6b29tOiAxO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9tb3VudGFpbl9taXN0X2FwcHJveDtcblx0fVxuXHQubGVhZmxldC1wb3B1cC10aXAge1xuXHRcdHdpZHRoOiAyNHB4O1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0Lk1hdHJpeChNMTE9MC43MDcxMDY3OCwgTTEyPTAuNzA3MTA2NzgsIE0yMT0tMC43MDcxMDY3OCwgTTIyPTAuNzA3MTA2NzgpO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9tb3VudGFpbl9taXN0X2FwcHJveDtcblx0fVxuXHQubGVhZmxldC1wb3B1cC10aXAtY29udGFpbmVyIHtcblx0XHRtYXJnaW4tdG9wOiAtMXB4O1xuXHR9XG5cdC5sZWFmbGV0LWNvbnRyb2wtem9vbSB7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yX21vdW50YWluX21pc3RfYXBwcm94O1xuXHR9XG5cdC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfbW91bnRhaW5fbWlzdF9hcHByb3g7XG5cdH1cbn1cbi5sZWFmbGV0LWRpdi1pY29uIHtcblx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3Jfc3Rvcm1fZHVzdF9hcHByb3g7XG59XG4ubGVhZmxldC10b29sdGlwIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRwYWRkaW5nOiA2cHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0Ym9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuXHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRyYWRpdXMsICR2ZXJ0aWNhbC1yYWRpdXMpXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Y29sb3I6ICRjb2xvcl9sb2dfY2FiaW5fYXBwcm94O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHQvL0luc3RlYWQgb2YgdGhlIGxpbmUgYmVsb3cgeW91IGNvdWxkIHVzZSBAaW5jbHVkZSB1c2VyLXNlbGVjdCgkc2VsZWN0KVxuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdy0xLCAkc2hhZG93LTIsICRzaGFkb3ctMywgJHNoYWRvdy00LCAkc2hhZG93LTUsICRzaGFkb3ctNiwgJHNoYWRvdy03LCAkc2hhZG93LTgsICRzaGFkb3ctOSwgJHNoYWRvdy0xMClcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4ICRibGFja180MDtcblx0Ji5sZWFmbGV0LWNsaWNrYWJsZSB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXHR9XG59XG4ubGVhZmxldC10b29sdGlwLXRvcCB7XG5cdG1hcmdpbi10b3A6IC02cHg7XG5cdCY6YmVmb3JlIHtcblx0XHRAZXh0ZW5kICVleHRlbmRfNjtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0bWFyZ2luLWxlZnQ6IC02cHg7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdG1hcmdpbi1ib3R0b206IC0xMnB4O1xuXHRcdGJvcmRlci10b3AtY29sb3I6ICR3aGl0ZTtcblx0fVxufVxuLmxlYWZsZXQtdG9vbHRpcC1ib3R0b20ge1xuXHRtYXJnaW4tdG9wOiA2cHg7XG5cdCY6YmVmb3JlIHtcblx0XHRAZXh0ZW5kICVleHRlbmRfNjtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0bWFyZ2luLWxlZnQ6IC02cHg7XG5cdFx0dG9wOiAwO1xuXHRcdG1hcmdpbi10b3A6IC0xMnB4O1xuXHRcdG1hcmdpbi1sZWZ0OiAtNnB4O1xuXHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICR3aGl0ZTtcblx0fVxufVxuLmxlYWZsZXQtdG9vbHRpcC1sZWZ0IHtcblx0bWFyZ2luLWxlZnQ6IC02cHg7XG5cdCY6YmVmb3JlIHtcblx0XHRAZXh0ZW5kICVleHRlbmRfNjtcblx0XHR0b3A6IDUwJTtcblx0XHRtYXJnaW4tdG9wOiAtNnB4O1xuXHRcdHJpZ2h0OiAwO1xuXHRcdG1hcmdpbi1yaWdodDogLTEycHg7XG5cdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICR3aGl0ZTtcblx0fVxufVxuLmxlYWZsZXQtdG9vbHRpcC1yaWdodCB7XG5cdG1hcmdpbi1sZWZ0OiA2cHg7XG5cdCY6YmVmb3JlIHtcblx0XHRAZXh0ZW5kICVleHRlbmRfNjtcblx0XHR0b3A6IDUwJTtcblx0XHRtYXJnaW4tdG9wOiAtNnB4O1xuXHRcdGxlZnQ6IDA7XG5cdFx0bWFyZ2luLWxlZnQ6IC0xMnB4O1xuXHRcdGJvcmRlci1yaWdodC1jb2xvcjogJHdoaXRlO1xuXHR9XG59XG4ubGVhZmxldC1wYW4tYW5pbSAubGVhZmxldC10aWxlIHtcblx0Ly9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi0xLCAkdHJhbnNpdGlvbi0yLCAkdHJhbnNpdGlvbi0zLCAkdHJhbnNpdGlvbi00LCAkdHJhbnNpdGlvbi01LCAkdHJhbnNpdGlvbi02LCAkdHJhbnNpdGlvbi03LCAkdHJhbnNpdGlvbi04LCAkdHJhbnNpdGlvbi05LCAkdHJhbnNpdGlvbi0xMClcblx0dHJhbnNpdGlvbjogbm9uZTtcbn1cbi5sZWFmbGV0LXJldGluYSAubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGUge1xuXHQvL2JhY2tncm91bmQtaW1hZ2U6ICR1cmxfMjtcblx0Ly9iYWNrZ3JvdW5kLXNpemU6IDI2cHggMjZweDtcbn1cblxuXG4kZGV2aWNlLW1hcmtlci1hcnJvdy1zaXplOiAxMHB4O1xuJGRldmljZS1tYXJrZXItYXJyb3ctYm9yZGVyLXNpemU6IDFweDtcbiRkZXZpY2UtbWFya2VyLWFycm93LXNpemUtaW5uZXI6ICRkZXZpY2UtbWFya2VyLWFycm93LXNpemU7XG4kZGV2aWNlLW1hcmtlci1hcnJvdy1zaXplLW91dHRlcjogKCRkZXZpY2UtbWFya2VyLWFycm93LXNpemUgKyAkZGV2aWNlLW1hcmtlci1hcnJvdy1ib3JkZXItc2l6ZSk7XG5cbi5sZWFmLWRldmljZS1tYXJrZXIge1xuXHQuaWNvIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXHQubmFtZSB7XG5cblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym90dG9tOiAxMDAlO1xuXHRcdG1hcmdpbi1ib3R0b206ICRkZXZpY2UtbWFya2VyLWFycm93LXNpemUgLyAyO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MCUpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAlKTtcblxuXHRcdCY6YmVmb3JlLFxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0fVxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGJvcmRlcjogJGRldmljZS1tYXJrZXItYXJyb3ctc2l6ZS1vdXR0ZXIgc29saWQgdHJhbnNwYXJlbnQ7XG5cblx0XHRcdGxlZnQ6IGNhbGMoIDUwJSAtICN7JGRldmljZS1tYXJrZXItYXJyb3ctc2l6ZS1vdXR0ZXJ9ICk7XG5cdFx0XHRib3R0b206IC0oJGRldmljZS1tYXJrZXItYXJyb3ctc2l6ZS1vdXR0ZXIgLSAkZGV2aWNlLW1hcmtlci1hcnJvdy1ib3JkZXItc2l6ZSk7XG5cdFx0XHRib3JkZXItYm90dG9tOiAwO1xuXHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogJGNvbG9yLWJvcmRlci0xMDA7XG5cdFx0fVxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyOiAkZGV2aWNlLW1hcmtlci1hcnJvdy1zaXplLWlubmVyIHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0bGVmdDogY2FsYyggNTAlIC0gI3skZGV2aWNlLW1hcmtlci1hcnJvdy1zaXplLWlubmVyfSApO1xuXHRcdFx0Ym90dG9tOiAtKCRkZXZpY2UtbWFya2VyLWFycm93LXNpemUtaW5uZXIgLSAkZGV2aWNlLW1hcmtlci1hcnJvdy1ib3JkZXItc2l6ZSk7XG5cdFx0XHRib3JkZXItYm90dG9tOiAwO1xuXHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogJGNvbG9yLWJnLTAwMDtcblx0XHR9XG5cblx0XHRpIHtcblx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItYmctMDAwO1xuXHRcdFx0cGFkZGluZzogNHB4IDhweDtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItMTAwO1xuXHRcdFx0Ly9vcGFjaXR5OiAwLjg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdFx0fVxuXHR9XG5cdCYubGVhZi1kZXZpY2Utc2VsZWN0ZWQge1xuXHRcdHotaW5kZXg6IDk5OTk5OTk5OTkgIWltcG9ydGFudDtcblxuXHRcdC5uYW1lIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdH1cblx0fVxufVxuXG4ubGVhZmxldC1oaXN0b3J5LW1hcmtlciB7XG5cdHN2ZyB7XG5cdFx0dGV4dCB7XG5cdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0ZmlsbDogd2hpdGU7XG5cdFx0XHR0ZXh0LWFuY2hvcjogbWlkZGxlO1xuXHRcdFx0ZG9taW5hbnQtYmFzZWxpbmU6IG1pZGRsZTtcblx0XHR9XG5cdH1cbn1cblxuLmxlYWZsZXQtcG9wdXAtZ2VvZmVuY2Uge1xuXHQubmFtZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRjb2xvcjogI2ZmZmZmZjtcblx0XHRwYWRkaW5nOiA0cHg7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci0xMDA7XG5cdFx0b3BhY2l0eTogMC44O1xuXHRcdHRleHQtc2hhZG93OiAxcHggMXB4IDFweCAjMDAwO1xuXHR9XG5cdC5sZWFmbGV0LXBvcHVwLXRpcC1jb250YWluZXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLmxlYWZsZXQtcG9wdXAtcm91dGUge1xuXHQubmFtZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRjb2xvcjogI2ZmZmZmZjtcblx0XHRwYWRkaW5nOiA0cHg7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci0xMDA7XG5cdFx0b3BhY2l0eTogMC44O1xuXHR9XG5cdC5sZWFmbGV0LXBvcHVwLXRpcC1jb250YWluZXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLmxlYWZsZXQtcG9wdXAtZXZlbnQsXG4ubGVhZmxldC1wb3B1cC1oaXN0b3J5IHtcblx0bWluLXdpZHRoOiAyNzBweDtcbn1cbiIsIi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIHtcblx0QGV4dGVuZCAuZHJvcGFycm93O1xuXHRAZXh0ZW5kIC5kcm9wcmlnaHQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0IHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdEBleHRlbmQgLmRyb3Bkb3duLW1lbnU7XG5cdH1cblx0bGFiZWwge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbjogMDtcblxuXHRcdEBpbmNsdWRlIGNoZWNrYm94KCdkaXYnLCAnc3BhbicpO1xuXHRcdEBpbmNsdWRlIGNoZWNrYm94LXZhcmlhbnQoJ2RpdicsICRicmFuZC1wcmltYXJ5LCAnc3BhbicpO1xuXG5cdFx0ZGl2IHtcblx0XHRcdHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXZlcnRpY2FsICRkcm9wZG93bi1wYWRkaW5nLWhvcml6b250YWw7XG5cdFx0fVxuXHR9XG59XG4ubGVhZmxldC1jb250cm9sLWxheWVycy1leHBhbmRlZCB7XG5cdC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWxpc3Qge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG4iLCIkY2x1c3Rlci1ib3JkZXItd2lkdGg6IDNweDtcbiRjbHVzdGVyLWJvcmRlci1zcGFjZTogNHB4O1xuXG4kc3BhY2U6ICRjbHVzdGVyLWJvcmRlci13aWR0aCArICRjbHVzdGVyLWJvcmRlci1zcGFjZTtcblxuLmNsdXN0ZXIge1xuICAuY2x1c3Rlci1pbm5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmOmFmdGVyLFxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm9yZGVyOiAkY2x1c3Rlci1ib3JkZXItd2lkdGggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvci1zdGF0dXMtb24gJGNvbG9yLXN0YXR1cy1vbiB0cmFuc3BhcmVudCAkY29sb3Itc3RhdHVzLW9uO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGxlZnQ6ICRzcGFjZTtcbiAgICAgIHRvcDogJHNwYWNlO1xuICAgICAgQGluY2x1ZGUgY2FsYygnd2lkdGgnLCA0NHB4LCAxMDAlIC0gI3skc3BhY2UgKiAyfSk7XG4gICAgICBAaW5jbHVkZSBjYWxjKCdoZWlnaHQnLCA0NHB4LCAxMDAlIC0gI3skc3BhY2UgKiAyfSk7XG5cbiAgICAgIGJvcmRlci1jb2xvcjogJGJyYW5kLXByaW1hcnkgJGJyYW5kLXByaW1hcnkgdHJhbnNwYXJlbnQgJGJyYW5kLXByaW1hcnk7XG4gICAgfVxuXG4gICAgYiB7XG4gICAgICBjb2xvcjogJGNvbXBvbmVudC1hY3RpdmUtY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICBsZWZ0OiAkc3BhY2UgKiAyO1xuICAgICAgdG9wOiAkc3BhY2UgKiAyO1xuXG4gICAgICBAaW5jbHVkZSBjYWxjKCd3aWR0aCcsIDMwcHgsIDEwMCUgLSAjeyRzcGFjZSAqIDIgKiAyfSk7XG4gICAgICBAaW5jbHVkZSBjYWxjKCdoZWlnaHQnLCAzMHB4LCAxMDAlIC0gI3skc3BhY2UgKiAyICogMn0pO1xuICAgIH1cbiAgfVxuXG4gICYuY2x1c3Rlci1sYXJnZSB7XG4gICAgLmNsdXN0ZXItaW5uZXIge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRicmFuZC1wcmltYXJ5ICRicmFuZC1wcmltYXJ5IHRyYW5zcGFyZW50ICRicmFuZC1wcmltYXJ5O1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3Itc3RhdHVzLW9uICRjb2xvci1zdGF0dXMtb24gdHJhbnNwYXJlbnQgJGNvbG9yLXN0YXR1cy1vbjtcbiAgICAgIH1cblxuICAgICAgYiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1zdGF0dXMtb247XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5sZWFmbGV0LWNsdXN0ZXItYW5pbSAubGVhZmxldC1tYXJrZXItaWNvbiwgLmxlYWZsZXQtY2x1c3Rlci1hbmltIC5sZWFmbGV0LW1hcmtlci1zaGFkb3cge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQsIG9wYWNpdHkgMC4zcyBlYXNlLWluO1xuICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQsIG9wYWNpdHkgMC4zcyBlYXNlLWluO1xuICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gMC4zcyBlYXNlLW91dCwgb3BhY2l0eSAwLjNzIGVhc2UtaW47XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0LCBvcGFjaXR5IDAuM3MgZWFzZS1pbjtcbn1cblxuLmxlYWZsZXQtY2x1c3Rlci1zcGlkZXItbGVnIHtcbiAgLyogc3Ryb2tlLWRhc2hvZmZzZXQgKGR1cmF0aW9uIGFuZCBmdW5jdGlvbikgc2hvdWxkIG1hdGNoIHdpdGggbGVhZmxldC1tYXJrZXItaWNvbiB0cmFuc2Zvcm0gaW4gb3JkZXIgdG8gdHJhY2sgaXQgZXhhY3RseSAqL1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtc3Ryb2tlLWRhc2hvZmZzZXQgMC4zcyBlYXNlLW91dCwgLXdlYmtpdC1zdHJva2Utb3BhY2l0eSAwLjNzIGVhc2UtaW47XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei1zdHJva2UtZGFzaG9mZnNldCAwLjNzIGVhc2Utb3V0LCAtbW96LXN0cm9rZS1vcGFjaXR5IDAuM3MgZWFzZS1pbjtcbiAgLW8tdHJhbnNpdGlvbjogLW8tc3Ryb2tlLWRhc2hvZmZzZXQgMC4zcyBlYXNlLW91dCwgLW8tc3Ryb2tlLW9wYWNpdHkgMC4zcyBlYXNlLWluO1xuICB0cmFuc2l0aW9uOiBzdHJva2UtZGFzaG9mZnNldCAwLjNzIGVhc2Utb3V0LCBzdHJva2Utb3BhY2l0eSAwLjNzIGVhc2UtaW47XG59IiwiQG1peGluIHRleHQtb3ZlcmZsb3coKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAtby10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuQG1peGluIGNhbGMoJHByb3BlcnR5LCAkZGVmYXVsdCwgJGV4cHJlc3Npb24pIHtcbiAgI3skcHJvcGVydHl9OiAkZGVmYXVsdDtcbiAgI3skcHJvcGVydHl9OiAtd2Via2l0LWNhbGMoI3skZXhwcmVzc2lvbn0pO1xuICAjeyRwcm9wZXJ0eX06IC1tb3otY2FsYygjeyRleHByZXNzaW9ufSk7XG4gICN7JHByb3BlcnR5fTogLW8tY2FsYygjeyRleHByZXNzaW9ufSk7XG4gICN7JHByb3BlcnR5fTogY2FsYygjeyRleHByZXNzaW9ufSk7XG59XG5cbkBtaXhpbiBzY3JvbGxiYXJzKCRzaXplLCAkZm9yZWdyb3VuZC1jb2xvciwgJGJhY2tncm91bmQtY29sb3I6IG1peCgkZm9yZWdyb3VuZC1jb2xvciwgd2hpdGUsICA1MCUpKSB7XG4gIC8vIEZvciBHb29nbGUgQ2hyb21lXG4gIDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiAgJHNpemU7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcbiAgfVxuXG4gIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6ICRmb3JlZ3JvdW5kLWNvbG9yO1xuICB9XG5cbiAgOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY29sb3I7XG4gIH1cblxuICAvLyBGb3IgSW50ZXJuZXQgRXhwbG9yZXJcbiAgYm9keSB7XG4gICAgc2Nyb2xsYmFyLWZhY2UtY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIHNjcm9sbGJhci10cmFjay1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gIH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFRvb2xiYXJzXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmxlYWZsZXQtZHJhdy1zZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5sZWFmbGV0LWRyYXctdG9vbGJhciB7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbn1cblxuLmxlYWZsZXQtZHJhdy10b29sYmFyLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmxlYWZsZXQtZHJhdy10b29sYmFyLW5vdG9wIGE6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4ubGVhZmxldC1kcmF3LXRvb2xiYXItbm9ib3R0b20gYTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLmxlYWZsZXQtZHJhdy10b29sYmFyIGEge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3Nwcml0ZXNoZWV0LnBuZycpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpLCB1cmwoJ2ltYWdlcy9zcHJpdGVzaGVldC5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjcwcHggMzBweDtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xufVxuXG4ubGVhZmxldC1yZXRpbmEgLmxlYWZsZXQtZHJhdy10b29sYmFyIGEge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3Nwcml0ZXNoZWV0LTJ4LnBuZycpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpLCB1cmwoJ2ltYWdlcy9zcHJpdGVzaGVldC5zdmcnKTtcbn1cblxuLmxlYWZsZXQtZHJhdyBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubGVhZmxldC1kcmF3IGEgLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBUb29sYmFyIGFjdGlvbnMgbWVudVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5sZWFmbGV0LWRyYXctYWN0aW9ucyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAyNnB4OyAvKiBsZWFmbGV0LWRyYXctdG9vbGJhci5sZWZ0ICsgbGVhZmxldC1kcmF3LXRvb2xiYXIud2lkdGggKi9cbiAgICB0b3A6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtZHJhdy1hY3Rpb25zIHtcbiAgICBsZWZ0OiAzMnB4O1xufVxuXG4ubGVhZmxldC1yaWdodCAubGVhZmxldC1kcmF3LWFjdGlvbnMge1xuICAgIHJpZ2h0OiAyNnB4O1xuICAgIGxlZnQ6IGF1dG87XG59XG5cbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LXJpZ2h0IC5sZWFmbGV0LWRyYXctYWN0aW9ucyB7XG4gICAgcmlnaHQ6IDMycHg7XG4gICAgbGVmdDogYXV0bztcbn1cblxuLmxlYWZsZXQtZHJhdy1hY3Rpb25zIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5sZWFmbGV0LWRyYXctYWN0aW9ucyBsaTpmaXJzdC1jaGlsZCBhIHtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLmxlYWZsZXQtZHJhdy1hY3Rpb25zIGxpOmxhc3QtY2hpbGQgYSB7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDtcbn1cblxuLmxlYWZsZXQtcmlnaHQgLmxlYWZsZXQtZHJhdy1hY3Rpb25zIGxpOmxhc3QtY2hpbGQgYSB7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5sZWFmbGV0LXJpZ2h0IC5sZWFmbGV0LWRyYXctYWN0aW9ucyBsaTpmaXJzdC1jaGlsZCBhIHtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4O1xufVxuXG4ubGVhZmxldC1kcmF3LWFjdGlvbnMgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzkxOTE4NztcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNBQUE7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgZm9udDogMTFweC8xOXB4IFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xufVxuXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1kcmF3LWFjdGlvbnMgYSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbn1cblxuLmxlYWZsZXQtZHJhdy1hY3Rpb25zLWJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmxlYWZsZXQtZHJhdy1hY3Rpb25zLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMXB4O1xufVxuXG4ubGVhZmxldC1kcmF3LWFjdGlvbnMtdG9wIGEsXG4ubGVhZmxldC1kcmF3LWFjdGlvbnMtYm90dG9tIGEge1xuICAgIGhlaWdodDogMjdweDtcbiAgICBsaW5lLWhlaWdodDogMjdweDtcbn1cblxuLmxlYWZsZXQtZHJhdy1hY3Rpb25zIGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNBMEEwOTg7XG59XG5cbi5sZWFmbGV0LWRyYXctYWN0aW9ucy10b3AubGVhZmxldC1kcmF3LWFjdGlvbnMtYm90dG9tIGEge1xuICAgIGhlaWdodDogMjZweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBEcmF3IHRvb2xiYXJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1kcmF3LXBvbHlsaW5lIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMnB4IC0ycHg7XG59XG5cbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWRyYXctdG9vbGJhciAubGVhZmxldC1kcmF3LWRyYXctcG9seWxpbmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTFweDtcbn1cblxuLmxlYWZsZXQtZHJhdy10b29sYmFyIC5sZWFmbGV0LWRyYXctZHJhdy1wb2x5Z29uIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzFweCAtMnB4O1xufVxuXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1kcmF3LXBvbHlnb24ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yOXB4IC0xcHg7XG59XG5cbi5sZWFmbGV0LWRyYXctdG9vbGJhciAubGVhZmxldC1kcmF3LWRyYXctcmVjdGFuZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjJweCAtMnB4O1xufVxuXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1kcmF3LXJlY3RhbmdsZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYwcHggLTFweDtcbn1cblxuLmxlYWZsZXQtZHJhdy10b29sYmFyIC5sZWFmbGV0LWRyYXctZHJhdy1jaXJjbGUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC05MnB4IC0ycHg7XG59XG5cbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWRyYXctdG9vbGJhciAubGVhZmxldC1kcmF3LWRyYXctY2lyY2xlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTBweCAtMXB4O1xufVxuXG4ubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1kcmF3LW1hcmtlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMnB4IC0ycHg7XG59XG5cbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWRyYXctdG9vbGJhciAubGVhZmxldC1kcmF3LWRyYXctbWFya2VyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTFweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBFZGl0IHRvb2xiYXJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1lZGl0LWVkaXQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTJweCAtMnB4O1xufVxuXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1lZGl0LWVkaXQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTBweCAtMXB4O1xufVxuXG4ubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1lZGl0LXJlbW92ZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE4MnB4IC0ycHg7XG59XG5cbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWRyYXctdG9vbGJhciAubGVhZmxldC1kcmF3LWVkaXQtcmVtb3ZlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTgwcHggLTFweDtcbn1cblxuLmxlYWZsZXQtZHJhdy10b29sYmFyIC5sZWFmbGV0LWRyYXctZWRpdC1lZGl0LmxlYWZsZXQtZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMTJweCAtMnB4O1xufVxuXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1lZGl0LWVkaXQubGVhZmxldC1kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIxMHB4IC0xcHg7XG59XG5cbi5sZWFmbGV0LWRyYXctdG9vbGJhciAubGVhZmxldC1kcmF3LWVkaXQtcmVtb3ZlLmxlYWZsZXQtZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDJweCAtMnB4O1xufVxuXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1kcmF3LXRvb2xiYXIgLmxlYWZsZXQtZHJhdy1lZGl0LXJlbW92ZS5sZWFmbGV0LWRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTJweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBEcmF3aW5nIHN0eWxlc1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5sZWFmbGV0LW1vdXNlLW1hcmtlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjdXJzb3I6IGNyb3NzaGFpcjtcbn1cblxuLmxlYWZsZXQtZHJhdy10b29sdGlwIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoNTQsIDU0LCA1NCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250OiAxMnB4LzE4cHggXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IC0yMXB4O1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHotaW5kZXg6IDY7XG59XG5cbi5sZWFmbGV0LWRyYXctdG9vbHRpcDpiZWZvcmUge1xuICAgIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIGJsYWNrO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA3cHg7XG4gICAgbGVmdDogLTdweDtcbn1cblxuLmxlYWZsZXQtZXJyb3ItZHJhdy10b29sdGlwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJERURFO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFNkI2QkQ7XG4gICAgY29sb3I6ICNCOTRBNDg7XG59XG5cbi5sZWFmbGV0LWVycm9yLWRyYXctdG9vbHRpcDpiZWZvcmUge1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogI0U2QjZCRDtcbn1cblxuLmxlYWZsZXQtZHJhdy10b29sdGlwLXNpbmdsZSB7XG4gICAgbWFyZ2luLXRvcDogLTEycHhcbn1cblxuLmxlYWZsZXQtZHJhdy10b29sdGlwLXN1YnRleHQge1xuICAgIGNvbG9yOiAjZjhkNWU0O1xufVxuXG4ubGVhZmxldC1kcmF3LWd1aWRlLWRhc2gge1xuICAgIGZvbnQtc2l6ZTogMSU7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNXB4O1xuICAgIGhlaWdodDogNXB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEVkaXQgc3R5bGVzXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmxlYWZsZXQtZWRpdC1tYXJrZXItc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU0LCA4NywgMTYxLCAwLjEpO1xuICAgIGJvcmRlcjogNHB4IGRhc2hlZCByZ2JhKDI1NCwgODcsIDE2MSwgMC42KTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi5sZWFmbGV0LWVkaXQtbW92ZSB7XG4gICAgY3Vyc29yOiBtb3ZlO1xufVxuXG4ubGVhZmxldC1lZGl0LXJlc2l6ZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIE9sZCBJRSBzdHlsZXNcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubGVhZmxldC1vbGRpZSAubGVhZmxldC1kcmF3LXRvb2xiYXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG59IiwiI2dwcy1kZXZpY2UtcGFyYW1ldGVycy12aWV3IHtcbiAgd2lkdGg6IDMwMHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgc3BhbltkYXRhLWRldmljZT1cInN0cmVldHZpZXdcIl0ge1xuICAgIG1pbi1oZWlnaHQ6IDEyNXB4O1xuICB9XG59XG4jZ3BzLWRldmljZS1zdHJlZXQtdmlldy1sYXJnZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgc3BhbltkYXRhLWRldmljZT1cInN0cmVldHZpZXdcIl0ge1xuICAgIG1pbi1oZWlnaHQ6IDI2MXB4O1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuLmxlYWZsZXQtcG9wdXAtbWFwLWljb24ge1xuICB3aWR0aDogMjAwcHg7XG59XG5cbi5sZWFmbGV0LXBvcHVwLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAkcG9wdXAtYm9keS1iZztcblxuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgNnB4IDEycHggcmdiYSgwLDAsMCwuMTc1KSk7XG5cbiAgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuLnBvcHVwLWhlYWRlciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBiYWNrZ3JvdW5kOiAkcG9wdXAtaGVhZGVyLWJnO1xuXG4gIC5uYXYtdGFicyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIC8vbWFyZ2luOiAtKCRwb3B1cC1oZWFkZXItcGFkZGluZyk7XG4gIH1cblxuICAucG9wdXAtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRleHQtb3ZlcmZsb3c7XG4gICAgZm9udC1zaXplOiAkcG9wdXAtdGl0bGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkcG9wdXAtdGl0bGUtY29sb3I7XG5cbiAgICBwYWRkaW5nOiAkcG9wdXAtaGVhZGVyLXBhZGRpbmc7XG4gIH1cbn1cblxuLnBvcHVwLWJvZHkge1xuICBiYWNrZ3JvdW5kOiAkcG9wdXAtYm9keS1iZztcbiAgcGFkZGluZzogJHBvcHVwLWlubmVyLXBhZGRpbmc7XG4gIGNvbG9yOiAkcG9wdXAtYm9keS1jb2xvcjtcbiAgZm9udC1zaXplOiAkcG9wdXAtYm9keS1mb250LXNpemU7XG5cbiAgPiAubmF2IHtcbiAgICBtYXJnaW46IC0oJHBvcHVwLWlubmVyLXBhZGRpbmcpO1xuICAgIG1hcmdpbi1ib3R0b206ICRwb3B1cC1pbm5lci1wYWRkaW5nO1xuICB9XG5cbiAgLnRhYmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgdGJvZHkgPiB0ciB7XG4gICAgICA+IHRoIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgIH1cbiAgICAgID4gdGQsXG4gICAgICA+IHRoIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5hdXRvY29tcGxldGUtc3VnZ2VzdGlvbnMge1xuICBib3JkZXI6IDFweCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyO1xuICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tYmc7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4uYXV0b2NvbXBsZXRlLXN1Z2dlc3Rpb24ge1xuICBwYWRkaW5nOiAycHggNXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYXV0b2NvbXBsZXRlLXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZDogJGRyb3Bkb3duLWxpbmstaG92ZXItYmc7XG59XG5cbi5hdXRvY29tcGxldGUtc3VnZ2VzdGlvbnMgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjtcbn1cblxuLmF1dG9jb21wbGV0ZS1ncm91cCB7XG4gIHBhZGRpbmc6IDJweCA1cHg7XG59XG5cbi5hdXRvY29tcGxldGUtZ3JvdXAgc3Ryb25nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbn0iLCIvLyBOT1RFOiBieSB1c2luZyAhZGVmYXVsdCBvbiBhbGwgdmFyaWFibGVzLCB3ZSdyZSBzYXlpbmcgb25seSBkZWNsYXJlIHRoZSB2YXJpYWJsZSBpZiBpdCBkb2Vzbid0XG4vLyBhbHJlYWR5IGV4aXN0LCB3aGljaCBhbGxvd3MgZGV2cyB0byBkZWNsYXJlIHRoZXNlIHZhcmlhYmxlcyB0aGVtc2VsdmVzIGFuZCBhc3NpZ24gdGhlbSBhbnkgdmFsdWVcbi8vIHRoZXkgd2FudCBiZWZvcmUgaW1wb3J0aW5nIHRoaXMgZmlsZVxuXG4vLyByZ2JhIGlzIG5lZWRlZCBmb3IgdGhlIHNlbGVjdGVkIGZsYWcgaG92ZXIgc3RhdGUgdG8gYmxlbmQgaW4gd2l0aFxuLy8gdGhlIGJvcmRlci1oaWdobGlnaHRpbmcgc29tZSBicm93c2VycyBnaXZlIHRoZSBpbnB1dCBvbiBmb2N1c1xuJGhvdmVyQ29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWJnICFkZWZhdWx0O1xuJGdyZXlUZXh0OiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRncmV5Qm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyICFkZWZhdWx0O1xuXG4kZmxhZ0hlaWdodDogMTVweCAhZGVmYXVsdDtcbiRmbGFnV2lkdGg6IDIwcHggIWRlZmF1bHQ7XG4kZmxhZ1BhZGRpbmc6IDhweCAhZGVmYXVsdDtcbi8vIHRoaXMgYm9yZGVyIHdpZHRoIGlzIHVzZWQgZm9yIHRoZSBwb3B1cCBhbmQgZGl2aWRlciwgYnV0IGl0IGlzIGFsc29cbi8vIGFzc3VtZWQgdG8gYmUgdGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgaW5wdXQsIHdoaWNoIHdlIGRvIG5vdCBjb250cm9sXG4kYm9yZGVyV2lkdGg6IDFweCAhZGVmYXVsdDtcblxuJGFycm93SGVpZ2h0OiA0cHggIWRlZmF1bHQ7XG4kYXJyb3dXaWR0aDogNnB4ICFkZWZhdWx0O1xuJHRyaWFuZ2xlQm9yZGVyOiAzcHggIWRlZmF1bHQ7XG4kYXJyb3dQYWRkaW5nOiA2cHggIWRlZmF1bHQ7XG4kYXJyb3dDb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dFBhZGRpbmc6IDZweCAhZGVmYXVsdDtcbiRzZWxlY3RlZEZsYWdXaWR0aDogJGZsYWdXaWR0aCArICgyICogJGZsYWdQYWRkaW5nKSAhZGVmYXVsdDtcbiRzZWxlY3RlZEZsYWdBcnJvd1dpZHRoOiAkZmxhZ1dpZHRoICsgJGZsYWdQYWRkaW5nICsgJGFycm93V2lkdGggKyAoMiAqICRhcnJvd1BhZGRpbmcpICFkZWZhdWx0O1xuXG4vLyBpbWFnZSByZWxhdGVkIHZhcmlhYmxlc1xuJGZsYWdzSW1hZ2VQYXRoOiBcIi4uL2ltYWdlcy9pbnRsdGVsaW5wdXQvXCIgIWRlZmF1bHQ7XG4kZmxhZ3NJbWFnZU5hbWU6IFwiZmxhZ3NcIiAhZGVmYXVsdDtcbiRmbGFnc0ltYWdlRXh0ZW5zaW9uOiBcInBuZ1wiICFkZWZhdWx0O1xuXG4vLyBlbm91Z2ggc3BhY2UgZm9yIHRoZW0gdG8gY2xpY2sgb2ZmIHRvIGNsb3NlXG4kbW9iaWxlUG9wdXBNYXJnaW46IDMwcHggIWRlZmF1bHQ7XG5cbi5mb3JtLWdyb3VwIC5pdGl7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaXRpIHtcbiAgLy8gbmVlZCBwb3NpdGlvbiBvbiB0aGUgY29udGFpbmVyIHNvIHRoZSBzZWxlY3RlZCBmbGFnIGNhbiBiZVxuICAvLyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgb3ZlciB0aGUgaW5wdXRcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBrZWVwIHRoZSBpbnB1dCdzIGRlZmF1bHQgaW5saW5lIHByb3BlcnRpZXNcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIC8vIHBhdWwgaXJpc2ggc2F5cyB0aGlzIGlzIG9rXG4gIC8vIGh0dHA6Ly93d3cucGF1bGlyaXNoLmNvbS8yMDEyL2JveC1zaXppbmctYm9yZGVyLWJveC1mdHcvXG4gICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgJl9faGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAvLyBuZWVkIHRoaXMgZHVyaW5nIGluaXQsIHRvIGdldCB0aGUgaGVpZ2h0IG9mIHRoZSBkcm9wZG93blxuICAmX192LWhpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIHNwZWNpZnkgdHlwZXMgdG8gaW5jcmVhc2Ugc3BlY2lmaWNpdHkgZS5nLiB0byBvdmVycmlkZSBib290c3RyYXAgdjIuM1xuICBpbnB1dCwgaW5wdXRbdHlwZT10ZXh0XSwgaW5wdXRbdHlwZT10ZWxdIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gaW5wdXQgaXMgYm90dG9tIGxldmVsLCBiZWxvdyBzZWxlY3RlZCBmbGFnIGFuZCBkcm9wZG93blxuICAgIHotaW5kZXg6IDA7XG5cbiAgICAvLyBhbnkgdmVydGljYWwgbWFyZ2luIHRoZSB1c2VyIGhhcyBvbiB0aGVpciBpbnB1dHMgd291bGQgbm8gbG9uZ2VyIHdvcmsgYXMgZXhwZWN0ZWRcbiAgICAvLyBiZWNhdXNlIHdlIHdyYXAgZXZlcnl0aGluZyBpbiBhIGNvbnRhaW5lciBkaXYuIGkganVzdGlmeSB0aGUgdXNlIG9mICFpbXBvcnRhbnRcbiAgICAvLyBoZXJlIGJlY2F1c2UgaSBkb24ndCB0aGluayB0aGUgdXNlciBzaG91bGQgZXZlciBoYXZlIHZlcnRpY2FsIG1hcmdpbiBoZXJlIC0gd2hlblxuICAgIC8vIHRoZSBpbnB1dCBpcyB3cmFwcGVkIGluIGEgY29udGFpbmVyLCB2ZXJ0aWNhbCBtYXJnaW4gbWVzc2VzIHVwIGFsaWdubWVudCB3aXRoIG90aGVyXG4gICAgLy8gaW5saW5lIGVsZW1lbnRzIChlLmcuIGFuIGFkamFjZW50IGJ1dHRvbikgaW4gZmlyZWZveCwgYW5kIHByb2JhYmx5IG90aGVyIGJyb3dzZXJzLlxuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAvLyBtYWtlIHNwYWNlIGZvciB0aGUgc2VsZWN0ZWQgZmxhZyBvbiByaWdodCBvZiBpbnB1dCAoaWYgZGlzYWJsZWQgYWxsb3dEcm9wZG93bilcbiAgICAvLyBOb3RlOiBubyAhaW1wb3J0YW50IGhlcmUsIGFzIHRoZSB1c2VyIG1heSB3YW50IHRvIHR3ZWFrIHRoaXMgc28gdGhhdCB0aGVcbiAgICAvLyBwZXJjZWl2ZWQgaW5wdXQgcGFkZGluZyBtYXRjaGVzIHRoZWlyIGV4aXN0aW5nIHN0eWxlc1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzZWxlY3RlZEZsYWdXaWR0aDtcblxuICAgIC8vIGFueSBtYXJnaW4tcmlnaHQgaGVyZSB3aWxsIHB1c2ggdGhlIHNlbGVjdGVkLWZsYWcgYXdheVxuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gICZfX2ZsYWctY29udGFpbmVyIHtcbiAgICAvLyBwb3NpdGlvbmVkIG92ZXIgdGhlIHRvcCBvZiB0aGUgaW5wdXRcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gZnVsbCBoZWlnaHRcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIC8vIHByZXZlbnQgdGhlIGhpZ2hsaWdodGVkIGNoaWxkIGZyb20gb3ZlcmxhcHBpbmcgdGhlIGlucHV0IGJvcmRlclxuICAgIHBhZGRpbmc6ICRib3JkZXJXaWR0aDtcbiAgfVxuXG4gICZfX3NlbGVjdGVkLWZsYWcge1xuICAgIC8vIHJlbmRlciBhYm92ZSB0aGUgaW5wdXRcbiAgICB6LWluZGV4OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLy8gdGhpcyBtdXN0IGJlIGZ1bGwtaGVpZ2h0IGJvdGggZm9yIHRoZSBob3ZlciBoaWdobGlnaHQsIGFuZCB0byBwdXNoIGRvd24gdGhlXG4gICAgLy8gZHJvcGRvd24gc28gaXQgYXBwZWFycyBiZWxvdyB0aGUgaW5wdXRcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMCAkYXJyb3dQYWRkaW5nIDAgJGZsYWdQYWRkaW5nO1xuICB9XG5cbiAgJl9fYXJyb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAkYXJyb3dQYWRkaW5nO1xuXG4gICAgLy8gY3NzIHRyaWFuZ2xlXG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAkdHJpYW5nbGVCb3JkZXIgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAkdHJpYW5nbGVCb3JkZXIgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogJGFycm93SGVpZ2h0IHNvbGlkICRhcnJvd0NvbG9yO1xuXG4gICAgJi0tdXAge1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhcnJvd0hlaWdodCBzb2xpZCAkYXJyb3dDb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyB0aGUgZHJvcGRvd25cbiAgJl9fY291bnRyeS1saXN0IHtcbiAgICBAZXh0ZW5kIC5zY3JvbGxiYXI7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gcG9wdXAgc28gcmVuZGVyIGFib3ZlIGV2ZXJ5dGhpbmcgZWxzZVxuICAgIHotaW5kZXg6IDI7XG5cbiAgICAvLyBvdmVycmlkZSBkZWZhdWx0IGxpc3Qgc3R5bGVzXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvLyBpbiBjYXNlIGFueSBjb250YWluZXIgaGFzIHRleHQtYWxpZ246Y2VudGVyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIC8vIHBsYWNlIG1lbnUgYWJvdmUgdGhlIGlucHV0IGVsZW1lbnRcbiAgICAmLS1kcm9wdXAge1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogKC0kYm9yZGVyV2lkdGgpO1xuICAgIH1cblxuICAgIHBhZGRpbmc6IDA7XG4gICAgLy8gbWFyZ2luLWxlZnQgdG8gY29tcGVuc2F0ZSBmb3IgdGhlIHBhZGRpbmcgb24gdGhlIHBhcmVudFxuICAgIG1hcmdpbjogMCAwIDAgKC0kYm9yZGVyV2lkdGgpO1xuXG4gICAgYm94LXNoYWRvdzogMXB4IDFweCA0cHggcmdiYSgwLDAsMCwwLjIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iZztcbiAgICBib3JkZXI6ICRib3JkZXJXaWR0aCBzb2xpZCAkZ3JleUJvcmRlcjtcblxuICAgIC8vIGRvbid0IGxldCB0aGUgY29udGVudHMgd3JhcCBBS0EgdGhlIGNvbnRhaW5lciB3aWxsIGJlIGFzIHdpZGUgYXMgdGhlIGNvbnRlbnRzXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvLyBleGNlcHQgb24gc21hbGwgc2NyZWVucywgd2hlcmUgd2UgZm9yY2UgdGhlIGRyb3Bkb3duIHdpZHRoIHRvIG1hdGNoIHRoZSBpbnB1dFxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgICAvLyBGaXhlcyBodHRwczovL2dpdGh1Yi5jb20vamFja29jbnIvaW50bC10ZWwtaW5wdXQvaXNzdWVzLzc2NVxuICAgIC8vIEFwcGxlIHN0aWxsIGhhc24ndCBmaXhlZCB0aGUgaXNzdWUgd2hlcmUgc2V0dGluZyBvdmVyZmxvdzogc2Nyb2xsIG9uIGEgZGl2IGVsZW1lbnQgZG9lcyBub3QgdXNlIGluZXJ0aWEgc2Nyb2xsaW5nXG4gICAgLy8gSWYgdGhpcyBpcyBub3Qgc2V0LCB0aGVuIHRoZSBjb3VudHJ5IGxpc3Qgc2Nyb2xsIHN0b3BzIG1vdmluZyBhZnRlciByYXNpbmcgYSBmaW5nZXIsIGFuZCB1c2VycyByZXBvcnQgdGhhdCBzY3JvbGwgaXMgc2xvd1xuICAgIC8vIFN0YWNrb3ZlcmZsb3cgcXVlc3Rpb24gYWJvdXQgaXQ6IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzMzNjAxMTY1L3Njcm9sbGluZy1zbG93LW9uLW1vYmlsZS1pb3Mtd2hlbi11c2luZy1vdmVyZmxvd3Njcm9sbFxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuXG4gIC8vIGRyb3Bkb3duIGZsYWdzIG5lZWQgY29uc2lzdGVudCB3aWR0aCwgc28gd3JhcCBpbiBhIGNvbnRhaW5lclxuICAmX19mbGFnLWJveCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAkZmxhZ1dpZHRoO1xuICB9XG5cbiAgLy8gdGhlIGRpdmlkZXIgYmVsb3cgdGhlIHByZWZlcnJlZCBjb3VudHJpZXNcbiAgJl9fZGl2aWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcldpZHRoIHNvbGlkICRncmV5Qm9yZGVyO1xuICB9XG5cbiAgLy8gZWFjaCBjb3VudHJ5IGl0ZW0gaW4gZHJvcGRvd24gKHdlIG11c3QgaGF2ZSBzZXBhcmF0ZSBjbGFzcyB0byBkaWZmZXJlbnRpYXRlIGZyb20gZGl2aWRlcnMpXG4gICZfX2NvdW50cnkge1xuICAgIC8vIE5vdGU6IGRlY2lkZWQgbm90IHRvIHVzZSBsaW5lLWhlaWdodCBoZXJlIGZvciBhbGlnbm1lbnQgYmVjYXVzZSBpdCBjYXVzZXMgaXNzdWVzIGUuZy4gbGFyZ2UgZm9udC1zaXplcyB3aWxsIG92ZXJsYXAsIGFuZCBhbHNvIGxvb2tzIGJhZCBpZiBvbmUgY291bnRyeSBvdmVyZmxvd3Mgb250byAyIGxpbmVzXG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIC8vIHRoZSBkaWFsIGNvZGVzIGFmdGVyIHRoZSBjb3VudHJ5IG5hbWVzIGFyZSBncmV5ZWQgb3V0XG4gICZfX2RpYWwtY29kZSB7XG4gICAgY29sb3I6ICRncmV5VGV4dDtcbiAgfVxuICAmX19jb3VudHJ5Lml0aV9faGlnaGxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXJDb2xvcjtcbiAgfVxuXG4gIC8vIHNwYWNpbmcgYmV0d2VlbiBjb3VudHJ5IGZsYWcsIG5hbWUgYW5kIGRpYWwgY29kZVxuICAmX19mbGFnLWJveCwgJl9fY291bnRyeS1uYW1lLCAmX19kaWFsLWNvZGUge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbiAgJl9fZmxhZy1ib3gsICZfX2NvdW50cnktbmFtZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cblxuICAvLyB0aGVzZSBzZXR0aW5ncyBhcmUgaW5kZXBlbmRlbnQgb2YgZWFjaCBvdGhlciwgYnV0IGJvdGggbW92ZSBzZWxlY3RlZCBmbGFnIHRvIGxlZnQgb2YgaW5wdXRcbiAgJi0tYWxsb3ctZHJvcGRvd24sICYtLXNlcGFyYXRlLWRpYWwtY29kZSB7XG4gICAgaW5wdXQsIGlucHV0W3R5cGU9dGV4dF0sIGlucHV0W3R5cGU9dGVsXSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXRQYWRkaW5nO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkc2VsZWN0ZWRGbGFnQXJyb3dXaWR0aCArICRpbnB1dFBhZGRpbmc7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgLml0aV9fZmxhZy1jb250YWluZXIge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gICYtLWFsbG93LWRyb3Bkb3duIHtcbiAgICAvLyBob3ZlciBzdGF0ZSAtIHNob3cgZmxhZyBpcyBjbGlja2FibGVcbiAgICAuaXRpX19mbGFnLWNvbnRhaW5lcjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAuaXRpX19zZWxlY3RlZC1mbGFnIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyQ29sb3I7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIGRpc2FibGUgaG92ZXIgc3RhdGUgd2hlbiBpbnB1dCBpcyBkaXNhYmxlZFxuICAgIGlucHV0W2Rpc2FibGVkXSArIC5pdGlfX2ZsYWctY29udGFpbmVyOmhvdmVyLFxuICAgIGlucHV0W3JlYWRvbmx5XSArIC5pdGlfX2ZsYWctY29udGFpbmVyOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIC5pdGlfX3NlbGVjdGVkLWZsYWcge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1zZXBhcmF0ZS1kaWFsLWNvZGUge1xuICAgIC5pdGlfX3NlbGVjdGVkLWZsYWcge1xuICAgICAgLy8gbm93IHRoYXQgd2UgaGF2ZSBkaWdpdHMgaW4gdGhpcyBzZWN0aW9uLCBpdCBuZWVkcyB0aGlzIHZpc3VhbCBzZXBhcmF0aW9uXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXJDb2xvcjtcbiAgICB9XG4gICAgLml0aV9fc2VsZWN0ZWQtZGlhbC1jb2RlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkYXJyb3dQYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIGlmIGRyb3Bkb3duQ29udGFpbmVyIG9wdGlvbiBpcyBzZXQsIGluY3JlYXNlIHotaW5kZXggdG8gcHJldmVudCBkaXNwbGF5IGlzc3Vlc1xuICAmLS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xMDAwcHg7XG4gICAgbGVmdDogLTEwMDBweDtcbiAgICAvLyBoaWdoZXIgdGhhbiBkZWZhdWx0IEJvb3RzdHJhcCBtb2RhbCB6LWluZGV4IG9mIDEwNTBcbiAgICB6LWluZGV4OiAxMDYwO1xuICAgIC8vIHRvIGtlZXAgc3R5bGluZyBjb25zaXN0ZW50IHdpdGggLmZsYWctY29udGFpbmVyXG4gICAgcGFkZGluZzogJGJvcmRlcldpZHRoO1xuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBvdmVycmlkZXMgZm9yIG1vYmlsZSBwb3B1cCAobm90ZTogLml0aS1tb2JpbGUgY2xhc3MgaXMgYXBwbGllZCBvbiBib2R5KVxuLml0aS1tb2JpbGUgLml0aSB7XG4gICYtLWNvbnRhaW5lciB7XG4gICAgdG9wOiAkbW9iaWxlUG9wdXBNYXJnaW47XG4gICAgYm90dG9tOiAkbW9iaWxlUG9wdXBNYXJnaW47XG4gICAgbGVmdDogJG1vYmlsZVBvcHVwTWFyZ2luO1xuICAgIHJpZ2h0OiAkbW9iaWxlUG9wdXBNYXJnaW47XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gICZfX2NvdW50cnktbGlzdCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAmX19jb3VudHJ5IHtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHg7XG4gICAgLy8gaW5jcmVhc2UgbGluZSBoZWlnaHQgYmVjYXVzZSBkcm9wZG93biBjb3B5IGlzIHYgbGlrZWx5IHRvIG92ZXJmbG93IG9uIG1vYmlsZSBhbmQgd2hlbiBpdCBkb2VzIGl0IG5lZWRzIHRvIGJlIHdlbGwgc3BhY2VkXG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICB9XG59XG5cbkBpbXBvcnQgXCJzcHJpdGVcIjtcblxuLml0aV9fZmxhZyB7XG4gIGhlaWdodDogJGZsYWdIZWlnaHQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMXB4IDBweCAjODg4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmbGFnc0ltYWdlUGF0aH0jeyRmbGFnc0ltYWdlTmFtZX0uI3skZmxhZ3NJbWFnZUV4dGVuc2lvbn1cIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIC8vIGVtcHR5IHN0YXRlXG4gIGJhY2tncm91bmQtY29sb3I6ICNEQkRCREI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246ICRmbGFnV2lkdGggMDtcblxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skZmxhZ3NJbWFnZVBhdGh9I3skZmxhZ3NJbWFnZU5hbWV9QDJ4LiN7JGZsYWdzSW1hZ2VFeHRlbnNpb259XCIpO1xuICB9XG59XG5cbi8vIGhhY2sgZm9yIE5lcGFsIHdoaWNoIGlzIHRoZSBvbmx5IGZsYWcgdGhhdCBpcyBub3Qgc3F1YXJlL3JlY3RhbmdsZSwgc28gaXQgaGFzIHRyYW5zcGFyZW5jeSwgc28geW91IGNhbiBzZWUgdGhlIGRlZmF1bHQgZ3JleSBiZWhpbmQgaXRcbi5pdGlfX2ZsYWcuaXRpX19ucCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufSIsIkBmdW5jdGlvbiByZXRpbmEtc2l6ZSgkdmFsdWUpIHtcbiAgQHJldHVybiBmbG9vcigkdmFsdWUgLyAyKTtcbn1cblxuQG1peGluIHJldGluYS1iZy1zaXplKCRzcHJpdGVXaWR0aCwgJHNwcml0ZUhlaWdodCkge1xuICBiYWNrZ3JvdW5kLXNpemU6IGZsb29yKCRzcHJpdGVXaWR0aCAvIDIpIGZsb29yKCRzcHJpdGVIZWlnaHQgLyAyKTtcbn1cblxuLml0aV9fZmxhZyB7XG4gICRpdGVtLXdpZHRoLW1hcHM6IChhYzogMjBweCwgYWQ6IDIwcHgsIGFlOiAyMHB4LCBhZjogMjBweCwgYWc6IDIwcHgsIGFpOiAyMHB4LCBhbDogMjBweCwgYW06IDIwcHgsIGFvOiAyMHB4LCBhcTogMjBweCwgYXI6IDIwcHgsIGFzOiAyMHB4LCBhdDogMjBweCwgYXU6IDIwcHgsIGF3OiAyMHB4LCBheDogMjBweCwgYXo6IDIwcHgsIGJhOiAyMHB4LCBiYjogMjBweCwgYmQ6IDIwcHgsIGJlOiAxOHB4LCBiZjogMjBweCwgYmc6IDIwcHgsIGJoOiAyMHB4LCBiaTogMjBweCwgYmo6IDIwcHgsIGJsOiAyMHB4LCBibTogMjBweCwgYm46IDIwcHgsIGJvOiAyMHB4LCBicTogMjBweCwgYnI6IDIwcHgsIGJzOiAyMHB4LCBidDogMjBweCwgYnY6IDIwcHgsIGJ3OiAyMHB4LCBieTogMjBweCwgYno6IDIwcHgsIGNhOiAyMHB4LCBjYzogMjBweCwgY2Q6IDIwcHgsIGNmOiAyMHB4LCBjZzogMjBweCwgY2g6IDE1cHgsIGNpOiAyMHB4LCBjazogMjBweCwgY2w6IDIwcHgsIGNtOiAyMHB4LCBjbjogMjBweCwgY286IDIwcHgsIGNwOiAyMHB4LCBjcjogMjBweCwgY3U6IDIwcHgsIGN2OiAyMHB4LCBjdzogMjBweCwgY3g6IDIwcHgsIGN5OiAyMHB4LCBjejogMjBweCwgZGU6IDIwcHgsIGRnOiAyMHB4LCBkajogMjBweCwgZGs6IDIwcHgsIGRtOiAyMHB4LCBkbzogMjBweCwgZHo6IDIwcHgsIGVhOiAyMHB4LCBlYzogMjBweCwgZWU6IDIwcHgsIGVnOiAyMHB4LCBlaDogMjBweCwgZXI6IDIwcHgsIGVzOiAyMHB4LCBldDogMjBweCwgZXU6IDIwcHgsIGZpOiAyMHB4LCBmajogMjBweCwgZms6IDIwcHgsIGZtOiAyMHB4LCBmbzogMjBweCwgZnI6IDIwcHgsIGdhOiAyMHB4LCBnYjogMjBweCwgZ2Q6IDIwcHgsIGdlOiAyMHB4LCBnZjogMjBweCwgZ2c6IDIwcHgsIGdoOiAyMHB4LCBnaTogMjBweCwgZ2w6IDIwcHgsIGdtOiAyMHB4LCBnbjogMjBweCwgZ3A6IDIwcHgsIGdxOiAyMHB4LCBncjogMjBweCwgZ3M6IDIwcHgsIGd0OiAyMHB4LCBndTogMjBweCwgZ3c6IDIwcHgsIGd5OiAyMHB4LCBoazogMjBweCwgaG06IDIwcHgsIGhuOiAyMHB4LCBocjogMjBweCwgaHQ6IDIwcHgsIGh1OiAyMHB4LCBpYzogMjBweCwgaWQ6IDIwcHgsIGllOiAyMHB4LCBpbDogMjBweCwgaW06IDIwcHgsIGluOiAyMHB4LCBpbzogMjBweCwgaXE6IDIwcHgsIGlyOiAyMHB4LCBpczogMjBweCwgaXQ6IDIwcHgsIGplOiAyMHB4LCBqbTogMjBweCwgam86IDIwcHgsIGpwOiAyMHB4LCBrZTogMjBweCwga2c6IDIwcHgsIGtoOiAyMHB4LCBraTogMjBweCwga206IDIwcHgsIGtuOiAyMHB4LCBrcDogMjBweCwga3I6IDIwcHgsIGt3OiAyMHB4LCBreTogMjBweCwga3o6IDIwcHgsIGxhOiAyMHB4LCBsYjogMjBweCwgbGM6IDIwcHgsIGxpOiAyMHB4LCBsazogMjBweCwgbHI6IDIwcHgsIGxzOiAyMHB4LCBsdDogMjBweCwgbHU6IDIwcHgsIGx2OiAyMHB4LCBseTogMjBweCwgbWE6IDIwcHgsIG1jOiAxOXB4LCBtZDogMjBweCwgbWU6IDIwcHgsIG1mOiAyMHB4LCBtZzogMjBweCwgbWg6IDIwcHgsIG1rOiAyMHB4LCBtbDogMjBweCwgbW06IDIwcHgsIG1uOiAyMHB4LCBtbzogMjBweCwgbXA6IDIwcHgsIG1xOiAyMHB4LCBtcjogMjBweCwgbXM6IDIwcHgsIG10OiAyMHB4LCBtdTogMjBweCwgbXY6IDIwcHgsIG13OiAyMHB4LCBteDogMjBweCwgbXk6IDIwcHgsIG16OiAyMHB4LCBuYTogMjBweCwgbmM6IDIwcHgsIG5lOiAxOHB4LCBuZjogMjBweCwgbmc6IDIwcHgsIG5pOiAyMHB4LCBubDogMjBweCwgbm86IDIwcHgsIG5wOiAxM3B4LCBucjogMjBweCwgbnU6IDIwcHgsIG56OiAyMHB4LCBvbTogMjBweCwgcGE6IDIwcHgsIHBlOiAyMHB4LCBwZjogMjBweCwgcGc6IDIwcHgsIHBoOiAyMHB4LCBwazogMjBweCwgcGw6IDIwcHgsIHBtOiAyMHB4LCBwbjogMjBweCwgcHI6IDIwcHgsIHBzOiAyMHB4LCBwdDogMjBweCwgcHc6IDIwcHgsIHB5OiAyMHB4LCBxYTogMjBweCwgcmU6IDIwcHgsIHJvOiAyMHB4LCByczogMjBweCwgcnU6IDIwcHgsIHJ3OiAyMHB4LCBzYTogMjBweCwgc2I6IDIwcHgsIHNjOiAyMHB4LCBzZDogMjBweCwgc2U6IDIwcHgsIHNnOiAyMHB4LCBzaDogMjBweCwgc2k6IDIwcHgsIHNqOiAyMHB4LCBzazogMjBweCwgc2w6IDIwcHgsIHNtOiAyMHB4LCBzbjogMjBweCwgc286IDIwcHgsIHNyOiAyMHB4LCBzczogMjBweCwgc3Q6IDIwcHgsIHN2OiAyMHB4LCBzeDogMjBweCwgc3k6IDIwcHgsIHN6OiAyMHB4LCB0YTogMjBweCwgdGM6IDIwcHgsIHRkOiAyMHB4LCB0ZjogMjBweCwgdGc6IDIwcHgsIHRoOiAyMHB4LCB0ajogMjBweCwgdGs6IDIwcHgsIHRsOiAyMHB4LCB0bTogMjBweCwgdG46IDIwcHgsIHRvOiAyMHB4LCB0cjogMjBweCwgdHQ6IDIwcHgsIHR2OiAyMHB4LCB0dzogMjBweCwgdHo6IDIwcHgsIHVhOiAyMHB4LCB1ZzogMjBweCwgdW06IDIwcHgsIHVuOiAyMHB4LCB1czogMjBweCwgdXk6IDIwcHgsIHV6OiAyMHB4LCB2YTogMTVweCwgdmM6IDIwcHgsIHZlOiAyMHB4LCB2ZzogMjBweCwgdmk6IDIwcHgsIHZuOiAyMHB4LCB2dTogMjBweCwgd2Y6IDIwcHgsIHdzOiAyMHB4LCB4azogMjBweCwgeWU6IDIwcHgsIHl0OiAyMHB4LCB6YTogMjBweCwgem06IDIwcHgsIHp3OiAyMHB4LCApO1xuICAkc3RhbmRhcmQtY291bnRyeTogJ2FjJztcbiAgd2lkdGg6IG1hcC1nZXQoJGl0ZW0td2lkdGgtbWFwcywgJHN0YW5kYXJkLWNvdW50cnkpO1xuXG4gIEBlYWNoICRrZXksICR3aWR0aCBpbiAkaXRlbS13aWR0aC1tYXBzIHtcbiAgICBAaWYgJHdpZHRoICE9IG1hcC1nZXQoJGl0ZW0td2lkdGgtbWFwcywgJHN0YW5kYXJkLWNvdW50cnkpIHtcbiAgICAgICYuaXRpX18jeyRrZXl9IHtcbiAgICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiA1NjUycHggMTVweDtcbiAgfVxuXG4gICYuaXRpX19hYyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2FkIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIycHggMHB4O1xuICB9XG4gICYuaXRpX19hZSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NHB4IDBweDtcbiAgfVxuICAmLml0aV9fYWYge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjZweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2FnIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTg4cHggMHB4O1xuICB9XG4gICYuaXRpX19haSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTBweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2FsIHtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEzMnB4IDBweDtcbiAgfVxuICAmLml0aV9fYW0ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTU0cHggMHB4O1xuICB9XG4gICYuaXRpX19hbyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2FxIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5OHB4IDBweDtcbiAgfVxuICAmLml0aV9fYXIge1xuICAgIGhlaWdodDogMTNweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjIwcHggMHB4O1xuICB9XG4gICYuaXRpX19hcyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDJweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2F0IHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI2NHB4IDBweDtcbiAgfVxuICAmLml0aV9fYXUge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjg2cHggMHB4O1xuICB9XG4gICYuaXRpX19hdyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMDhweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2F4IHtcbiAgICBoZWlnaHQ6IDEzcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMzMHB4IDBweDtcbiAgfVxuICAmLml0aV9fYXoge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzUycHggMHB4O1xuICB9XG4gICYuaXRpX19iYSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNzRweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2JiIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM5NnB4IDBweDtcbiAgfVxuICAmLml0aV9fYmQge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDE4cHggMHB4O1xuICB9XG4gICYuaXRpX19iZSB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NDBweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2JmIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ2MHB4IDBweDtcbiAgfVxuICAmLml0aV9fYmcge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDgycHggMHB4O1xuICB9XG4gICYuaXRpX19iaCB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MDRweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2JpIHtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUyNnB4IDBweDtcbiAgfVxuICAmLml0aV9fYmoge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTQ4cHggMHB4O1xuICB9XG4gICYuaXRpX19ibCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NzBweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2JtIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU5MnB4IDBweDtcbiAgfVxuICAmLml0aV9fYm4ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjE0cHggMHB4O1xuICB9XG4gICYuaXRpX19ibyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02MzZweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2JxIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY1OHB4IDBweDtcbiAgfVxuICAmLml0aV9fYnIge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjgwcHggMHB4O1xuICB9XG4gICYuaXRpX19icyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03MDJweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2J0IHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcyNHB4IDBweDtcbiAgfVxuICAmLml0aV9fYnYge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzQ2cHggMHB4O1xuICB9XG4gICYuaXRpX19idyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03NjhweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2J5IHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTc5MHB4IDBweDtcbiAgfVxuICAmLml0aV9fYnoge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODEycHggMHB4O1xuICB9XG4gICYuaXRpX19jYSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC04MzRweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2NjIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTg1NnB4IDBweDtcbiAgfVxuICAmLml0aV9fY2Qge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODc4cHggMHB4O1xuICB9XG4gICYuaXRpX19jZiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC05MDBweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2NnIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTkyMnB4IDBweDtcbiAgfVxuICAmLml0aV9fY2gge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTQ0cHggMHB4O1xuICB9XG4gICYuaXRpX19jaSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC05NjFweCAwcHg7XG4gIH1cbiAgJi5pdGlfX2NrIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk4M3B4IDBweDtcbiAgfVxuICAmLml0aV9fY2wge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwNXB4IDBweDtcbiAgfVxuICAmLml0aV9fY20ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAyN3B4IDBweDtcbiAgfVxuICAmLml0aV9fY24ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA0OXB4IDBweDtcbiAgfVxuICAmLml0aV9fY28ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA3MXB4IDBweDtcbiAgfVxuICAmLml0aV9fY3Age1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA5M3B4IDBweDtcbiAgfVxuICAmLml0aV9fY3Ige1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTExNXB4IDBweDtcbiAgfVxuICAmLml0aV9fY3Uge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEzN3B4IDBweDtcbiAgfVxuICAmLml0aV9fY3Yge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTE1OXB4IDBweDtcbiAgfVxuICAmLml0aV9fY3cge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTE4MXB4IDBweDtcbiAgfVxuICAmLml0aV9fY3gge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwM3B4IDBweDtcbiAgfVxuICAmLml0aV9fY3kge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIyNXB4IDBweDtcbiAgfVxuICAmLml0aV9fY3oge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI0N3B4IDBweDtcbiAgfVxuICAmLml0aV9fZGUge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI2OXB4IDBweDtcbiAgfVxuICAmLml0aV9fZGcge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI5MXB4IDBweDtcbiAgfVxuICAmLml0aV9fZGoge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTMxM3B4IDBweDtcbiAgfVxuICAmLml0aV9fZGsge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTMzNXB4IDBweDtcbiAgfVxuICAmLml0aV9fZG0ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTM1N3B4IDBweDtcbiAgfVxuICAmLml0aV9fZG8ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTM3OXB4IDBweDtcbiAgfVxuICAmLml0aV9fZHoge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQwMXB4IDBweDtcbiAgfVxuICAmLml0aV9fZWEge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQyM3B4IDBweDtcbiAgfVxuICAmLml0aV9fZWMge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0NXB4IDBweDtcbiAgfVxuICAmLml0aV9fZWUge1xuICAgIGhlaWdodDogMTNweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ2N3B4IDBweDtcbiAgfVxuICAmLml0aV9fZWcge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ4OXB4IDBweDtcbiAgfVxuICAmLml0aV9fZWgge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTUxMXB4IDBweDtcbiAgfVxuICAmLml0aV9fZXIge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTUzM3B4IDBweDtcbiAgfVxuICAmLml0aV9fZXMge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTU1NXB4IDBweDtcbiAgfVxuICAmLml0aV9fZXQge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTU3N3B4IDBweDtcbiAgfVxuICAmLml0aV9fZXUge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTU5OXB4IDBweDtcbiAgfVxuICAmLml0aV9fZmkge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYyMXB4IDBweDtcbiAgfVxuICAmLml0aV9fZmoge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTY0M3B4IDBweDtcbiAgfVxuICAmLml0aV9fZmsge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTY2NXB4IDBweDtcbiAgfVxuICAmLml0aV9fZm0ge1xuICAgIGhlaWdodDogMTFweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTY4N3B4IDBweDtcbiAgfVxuICAmLml0aV9fZm8ge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTcwOXB4IDBweDtcbiAgfVxuICAmLml0aV9fZnIge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTczMXB4IDBweDtcbiAgfVxuICAmLml0aV9fZ2Ege1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc1M3B4IDBweDtcbiAgfVxuICAmLml0aV9fZ2Ige1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc3NXB4IDBweDtcbiAgfVxuICAmLml0aV9fZ2Qge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc5N3B4IDBweDtcbiAgfVxuICAmLml0aV9fZ2Uge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTgxOXB4IDBweDtcbiAgfVxuICAmLml0aV9fZ2Yge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTg0MXB4IDBweDtcbiAgfVxuICAmLml0aV9fZ2cge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTg2M3B4IDBweDtcbiAgfVxuICAmLml0aV9fZ2gge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTg4NXB4IDBweDtcbiAgfVxuICAmLml0aV9fZ2kge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkwN3B4IDBweDtcbiAgfVxuICAmLml0aV9fZ2wge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkyOXB4IDBweDtcbiAgfVxuICAmLml0aV9fZ20ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTk1MXB4IDBweDtcbiAgfVxuICAmLml0aV9fZ24ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTk3M3B4IDBweDtcbiAgfVxuICAmLml0aV9fZ3Age1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTk5NXB4IDBweDtcbiAgfVxuICAmLml0aV9fZ3Ege1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjAxN3B4IDBweDtcbiAgfVxuICAmLml0aV9fZ3Ige1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjAzOXB4IDBweDtcbiAgfVxuICAmLml0aV9fZ3Mge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA2MXB4IDBweDtcbiAgfVxuICAmLml0aV9fZ3Qge1xuICAgIGhlaWdodDogMTNweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4M3B4IDBweDtcbiAgfVxuICAmLml0aV9fZ3Uge1xuICAgIGhlaWdodDogMTFweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjEwNXB4IDBweDtcbiAgfVxuICAmLml0aV9fZ3cge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjEyN3B4IDBweDtcbiAgfVxuICAmLml0aV9fZ3kge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjE0OXB4IDBweDtcbiAgfVxuICAmLml0aV9faGsge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjE3MXB4IDBweDtcbiAgfVxuICAmLml0aV9faG0ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjE5M3B4IDBweDtcbiAgfVxuICAmLml0aV9faG4ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjIxNXB4IDBweDtcbiAgfVxuICAmLml0aV9faHIge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjIzN3B4IDBweDtcbiAgfVxuICAmLml0aV9faHQge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI1OXB4IDBweDtcbiAgfVxuICAmLml0aV9faHUge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI4MXB4IDBweDtcbiAgfVxuICAmLml0aV9faWMge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjMwM3B4IDBweDtcbiAgfVxuICAmLml0aV9faWQge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjMyNXB4IDBweDtcbiAgfVxuICAmLml0aV9faWUge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjM0N3B4IDBweDtcbiAgfVxuICAmLml0aV9faWwge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjM2OXB4IDBweDtcbiAgfVxuICAmLml0aV9faW0ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjM5MXB4IDBweDtcbiAgfVxuICAmLml0aV9faW4ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQxM3B4IDBweDtcbiAgfVxuICAmLml0aV9faW8ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQzNXB4IDBweDtcbiAgfVxuICAmLml0aV9faXEge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQ1N3B4IDBweDtcbiAgfVxuICAmLml0aV9faXIge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQ3OXB4IDBweDtcbiAgfVxuICAmLml0aV9faXMge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjUwMXB4IDBweDtcbiAgfVxuICAmLml0aV9faXQge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjUyM3B4IDBweDtcbiAgfVxuICAmLml0aV9famUge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjU0NXB4IDBweDtcbiAgfVxuICAmLml0aV9fam0ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjU2N3B4IDBweDtcbiAgfVxuICAmLml0aV9fam8ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjU4OXB4IDBweDtcbiAgfVxuICAmLml0aV9fanAge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjYxMXB4IDBweDtcbiAgfVxuICAmLml0aV9fa2Uge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjYzM3B4IDBweDtcbiAgfVxuICAmLml0aV9fa2cge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjY1NXB4IDBweDtcbiAgfVxuICAmLml0aV9fa2gge1xuICAgIGhlaWdodDogMTNweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjY3N3B4IDBweDtcbiAgfVxuICAmLml0aV9fa2kge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjY5OXB4IDBweDtcbiAgfVxuICAmLml0aV9fa20ge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjcyMXB4IDBweDtcbiAgfVxuICAmLml0aV9fa24ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjc0M3B4IDBweDtcbiAgfVxuICAmLml0aV9fa3Age1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjc2NXB4IDBweDtcbiAgfVxuICAmLml0aV9fa3Ige1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjc4N3B4IDBweDtcbiAgfVxuICAmLml0aV9fa3cge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjgwOXB4IDBweDtcbiAgfVxuICAmLml0aV9fa3kge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjgzMXB4IDBweDtcbiAgfVxuICAmLml0aV9fa3oge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjg1M3B4IDBweDtcbiAgfVxuICAmLml0aV9fbGEge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjg3NXB4IDBweDtcbiAgfVxuICAmLml0aV9fbGIge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjg5N3B4IDBweDtcbiAgfVxuICAmLml0aV9fbGMge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjkxOXB4IDBweDtcbiAgfVxuICAmLml0aV9fbGkge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjk0MXB4IDBweDtcbiAgfVxuICAmLml0aV9fbGsge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjk2M3B4IDBweDtcbiAgfVxuICAmLml0aV9fbHIge1xuICAgIGhlaWdodDogMTFweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjk4NXB4IDBweDtcbiAgfVxuICAmLml0aV9fbHMge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzAwN3B4IDBweDtcbiAgfVxuICAmLml0aV9fbHQge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzAyOXB4IDBweDtcbiAgfVxuICAmLml0aV9fbHUge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzA1MXB4IDBweDtcbiAgfVxuICAmLml0aV9fbHYge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzA3M3B4IDBweDtcbiAgfVxuICAmLml0aV9fbHkge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzA5NXB4IDBweDtcbiAgfVxuICAmLml0aV9fbWEge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzExN3B4IDBweDtcbiAgfVxuICAmLml0aV9fbWMge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzEzOXB4IDBweDtcbiAgfVxuICAmLml0aV9fbWQge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzE2MHB4IDBweDtcbiAgfVxuICAmLml0aV9fbWUge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzE4MnB4IDBweDtcbiAgfVxuICAmLml0aV9fbWYge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzIwNHB4IDBweDtcbiAgfVxuICAmLml0aV9fbWcge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzIyNnB4IDBweDtcbiAgfVxuICAmLml0aV9fbWgge1xuICAgIGhlaWdodDogMTFweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzI0OHB4IDBweDtcbiAgfVxuICAmLml0aV9fbWsge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzI3MHB4IDBweDtcbiAgfVxuICAmLml0aV9fbWwge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzI5MnB4IDBweDtcbiAgfVxuICAmLml0aV9fbW0ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzMxNHB4IDBweDtcbiAgfVxuICAmLml0aV9fbW4ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzMzNnB4IDBweDtcbiAgfVxuICAmLml0aV9fbW8ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzM1OHB4IDBweDtcbiAgfVxuICAmLml0aV9fbXAge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzM4MHB4IDBweDtcbiAgfVxuICAmLml0aV9fbXEge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzQwMnB4IDBweDtcbiAgfVxuICAmLml0aV9fbXIge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzQyNHB4IDBweDtcbiAgfVxuICAmLml0aV9fbXMge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzQ0NnB4IDBweDtcbiAgfVxuICAmLml0aV9fbXQge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzQ2OHB4IDBweDtcbiAgfVxuICAmLml0aV9fbXUge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzQ5MHB4IDBweDtcbiAgfVxuICAmLml0aV9fbXYge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzUxMnB4IDBweDtcbiAgfVxuICAmLml0aV9fbXcge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzUzNHB4IDBweDtcbiAgfVxuICAmLml0aV9fbXgge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzU1NnB4IDBweDtcbiAgfVxuICAmLml0aV9fbXkge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzU3OHB4IDBweDtcbiAgfVxuICAmLml0aV9fbXoge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzYwMHB4IDBweDtcbiAgfVxuICAmLml0aV9fbmEge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzYyMnB4IDBweDtcbiAgfVxuICAmLml0aV9fbmMge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzY0NHB4IDBweDtcbiAgfVxuICAmLml0aV9fbmUge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzY2NnB4IDBweDtcbiAgfVxuICAmLml0aV9fbmYge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzY4NnB4IDBweDtcbiAgfVxuICAmLml0aV9fbmcge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzcwOHB4IDBweDtcbiAgfVxuICAmLml0aV9fbmkge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzczMHB4IDBweDtcbiAgfVxuICAmLml0aV9fbmwge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzc1MnB4IDBweDtcbiAgfVxuICAmLml0aV9fbm8ge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzc3NHB4IDBweDtcbiAgfVxuICAmLml0aV9fbnAge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzc5NnB4IDBweDtcbiAgfVxuICAmLml0aV9fbnIge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzgxMXB4IDBweDtcbiAgfVxuICAmLml0aV9fbnUge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzgzM3B4IDBweDtcbiAgfVxuICAmLml0aV9fbnoge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzg1NXB4IDBweDtcbiAgfVxuICAmLml0aV9fb20ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzg3N3B4IDBweDtcbiAgfVxuICAmLml0aV9fcGEge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzg5OXB4IDBweDtcbiAgfVxuICAmLml0aV9fcGUge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzkyMXB4IDBweDtcbiAgfVxuICAmLml0aV9fcGYge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzk0M3B4IDBweDtcbiAgfVxuICAmLml0aV9fcGcge1xuICAgIGhlaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzk2NXB4IDBweDtcbiAgfVxuICAmLml0aV9fcGgge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzk4N3B4IDBweDtcbiAgfVxuICAmLml0aV9fcGsge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDAwOXB4IDBweDtcbiAgfVxuICAmLml0aV9fcGwge1xuICAgIGhlaWdodDogMTNweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDAzMXB4IDBweDtcbiAgfVxuICAmLml0aV9fcG0ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDA1M3B4IDBweDtcbiAgfVxuICAmLml0aV9fcG4ge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDA3NXB4IDBweDtcbiAgfVxuICAmLml0aV9fcHIge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDA5N3B4IDBweDtcbiAgfVxuICAmLml0aV9fcHMge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDExOXB4IDBweDtcbiAgfVxuICAmLml0aV9fcHQge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDE0MXB4IDBweDtcbiAgfVxuICAmLml0aV9fcHcge1xuICAgIGhlaWdodDogMTNweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDE2M3B4IDBweDtcbiAgfVxuICAmLml0aV9fcHkge1xuICAgIGhlaWdodDogMTFweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDE4NXB4IDBweDtcbiAgfVxuICAmLml0aV9fcWEge1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MjA3cHggMHB4O1xuICB9XG4gICYuaXRpX19yZSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MjI5cHggMHB4O1xuICB9XG4gICYuaXRpX19ybyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MjUxcHggMHB4O1xuICB9XG4gICYuaXRpX19ycyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MjczcHggMHB4O1xuICB9XG4gICYuaXRpX19ydSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00Mjk1cHggMHB4O1xuICB9XG4gICYuaXRpX19ydyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MzE3cHggMHB4O1xuICB9XG4gICYuaXRpX19zYSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MzM5cHggMHB4O1xuICB9XG4gICYuaXRpX19zYiB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MzYxcHggMHB4O1xuICB9XG4gICYuaXRpX19zYyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MzgzcHggMHB4O1xuICB9XG4gICYuaXRpX19zZCB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NDA1cHggMHB4O1xuICB9XG4gICYuaXRpX19zZSB7XG4gICAgaGVpZ2h0OiAxM3B4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NDI3cHggMHB4O1xuICB9XG4gICYuaXRpX19zZyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NDQ5cHggMHB4O1xuICB9XG4gICYuaXRpX19zaCB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NDcxcHggMHB4O1xuICB9XG4gICYuaXRpX19zaSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NDkzcHggMHB4O1xuICB9XG4gICYuaXRpX19zaiB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NTE1cHggMHB4O1xuICB9XG4gICYuaXRpX19zayB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NTM3cHggMHB4O1xuICB9XG4gICYuaXRpX19zbCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NTU5cHggMHB4O1xuICB9XG4gICYuaXRpX19zbSB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NTgxcHggMHB4O1xuICB9XG4gICYuaXRpX19zbiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NjAzcHggMHB4O1xuICB9XG4gICYuaXRpX19zbyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NjI1cHggMHB4O1xuICB9XG4gICYuaXRpX19zciB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NjQ3cHggMHB4O1xuICB9XG4gICYuaXRpX19zcyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NjY5cHggMHB4O1xuICB9XG4gICYuaXRpX19zdCB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NjkxcHggMHB4O1xuICB9XG4gICYuaXRpX19zdiB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NzEzcHggMHB4O1xuICB9XG4gICYuaXRpX19zeCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NzM1cHggMHB4O1xuICB9XG4gICYuaXRpX19zeSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NzU3cHggMHB4O1xuICB9XG4gICYuaXRpX19zeiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00Nzc5cHggMHB4O1xuICB9XG4gICYuaXRpX190YSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00ODAxcHggMHB4O1xuICB9XG4gICYuaXRpX190YyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00ODIzcHggMHB4O1xuICB9XG4gICYuaXRpX190ZCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00ODQ1cHggMHB4O1xuICB9XG4gICYuaXRpX190ZiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00ODY3cHggMHB4O1xuICB9XG4gICYuaXRpX190ZyB7XG4gICAgaGVpZ2h0OiAxM3B4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00ODg5cHggMHB4O1xuICB9XG4gICYuaXRpX190aCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00OTExcHggMHB4O1xuICB9XG4gICYuaXRpX190aiB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00OTMzcHggMHB4O1xuICB9XG4gICYuaXRpX190ayB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00OTU1cHggMHB4O1xuICB9XG4gICYuaXRpX190bCB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00OTc3cHggMHB4O1xuICB9XG4gICYuaXRpX190bSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00OTk5cHggMHB4O1xuICB9XG4gICYuaXRpX190biB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MDIxcHggMHB4O1xuICB9XG4gICYuaXRpX190byB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MDQzcHggMHB4O1xuICB9XG4gICYuaXRpX190ciB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MDY1cHggMHB4O1xuICB9XG4gICYuaXRpX190dCB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MDg3cHggMHB4O1xuICB9XG4gICYuaXRpX190diB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MTA5cHggMHB4O1xuICB9XG4gICYuaXRpX190dyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MTMxcHggMHB4O1xuICB9XG4gICYuaXRpX190eiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MTUzcHggMHB4O1xuICB9XG4gICYuaXRpX191YSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MTc1cHggMHB4O1xuICB9XG4gICYuaXRpX191ZyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MTk3cHggMHB4O1xuICB9XG4gICYuaXRpX191bSB7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MjE5cHggMHB4O1xuICB9XG4gICYuaXRpX191biB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MjQxcHggMHB4O1xuICB9XG4gICYuaXRpX191cyB7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MjYzcHggMHB4O1xuICB9XG4gICYuaXRpX191eSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01Mjg1cHggMHB4O1xuICB9XG4gICYuaXRpX191eiB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MzA3cHggMHB4O1xuICB9XG4gICYuaXRpX192YSB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MzI5cHggMHB4O1xuICB9XG4gICYuaXRpX192YyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MzQ2cHggMHB4O1xuICB9XG4gICYuaXRpX192ZSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MzY4cHggMHB4O1xuICB9XG4gICYuaXRpX192ZyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MzkwcHggMHB4O1xuICB9XG4gICYuaXRpX192aSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NDEycHggMHB4O1xuICB9XG4gICYuaXRpX192biB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NDM0cHggMHB4O1xuICB9XG4gICYuaXRpX192dSB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NDU2cHggMHB4O1xuICB9XG4gICYuaXRpX193ZiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NDc4cHggMHB4O1xuICB9XG4gICYuaXRpX193cyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NTAwcHggMHB4O1xuICB9XG4gICYuaXRpX194ayB7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NTIycHggMHB4O1xuICB9XG4gICYuaXRpX195ZSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NTQ0cHggMHB4O1xuICB9XG4gICYuaXRpX195dCB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NTY2cHggMHB4O1xuICB9XG4gICYuaXRpX196YSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NTg4cHggMHB4O1xuICB9XG4gICYuaXRpX196bSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NjEwcHggMHB4O1xuICB9XG4gICYuaXRpX196dyB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NjMycHggMHB4O1xuICB9XG59IiwiJHN0aWNreS1mb290ZXItaGVpZ2h0OiAzMHB4O1xuXG5odG1sIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvL21pbi1oZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuYm9keXtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvL2JhY2tncm91bmQ6ICNjY2M7XG4gLy8gbWFyZ2luLWJvdHRvbTogJHN0aWNreS1mb290ZXItaGVpZ2h0O1xufVxuXG4jZm9vdGVyIHtcbiAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjOTk5OTk5O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgaGVpZ2h0OiAkc3RpY2t5LWZvb3Rlci1oZWlnaHQ7XG4gIC8vYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbn1cblxuLmNvbnRlbnQge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uYWRtaW4tbGF5b3V0IHtcbiAgPiAuY29udGVudCB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IC00MHB4O1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuXG4gICAgJjphZnRlcntcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6ICRzdGlja3ktZm9vdGVyLWhlaWdodDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vKlxuLmRhdGUge1xuICBmb250LXNpemU6IDAuNjVlbTtcbn1cbi50aW1lIHtcbiAgZm9udC1zaXplOiAwLjg1ZW07XG59XG4qL1xuXG5cbi5vbiB7XG4gIGNvbG9yOiAkY29sb3Itc3RhdHVzLW9uICFpbXBvcnRhbnQ7XG59XG5cbltkYXRhLWRldmljZT1cInN0YXR1c1wiXSxcbi5kZXZpY2Utc3RhdHVzLFxuLnN0YXR1cyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDEwcHg7IGhlaWdodDogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItYmctMzAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYmctMzAwO1xuXG4gIHRleHQtaW5kZW50OiA5OTk5OTlweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuW2RhdGEtZGV2aWNlPVwiZW5naW5lXCJdLFxuW2RhdGEtZGV2aWNlPVwiZGV0ZWN0X2VuZ2luZVwiXXtcbiAgZm9udC1zaXplOiAxLjNlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbltkYXRhLXRvZ2dsZT1cInNjcm9sbFwiXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDMwcHg7XG59XG5cbiNzaWRlYmFyIFtkYXRhLWRldmljZT1cInNwZWVkXCJdIHtcbiAgQGV4dGVuZCAucnViYmVyQmFuZDtcbiAgQGV4dGVuZCAuYW5pbWF0ZWQ7XG5cbiAgY29sb3I6ICRjb2xvci10ZXh0LTYwMDtcbiAgZm9udC1zaXplOiAwLjllbTtcbn1cblxuXG4uYWN0aW9uLWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBsaW5lLWhlaWdodDogMTdweDtcbiAgd2lkdGg6IDE5cHg7XG4gIGhlaWdodDogMTlweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDlweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcbiAgY29sb3I6ICMwMDA7XG5cbiAgLmV2ZW50LWFjdGlvbiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWE0ZjRmO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2VhNGY0ZjtcbiAgfVxuICAucGFyay1hY3Rpb24gJiB7XG4gICAgYmFja2dyb3VuZDogIzg0ODQ4NDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItY29sb3I6ICM4NDg0ODQ7XG4gIH1cbiAgLmRyaXZlLWFjdGlvbiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAjMWI5OWJkO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzFiOTliZDtcbiAgfVxufVxuXG4uZGF0ZXRpbWUge1xuICAuZGF0ZSxcbiAgLnRpbWUge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbn1cblxuLmNlbnRlci12ZXJ0aWNhbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5zY3JvbGxib3gge1xuICBAZXh0ZW5kIC5zY3JvbGxiYXI7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAyNTBweDtcblxuICA+IC50YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuLnNjcm9sbGJveC1sYXJnZSB7XG4gIEBleHRlbmQgLnNjcm9sbGJveDtcblxuICBtYXgtaGVpZ2h0OiAzODVweDtcbn1cbi5zY3JvbGxib3gtdmVydGljYWwge1xuICBAZXh0ZW5kIC5zY3JvbGxib3g7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbi5zY3JvbGxib3gtdmVydGljYWwtbGFyZ2Uge1xuICBAZXh0ZW5kIC5zY3JvbGxib3gtdmVydGljYWw7XG5cbiAgbWF4LWhlaWdodDogMzg1cHg7XG59XG5cbi5pY29uLWxpc3Qge1xuICAucmFkaW8sXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveCxcbiAgLmNoZWNrYm94LWlubGluZSB7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgPiBsYWJlbCB7XG4gICAgICBwYWRkaW5nOiA3cHg7XG4gICAgICAmOmJlZm9yZSxcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICAgICAgYmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnk7XG4gICAgfVxuICB9XG59XG5cbi5hY3Rpb24tYmxvY2sge1xuICBAZXh0ZW5kIC50ZXh0LXJpZ2h0O1xuXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgLmJ0biB7XG4gICAgQGV4dGVuZCAuYnRuLXNtO1xuICB9XG59XG5cbi51aS1zb3J0YWJsZS1oYW5kbGUge1xuICBjdXJzb3I6bW92ZTtcbn1cblxuLmxhbmctbGlzdCB7XG4gIEBleHRlbmQgLmNsZWFyZml4O1xuXG4gIC5sYW5nLWl0ZW0ge1xuICAgIEBleHRlbmQgLmNvbC14cy02O1xuICAgIEBleHRlbmQgLmNvbC1zbS00O1xuXG4gICAgLmJ0biB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4ucC1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xufVxuXG5cbi5pbWctZnVsbC13aWR0aCB7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4jbWFwRm9yUGhvdG8ge1xuICBoZWlnaHQ6IDE0MHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuI3JlcXVlc3RQaG90byB7XG4gIC5hdHRyaWJ1dGVzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC5mb3JtLWdyb3VwID4gbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLnJvdy5uby1wYWRkaW5nIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICA+IFtjbGFzc149XCJjb2wtXCJdIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4udG9vbHRpcC1tYXJrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDZweDtcbiAgcGFkZGluZzogMnB4IDVweDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsZXI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJnLTMwMDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLnRvb2x0aXAudG9vbHRpcC1pbWd7XG4gIC50b29sdGlwLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuLnRvb2x0aXAudG9vbHRpcC1pbWVpe1xuICAudG9vbHRpcC1pbm5lciB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogaW5pdGlhbDtcbiAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAtby1iYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIG1heC13aWR0aDogMzYwcHg7IHdpZHRoOiAzNjBweDsgaGVpZ2h0OiAxOTZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiB0YWJsZTtcblxuICAgIC50ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZXI7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgY29sb3I6ICRjb2xvci10ZXh0LTEwMDtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTMwcHg7XG4gICAgfVxuICB9XG59XG5cbmltZyB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbn1cblxuaW1nW2RhdGEtc3JjXSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5jaGVja2xpc3Qtc3RhdHVzIHtcbiAgJi5jb21wbGV0ZSB7XG4gICAgY29sb3I6IGdyZWVuO1xuICB9XG5cbiAgJi5pbmNvbXBsZXRlIHtcbiAgICBjb2xvcjogcmVkO1xuICB9XG59XG5cbi5jaGVja2xpc3Qtcm93LWFjdGl2aXR5IHtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG59IiwiQG1peGluIGljb24tY29sb3IoJGljb24tZWxlbWVudCwgJGljb24tY29sb3I6ICRpY29uLWNvbG9yLCAkYWN0aW9uLXNlbGVjdDogJyYuYWN0aXZlLCY6aG92ZXInLCAkaWNvbi1hY3Rpb24tY29sb3I6IGluaGVyaXQpIHtcbiAgI3skaWNvbi1lbGVtZW50fSB7XG4gICAgY29sb3I6ICRpY29uLWNvbG9yO1xuICB9XG4gICN7JGFjdGlvbi1zZWxlY3R9IHtcbiAgICAjeyRpY29uLWVsZW1lbnR9IHtcbiAgICAgIGNvbG9yOiAkaWNvbi1hY3Rpb24tY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWJhc2U7XG59XG5cbi5pY29uICsgLnRleHQge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvL2Ryb3Bkb3dubWVudSBidWdcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuaW1nLnNlbnNvci1pY29uIHtcbiAgbWF4LXdpZHRoOiAyNXB4O1xuICBtYXgtaGVpZ2h0OiAyNXB4O1xufVxuXG4uaWNvbi1mYSB7XG4gICY6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogXCJGb250QXdlc29tZVwiO1xuICB9XG59XG5cbi5pY28uaWNvLW9iamVjdC1hcnJvdyB7XG4gIGZvbnQtc2l6ZTogMjVweDtcbiAgdGV4dC1zaGFkb3c6IDBweCAwcHggMnB4ICRjb2xvci1ib3JkZXItMTAwO1xufVxuXG4uaWNvbiB7XG4gIEBleHRlbmQgLmljbztcblxuICAmLmltcG9ydCB7XG4gICAgQGV4dGVuZCAuaWNvLXVwbG9hZDtcbiAgfVxuXG4gICYuY2hlY2sge1xuICAgIEBleHRlbmQgLmljby1jaGVjaztcbiAgfVxuICAmLnRhc2sge1xuICAgIEBleHRlbmQgLmljby1jaGVjaztcbiAgfVxuICAmLnRhc2staW1wb3J0IHtcbiAgICBAZXh0ZW5kIC5pY28tdXBsb2FkO1xuICB9XG4gICYuc3R5bGl6ZS0xIHtcbiAgICBAZXh0ZW5kIC5pY28tc3R5bGl6ZS0xO1xuICB9XG4gICYuY2hhdCB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1jb21tZW50cy1vO1xuICB9XG4gICYuc2hhcmluZyB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1zaGFyZS1hbHQ7XG4gIH1cbiAgJi5leHRlcm5hbC1saW5rIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLWxpc3Q7XG4gIH1cbiAgJi5zZW5kIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLXNlbmQtbztcbiAgfVxuICAmLmZvcndhcmRzIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLXNoYXJlO1xuICB9XG5cbiAgJi5leWUge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtZXllO1xuICB9XG4gICYuc3RyZWV0dmlldyxcbiAgJi5jYW1lcmEge1xuICAgIEBleHRlbmQgLmljby1jYW1lcmE7XG4gIH1cbiAgJi5lbWFpbCB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1lbnZlbG9wZTtcbiAgfVxuICAmLnJlc3RhcnQge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtcmVmcmVzaDtcbiAgfVxuICAmLnJlc2V0IHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLXJlcGVhdDtcbiAgfVxuICAmLnRyYXNoIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLXRyYXNoO1xuICB9XG4gICYubW9uZXkge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtbW9uZXk7XG4gIH1cbiAgJi5kYXNoYm9hcmQge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtZGFzaGJvYXJkO1xuICB9XG4gICYudW5pdC1kaXN0YW5jZSB7XG4gICAgQGV4dGVuZCAuaWNvLWFycm93LWxlZnQtcmlnaHQ7XG4gIH1cbiAgJi51bml0LWFsdGl0dWRlIHtcbiAgICBAZXh0ZW5kIC5pY28tYXJyb3ctdXAtZG93bjtcbiAgfVxuICAmLnVuaXQtY2FwYWNpdHkge1xuICAgIEBleHRlbmQgLmljby1mdWVsO1xuICB9XG4gICYucGxheSB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1wbGF5O1xuICB9XG4gICYucGF1c2Uge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtcGF1c2U7XG4gIH1cbiAgJi5zdG9wIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLXN0b3A7XG4gIH1cbiAgJi5wbHVzIHtcbiAgICBAZXh0ZW5kIC5pY28tcGx1cztcbiAgfVxuICAmLm1pbnVzIHtcbiAgICBAZXh0ZW5kIC5pY28tbWludXM7XG4gIH1cbiAgJi5zZWFyY2gge1xuICAgIEBleHRlbmQgLmljby1zZWFyY2g7XG4gIH1cbiAgJi5nbG9iZSB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1nbG9iZTtcbiAgfVxuICAmLm1hcCB7XG4gICAgQGV4dGVuZCAuaWNvLWxvY2F0aW9uO1xuICB9XG4gICYubG9ncyB7XG4gICAgQGV4dGVuZCAuaWNvLWxvZ3M7XG4gIH1cbiAgJi5jb250ZW50IHtcbiAgICBAZXh0ZW5kIC5pY28tZGV0YWlscztcbiAgfVxuICAmLmxvb2t1cCB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS10YWJsZTtcbiAgfVxuICAmLmxpc3Qge1xuICAgIEBleHRlbmQgLmljby1kZXRhaWxzO1xuICB9XG4gICYubWFwLWNoYW5nZSB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1tYXAtbztcbiAgfVxuICAmLm1hcC1leHBhbmQge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtYXJyb3dzLWFsdDtcbiAgfVxuICAmLnpvb21JbiB7XG4gICAgQGV4dGVuZCAuaWNvLXpvb207XG4gIH1cbiAgJi56b29tT3V0IHtcbiAgICBAZXh0ZW5kIC5pY28tbWludXM7XG4gIH1cbiAgJi5maXRCb3VuZHMge1xuICAgIEBleHRlbmQgLmljby1maXRib3VuZHM7XG4gIH1cbiAgJi5ncm91cC1kZXZpY2VzIHtcbiAgICBAZXh0ZW5kIC5pY28tZ3JvdXBpbmc7XG4gIH1cbiAgJi5wYXJraW5nIHtcbiAgICBAZXh0ZW5kIC5pY28tcGFya2luZztcbiAgfVxuICAmLnJlbW92ZS1hbGwge1xuICAgIEBleHRlbmQgLmljby14O1xuICB9XG4gICYucmVtb3ZlLFxuICAmLmRlbGV0ZSB7XG4gICAgQGV4dGVuZCAuaWNvLXg7XG4gIH1cbiAgJi5hZGQge1xuICAgIEBleHRlbmQgLmljby1wbHVzO1xuICB9XG4gICYub3B0aW9ucyB7XG4gICAgQGV4dGVuZCAuaWNvLW9wdGlvbnMtdjtcbiAgfVxuICAmLmVkaXQge1xuICAgIEBleHRlbmQgLmljby1nZWFyO1xuICB9XG4gICYubXVsdGktZWRpdCB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1jb2dzO1xuICB9XG4gICYuZmlsdGVyIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLWZpbHRlcjtcbiAgfVxuICAmLmhpc3RvcnktY2xlYW4ge1xuICAgIEBleHRlbmQgLmljby14O1xuICB9XG4gICYuaGlzdG9yeS1leHBvcnQge1xuICAgIEBleHRlbmQgLmljby1kb3dubG9hZDtcbiAgfVxuICAmLmRvd25sb2FkIHtcbiAgICBAZXh0ZW5kIC5pY28tZG93bmxvYWQ7XG4gIH1cbiAgJi51cGxvYWQge1xuICAgIEBleHRlbmQgLmljby11cGxvYWQ7XG4gIH1cbiAgJi5jYWxlbmRhciB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1jYWxlbmRhcjtcbiAgfVxuICAmLnRpbWUge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtY2xvY2stbztcbiAgfVxuICAmLmxhc3QtaG91ciB7XG4gICAgQGV4dGVuZCAuaWNvLXRpbWUtaG91cjtcbiAgfVxuICAmLnRvZGF5IHtcbiAgICBAZXh0ZW5kIC5pY28tdGltZS10b2RheTtcbiAgfVxuICAmLnllc3RlcmRheSB7XG4gICAgQGV4dGVuZCAuaWNvLXRpbWUteWVzdGVyZGF5O1xuICB9XG4gICYuZm9sbG93IHtcbiAgICBAZXh0ZW5kIC5pY28tZm9sbG93O1xuICB9XG4gICYuc2VuZC1jb21tYW5kIHtcbiAgICBAZXh0ZW5kIC5pY28tYXJyb3ctcmlnaHQ7XG4gIH1cbiAgJi5hZG1pbiB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1jb2dzO1xuICB9XG4gICYudG9vbHMge1xuICAgIEBleHRlbmQgLmljby10b29sO1xuICB9XG4gICYuZHJpdmVyIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLXVzZXI7XG4gIH1cbiAgJi5yZmlkIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLWNyZWRpdC1jYXJkO1xuICB9XG4gICYucm91dGVzIHtcbiAgICBAZXh0ZW5kIC5pY28tc3RyZWV0O1xuICB9XG4gICYucm91dGUtaW1wb3J0IHtcbiAgICBAZXh0ZW5kIC5pY28tc3RyZWV0O1xuICB9XG4gICYucmVwb3J0cyB7XG4gICAgQGV4dGVuZCAuaWNvLXJlcG9ydHM7XG4gIH1cbiAgJi5ydWxlciB7XG4gICAgQGV4dGVuZCAuaWNvLXJ1bGVyLW87XG4gIH1cbiAgJi5wb2ludCB7XG4gICAgQGV4dGVuZCAuaWNvLXBvaW50O1xuICB9XG4gICYuYWRkcmVzcyB7XG4gICAgQGV4dGVuZCAuaWNvLWhvdXNlO1xuICB9XG4gICYuc2V0dGluZ3MsXG4gICYuc2V0dGluZyxcbiAgJi5zZXR1cCB7XG4gICAgQGV4dGVuZCAuaWNvLWdlYXItbztcbiAgfVxuICAmLm1lbWJlcnNoaXAge1xuICAgIEBleHRlbmQgLmljby11c2VyO1xuICB9XG4gICYucGFzc3dvcmQge1xuICAgIEBleHRlbmQgLmljby11c2VyLXNldHRpbmdzO1xuICB9XG4gICYubG9nb3V0IHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLWtleTtcbiAgfVxuICAmLmRldGVjdF9lbmdpbmUsXG4gICYuZW5naW5lIHtcbiAgICBAZXh0ZW5kIC5pY28tZW5naW5lO1xuICB9XG5cbiAgJi5hY2NvdW50IHtcbiAgICBAZXh0ZW5kIC5pY28tYWNjb3VudDtcbiAgfVxuICAmLnVzZXJzIHtcbiAgICBAZXh0ZW5kIC5pY28tdXNlcjtcbiAgfVxuICAmLnVzZXIge1xuICAgIEBleHRlbmQgLmljby11c2VyO1xuICB9XG4gICYudXNlci1hZGQge1xuICAgIEBleHRlbmQgLmljby11c2VyLWFkZDtcbiAgfVxuICAmLnVzZXItZWRpdCB7XG4gICAgQGV4dGVuZCAuaWNvLXVzZXItc2V0dGluZ3M7XG4gIH1cblxuICAmLmRldmljZXMge1xuICAgIEBleHRlbmQgLmljby1vYmplY3QtbztcbiAgfVxuICAmLmRldmljZSB7XG4gICAgQGV4dGVuZCAuaWNvLW9iamVjdDtcbiAgfVxuICAmLmRldmljZS1hZGQge1xuICAgIEBleHRlbmQgLmljby1vYmplY3QtYWRkO1xuICB9XG4gICYuZGV2aWNlLWltcG9ydCB7XG4gICAgQGV4dGVuZCAuaWNvLW9iamVjdC1pbXBvcnQ7XG4gIH1cblxuICAmLmRldmljZS1kaXN0YW5jZSB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1yb2FkO1xuICB9XG5cbiAgJi5wb2lzIHtcbiAgICBAZXh0ZW5kIC5pY28tcG9pO1xuICB9XG4gICYucG9pIHtcbiAgICBAZXh0ZW5kIC5pY28tcG9pO1xuICB9XG4gICYucG9pLWltcG9ydCB7XG4gICAgQGV4dGVuZCAuaWNvLXBvaS1pbXBvcnQ7XG4gIH1cblxuICAmLmdlb2ZlbmNlcyB7XG4gICAgQGV4dGVuZCAuaWNvLWdlb2ZlbmNlO1xuICB9XG4gICYuZ2VvZmVuY2Uge1xuICAgIEBleHRlbmQgLmljby1nZW9mZW5jZTtcbiAgfVxuICAmLmdlb2ZlbmNlLWltcG9ydCB7XG4gICAgQGV4dGVuZCAuaWNvLWdlb2ZlbmNlLWltcG9ydDtcbiAgfVxuXG4gICYuYWxlcnQge1xuICAgIEBleHRlbmQgLmljby1ldmVudDtcbiAgfVxuICAmLmFsZXJ0cyB7XG4gICAgQGV4dGVuZCAuaWNvLWV2ZW50O1xuICB9XG4gICYuZXZlbnRzIHtcbiAgICBAZXh0ZW5kIC5pY28tZXZlbnQ7XG4gIH1cbiAgJi5ldmVudCB7XG4gICAgQGV4dGVuZCAuaWNvLWV2ZW50O1xuICB9XG4gICYuZXZlbnQtYWRkIHtcbiAgICBAZXh0ZW5kIC5pY28tYWRkLWV2ZW50O1xuICB9XG5cbiAgJi5zaG93LW5hbWUge1xuICAgIEBleHRlbmQgLmljby1zaG93LW5hbWVzMjtcbiAgfVxuICAmLnNob3ctdGFpbCB7XG4gICAgQGV4dGVuZCAuaWNvLXNob3ctdHJhaWw7XG4gIH1cbiAgJi50cmFmZmljIHtcbiAgICBAZXh0ZW5kIC5pY28tdHJhZmZpYztcbiAgfVxuXG4gICYuc2Vuc29ycyB7XG4gICAgQGV4dGVuZCAuaWNvLXNlbnNvcjtcbiAgfVxuICAmLnNlcnZpY2VzIHtcbiAgICBAZXh0ZW5kIC5pY28tdG9vbDtcbiAgfVxuICAmLmRvb3IsXG4gICYuZG9vcnMge1xuICAgIEBleHRlbmQgLmljby1kb29ycztcbiAgfVxuICAmLmFjYyxcbiAgJi5pZ25pdGlvbiB7XG4gICAgQGV4dGVuZCAuaWNvLWlnbml0aW9uO1xuICB9XG5cbiAgJi5mdWVsX3RhbmtfY29uc3VtcHRpb24sXG4gICYuZnVlbF9jb25zdW1wdGlvbixcbiAgJi5mdWVsX3RhbmtfY2FsaWJyYXRpb24sXG4gICYuZnVlbF90YW5rLFxuICAmLmZ1ZWwge1xuICAgIEBleHRlbmQgLmljby1mdWVsO1xuICB9XG4gICYuY291bnRlcixcbiAgJi5vZG9tZXRlciB7XG4gICAgQGV4dGVuZCAuaWNvLW9kb21ldGVyO1xuICB9XG4gICYuc3BlZWQge1xuICAgIEBleHRlbmQgLmljby1zcGVlZDtcbiAgfVxuICAmLnNwZWVkX2VjbSB7XG4gICAgQGV4dGVuZCAuaWNvLXNwZWVkO1xuICB9XG4gICYudGFjaG9tZXRlciB7XG4gICAgQGV4dGVuZCAuaWNvLXJwbTtcbiAgfVxuICAmLnRlbXBlcmF0dXJlLFxuICAmLnRlbXBlcmF0dXJlX2NhbGlicmF0aW9ue1xuICAgIEBleHRlbmQgLmljby10ZW1wO1xuICB9XG4gICYuc2F0ZWxsaXRlcyB7XG4gICAgQGV4dGVuZCAuaWNvLXNpZ25hbDtcbiAgfVxuICAmLnNlYXRiZWx0IHtcbiAgICBAZXh0ZW5kIC5pY28tc2VhdGJlbHQ7XG4gIH1cbiAgJi5lbmdpbmVfaG91cnMge1xuICAgIEBleHRlbmQgLmljby1lbmdpbmUtaG91cnM7XG4gIH1cbiAgJi5wbHVnZ2VkIHtcbiAgICBAZXh0ZW5kIC5pY28tbG9naWNhbDtcbiAgfVxuICAmLmxvZ2ljYWwge1xuICAgIEBleHRlbmQgLmljby1sb2dpY2FsO1xuICB9XG4gICYubnVtZXJpY2FsIHtcbiAgICBAZXh0ZW5kIC5pY28tb2RvbWV0ZXI7XG4gIH1cbiAgJi50ZXh0dWFsIHtcbiAgICBAZXh0ZW5kIC5pY28tdGV4dHVhbDtcbiAgfVxuICAmLnZpbiB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1iYXJjb2RlO1xuICB9XG4gICYubG9hZCxcbiAgJi5sb2FkX2NhbGlicmF0aW9uIHtcbiAgICBAZXh0ZW5kIC5pY28tbG9hZDtcbiAgfVxuICAmLmxvY2sge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtbG9jaztcbiAgfVxuICAmLnVubG9jayB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS11bmxvY2s7XG4gIH1cbiAgJi5jaGVja2xpc3Qge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtdGFza3M7XG4gIH1cbiAgJi5wcmUtY2hlY2tsaXN0IHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLWNsaXBib2FyZDtcbiAgfVxuICAmLnFyY29kZSB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1xcmNvZGU7XG4gIH1cbiAgJi5waG90byB7XG4gICAgQGV4dGVuZCAuaWNvbi1mYTtcbiAgICBAZXh0ZW5kIC5mYS1waG90bztcbiAgfVxuICAmLmNhbGxfYWN0aW9uIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLXBob25lO1xuICB9XG4gICYuY29tcGxldGUge1xuICAgIEBleHRlbmQgLmljby1jaGVjaztcbiAgfVxuICAmLmluY29tcGxldGUge1xuICAgIEBleHRlbmQgLmljby14O1xuICB9XG4gICYuY3VzdG9tLWZpZWxkIHtcbiAgICBAZXh0ZW5kIC5pY29uLWZhO1xuICAgIEBleHRlbmQgLmZhLW9iamVjdC1ncm91cDtcbiAgfVxuICAmLnJvdXRlX3R5cGUge1xuICAgIEBleHRlbmQgLmljb24tZmE7XG4gICAgQGV4dGVuZCAuZmEtYnJpZWZjYXNlO1xuICB9XG5cbiAgJi5nc20tMCxcbiAgJi5nc20tMSxcbiAgJi5nc20tMixcbiAgJi5nc20tMyxcbiAgJi5nc20tNCxcbiAgJi5nc20tNSxcbiAgJi5iYXR0ZXJ5LTAsXG4gICYuYmF0dGVyeS0xLFxuICAmLmJhdHRlcnktMixcbiAgJi5iYXR0ZXJ5LTMsXG4gICYuYmF0dGVyeS00LFxuICAmLmJhdHRlcnktNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMS44ZW07XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLy9saW5lLWhlaWdodDogMTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAkY29sb3Itc3RhdHVzLW9uO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gICYuZ3NtLTAsXG4gICYuZ3NtLTEsXG4gICYuZ3NtLTIsXG4gICYuZ3NtLTMsXG4gICYuZ3NtLTQsXG4gICYuZ3NtLTUge1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcXGU5MTlcIjtcbiAgICB9XG4gIH1cblxuICAmLmdzbS0xOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWFcIjtcbiAgfVxuICAmLmdzbS0yOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWJcIjtcbiAgfVxuICAmLmdzbS0zOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWNcIjtcbiAgfVxuICAmLmdzbS00OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWRcIjtcbiAgfVxuICAmLmdzbS01OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWVcIjtcbiAgfVxuXG4gICYuYmF0dGVyeSxcbiAgJi5iYXR0ZXJ5LTAsXG4gICYuYmF0dGVyeS0xLFxuICAmLmJhdHRlcnktMixcbiAgJi5iYXR0ZXJ5LTMsXG4gICYuYmF0dGVyeS00LFxuICAmLmJhdHRlcnktNSB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwNlwiO1xuICAgIH1cbiAgfVxuICAmLmJhdHRlcnkge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTBjXCI7XG4gICAgfVxuICAgICYuYmF0dGVyeS0wOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cbiAgICAmLmJhdHRlcnktMTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDdcIjtcbiAgICB9XG4gICAgJi5iYXR0ZXJ5LTI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG4gICAgfVxuICAgICYuYmF0dGVyeS0zOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwOVwiO1xuICAgIH1cbiAgICAmLmJhdHRlcnktNDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MGNcIjtcbiAgICB9XG4gICAgJi5iYXR0ZXJ5LTU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTBkXCI7XG4gICAgfVxuICB9XG59XG4iLCIkbmF2YmFyLXRvZ2dsZS1oZWlnaHQ6IGZsb29yKCRuYXZiYXItaGVpZ2h0ICogMC42NSk7XG4kbmF2YmFyLXRvZ2dsZS1wYWRkaW5nLXZlcnRpY2FsOiBmbG9vcigoJG5hdmJhci10b2dnbGUtaGVpZ2h0IC0gMTQpIC8gMik7XG4kbmF2YmFyLXRvZ2dsZS1wYWRkaW5nLWhvcml6b250YWw6ICRuYXZiYXItdG9nZ2xlLXBhZGRpbmctdmVydGljYWwgLSAxO1xuXG4kbmF2YmFyLWZvbGRlZC1taW46IDUwMHB4O1xuXG4ubmF2YmFyLW5hdiB7XG4gID4gbGkubGFuZ3VhZ2Utc2VsZWN0aW9uIHtcbiAgICA+IGEge1xuICAgICAgcGFkZGluZy10b3A6IGNlaWwoKCRuYXZiYXItaGVpZ2h0IC0gMjIpIC8gMik7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZmxvb3IoKCRuYXZiYXItaGVpZ2h0IC0gMjIpIC8gMik7XG4gICAgfVxuICB9XG59XG5cbi5uYXZiYXItYnJhbmQgaW1nIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubmF2YmFyLXRvZ2dsZSB7XG4gIHBhZGRpbmc6ICRuYXZiYXItdG9nZ2xlLXBhZGRpbmctdmVydGljYWwgJG5hdmJhci10b2dnbGUtcGFkZGluZy1ob3Jpem9udGFsO1xuICBAaW5jbHVkZSBuYXZiYXItdmVydGljYWwtYWxpZ24oJG5hdmJhci10b2dnbGUtaGVpZ2h0KTtcbn1cblxuJGhlYWRlci1mb2xkZWQtaGVpZ2h0OiAxMHB4O1xuXG4jaGVhZGVyLmZvbGRlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogJHppbmRleC1uYXZiYXI7XG5cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJG5hdmJhci1mb2xkZWQtbWluKSB7XG4gICAgLm5hdmJhci1uYXYgPiBsaSA+IGEge1xuICAgICAgLmljb24gKyAudGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgID4gLmJhZGdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5hdmJhci10b2dnbGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICYuY29sbGFwc2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgc2V0dGluZ1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6ICRoZWFkZXItZm9sZGVkLWhlaWdodDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItbWFpbi1iZztcbiAgICAgIC8vYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuYXZiYXItbWFpbi1ib3JkZXI7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC5uYXZiYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAubmF2YmFyLWJyYW5kLFxuICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItbWFpbi1iZztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuYXZiYXItbWFpbi1ib3JkZXI7XG4gICAgICB9XG5cbiAgICAgIC5uYXZiYXItYnJhbmQge1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuXG4gICAgICAgICY6YWZ0ZXIsXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogKCRuYXZiYXItaGVpZ2h0IC0gJGhlYWRlci1mb2xkZWQtaGVpZ2h0ICsgMSkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiA5MHB4IHNvbGlkICRuYXZiYXItbWFpbi1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDkwcHggc29saWQgJG5hdmJhci1tYWluLWJnO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgJjphZnRlcixcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgLy9ib3JkZXItYm90dG9tOiAoJG5hdmJhci1oZWlnaHQgLSAkaGVhZGVyLWZvbGRlZC1oZWlnaHQgKyAxKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAoJG5hdmJhci1oZWlnaHQgLSAkaGVhZGVyLWZvbGRlZC1oZWlnaHQgKyAzKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiA5MHB4IHNvbGlkICRuYXZiYXItbWFpbi1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiA5MHB4IHNvbGlkICRuYXZiYXItbWFpbi1iZztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2hlYWRlciB7XG4gIC5tYWluLW5hdmJhciB7XG4gICAgQGV4dGVuZCAubmF2YmFyLW1haW47XG4gICAgQGV4dGVuZCAubmF2YmFyLWZpeGVkLXRvcDtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5uYXZiYXItbmF2ID4gbGkgPiBhID4gLmJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtZGFuZ2VyO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRuYXZiYXItZm9sZGVkLW1pbikgYW5kIChtYXgtd2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgLm5hdmJhci1oZWFkZXIge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLm5hdmJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubmF2YmFyLW5hdiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogICAgJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLXBhZGRpbmctdmVydGljYWw7XG5cbiAgICAgICAgICAuaWNvbiArIC50ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmJhZGdlIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgPiBsaS5sYW5ndWFnZS1zZWxlY3Rpb24ge1xuICAgICAgICA+IGEge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiBjZWlsKCgkbmF2YmFyLWhlaWdodCAtIDIyKSAvIDIpO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBmbG9vcigoJG5hdmJhci1oZWlnaHQgLSAyMikgLyAyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYWRtaW4tbGF5b3V0IC5oZWFkZXIge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgLm5hdmJhci1uYXYge1xuICAgICAgbGkgPiBhIHtcbiAgICAgICAgPiAuaWNvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5zY3JvbGxiYXIge1xuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6ICRzY3JvbGxiYXItc2l6ZTtcbiAgICBoZWlnaHQ6ICRzY3JvbGxiYXItc2l6ZTtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2Nyb2xsYmFyLXRyYWNrLWJnO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRzY3JvbGxiYXItdHJhY2stYm9yZGVyO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6ICRzY3JvbGxiYXItdGh1bWItYmc7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHNjcm9sbGJhci10aHVtYi1ib3JkZXI7XG4gIH1cbn1cblxuYm9keSB7XG4gIHNjcm9sbGJhci1mYWNlLWNvbG9yOiAkc2Nyb2xsYmFyLXRyYWNrLWJnO1xuICBzY3JvbGxiYXItdHJhY2stY29sb3I6ICRzY3JvbGxiYXItdGh1bWItYmc7XG59IiwiLnRhYi1wYW5lIHtcbiAgQGV4dGVuZCAuZmFkZUluO1xuICBAZXh0ZW5kIC5hbmltYXRlZDtcbn1cblxuI3NpZGViYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDk5OTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBAaW5jbHVkZSBjYWxjKCdtYXgtaGVpZ2h0JywgOTAlLCAnMTAwJSAtICN7JHNpZGViYXItdG9wLXNwYWNlfScpO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgd2lkdGg6IDI1MHB4O1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICB3aWR0aDogMzAwcHg7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgd2lkdGg6IDMzMHB4O1xuICB9XG5cbiAgLmJ0bi1jb2xsYXBzZSB7XG4gICAgQGV4dGVuZCAuY29sbGFwc2UtbGVmdDtcbiAgfVxuXG4gICYuY29sbGFwc2VkIHtcbiAgICB3aWR0aDogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoIDAuNXMgZWFzZSk7XG5cbiAgICAuc2lkZWJhci1jb250ZW50IHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIC5ncm91cCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJ0bi1jb2xsYXBzZSB7XG4gICAgICBAZXh0ZW5kIC5jb2xsYXBzZWQ7XG4gICAgfVxuICB9XG4gIC5zaWRlYmFyLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICRzaWRlYmFyLWJnO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItMTAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAubmF2LXRhYnMge1xuICAgICA+IGxpIHtcbiAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgIHdpZHRoOiAxJTtcbiAgICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgID4gYSB7XG4gICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICZbaHJlZj1cIiNldmVudHNfdGFiXCJdIHtcbiAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweCAxMnB4IDAgMDtcbiAgICAgICAgIH1cbiAgICAgICB9XG4gICAgIH1cbiAgfVxuXG4gIC50YWItcGFuZS1oZWFkZXIge1xuICAgIHBhZGRpbmc6ICRzaWRlYmFyLXRhYi1oZWFkZXItcGFkZGluZztcbiAgfVxuICAudGFiLXBhbmUtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogJHNpZGViYXItdGFiLWJvZHktcGFkZGluZztcblxuICAgIEBleHRlbmQgLnNjcm9sbGJhcjtcbiAgfVxuICAudGFiLXBhbmUtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAkc2lkZWJhci10YWItZm9vdGVyLXBhZGRpbmc7XG4gIH1cblxuICAubm8tcmVzdWx0cyB7XG4gICAgbWFyZ2luOiA1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgI2V2ZW50c190YWIge1xuICAgIC50YWItcGFuZS1oZWFkZXIge1xuICAgICAgLmlucHV0LWdyb3VwLWJ0biB7XG4gICAgICAgID4gLmJ0bi1kZWZhdWx0IHtcbiAgICAgICAgICAmOm5vdCguYWN0aXZlKSxcbiAgICAgICAgICAmOm5vdCguYWN0aXZlKTpob3ZlcixcbiAgICAgICAgICAmOm5vdCguYWN0aXZlKTpmb2N1cyxcbiAgICAgICAgICAmOm5vdCguYWN0aXZlKS5mb2N1cyxcbiAgICAgICAgICAmOm5vdCguYWN0aXZlKTphY3RpdmUsXG4gICAgICAgICAgJjpub3QoLmFjdGl2ZSk6YWN0aXZlOmhvdmVyLFxuICAgICAgICAgICY6bm90KC5hY3RpdmUpOmFjdGl2ZTpmb2N1cyxcbiAgICAgICAgICAmOm5vdCguYWN0aXZlKTphY3RpdmUuZm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRidG4tZGVmYXVsdC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidG4tZGVmYXVsdC1iZztcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJ0bi1kZWZhdWx0LWJvcmRlcjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgJi5hY3RpdmU6aG92ZXIsXG4gICAgICAgICAgJi5hY3RpdmU6Zm9jdXMsXG4gICAgICAgICAgJi5hY3RpdmUuZm9jdXMsXG4gICAgICAgICAgJi5hY3RpdmU6YWN0aXZlLFxuICAgICAgICAgICYuYWN0aXZlOmFjdGl2ZTpob3ZlcixcbiAgICAgICAgICAmLmFjdGl2ZTphY3RpdmU6Zm9jdXMsXG4gICAgICAgICAgJi5hY3RpdmU6YWN0aXZlLmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29tcG9uZW50LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiAuYnRuLXByaW1hcnkge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICYuZm9jdXMsXG4gICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgJjphY3RpdmU6aG92ZXIsXG4gICAgICAgICAgJjphY3RpdmU6Zm9jdXMsXG4gICAgICAgICAgJjphY3RpdmUuZm9jdXMsXG4gICAgICAgICAgJi5hY3RpdmU6aG92ZXIsXG4gICAgICAgICAgJi5hY3RpdmU6Zm9jdXMsXG4gICAgICAgICAgJi5hY3RpdmUuZm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRidG4tcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidG4tcHJpbWFyeS1iZztcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJ0bi1wcmltYXJ5LWJvcmRlcjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRhdGV0aW1lIHtcbiAgICAgIC50aW1lLFxuICAgICAgLmRhdGV7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgfVxuICAgIH1cbiAgICAudGFiLXBhbmUtYm9keSA+IHRhYmxlIHtcbiAgICAgID4gdGhlYWQgPiB0ciB7XG4gICAgICAgID4gdGgsXG4gICAgICAgID4gdGQge1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkc2lkZWJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc2lkZWJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2dlb2ZlbmNpbmdfY3JlYXRlLFxuICAjZ2VvZmVuY2luZ19lZGl0LFxuICAjcm91dGVzX2NyZWF0ZSxcbiAgI3JvdXRlc19lZGl0LFxuICAjcG9pc19jcmVhdGUsXG4gICNwb2lzX2VkaXRcbiAge1xuICAgIC50YWItcGFuZS1ib2R5IHtcbiAgICAgIHBhZGRpbmc6ICRzaWRlYmFyLXBhZGRpbmc7XG4gICAgfVxuICB9XG59XG5cbi5oaXN0b3J5e1xuICBwYWRkaW5nOiA1cHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJnLTEwMDtcblxuICAtbW96LWJveC1zaGFkb3c6ICAgIGluc2V0ICAwICAxMHB4IDEwcHggLTEwcHggJGNvbG9yLXNoYWRvdywgaW5zZXQgIDAgLTEwcHggMTBweCAtMTBweCAkY29sb3Itc2hhZG93O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0ICAwICAxMHB4IDEwcHggLTEwcHggJGNvbG9yLXNoYWRvdywgaW5zZXQgIDAgLTEwcHggMTBweCAtMTBweCAkY29sb3Itc2hhZG93O1xuICBib3gtc2hhZG93OiAgICAgICAgIGluc2V0ICAwICAxMHB4IDEwcHggLTEwcHggJGNvbG9yLXNoYWRvdywgaW5zZXQgIDAgLTEwcHggMTBweCAtMTBweCAkY29sb3Itc2hhZG93O1xuXG4gIC50YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIHRyLmFjdGl2ZSA+IHRkIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1iZy0wMDA7XG4gICAgfVxuICB9XG5cbiAgLmJhZGdlLWhpc3Rvcnkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtaW4td2lkdGg6IDE0cHg7XG4gICAgcGFkZGluZzogMXB4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAkY29sb3ItdGV4dC00MDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJnLTAwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogaW5oZXJpdDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNjAlO1xuICB9XG59XG5cbiNhamF4LWV2ZW50cyAudGFibGUgdGJvZHksXG4jYWpheC1oaXN0b3J5IC50YWJsZSB0Ym9keXtcbiAgZm9udC1zaXplOiAxMXB4O1xufVxuIiwiLnRhYi1jb250ZW50IHtcbiAgLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbi5uYXYtdGFicyB7XG4gID4gbGkge1xuICAgID4gYSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG5cbiAgICAgICYuaGFzLWVycm9yIHtcbiAgICAgICAgY29sb3I6ICRzdGF0ZS1kYW5nZXItdGV4dDtcbiAgICAgICAgYmFja2dyb3VuZDogJHN0YXRlLWRhbmdlci1iZztcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMC43KTtcblxuICAgICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7XG4gICAgfVxuICB9XG5cbiAgJi5uYXYtdGFicy1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICA+IGxpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgem9vbTogMTtcbiAgICB9XG4gIH1cblxuICAmLm5hdi10cmFuc3BhcmVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcblxuICAgID4gbGkge1xuICAgICAgPiBhIHtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICA+IGEge1xuICAgICAgICAgIGNvbG9yOiAkY29tcG9uZW50LWFjdGl2ZS1iZztcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb21wb25lbnQtYWN0aXZlLWJnO1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm5hdi1kZWZhdWx0IHtcbiAgZm9udC13ZWlnaHQ6ICRuYXYtdGFicy13ZWlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1iZztcblxuICA+IGxpIHtcbiAgICA+IGEge1xuICAgICAgY29sb3I6ICRuYXYtbGluay1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtbGluay1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWJvcmRlci1jb2xvcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRuYXYtdGFicy1ib3JkZXItcmFkaXVzICRuYXYtdGFicy1ib3JkZXItcmFkaXVzIDAgMDtcbiAgICB9XG5cblxuICAgICYuY29tcGxldGUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZztcbiAgICAgICAgLy9ib3JkZXItY29sb3I6ICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICAgIC8vYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb21wb25lbnQtYWN0aXZlLWJnO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubmF2LWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuXG4gID4gbGkge1xuICAgID4gYSB7XG4gICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctaGVpZ2h0O1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgY29sb3I6ICRuYXYtbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5hY3RpdmUge1xuICAgICAgPiBhIHtcbiAgICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubmF2LWljb25zIHtcbiAgQGV4dGVuZCAubmF2LWJhY2tncm91bmQ7XG5cbiAgPiBsaSB7XG4gICAgPiBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgfVxuICB9XG59XG5cbi5uYXYtdGFicy1qdXN0aWZpZWQsXG4ubmF2LXRhYnMubmF2LWp1c3RpZmllZCB7XG4gID4gbGkgPiBhIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICB9XG59XG5cbiIsIi5uYXZiYXItZGVmYXVsdCB7XG4gIGZvbnQtc2l6ZTogJG5hdmJhci1kZWZhdWx0LXNpemU7XG5cbiAgLm5hdmJhci1icmFuZCB7XG4gICAgcGFkZGluZzogNXB4ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgID4gbGkge1xuICAgICAgQGluY2x1ZGUgaWNvbi1jb2xvcignPiBhID4gLmljb24nLCAkbmF2YmFyLWRlZmF1bHQtaWNvbi1jb2xvcik7XG4gICAgfVxuICAgID4gbGkgPiBhIC5pY29uIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgIH1cbiAgfVxufVxuXG4uY29sbCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWJnO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgLm5hdmJhci1kZWZhdWx0IHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAubmF2YmFyLWhlYWRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtYmc7XG4gICAgfVxuICAgIC5uYXZiYXItYnJhbmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWJnO1xuICAgIH1cbiAgICAubmF2YmFyLW5hdiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtYmc7XG5cbiAgICAgID4gbGkgPiBhIC5pY29uICsgLnRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubmF2YmFyLW1haW4ge1xuICBmb250LXNpemU6ICRuYXZiYXItbWFpbi1zaXplO1xuICBmb250LXdlaWdodDogJG5hdmJhci1tYWluLXdlaWdodDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1tYWluLWJnO1xuICBib3JkZXItY29sb3I6ICRuYXZiYXItbWFpbi1ib3JkZXI7XG5cbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItbWFpbi1icmFuZC1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItbWFpbi1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItbWFpbi1icmFuZC1ob3Zlci1iZztcbiAgICB9XG4gICAgcGFkZGluZzogNXB4ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1tYWluLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgID4gbGkge1xuICAgICAgQGluY2x1ZGUgaWNvbi1jb2xvcignPiBhID4gLmljb24nLCAkbmF2YmFyLW1haW4taWNvbi1jb2xvcik7XG4gICAgfVxuICAgID4gbGkgPiBhIC5pY29uIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgIH1cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1tYWluLWxpbmstY29sb3I7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbWFpbi1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLW1haW4tbGluay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuYWN0aXZlID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1tYWluLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLW1haW4tbGluay1hY3RpdmUtYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmRpc2FibGVkID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1tYWluLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItbWFpbi1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlIHtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItbWFpbi10b2dnbGUtYm9yZGVyLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLW1haW4tdG9nZ2xlLWhvdmVyLWJnO1xuICAgIH1cbiAgICAuaWNvbi1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1tYWluLXRvZ2dsZS1pY29uLWJhci1iZztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWNvbGxhcHNlLFxuICAubmF2YmFyLWZvcm0ge1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1tYWluLWJvcmRlcjtcbiAgfVxuXG4gIC8vIERyb3Bkb3duIG1lbnUgaXRlbXNcbiAgLm5hdmJhci1uYXYge1xuICAgIC8vIFJlbW92ZSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gb3BlbiBkcm9wZG93blxuICAgID4gLm9wZW4gPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItbWFpbi1saW5rLWFjdGl2ZS1iZztcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbWFpbi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgIC8vIERyb3Bkb3ducyBnZXQgY3VzdG9tIGRpc3BsYXkgd2hlbiBjb2xsYXBzZWRcbiAgICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgPiBsaSA+IGEge1xuICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLW1haW4tbGluay1jb2xvcjtcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItbWFpbi1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1tYWluLWxpbmstaG92ZXItYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLW1haW4tbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLW1haW4tbGluay1hY3RpdmUtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmRpc2FibGVkID4gYSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItbWFpbi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1tYWluLWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1tYWluLWxpbmstY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJG5hdmJhci1tYWluLWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1tYWluLWxpbmstY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLW1haW4tbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gICAgJltkaXNhYmxlZF0sXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1tYWluLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5uYXZiYXItdmVydGljYWwubmF2YmFyIHtcbiAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICB9XG5cbiAgdWwge1xuICAgIGZsb2F0OiBub25lO1xuICAgIFxuICAgICY6bm90IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIGxpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGEge1xuICAgICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5idG4uaWNvbiB7XG4gIHBhZGRpbmc6IDFweCAzcHg7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWJnLTIwMDtcbiAgICBjb2xvcjogJGNvbG9yLXRleHQtNTAwO1xuICB9XG59XG5cbi5idG4tYWN0aW9uIHtcbiAgQGV4dGVuZCAuYnRuLXByaW1hcnk7XG59XG5cbi5idG4tc2Vjb25kYXJ5IHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1wcmltYXJ5LWJnLCAkY29sb3ItYmctMDAwLCAkYnRuLXByaW1hcnktYm9yZGVyKTtcbn1cblxuLmJ0bi1jb2xsYXBzZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAkY29sb3ItdGV4dC03MDA7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1iZy0xMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJi5jb2xsYXBzZWQge1xuICAgICYuY29sbGFwc2UtbGVmdCBpIHtcbiAgICAgIEBleHRlbmQgLmljby1hcnJvdy1yaWdodDtcbiAgICB9XG4gICAgJi5jb2xsYXBzZS1yaWdodCBpIHtcbiAgICAgIEBleHRlbmQgLmljby1hcnJvdy1sZWZ0O1xuICAgIH1cbiAgICAmLmNvbGxhcHNlLXRvcCBpIHtcbiAgICAgIEBleHRlbmQgLmljby1hcnJvdy11cDtcbiAgICB9XG4gICAgJi5jb2xsYXBzZS1ib3R0b20gaSB7XG4gICAgICBAZXh0ZW5kIC5pY28tYXJyb3ctZG93bjtcbiAgICB9XG4gIH1cblxuICBpIHtcbiAgICBAZXh0ZW5kIC5pY287XG5cbiAgICAmOmJlZm9yZXtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gICYuY29sbGFwc2UtbGVmdCB7XG4gICAgIHdpZHRoOiAyMHB4O1xuICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICBsZWZ0OiAxMDAlO1xuICAgICB0b3A6IDMwJTtcbiAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygzcHggMHB4IDdweCByZ2JhKDAsMCwwLC4xNzUpKTtcblxuICAgICBpIHtcbiAgICAgICBAZXh0ZW5kIC5pY28tYXJyb3ctbGVmdDtcbiAgICAgfVxuXG4gICAgICY6YmVmb3JlIHtcbiAgICAgICBsZWZ0OiAwO1xuICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICBib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkICRjb2xvci1iZy0xMDA7XG4gICAgICAgYm9yZGVyLXJpZ2h0OiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICB9XG4gICAgICY6YWZ0ZXIge1xuICAgICAgIGxlZnQ6IDA7XG4gICAgICAgdG9wOiAxMDAlO1xuICAgICAgIGJvcmRlci10b3A6IDIwcHggc29saWQgJGNvbG9yLWJnLTEwMDtcbiAgICAgICBib3JkZXItcmlnaHQ6IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgIH1cbiAgfVxuXG4gICYuY29sbGFwc2UtcmlnaHQge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICByaWdodDogMTAwJTtcbiAgICB0b3A6IDMwJTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KC0zcHggMHB4IDdweCByZ2JhKDAsMCwwLC4xNzUpKTtcblxuICAgIGkge1xuICAgICAgQGV4dGVuZCAuaWNvLWFycm93LXJpZ2h0O1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCAkY29sb3ItYmctMTAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBib3JkZXItdG9wOiAyMHB4IHNvbGlkICRjb2xvci1iZy0xMDA7XG4gICAgICBib3JkZXItbGVmdDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAmLmNvbGxhcHNlLXRvcCB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwcHggLTNweCA3cHggcmdiYSgwLDAsMCwuMTc1KSk7XG5cbiAgICBpIHtcbiAgICAgIEBleHRlbmQgLmljby1hcnJvdy1kb3duO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCAkY29sb3ItYmctMTAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIGJvcmRlci1ib3R0b206IDIwcHggc29saWQgJGNvbG9yLWJnLTEwMDtcbiAgICAgIGJvcmRlci1yaWdodDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAmLmNvbGxhcHNlLWJvdHRvbSB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwcHggM3B4IDdweCByZ2JhKDAsMCwwLC4xNzUpKTtcblxuICAgIGkge1xuICAgICAgQGV4dGVuZCAuaWNvLWFycm93LXVwO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyLXRvcDogMjBweCBzb2xpZCAkY29sb3ItYmctMTAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIGJvcmRlci10b3A6IDIwcHggc29saWQgJGNvbG9yLWJnLTEwMDtcbiAgICAgIGJvcmRlci1yaWdodDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cbiIsIiRpbnB1dC1ncm91cC1idXR0b24tbWFyZ2luOiA0cHg7XG5cbi5pbnB1dC1ncm91cCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYnRuIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAsXG4gID4gLmZvcm0tY29udHJvbC50aW1lc2VsZWN0IHtcbiAgICBtYXJnaW4tbGVmdDogJGlucHV0LWdyb3VwLWJ1dHRvbi1tYXJnaW47XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wudGltZXNlbGVjdCB7XG4gICAgd2lkdGg6IDcwcHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgICAgICB3aWR0aDogOTBweDtcbiAgICB9XG5cbiAgICAmLm9wZW4ge1xuICAgICAgei1pbmRleDogMztcbiAgICB9XG4gIH1cbn0iLCIvLyBEcm9wZG93biBhcnJvdy9jYXJldFxuLmNhcmV0IHtcbiAgJixcbiAgLmRyb3B1cCAmLFxuICAubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24gJiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcblxuICAgIEBleHRlbmQgLmZhO1xuICAgIEBleHRlbmQgLmZhLWFuZ2xlLWRvd247XG4gIH1cbn1cblxuLmRyb3Bkb3duLW1lbnUge1xuICBAZXh0ZW5kIC5zY3JvbGxiYXI7XG5cbiAgPiBsaSB7XG4gICAgPiBhIHtcbiAgICAgIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgID4gLmljb24ge1xuICAgICAgICAgIGNvbG9yOiAkZHJvcGRvd24taWNvbi1ob3Zlci1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgPiAuaWNvbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGNvbG9yOiAkZHJvcGRvd24taWNvbi1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJvb3RzdHJhcC1zZWxlY3Qge1xuICAmIHtcbiAgICBAZXh0ZW5kIC5zaG93LW1lbnUtYXJyb3c7XG4gIH1cbiAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICA+IC5pY29uIHtcbiAgICAgIGxlZnQ6ICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgKyAuZmlsdGVyLW9wdGlvbiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmJ0bi1ncm91cC5zaG93LXRpY2sgLmRyb3Bkb3duLW1lbnUgPiBsaSB7XG4gICAgLmNoZWNrLW1hcmsge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBjaGVja2JveCgnJicsICdzcGFuLnRleHQnKTtcblxuICAgICAgc3Bhbi50ZXh0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc2VsZWN0ZWQgYSB7XG4gICAgICBAaW5jbHVkZSBjaGVja2JveC1jaGVja2VkKCdzcGFuLnRleHQnKTtcblxuICAgICAgc3Bhbi50ZXh0IHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlcntcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiRhcnJvdy1zaXplOiA3cHg7XG4kYXJyb3ctYm9yZGVyLXNpemU6IDFweDtcbiRhcnJvdy1zaXplLWlubmVyOiAkYXJyb3ctc2l6ZTtcbiRhcnJvdy1zaXplLW91dHRlcjogKCRhcnJvdy1zaXplICsgJGFycm93LWJvcmRlci1zaXplKTtcblxuJGFycm93LW9mZnNldDogMTBweDtcblxuXG4uZHJvcGFycm93IHtcbiAgJi5kcm9wZG93bixcbiAgJi5kcm9wdXAsXG4gICYuZHJvcGxlZnQsXG4gICYuZHJvcHJpZ2h0IHtcbiAgICA+IC5kcm9wZG93bi1tZW51IHtcbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIH1cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyOiAkYXJyb3ctc2l6ZS1vdXR0ZXIgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyOiAkYXJyb3ctc2l6ZS1pbm5lciBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5kcm9wbGVmdCA+IC5kcm9wZG93bi1tZW51LFxuICAmLmRyb3ByaWdodC5sZWZ0ID4gLmRyb3Bkb3duLW1lbnV7XG4gICAgbGVmdDogMTAwJTtcbiAgICB0b3A6IC0oJGFycm93LXNpemUtb3V0dGVyIC8gMiArICRhcnJvdy1vZmZzZXQgLyAyKTtcbiAgICBtYXJnaW4tbGVmdDogJGFycm93LXNpemUtb3V0dGVyO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgdG9wOiAkYXJyb3ctb2Zmc2V0IC0gJGFycm93LWJvcmRlci1zaXplO1xuICAgICAgbGVmdDogLSRhcnJvdy1zaXplLW91dHRlcjtcbiAgICAgIGJvcmRlcjogJGFycm93LXNpemUtb3V0dGVyIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkZHJvcGRvd24tYm9yZGVyO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG5cbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRvcDogJGFycm93LW9mZnNldDtcbiAgICAgIGxlZnQ6IC0kYXJyb3ctc2l6ZS1pbm5lcjtcbiAgICAgIGJvcmRlcjogJGFycm93LXNpemUtaW5uZXIgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRkcm9wZG93bi1iZztcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuXG4gICAgICBib3R0b206IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG4gIH1cbiAgJi5kcm9wcmlnaHQgPiAuZHJvcGRvd24tbWVudSxcbiAgJi5kcm9wbGVmdC5yaWdodCA+IC5kcm9wZG93bi1tZW51IHtcbiAgICBsZWZ0OiBpbmhlcml0O1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIHRvcDogLSgkYXJyb3ctc2l6ZS1vdXR0ZXIgLyAyICsgJGFycm93LW9mZnNldCAvIDIpO1xuICAgIG1hcmdpbi1yaWdodDogJGFycm93LXNpemUtb3V0dGVyO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgdG9wOiAkYXJyb3ctb2Zmc2V0IC0gJGFycm93LWJvcmRlci1zaXplO1xuICAgICAgcmlnaHQ6IC0kYXJyb3ctc2l6ZS1vdXR0ZXI7XG4gICAgICBib3JkZXI6ICRhcnJvdy1zaXplLW91dHRlciBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkZHJvcGRvd24tYm9yZGVyO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuXG4gICAgICBib3R0b206IGF1dG87XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRvcDogJGFycm93LW9mZnNldDtcbiAgICAgIHJpZ2h0OiAtJGFycm93LXNpemUtaW5uZXI7XG4gICAgICBib3JkZXI6ICRhcnJvdy1zaXplLWlubmVyIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRkcm9wZG93bi1iZztcbiAgICAgIGJvcmRlci1yaWdodDogMDtcblxuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgJi5kcm9wZG93biA+IC5kcm9wZG93bi1tZW51LFxuICAmLmRyb3B1cC5kb3duID4gLmRyb3Bkb3duLW1lbnV7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IC0oJGFycm93LXNpemUtb3V0dGVyIC8gMiArICRhcnJvdy1vZmZzZXQpO1xuICAgIG1hcmdpbi10b3A6ICRhcnJvdy1zaXplLW91dHRlcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHRvcDogLSRhcnJvdy1zaXplLW91dHRlcjtcbiAgICAgIGxlZnQ6ICRhcnJvdy1vZmZzZXQgLSAkYXJyb3ctYm9yZGVyLXNpemU7XG4gICAgICBib3JkZXI6ICRhcnJvdy1zaXplLW91dHRlciBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZHJvcGRvd24tYm9yZGVyO1xuXG4gICAgICBib3R0b206IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICB0b3A6IC0kYXJyb3ctc2l6ZS1pbm5lcjtcbiAgICAgIGxlZnQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICBib3JkZXI6ICRhcnJvdy1zaXplLWlubmVyIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRkcm9wZG93bi1iZztcblxuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG4gICYuZHJvcHVwID4gLmRyb3Bkb3duLW1lbnUsXG4gICYuZHJvcGRvd24udXAgPiAuZHJvcGRvd24tbWVudXtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbGVmdDogLSgkYXJyb3ctc2l6ZS1vdXR0ZXIgLyAyICsgJGFycm93LW9mZnNldCAvIDIpO1xuICAgIG1hcmdpbi1ib3R0b206ICRhcnJvdy1zaXplLW91dHRlcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGxlZnQ6ICRhcnJvdy1vZmZzZXQgLSAkYXJyb3ctYm9yZGVyLXNpemU7XG4gICAgICBib3R0b206IC0kYXJyb3ctc2l6ZS1vdXR0ZXI7XG4gICAgICBib3JkZXI6ICRhcnJvdy1zaXplLW91dHRlciBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkZHJvcGRvd24tYm9yZGVyO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGxlZnQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICBib3R0b206IC0kYXJyb3ctc2l6ZS1pbm5lcjtcbiAgICAgIGJvcmRlcjogJGFycm93LXNpemUtaW5uZXIgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGRyb3Bkb3duLWJnO1xuICAgIH1cbiAgfVxuXG4gICYuZHJvcGxlZnQsXG4gICYuZHJvcHJpZ2h0IHtcbiAgICAmLnVwID4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiAtKCRhcnJvdy1zaXplLW91dHRlciAvIDIgKyAkYXJyb3ctb2Zmc2V0IC8gMik7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206ICRhcnJvdy1vZmZzZXQ7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206ICRhcnJvdy1vZmZzZXQgKyAkYXJyb3ctYm9yZGVyLXNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5kcm9wZG93bixcbiAgJi5kcm9wdXAge1xuICAgICYucmlnaHQgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IC0oJGFycm93LXNpemUtb3V0dGVyIC8gMiArICRhcnJvdy1vZmZzZXQgLyAyKTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogJGFycm93LW9mZnNldCAtICRhcnJvdy1ib3JkZXItc2l6ZTtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJsYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtbGFiZWwtZm9udC13ZWlnaHQ7XG5cbiAgJi5yZXF1aXJlZCB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OicqJztcbiAgICAgIHBhZGRpbmctbGVmdDo1cHg7XG4gICAgfVxuICB9XG59XG5cbnRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gIHJlc2l6ZTogbm9uZTtcbn1cblxuLmZvcm0taG9yaXpvbnRhbCB7XG4gIC5jb250cm9sLWxhYmVsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgLnJhZGlvLFxuICAuY2hlY2tib3gge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cblxuICAuY2hlY2tib3hlcyB7XG4gICAgLmNoZWNrYm94LFxuICAgIC5yYWRpbyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1ob3Jpem9udGFsIC5oYXMtZmVlZGJhY2ssXG4uaGFzLWZlZWRiYWNrIHtcbiAgPiAuZm9ybS1jb250cm9sOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLWJhc2UtdmVydGljYWwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctbGVmdDogJGlucHV0LWhlaWdodC1iYXNlO1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIHotaW5kZXg6IDM7XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wge1xuICAgICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1ncm91cC5zZWFyY2gsXG4uYnMtc2VhcmNoYm94IHtcbiAgJiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2s7XG4gICAgQGV4dGVuZCAuZmE7XG4gICAgY29udGVudDogXCJcXGYwMDJcIjtcblxuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogMztcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtYmFzZTtcbiAgfVxuICA+IC5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmctbGVmdDogJGlucHV0LWhlaWdodC1iYXNlO1xuICB9XG59XG5cbi5ib290c3RyYXAtc2VsZWN0IHtcbiAgJGNvbG9yLXJnYmE6IHJnYmEocmVkKCRpbnB1dC1ib3JkZXItZm9jdXMpLCBncmVlbigkaW5wdXQtYm9yZGVyLWZvY3VzKSwgYmx1ZSgkaW5wdXQtYm9yZGVyLWZvY3VzKSwgLjYpO1xuXG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cyk7XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMsXG4gICAgICAvLyY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmVcbiAgICB7XG4gICAgICBjb2xvcjogJGlucHV0LWNvbG9yLWZvY3VzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWZvY3VzO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggJGNvbG9yLXJnYmEpO1xuICAgIH1cbiAgfVxuICAmLm9wZW4ge1xuICAgID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAmLFxuICAgICAgJjpmb2N1cyxcbiAgICAgICYuZm9jdXMsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjphY3RpdmUsXG4gICAgICAmLmFjdGl2ZSxcbiAgICAgICY6YWN0aXZlOmhvdmVyLFxuICAgICAgJjphY3RpdmU6Zm9jdXMsXG4gICAgICAmOmFjdGl2ZS5mb2N1c1xuICAgICAge1xuICAgICAgICBjb2xvcjogJGlucHV0LWNvbG9yLWZvY3VzO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmctZm9jdXM7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCAkY29sb3ItcmdiYSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wYW5lbCAucGFuZWwtZm9ybSAuZm9ybS1jb250cm9sIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLnBhbmVsLWRlZmF1bHQgLnBhbmVsLWZvcm0ge1xuICAuZm9ybS1jb250cm9sLFxuICAuYm9vdHN0cmFwLXNlbGVjdCA+IC5kcm9wZG93bi10b2dnbGUge1xuICAgICRjb2xvci1yZ2JhOiByZ2JhKHJlZCgkaW5wdXQtYm9yZGVyLWZvY3VzKSwgZ3JlZW4oJGlucHV0LWJvcmRlci1mb2N1cyksIGJsdWUoJGlucHV0LWJvcmRlci1mb2N1cyksIC42KTtcblxuICAgIGNvbG9yOiAkaW5wdXQtY29sb3ItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWZvY3VzO1xuICAgIC8vYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyO1xuICAgIC8vQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCAkY29sb3ItcmdiYSk7XG4gIH1cbn1cblxuLmNoZWNrYm94ZXMge1xuICBAZXh0ZW5kIC5yb3c7XG5cbiAgLmNoZWNrYm94IHtcbiAgICBAZXh0ZW5kIC5jb2wtc20tNjtcbiAgICBAZXh0ZW5kIC5jb2wteHMtNjtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAuY2hlY2tib3ggKyAuY2hlY2tib3gge1xuICAgIG1hcmdpbi10b3A6IGluaGVyaXQ7XG4gIH1cbn1cblxuLmZvcm0taW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItMTAwO1xuXG4gIC5mb3JtLWltYWdlLWNvbnRyb2xzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuXG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIGltZyArIC5uby1pbWFnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGVscC1ibG9jayB7XG4gIEBleHRlbmQgLmFsZXJ0O1xuICBwYWRkaW5nOiAxMHB4O1xuXG4gICYuZXJyb3Ige1xuICAgIEBleHRlbmQgLmFsZXJ0LWRhbmdlcjtcbiAgfVxufVxuXG4uZXhwbGFuYXRpb24ge1xuICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGxlcjtcbn1cbiIsIi5tb2RhbC1zY3JvbGxhYmxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubW9kYWwtY29udGVudHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWNvbnRlbnQtYmc7XG59XG5cbi5tb2RhbC1oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAkbW9kYWwtaGVhZGVyLWJnO1xuXG4gIC5jbG9zZSB7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gIH1cbn1cblxuLm1vZGFsLWRldmljZS1hZGQge1xuICAubW9kYWwtY29udGVudCB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAubW9kYWwtaGVhZGVyIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4jZXZlbnRzX2xvb2t1cCB7XG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbC1oZWFkZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHggMTJweCAwIDAgIWltcG9ydGFudDtcbiAgfVxufVxuLm1vZGFsLXRpdGxlIHtcbiAgLmljb24ge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICB9XG59XG4ubW9kYWwtYm9keSB7XG4gID4gLm5hdiB7XG4gICAgbWFyZ2luOiAtKCRtb2RhbC1pbm5lci1wYWRkaW5nKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbiAgfVxuXG4gICYubm8tcGFkZGluZyB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuLm1vZGFsLWZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICRtb2RhbC1mb290ZXItYmc7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbiRtb2RhbC1tZDogNzYwcHg7XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAubW9kYWwtbWQgeyB3aWR0aDogJG1vZGFsLW1kOyB9XG59XG5cbi5tb2RhbC1mdWxsIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMTBweDtcbn1cblxuLm1vZGFsIHtcbiAgJi5mYWRlIC5tb2RhbC1kaWFsb2cge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgLW8tdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gICYuaW4gLm1vZGFsLWRpYWxvZyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAtby10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLm1vZGFsLXBvcHVwIHtcblxuICBwb3NpdGlvbjogZml4ZWQ7XG5cbiAgJi5jZW50ZXIge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB9XG4gICYudG9wX2xlZnQge1xuICAgIHRvcDotMXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIH1cbiAgJi50b3BfcmlnaHQge1xuICAgIHRvcDotMXB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxuICAmLmJvdHRvbV9sZWZ0IHtcbiAgICBib3R0b206LTFweDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICB9XG4gICYuYm90dG9tX3JpZ2h0IHtcbiAgICBib3R0b206LTFweDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cblxuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICB3aWR0aDogYXV0bztcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50e1xuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWhlYWRlci1iZztcblxuICAgID4gLmNsb3NlIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIG9wYWNpdHk6IDAuOTtcblxuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC04MDA7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWhlYWRlciB7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgICBwYWRkaW5nOiAkbW9kYWwtdGl0bGUtcGFkZGluZyAkbW9kYWwtdGl0bGUtcGFkZGluZyoyO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLTEwMDtcblxuICAgIC5jbG9zZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmcgJG1vZGFsLWlubmVyLXBhZGRpbmcqMjtcbiAgfVxuXG59XG5cbi5kYXNoYm9hcmQge1xuICAubW9kYWwtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICB9XG4gIC5tb2RhbC1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgfVxufVxuIiwiLnRhYmxlIC50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iZy0wMDA7XG59XG4udGFibGUge1xuICAgICYudGFibGUtbGlzdCB7XG4gICAgICBAZXh0ZW5kIC50YWJsZS1ob3ZlcjtcbiAgICAgIEBleHRlbmQgLnRhYmxlLWNvbmRlbnNlZDtcblxuICAgICAgLnByb2dyZXNzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgdGRbZGF0YS1lZGl0YWJsZS1maWVsZF0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJGb250QXdlc29tZVwiO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDQwXCI7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LTcwMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IHRoZWFkLFxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICA+IHRoLFxuICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHRhYmxlLWNvbmRlbnNlZC1jZWxsLXBhZGRpbmcgKiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHRhYmxlLWNvbmRlbnNlZC1jZWxsLXBhZGRpbmcgKiAyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm5vLWRhdGEge1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idG4uaWNvbiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC03MDA7XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYucm93LXRhYmxlLWlubmVyIHtcbiAgICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgICAgICAgICAgID4gLmxvYWRpbmcgLm1pZGRsZSB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgPiB0aGVhZCA+IHRyIHtcbiAgICAgICAgY29sb3I6ICR0YWJsZS1saXN0LWhlYWQtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1saXN0LWhlYWQtYmc7XG5cbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vQ29sc1xuICAgICAgLnRhYmxlLWNoZWNrYm94IHtcbiAgICAgICAgd2lkdGg6IDElO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnVzZXItbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIHRleHQtb3ZlcmZsb3coKTtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgIH1cblxuICAgICAgLmFjdGlvbnMge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cblxuICAgICAgLnNvcnRpbmcsXG4gICAgICAuc29ydGluZ19kZXNjLFxuICAgICAgLnNvcnRpbmdfYXNjIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG5cbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBleHRlbmQgLmljbztcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtODAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBmb250LXNpemU6IDhweDtcbiAgICAgICAgICByaWdodDogNXB4O1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZTk1NFwiO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTEwXCI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnBvaW50ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgICAuc29ydGluZ19hc2M6YmVmb3JlIHsgY29sb3I6ICRicmFuZC1wcmltYXJ5OyB9XG4gICAgICAuc29ydGluZ19kZXNjOmFmdGVyIHsgY29sb3I6ICRicmFuZC1wcmltYXJ5OyB9XG5cbiAgICAgICYuc3RpY2t5LWhlYWRlciB7XG4gICAgICAgID4gdGhlYWQge1xuICAgICAgICAgID4gdHIge1xuICAgICAgICAgICAgPiB0aCB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3kgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgICAgY29sb3I6ICR0YWJsZS1saXN0LWhlYWQtY29sb3I7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1saXN0LWhlYWQtYmc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiB0aGVhZCB7XG4gICAgICB0aCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiB0Ym9keTpmaXJzdC1jaGlsZCB7XG4gICAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgPiB0aCxcbiAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jaGVja2JveCB7XG4gICAgICBAZXh0ZW5kIC5jaGVja2JveC1pbmxpbmU7XG4gICAgfVxuXG4gIHRyIHtcbiAgICAmLmNvbGxhcHNlLmluIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICB9XG4gIH1cblxuICB0aCxcbiAgdGQge1xuICAgICYuY29sbGFwc2UuaW4ge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB9XG4gIH1cblxuICB0ZCB7XG4gICAgLnRleHRhcmVhLWNvbnRyb2wge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICB0ZXh0YXJlYSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICB9XG5cbiAgICAgIC5jb250cm9scy13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMzBweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIC5mYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgb3BhY2l0eTogMC43O1xuXG4gICAgICAgICAgJi5mYS1jaGVjayB7XG4gICAgICAgICAgICBjb2xvcjogZ3JlZW47XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuZmEtdGltZXMge1xuICAgICAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udGFibGUtaWNvbiB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgLml0ZW0ge1xuICAgIEBleHRlbmQgLmNvbC14cy0zO1xuICAgIEBleHRlbmQgLmNvbC1zbS0yO1xuICAgIEBleHRlbmQgLmNvbC1tZC0xO1xuXG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgbWFyZ2luOiAtMnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6JGNvbG9yLWJvcmRlci0xMDA7XG5cbiAgICAgIC5jb250cm9scyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250cm9scyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbltkYXRhLXRhYmxlXSB7XG4gID4gLnRhYmxlLXJlc3BvbnNpdmUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWluLWhlaWdodDogMjAwcHg7XG5cbiAgICA+IC50YWJsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gID4gLnRhYmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi50YWJsZS50YWJsZS13ZWVrdGltZSB7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgJi5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cbiAgPiB0aGVhZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci0xMDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgfVxuICAgICAgdGggc3BhbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiB0Ym9keSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci0xMDA7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgge1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgIH1cbiAgICAgID4gdGQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogN3B4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1iZy0xMDA7XG5cbiAgICAgICAgJi5kcy1zZWxlY3RlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmhvdXIge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLWJvcmRlci0yMDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLWJvcmRlci0xMDA7XG4gICAgICAgIH1cbiAgICAgICAgJi5xdWFydGVyIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItMTAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiB0Zm9vdCB7XG4gICAgPiB0ciB7XG4gICAgICA+IHRoIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIiwiI21hcFdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4jbWFwIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG5cbiAgJi5sZWFmbGV0LWhpZGRlbi1uYW1lIHtcbiAgICAubGVhZmxldC1tYXJrZXItaWNvbjpub3QoLmxlYWZsZXQtaG92ZXIpIHtcbiAgICAgIC5uYW1lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiNtYXAtY29udHJvbHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAlO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHotaW5kZXg6ICRsZWFmbGV0LWNvbnRyb2wtei1pbmRleDtcblxuICAuYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIC5idG4ge1xuICAgICsgLmJ0biB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci0xMDA7XG4gICAgfVxuXG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMzNweDtcbiAgICBoZWlnaHQ6IDMzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGJhY2tncm91bmQ6ICRtYXAtY29udHJvbHMtYnRuLWJnO1xuICAgIGNvbG9yOiAkbWFwLWNvbnRyb2xzLWJ0bi1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJG1hcC1jb250cm9scy1idG4taG92ZXItYmc7XG4gICAgICBjb2xvcjogJG1hcC1jb250cm9scy1idG4taG92ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogJG1hcC1jb250cm9scy1idG4tYWN0aXZlLWJnO1xuICAgICAgY29sb3I6ICRtYXAtY29udHJvbHMtYnRuLWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuIiwiLm5hdi1wYWdpbmF0aW9uIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci0xMDA7XG5cbiAgLnBhZ2luYXRpb24ge1xuICAgIEBleHRlbmQgLnB1bGwtcmlnaHQ7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIiN3aWRnZXRzIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgLmJ0bi1jb2xsYXBzZSB7XG4gICAgQGV4dGVuZCAuY29sbGFwc2UtdG9wO1xuXG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG5cbiAgJi5jb2xsYXBzZWQge1xuICAgIC53aWRnZXRzLWNvbnRlbnQge1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICAgIH1cblxuICAgIC5idG4tY29sbGFwc2Uge1xuICAgICAgQGV4dGVuZCAuY29sbGFwc2VkO1xuICAgIH1cbiAgfVxuXG4gIC53aWRnZXRzLWNvbnRlbnQge1xuICAgIEBleHRlbmQgLnNjcm9sbGJhcjtcblxuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZm9udC1zaXplOiAwO1xuXG4gICAgLy9oZWlnaHQ6IDE2NXB4O1xuICAgIGJhY2tncm91bmQ6ICR3aWRnZXQtY29udGVudC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGNvbG9yOiAkd2lkZ2V0LWNvbnRlbnQtY29sb3I7XG4gIH1cblxuICAudGFibGUge1xuICAgIEBleHRlbmQgLnRhYmxlLWNvbmRlbnNlZDtcblxuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICArIC50YWJsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIH1cblxuICAgIHRyID4gdGQge1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgQGluY2x1ZGUgdGV4dC1vdmVyZmxvdztcbiAgICAgIG1heC13aWR0aDogMXB4O1xuXG4gICAgICArIHRkIHtcbiAgICAgICAgQGluY2x1ZGUgdGV4dC1vdmVyZmxvdztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC53aWRnZXQge1xuICAgIEBleHRlbmQgLnBhbmVsLWRlZmF1bHQ7XG5cbiAgICAmOmVtcHR5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItMTAwO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG5cbiAgICArIC53aWRnZXQge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgfVxuICB9XG5cbiAgLndpZGdldC1oZWFkaW5nIHtcbiAgICBAZXh0ZW5kIC5wYW5lbC1oZWFkaW5nO1xuICAgIGZvbnQtc2l6ZTogMS4xZW07XG5cbiAgICAud2lkZ2V0LWFjdGlvbnMge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuICAud2lkZ2V0LXRpdGxlIHtcbiAgICBAZXh0ZW5kIC5wYW5lbC10aXRsZTtcbiAgICAuaWNvbiB7XG4gICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgW2RhdGEtZGV2aWNlPVwic3RhdHVzXCJdIHtcbiAgICAgIHdpZHRoOiA3cHg7IGhlaWdodDogN3B4O1xuICAgIH1cbiAgICBbZGF0YS1kZXZpY2U9XCJzdGF0dXMtdGV4dFwiXSB7XG4gICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIH1cbiAgfVxuXG4gIC53aWRnZXQtYm9keSB7XG4gICAgQGV4dGVuZCAucGFuZWwtYm9keTtcbiAgICBAZXh0ZW5kIC5zY3JvbGxiYXI7XG5cbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgaGVpZ2h0OiAxMjZweDtcbiAgICAvL21pbi1oZWlnaHQ6IDEyNXB4O1xuICAgIC8vbWF4LWhlaWdodDogMTI2cHg7XG5cbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG5cbiAgICBvdmVyZmxvdzogYXV0bztcblxuICAgID4gKiArIC53aWRnZXQtZW1wdHkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudGFibGU6ZW1wdHkgKyAud2lkZ2V0LWVtcHR5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC53aWRnZXQtZW1wdHkge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbm8tZGF0YS5wbmcnKSByaWdodCBib3R0b20gbm8tcmVwZWF0O1xuXG4gICAgICA+IC5idG57XG4gICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICB9XG4gICAgICA+IHAge1xuICAgICAgICBwYWRkaW5nLXRvcDogMzVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZnVsbC10ZXh0IHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuICB9XG5cbiAgLndpZGdldC1kcml2ZXIsXG4gIC53aWRnZXQtc2VydmljZXMsXG4gIC53aWRnZXQtZGV2aWNlLFxuICAud2lkZ2V0LWxvY2tpbmcsXG4gIC53aWRnZXQtZ3Bycy1jb21tYW5kLFxuICAud2lkZ2V0LXJlY2VudC1ldmVudHMge1xuICAgIC50YWJsZSB7XG4gICAgICBAZXh0ZW5kIC5mYWRlSW47XG4gICAgICBAZXh0ZW5kIC5hbmltYXRlZDtcblxuICAgICAgd2lkdGg6IDI2MHB4O1xuICAgIH1cbiAgfVxuXG4gIC53aWRnZXQtc2Vuc29ycyB7XG4gICAgLnRhYmxlIHtcbiAgICAgIEBleHRlbmQgLmZhZGVJbjtcbiAgICAgIEBleHRlbmQgLmFuaW1hdGVkO1xuXG4gICAgICB3aWR0aDogMjAwcHg7XG5cbiAgICAgIHRyID4gdGQge1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgfVxuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44ZW07XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGNvbG9yOiAkd2lkZ2V0LWNvbnRlbnQtaWNvbi1jb2xvcjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC53aWRnZXQtc3RyZWV0dmlldyB7XG4gICAgLndpZGdldC1ib2R5IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgaW1nIHtcbiAgICAgICAgQGV4dGVuZCAuZmFkZUluO1xuICAgICAgICBAZXh0ZW5kIC5hbmltYXRlZDtcblxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC53aWRnZXQtY2FtZXJhIHtcbiAgICAud2lkZ2V0LWJvZHkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5jYW1lcmEtaW1hZ2Uge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgLm5hbWUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBpbml0aWFsO1xuICAgICAgICBwYWRkaW5nOiAxcHggNXB4O1xuICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICB9XG4gICAgICAuaW1hZ2Uge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMjVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAud2lkZ2V0LWltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAud2lkZ2V0LWJvZHkge1xuICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgID4gLmltYWdlICsgLndpZGdldC1lbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC53aWRnZXQtZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgLmltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgfVxuXG4gICAgICAubmFtZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcblxuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogaW5pdGlhbDtcbiAgICAgICAgcGFkZGluZzogMXB4IDVweDtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLndpZGdldC1zZW5zb3ItZ3JhcGgge1xuICAgIC53aWRnZXQtYm9keSB7XG4gICAgICB3aWR0aDogMjgwcHg7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAuc2Vuc29yLWdyYXBoIHtcbiAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICBoZWlnaHQ6IDEyNnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC53aWRnZXQtZ3Bycy1jb21tYW5kIHtcbiAgICAudGFibGUge1xuICAgICAgdGQgKyB0ZCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB3aWR0aDogMTUlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC53aWRnZXQtcmVjZW50LWV2ZW50cyB7XG4gICAgdGFibGUge1xuICAgICAgdHIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJltvbmNsaWNrXSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ud2lkZ2V0LWNvbCB7XG4gID4gZGl2IHtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAkd2lkZ2V0LWNvbC1iYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG59IiwiLmdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICsgLmdyb3VwIHtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gIH1cbiAgLmNoZWNrYm94IHtcbiAgICBAZXh0ZW5kIC5jaGVja2JveC1pbmxpbmU7XG4gIH1cbn1cbi5ncm91cC1oZWFkaW5nIHtcbiAgcGFkZGluZzogJGdyb3VwLWhlYWRpbmctcGFkZGluZy12ZXJ0aWNhbCAkZ3JvdXAtaGVhZGluZy1wYWRkaW5nLWhvcml6b250YWw7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncm91cC1oZWFkaW5nLWJnO1xuICBib3JkZXItcmFkaXVzOiAkZ3JvdXAtaGVhZGluZy1ib3JkZXItcmFkaXVzO1xuXG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICRncm91cC1oZWFkaW5nLWNvbG9yO1xuICBmb250LXNpemU6ICRncm91cC1oZWFkaW5nLWZvbnQtc2l6ZTtcblxuICA+IC5jaGVja2JveCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB3aWR0aDogMSU7XG4gIH1cblxuICA+IC5ncm91cC10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3JvdXAtY2VsbC1wYWRkaW5nLWxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LW92ZXJmbG93KCk7XG4gICAgbWF4LXdpZHRoOiAxcHg7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICA+IC5jb3VudCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCIoXCI7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIpXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAvL2NvbnRlbnQ6ICRmYS12YXItbWludXM7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMHB4O1xuICAgICAgdG9wOiBhdXRvO1xuXG4gICAgICBAZXh0ZW5kIC5pY287XG4gICAgICBjb250ZW50OiBcIlxcZTkyZVwiO1xuXG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIGNvbG9yOiAkZ3JvdXAtY29sbGFwc2Utc3RhdHVzLWNvbGxhcHNlLWNvbG9yO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICAmLmNvbGxhcHNlZCB7XG4gICAgICBjb2xvcjogJGdyb3VwLWhlYWRpbmctY29sbGFwc2UtY29sb3I7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcZTkwMVwiO1xuICAgICAgICBjb2xvcjogJGdyb3VwLWNvbGxhcHNlLXN0YXR1cy1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5pY29uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogJGdyb3VwLWhlYWRpbmctcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIH1cbiAgICAvKlxuICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBleHRlbmQgLmZhZGVJbjtcbiAgICAgICAgQGV4dGVuZCAuYW5pbWF0ZWQ7XG4gICAgICB9XG4gICAgfVxuICAgICZbYXJpYS1leHBhbmRlZD1cImZhbHNlXCJdIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAZXh0ZW5kIC5yb3RhdGVJbjtcbiAgICAgICAgQGV4dGVuZCAuYW5pbWF0ZWQ7XG4gICAgICB9XG4gICAgfSovXG4gIH1cblxuICA+IC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNHB4O1xuXG4gICAgLmJ0bi5vcHRpb25zOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1iZy0zMDA7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRncm91cC1oZWFkaW5nLWhvdmVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncm91cC1oZWFkaW5nLWhvdmVyLWJnO1xuXG4gICAgLmdyb3VwLXRpdGxlOmFmdGVyLFxuICAgIC5zdGF0dXMtY29sbGFwc2Uge1xuICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgIH1cbiAgfVxufVxuXG4uZ3JvdXAtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmdyb3VwLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG5cbiAgY29sb3I6ICRncm91cC1saXN0LWNvbG9yO1xuICBmb250LXNpemU6ICRncm91cC1saXN0LWZvbnQtc2l6ZTtcbiAgYmFja2dyb3VuZDogJGdyb3VwLWxpc3QtYmc7XG5cbiAgZGlzcGxheTogdGFibGU7XG5cbiAgPiBsaSB7XG4gICAgYm9yZGVyOiAkZ3JvdXAtbGlzdC1ib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJGdyb3VwLWxpc3QtYm9yZGVyLXJhZGl1cztcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkZ3JvdXAtbGlzdC1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncm91cC1saXN0LWhvdmVyLWJnO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgID4gLmNoZWNrYm94IHtcbiAgICAgIHBhZGRpbmctdG9wOiAkZ3JvdXAtaXRlbS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgICAgcGFkZGluZy1ib3R0b206ICRncm91cC1pdGVtLXBhZGRpbmctdmVydGljYWw7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRncm91cC1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgID4gLm5hbWUge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy10b3A6ICRncm91cC1pdGVtLXBhZGRpbmctdmVydGljYWw7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJGdyb3VwLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICAgIHBhZGRpbmctbGVmdDogJGdyb3VwLWNlbGwtcGFkZGluZy1sZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogJGdyb3VwLWNlbGwtcGFkZGluZy1yaWdodDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBAaW5jbHVkZSB0ZXh0LW92ZXJmbG93KCk7XG4gICAgICBtYXgtd2lkdGg6IDFweDtcblxuICAgICAgW2RhdGEtZGV2aWNlPVwidGltZVwiXSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43ZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtNjAwO1xuICAgICAgfVxuXG4gICAgICBbZGF0YS1kZXZpY2U9XCJ0aW1lX3RleHRcIl0ge1xuICAgICAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC02MDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiAuZGV0YWlscyB7XG4gICAgICBwYWRkaW5nLXRvcDogJGdyb3VwLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkZ3JvdXAtaXRlbS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkZ3JvdXAtY2VsbC1wYWRkaW5nLWxlZnQ7XG4gICAgICAvL3BhZGRpbmctcmlnaHQ6ICRncm91cC1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC05MDA7XG5cbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICA+ICoge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgICA+ICogKyAqIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIH1cblxuICAgICAgW2RhdGEtZGV2aWNlPVwidGltZVwiXSB7XG4gICAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LTkwMDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgW2RhdGEtZGV2aWNlPVwidGltZV90ZXh0XCJdIHtcbiAgICAgICAgZm9udC1zaXplOiA5LjVweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC05MDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJnLTEwMDtcblxuICAgICAgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG4iLCJAbWl4aW4gcGFuZWwtaGVhZGluZy12ZXJ0aWNhbC1hbGlnbigkZWxlbWVudC1oZWlnaHQpIHtcbiAgbWFyZ2luLXRvcDogKCgkaGVhZGluZy1oZWlnaHQgLSAkZWxlbWVudC1oZWlnaHQpIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICgoJGhlYWRpbmctaGVpZ2h0IC0gJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xufVxuXG4ucGFuZWwge1xuICAucGFuZWwtaGVhZGluZyB7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuICAucGFuZWwtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRleHQtb3ZlcmZsb3c7XG4gIH1cbiAgLnBhbmVsLXRpdGxlLFxuICAucGFuZWwtdGl0bGUtb3ZlcmZsb3cge1xuICAgIHBhZGRpbmc6ICRwYW5lbC1oZWFkaW5nLXBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkcGFuZWwtdGl0bGUtc2l6ZTtcblxuXG4gICAgLmljb24ge1xuICAgICAgZm9udC1zaXplOiAkcGFuZWwtdGl0bGUtaWNvbi1zaXplO1xuICAgICAgY29sb3I6ICRwYW5lbC10aXRsZS1pY29uLWNvbG9yO1xuXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gIH1cbiAgLmNsb3NlICsgLnBhbmVsLXRpdGxlIHtcbiAgICBtYXgtd2lkdGg6IDk1JTtcbiAgfVxufVxuXG4ucGFuZWwtdHJhbnNwYXJlbnQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xufVxuXG4ucGFuZWwtZm9ybSB7XG4gIHBhZGRpbmc6IDEwcHggJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gIEBpbmNsdWRlIGZvcm0taW5saW5lO1xuXG4gIC8vb3ZlcndyaXRlIGluY2x1ZGUgZm9ybS1pbmxpbmUgd2lkdGggYXV0b1xuICAuZm9ybS1jb250cm9sIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICYucGFuZWwtZm9ybS1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgfVxuXG4gIC5mb3JtLWdyb3VwIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG5cbiAgLy8gVW5kbyAxMDAlIHdpZHRoIGZvciBwdWxsIGNsYXNzZXNcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgcGFuZWwtaGVhZGluZy12ZXJ0aWNhbC1hbGlnbigkaW5wdXQtaGVpZ2h0LWJhc2UpO1xuICAgIC8vZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59IiwiI2xvYWRpbmcsXG4ubG9hZGluZ3tcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk5O1xuICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG59XG5cbiNsb2FkaW5nIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iZy0wMDA7XG59XG4jbG9hZGluZyxcbi5sb2FkaW5ne1xuICAuYmFja2Ryb3Age1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iZy0wMDA7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5vdXR0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLm1pZGRsZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLmlubmVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGUge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSBzY2FsZSgxKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSBzY2FsZSgwLjYpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgc2NhbGUoMC42KTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZykgc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKSBzY2FsZSgxKTsgfVxufVxuXG4ubG9hZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICBoZWlnaHQ6IDM1cHg7XG4gIHdpZHRoOiAzNXB4O1xuXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcblxuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwcHg7XG4gICAgdG9wOiAgMHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRicmFuZC1wcmltYXJ5O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGUgMXMgMHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uOiByb3RhdGUgMXMgMHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdG9wOiAxMHB4O1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNXM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNXM7XG4gICAgYm9yZGVyLWNvbG9yOiAkYnJhbmQtcHJpbWFyeSB0cmFuc3BhcmVudDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IHJldmVyc2U7XG4gICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgfVxuXG4gICYubGFyZ2Uge1xuICAgIGhlaWdodDogNjBweDtcbiAgICB3aWR0aDogNjBweDtcblxuICAgICY6YmVmb3Jle1xuICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICBib3JkZXItd2lkdGg6IDNweDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBsZWZ0OiAxMHB4O1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBib3JkZXItd2lkdGg6IDNweDtcbiAgICB9XG4gIH1cblxuICAmLnNtYWxsIHtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG5cbiAgICAmOmJlZm9yZXtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgdG9wOiA1cHg7XG4gICAgICBsZWZ0OiA1cHg7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIH1cbiAgfVxufSIsImJvZHkuc2lnbi1pbi1sYXlvdXQge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIC1tb3otYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgLW8tYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAuc2lnbi1pbi10ZXh0IHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gIC5wYW5lbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgMTVweCByZ2JhKDAsIDAsIDAsIDAuNSkpO1xuICB9XG5cbiAgLnBhbmVsLWJvZHkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5wYW5lbC1iYWNrZ3JvdW5kIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcGFuZWwtYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5wYW5lbC1iYWNrZ3JvdW5kIHtcbiAgICBvcGFjaXR5OiAuOSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFwcC1saW5rcyB7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gIH1cblxuICAucGFuZWwtYm9keSB7XG4gICAgY29sb3I6ICMyMDIwMjA7XG5cbiAgICBsYWJlbCxcbiAgICAuY2hlY2tib3ggbGFiZWwsXG4gICAgaDMge1xuICAgICAgY29sb3I6ICMyMDIwMjA7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC42NSk7XG4gICAgfVxuXG4gICAgaHIge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgzMiwgMzIsIDMyLCAuMTgpO1xuICAgIH1cblxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgY29sb3I6ICMyMDIwMjA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC45Nik7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMzIsIDMyLCAzMiwgLjI4KTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIC4wOCk7XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICM1ZjY4NzI7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJ0bi1kZWZhdWx0IHtcbiAgICAgIGNvbG9yOiAjMjAyMDIwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOTQpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDMyLCAzMiwgMzIsIC4yKTtcbiAgICB9XG4gIH1cbn1cbiIsIi51aS1kaWFsb2cge1xuICBwb3NpdGlvbjphYnNvbHV0ZTtcbn1cblxuLnVpLWRpYWxvZy10aXRsZWJhci51aS13aWRnZXQtaGVhZGVyIHtcbiAgQGV4dGVuZCAubW9kYWwtaGVhZGVyO1xuICBjdXJzb3I6IG1vdmU7XG59XG4udWktZGlhbG9nLXRpdGxlIHtcbiAgQGV4dGVuZCAubW9kYWwtdGl0bGU7XG59XG5cbi51aS1kaWFsb2cudWktd2lkZ2V0LnVpLXdpZGdldC1jb250ZW50IHtcbiAgei1pbmRleDogMTA0NjtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuYnV0dG9uLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7XG4gIEBleHRlbmQgLmNsb3NlO1xufSIsIi5wbGFucyB7XG4gIEBleHRlbmQgLnJvdztcbn1cblxuLnBsYW4tY29sIHtcbiAgQGV4dGVuZCAuY29sLXhzLTEyO1xuICBAZXh0ZW5kIC5jb2wtc20tNDtcbiAgQGV4dGVuZCAuY29sLW1kLTM7XG59XG5cbi5wbGFuIHtcbiAgQGV4dGVuZCAucGFuZWw7XG4gIEBleHRlbmQgLnBhbmVsLWRlZmF1bHQ7XG5cbiAgLnBsYW4taGVhZGluZyB7XG4gICAgQGV4dGVuZCAucGFuZWwtaGVhZGluZztcbiAgfVxuICAucGxhbi10aXRsZSB7XG4gICAgQGV4dGVuZCAucGFuZWwtdGl0bGU7XG4gICAgQGV4dGVuZCAudGV4dC1jZW50ZXI7XG4gIH1cbiAgLnBsYW4tYm9keSB7XG4gICAgQGV4dGVuZCAucGFuZWwtYm9keTtcblxuICAgIC5pY29uLmNoZWNrIHtcbiAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1zaXplOiAxLjZlbTtcblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnBsYW4tZm9vdGVyIHtcbiAgICBAZXh0ZW5kIC5wYW5lbC1mb290ZXI7XG4gICAgQGV4dGVuZCAudGV4dC1jZW50ZXI7XG4gIH1cbn0iLCIjYm90dG9tYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA5OTc7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbiNib3R0b20taGlzdG9yeSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgLy9vdmVyZmxvdzogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRjb2xvci1iZy0wMDA7XG4gIHotaW5kZXg6IDk5ODtcblxuICAuYm90dG9tLWhpc3RvcnktaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1iZy0xMDA7XG4gIH1cblxuICAjZ3JhcGgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKlxuICAgICNncmFwaF9zZW5zb3JzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBAZXh0ZW5kIC5wdWxsLWxlZnQ7XG4gICAgfVxuICAgICovXG4gIH1cblxuICAuZ3JhcGgtY29udHJvbHMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1iZy0wMDA7XG4gIH1cblxuICAjaG92ZXJkYXRhLFxuICAjaG92ZXJkYXRhLWRhdGUge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBjb2xvcjogJGNvbG9yLXRleHQtNDAwO1xuICB9XG5cbn1cblxuLmdyYXBoLTEtd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDE1MHB4O1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuLmdyYXBoLTEtd3JhcCAuZ3JhcGgtMSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDE1MHB4O1xufSIsIiNjb252ZXJzYXRpb25zIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA5OTk5OTk7XG5cbiAgLmNvbnZlcnNhdGlvbiB7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuI2NvbnZlcnNhdGlvbiB7XG4gIC5jbG9zZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5tZXNzYWdlcyB7XG4gICAgbWF4LWhlaWdodDogMzUwcHg7XG4gIH1cbn1cblxuXG4uY29udmVyc2F0aW9uIHtcbiAgLnBhbmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5tZXNzYWdlcyB7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbWF4LWhlaWdodDogMjUwcHg7XG4gIG1pbi1oZWlnaHQ6IDI1MHB4O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIEBleHRlbmQgLnNjcm9sbGJhcjtcblxuICAubWVzc2FnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgLnRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmctMjAwO1xuICAgICAgY29sb3I6ICRjb2xvci10ZXh0LTEwMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cygyMHB4KTtcbiAgICB9XG4gICAgLmF1dGhvciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbGVyO1xuICAgICAgY29sb3I6ICRjb2xvci10ZXh0LTYwMDtcbiAgICB9XG5cbiAgICAmLm1lIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxufSIsIiNkYXNoYm9hcmQge1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjBweCk7XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDkwJTtcbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjBweCk7XG4gICAgYmFja2dyb3VuZDogJGdyYXk7XG4gIH1cblxuICAuZGFzaGJvYXJkLWJsb2NrIHtcbiAgICAmLmF1dG8taGVpZ2h0IHtcbiAgICAgIC5wYW5lbC5wYW5lbC1kZWZhdWx0IHtcbiAgICAgICAgLnBhbmVsLWJvZHkge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5wYW5lbC5wYW5lbC1kZWZhdWx0IHtcbiAgICAgIGJvcmRlcjogMDtcblxuICAgICAgLnBhbmVsLWhlYWRpbmcge1xuICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgLnBhbmVsLXRpdGxlIHtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucGFuZWwtYm9keSB7XG4gICAgICAgIGhlaWdodDogMzQwcHg7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBAZXh0ZW5kIC5zY3JvbGxiYXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGFibGUge1xuICAgICAgLmxlZ2VuZENvbG9yQm94IHtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgfVxuICAgICAgLmxlZ2VuZExhYmVsIHtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN0YXQtYm94IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmc7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRhbGVydC1ib3JkZXItcmFkaXVzO1xuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAudGl0bGUgeyB9XG5cbiAgICAgIC5jb3VudCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IGxhcmdlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGluayB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2Jsb2NrX2RldmljZV9vdmVydmlldyB7XG4gIC5wYW5lbC10cmFuc3BhcmVudCB7XG4gICAgPiAucGFuZWwtYm9keSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuI2Rhc2hib2FyZCwgI3NldHVwLWZvcm0tZGFzaGJvYXJkIHtcbiAgLm9wdGlvbnMtZHJvcGRvd24ge1xuICAgIG1hcmdpbjogMCAxNXB4IDAgMTVweDtcblxuICAgIGhyIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi5kYXNoYm9hcmQtd2lkZ2V0IHtcbiAgYmFja2dyb3VuZDogJGdyYXktbGlnaHQ7XG4gIHBhZGRpbmc6IDEwcHggNXB4IDhweCAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBoZWlnaHQ6IDM4cHg7XG59XG4iLCIuYm9vdHN0cmFwLXNlbGVjdCB7XG4gICYuaGlkZS1waWNrZXIge1xuICAgIGhlaWdodDogMDtcblxuICAgIC5kcm9wZG93bi10b2dnbGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi50aHVtYm5haWwtcHJldmlldyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gID4uaWNvbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmc6IDJweDtcbiAgfVxuXG4gIC5mdWxsLXByZXZpZXcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgdG9wOiAxNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyYXk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGNvbG9yOiBibGFjaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHotaW5kZXg6IDUwO1xuXG4gICAgLmZ1bGwtcHJldmlldyB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxufVxuIiwidGFibGUuZGF0YVRhYmxlIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbi10b3A6IDZweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiA2cHggIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGUgIWltcG9ydGFudDtcblxuICAmLm5vd3JhcCB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gIH1cblxuICB0ZCxcbiAgdGgge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIH1cbiAgdGQuZGF0YVRhYmxlc19lbXB0eSxcbiAgdGguZGF0YVRhYmxlc19lbXB0eSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgdGhlYWQgPiB0ciA+IHRoOmFjdGl2ZSxcbiAgdGhlYWQgPiB0ciA+IHRkOmFjdGl2ZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuXG5kaXYuZGF0YVRhYmxlc193cmFwcGVyIHtcbiAgLmJvdHRvbSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItMTAwO1xuICB9XG5cbiAgZGl2LmRhdGFUYWJsZXNfbGVuZ3RoIHtcbiAgICBsYWJlbCB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICAgIHNlbGVjdCB7XG4gICAgICB3aWR0aDogNzVweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICBkaXYuZGF0YVRhYmxlc19maWx0ZXIge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIGRpdi5kYXRhVGFibGVzX2ZpbHRlciBsYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgZGl2LmRhdGFUYWJsZXNfZmlsdGVyIGlucHV0IHtcbiAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIGRpdi5kYXRhVGFibGVzX2luZm8ge1xuICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICBkaXYuZGF0YVRhYmxlc19wYWdpbmF0ZSB7XG4gICAgLy9tYXJnaW46IDA7XG4gICAgLy93aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8vdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgZGl2LmRhdGFUYWJsZXNfcGFnaW5hdGUgdWwucGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luOiAycHggMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIGRpdi5kYXRhVGFibGVzX3Byb2Nlc3Npbmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTAwcHg7XG4gICAgbWFyZ2luLXRvcDogLTI2cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDFlbSAwO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBkaXYuZGF0YVRhYmxlc19sZW5ndGgsXG4gICAgZGl2LmRhdGFUYWJsZXNfZmlsdGVyLFxuICAgIGRpdi5kYXRhVGFibGVzX2luZm8sXG4gICAgZGl2LmRhdGFUYWJsZXNfcGFnaW5hdGUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuXG5kaXYudGFibGUtcmVzcG9uc2l2ZSA+IGRpdi5kYXRhVGFibGVzX3dyYXBwZXIgPiBkaXYucm93IHtcbiAgbWFyZ2luOiAwO1xufVxuZGl2LnRhYmxlLXJlc3BvbnNpdmUgPiBkaXYuZGF0YVRhYmxlc193cmFwcGVyID4gZGl2LnJvdyA+IGRpdltjbGFzc149XCJjb2wtXCJdOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuZGl2LnRhYmxlLXJlc3BvbnNpdmUgPiBkaXYuZGF0YVRhYmxlc193cmFwcGVyID4gZGl2LnJvdyA+IGRpdltjbGFzc149XCJjb2wtXCJdOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4uZGF0YVRhYmxlc19wYWdpbmF0ZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW46IDdweCAwO1xuICAvL21hcmdpbjogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIDA7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgPiBzcGFuIHtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIH1cblxuICAucGFnaW5hdGVfYnV0dG9uIHtcbiAgICAvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvL2Zsb2F0OiBsZWZ0OyAvLyBDb2xsYXBzZSB3aGl0ZS1zcGFjZVxuICAgIHBhZGRpbmc6ICRwYWRkaW5nLWJhc2UtdmVydGljYWwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWJnO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRwYWdpbmF0aW9uLWJvcmRlcjtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjtcbiAgICB9XG5cbiAgICAmLmN1cnJlbnQge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgICAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyO1xuICAgICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGbGVldCBkYXNoYm9hcmQgc2tpbi4gU2NvcGVkIHRvIHRoZSBhdXRoZW50aWNhdGVkIHRyYWNraW5nIHNjcmVlbiBzbyBsZWdhY3lcbi8vIGFkbWluLCByZXBvcnQsIG1vZGFsIGFuZCBhdXRoZW50aWNhdGlvbiBsYXlvdXRzIGtlZXAgdGhlaXIgZXhpc3Rpbmcgc3R5bGVzLlxuLnRyYWNraW5nLWRhc2hib2FyZCB7XG4gIC0tdHJhY2tpbmctbmF2LXdpZHRoOiAxNjRweDtcbiAgLS10cmFja2luZy1wYW5lbC13aWR0aDogNDY4cHg7XG4gIC0tdHJhY2tpbmctaGVhZGVyLWhlaWdodDogODhweDtcbiAgLS10cmFja2luZy1tYXAtZ2FwOiAxNnB4O1xuICAtLXRyYWNraW5nLW1hcC1ib3R0b206IDI4cHg7XG4gIC0tdHJhY2tpbmctZ3JlZW46ICMwYTliMmE7XG4gIC0tdHJhY2tpbmctZ3JlZW4tZGFyazogIzA4N2MyMTtcbiAgLS10cmFja2luZy1ncmVlbi1zb2Z0OiAjZWVmYWYyO1xuICAtLXRyYWNraW5nLWFtYmVyOiAjZjViNzAwO1xuICAtLXRyYWNraW5nLXJlZDogI2VmM2Y0MztcbiAgLS10cmFja2luZy1ibHVlLXNvZnQ6ICNkY2VmZmM7XG4gIC0tdHJhY2tpbmctaW5rOiAjMTExODI3O1xuICAtLXRyYWNraW5nLW11dGVkOiAjNjY3MDg1O1xuICAtLXRyYWNraW5nLW5hdi1pbms6ICMxZjI5Mzc7XG4gIC0tdHJhY2tpbmctYm9yZGVyOiAjZTdlYmVmO1xuICAtLXRyYWNraW5nLXN1cmZhY2U6ICNmZmZmZmY7XG4gIC0tdHJhY2tpbmctY2FudmFzOiAjZjhmYWY5O1xuICAtLXRyYWNraW5nLXNoYWRvdzogMCAzcHggMTJweCByZ2JhKDE1LCAyMywgNDIsIDAuMDYpO1xuICAtLXRyYWNraW5nLWZsb2F0LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDE1LCAyMywgNDIsIDAuMTIpO1xuXG4gIG1hcmdpbjogMDtcbiAgY29sb3I6IHZhcigtLXRyYWNraW5nLWluayk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRyYWNraW5nLWNhbnZhcyk7XG4gIGZvbnQtZmFtaWx5OiBJbnRlciwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIGEsXG4gIGJ1dHRvbixcbiAgaW5wdXQge1xuICAgIG91dGxpbmUtY29sb3I6IHJnYmEoMTAsIDE1NSwgNDIsIDAuMzUpO1xuICB9XG5cbiAgI2Rhc2hib2FyZC1uYXZpZ2F0aW9uIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMTA1MDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogdmFyKC0tdHJhY2tpbmctbmF2LXdpZHRoKTtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMThweCAxMXB4IDE4cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdHJhY2tpbmctc3VyZmFjZSk7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tdHJhY2tpbmctYm9yZGVyKTtcbiAgfVxuXG4gIC50cmFja2luZy1icmFuZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDY2cHg7XG4gICAgZmxleDogMCAwIDY2cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxN3B4O1xuICAgIGNvbG9yOiB2YXIoLS10cmFja2luZy1pbmspO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA4MnB4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogNThweDtcbiAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgfVxuXG4gICAgPiBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTFweDtcbiAgICB9XG4gIH1cblxuICAudHJhY2tpbmctbWFpbi1uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogN3B4O1xuICB9XG5cbiAgLmRhc2hib2FyZC1uYXYtbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtaW4taGVpZ2h0OiA1NnB4O1xuICAgIGZsZXg6IDAgMCA1NnB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxNXB4O1xuICAgIHBhZGRpbmc6IDAgMTRweDtcbiAgICBjb2xvcjogdmFyKC0tdHJhY2tpbmctbmF2LWluayk7XG4gICAgLy8gQmxpbmRhamU6IGVsIGpzLmpzIG9mdXNjYWRvIGRlbCB2ZW5kb3IgaW55ZWN0YSByZWdsYXMgbGVnYWN5IHRpcG9cbiAgICAvLyBhW2hyZWY9XCIjZXZlbnRzX3RhYlwiXXsgYmFja2dyb3VuZDogPHZlcmRlPiB1cmwoaWNvbnMvZXZlbnRzLnN2ZykgfSBxdWVcbiAgICAvLyBwaW50YWJhbiBmb25kbyBlIFwiaWNvbm8gZmFudGFzbWFcIiBlbiBsb3MgaXRlbXMgZGVsIG1lbnUuIEZvcnphbW9zIGVsXG4gICAgLy8gZm9uZG8gZGVsIHJpZWwgcGFyYSBnYW5hciBzaWVtcHJlLCBzaW4gZGVwZW5kZXIgZGVsIG9yZGVuIGRlIGNhcmdhLlxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTFweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE4cyBlYXNlLCBiYWNrZ3JvdW5kIDAuMThzIGVhc2UsIHRyYW5zZm9ybSAwLjE4cyBlYXNlO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiB2YXIoLS10cmFja2luZy1ncmVlbik7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjZmYWY3ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KTtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogdmFyKC0tdHJhY2tpbmctZ3JlZW4pO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tdHJhY2tpbmctZ3JlZW4tc29mdCkgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgPiBpIHtcbiAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgZmxleDogMCAwIDIycHg7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICA+IHNwYW4ge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gIH1cblxuICAvLyBCbGluZGFqZSByZWZvcnphZG8gZGVsIHJpZWwgZGUgbmF2ZWdhY2lvbi4gRWwganMuanMgb2Z1c2NhZG8gZGVsIHZlbmRvclxuICAvLyAoXCJjdXN0b20gZGVzaWduXCIpIGlueWVjdGEgdW4gPHN0eWxlPiBjb24gcmVnbGFzIGRlIGlkICsgIWltcG9ydGFudCBzb2JyZVxuICAvLyBsb3MgYW5jbGFzIGxlZ2FjeSAoYVtocmVmPVwiI2hpc3RvcnlfdGFiXCJdLCBcIiNldmVudHNfdGFiXCIsIFwiI2FsZXJ0c190YWJcIilcbiAgLy8gcXVlIGZpbHRyYWJhbiB1biBmb25kbyBvc2N1cm8sIHRleHRvIG1hZ2VudGEgZSBpY29ub3MgYXBhZ2Fkb3MuIEdhbmFtb3NcbiAgLy8gcG9yIGVzcGVjaWZpY2lkYWQgKGlkICNkYXNoYm9hcmQtbmF2aWdhdGlvbiArIDMgY2xhc2VzKSBlICFpbXBvcnRhbnQsIHlcbiAgLy8gZGVqYW1vcyBlbCBjb2xvciBkZSB0ZXh0by9pY29ubyBnb2Jlcm5hZG8gcG9yIC0tdHJhY2tpbmctbmF2LWluayBwYXJhIHF1ZVxuICAvLyBlbCB0ZW1hIG9zY3VybyBzaWdhIGZ1bmNpb25hbmRvLlxuICAjZGFzaGJvYXJkLW5hdmlnYXRpb24gLnRyYWNraW5nLW1haW4tbmF2IC5kYXNoYm9hcmQtbmF2LWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS10cmFja2luZy1uYXYtaW5rKSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICBmaWx0ZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICA+IGkge1xuICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgIGZpbHRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogdmFyKC0tdHJhY2tpbmctZ3JlZW4pICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjZmYWY3ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgY29sb3I6IHZhcigtLXRyYWNraW5nLWdyZWVuKSAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tdHJhY2tpbmctZ3JlZW4tc29mdCkgIWltcG9ydGFudDtcblxuICAgICAgPiBpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRyYWNraW5nLWdyZWVuKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50cmFja2luZy1uYXZpZ2F0aW9uLWZvb3RlciB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgcGFkZGluZy10b3A6IDE0cHg7XG4gIH1cblxuICAudHJhY2tpbmctYWNjb3VudC1jYXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1pbi1oZWlnaHQ6IDU4cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDlweDtcbiAgICBwYWRkaW5nOiA5cHggMTBweDtcbiAgICBjb2xvcjogdmFyKC0tdHJhY2tpbmctaW5rKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10cmFja2luZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10cmFja2luZy1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wNCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiB2YXIoLS10cmFja2luZy1pbmspO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZDVkZWQ4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgID4gLmZhLWFuZ2xlLWRvd24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBjb2xvcjogdmFyKC0tdHJhY2tpbmctbXV0ZWQpO1xuICAgIH1cbiAgfVxuXG4gIC50cmFja2luZy1hY2NvdW50LWF2YXRhciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgd2lkdGg6IDM0cHg7XG4gICAgaGVpZ2h0OiAzNHB4O1xuICAgIGZsZXg6IDAgMCAzNHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6ICMyNDY1M2E7XG4gICAgYmFja2dyb3VuZDogI2RmZjVlNjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cblxuICAudHJhY2tpbmctYWNjb3VudC1jb3B5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuXG4gICAgc3Ryb25nLFxuICAgIHNtYWxsIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgc21hbGwge1xuICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgY29sb3I6IHZhcigtLXRyYWNraW5nLW11dGVkKTtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICB9XG4gIH1cblxuICAudHJhY2tpbmctdGhlbWUtc3dpdGNoIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ2FwOiAwO1xuICAgIGhlaWdodDogNDZweDtcbiAgICBtYXJnaW46IDEycHggNXB4IDEzcHg7XG4gICAgcGFkZGluZzogNHB4O1xuICAgIGJhY2tncm91bmQ6ICNmMGYyZjQ7XG4gICAgYm9yZGVyLXJhZGl1czogMjRweDtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY29sb3I6ICM0NzU0Njc7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRyYWNraW5nLWdyZWVuKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdHJhY2tpbmctc3VyZmFjZSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50cmFja2luZy1sb2dvdXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWluLWhlaWdodDogNThweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTVweDtcbiAgICBtYXJnaW46IDAgLTFweDtcbiAgICBwYWRkaW5nOiAxNHB4O1xuICAgIGNvbG9yOiAjMWYyOTM3O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS10cmFja2luZy1ib3JkZXIpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogdmFyKC0tdHJhY2tpbmctcmVkKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICBpIHtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICNoZWFkZXIudHJhY2tpbmctdG9wYmFyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMTA0MDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogdmFyKC0tdHJhY2tpbmctbmF2LXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLXRyYWNraW5nLWhlYWRlci1oZWlnaHQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRyYWNraW5nLXN1cmZhY2UpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10cmFja2luZy1ib3JkZXIpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm1haW4tbmF2YmFyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10cmFja2luZy1zdXJmYWNlKTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC5jb250YWluZXItZmx1aWQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAwIDI4cHggMCAxOXB4O1xuICAgIH1cblxuICAgIC5uYXZiYXItdG9nZ2xlIHtcbiAgICAgIG9yZGVyOiAzO1xuICAgICAgbWFyZ2luOiAwIDAgMCAxMnB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10cmFja2luZy1ib3JkZXIpO1xuXG4gICAgICAuaWNvbi1iYXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10cmFja2luZy1pbmspO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAudHJhY2tpbmctdG9wYmFyLXNlYXJjaCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgd2lkdGg6IDQyN3B4O1xuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgZmxleDogMCAwIDQyN3B4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMTNweDtcbiAgICAgIHBhZGRpbmc6IDAgMTNweCAwIDE4cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10cmFja2luZy1zdXJmYWNlKTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRyYWNraW5nLWJvcmRlcik7XG4gICAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wMjUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XG5cbiAgICAgID4gaSB7XG4gICAgICAgIGNvbG9yOiAjNWM2YjdmO1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICB9XG5cbiAgICAgIGlucHV0IHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tdHJhY2tpbmctaW5rKTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBjb2xvcjogIzk4YTJiMztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBrYmQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDJweDtcbiAgICAgICAgcGFkZGluZzogMCA4cHg7XG4gICAgICAgIGNvbG9yOiAjNjY3MDg1O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjJmNGY3O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudHJhY2tpbmctdG9wYmFyLWFjdGlvbnMge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDExcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29udHJvbCBcIkFjdHVhbGl6YXJcIiByZXViaWNhZG8gZW4gbGEgYmFycmEgc3VwZXJpb3IgKGp1bnRvIGEgbGFzXG4gICAgLy8gbm90aWZpY2FjaW9uZXMpLiBQw61sZG9yYSBjb24gYm90w7NuICsgdGllbXBvIGRlc2RlIGVsIMO6bHRpbW8gcmVmcmVzY28uXG4gICAgLnRyYWNraW5nLXJlZnJlc2gtYWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRyYWNraW5nLXN1cmZhY2UpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdHJhY2tpbmctYm9yZGVyKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAudHJhY2tpbmctbWFwLXJlZnJlc2gtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDE0cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10cmFja2luZy1ncmVlbik7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciBpLFxuICAgICAgICAmOmZvY3VzIGkge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRyYWNraW5nLW1hcC1yZWZyZXNoLXRpbWUge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMTRweCAwIDRweDtcbiAgICAgICAgY29sb3I6IHZhcigtLXRyYWNraW5nLW11dGVkKTtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50cmFja2luZy10b3BiYXItYWN0aW9uID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY29sb3I6ICMxZjI5Mzc7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10cmFja2luZy1zdXJmYWNlKTtcbiAgICAgIC8vIEVsIGpzLmpzIGxlZ2FjeSBpbnllY3RhIGJhY2tncm91bmQtaW1hZ2UgKGljb25zL2V2ZW50cy5zdmcpIHNvYnJlIGVsXG4gICAgICAvLyBlbmxhY2UgZGUgbm90aWZpY2FjaW9uZXMsIHBpbnRhbmRvIHVuIGljb25vIG5lZ3JvIGVuY2ltYSBkZWwgZmEtYmVsbC1vLlxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdHJhY2tpbmctYm9yZGVyKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMThzIGVhc2UsIGJvcmRlci1jb2xvciAwLjE4cyBlYXNlLCBib3gtc2hhZG93IDAuMThzIGVhc2U7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRyYWNraW5nLWdyZWVuKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdHJhY2tpbmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2NmZTZkNjtcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDE1LCAyMywgNDIsIDAuMDcpO1xuICAgICAgfVxuXG4gICAgICA+IC5iYWRnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtM3B4O1xuICAgICAgICByaWdodDogLTNweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFbCB0ZW1hIGxlZ2FjeSBhbnVsYSBlbCA6OmJlZm9yZSBkZSBmYS11c2VyLW8gKGNvbnRlbnQ6bm9uZSksIGRlamFuZG8gZWxcbiAgICAvLyBpY29ubyBkZSBjdWVudGEgdmFjw61vLiBSZXN0YXVyYW1vcyBlbCBnbGlmbyBkZSBGb250QXdlc29tZS5cbiAgICAudHJhY2tpbmctdG9wYmFyLWFjdGlvbiAuZmEtdXNlci1vOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYyYzBcIiAhaW1wb3J0YW50O1xuICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gUmVmdWVyem86IGVsIDxzdHlsZT4gaW5saW5lIGRlbCB0ZW1hIHJlaW55ZWN0YSBlbCBzcHJpdGUgZXZlbnRzLnN2Z1xuICAgIC8vIChjYW1wYW5hIG1hZ2VudGEgKyBiYWRnZSB0dXJxdWVzYSBzb2JyZSBmb25kbyBvc2N1cm8pIGNvbW9cbiAgICAvLyBiYWNrZ3JvdW5kLWltYWdlICFpbXBvcnRhbnQgZW4gYVtocmVmPVwiI2V2ZW50c190YWJcIl0uIExvIGFudWxhbW9zIGNvbiB1blxuICAgIC8vIHNlbGVjdG9yIGV4cGzDrWNpdG8gZGUgbWF5b3IgZXNwZWNpZmljaWRhZCBwYXJhIHRvZG9zIGxvcyB0ZW1hcy9lc3RhZG9zLFxuICAgIC8vIGRlamFuZG8gdmVyIGVsIGZhLWJlbGwtbyB5IGVsIHB1bnRvIGRlIG5vdGlmaWNhY2nDs24gcHJvcGlvcy5cbiAgICAudHJhY2tpbmctdG9wYmFyLWFjdGlvbiBhW2hyZWY9XCIjZXZlbnRzX3RhYlwiXSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10cmFja2luZy1zdXJmYWNlKSAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6IHZhcigtLXRyYWNraW5nLW5hdi1pbmspICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnRyYWNraW5nLW5vdGlmaWNhdGlvbi1kb3Qge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA0cHg7XG4gICAgICByaWdodDogM3B4O1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjAxODIwO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tdHJhY2tpbmctc3VyZmFjZSk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuXG4gICAgLmxhbmd1YWdlLXNlbGVjdGlvbi50cmFja2luZy10b3BiYXItYWN0aW9uID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAyN3B4O1xuICAgICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMjdweDtcbiAgICAgICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgbWFyZ2luLXRvcDogOXB4O1xuICAgICAgcGFkZGluZzogN3B4O1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10cmFja2luZy1ib3JkZXIpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLXRyYWNraW5nLWZsb2F0LXNoYWRvdyk7XG5cbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA5cHg7XG4gICAgICAgIHBhZGRpbmc6IDlweCAxMXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRyYWNraW5nLXRvb2xzLW1lbnUge1xuICAgICAgd2lkdGg6IDI3MHB4O1xuICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDExMHB4KTtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgI3NpZGViYXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIHRvcDogdmFyKC0tdHJhY2tpbmctaGVhZGVyLWhlaWdodCk7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IHZhcigtLXRyYWNraW5nLW5hdi13aWR0aCk7XG4gICAgd2lkdGg6IHZhcigtLXRyYWNraW5nLXBhbmVsLXdpZHRoKTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAvLyBOT1RFOiBkbyBub3QgdHJhbnNpdGlvbiBgd2lkdGhgIGhlcmUuIFRyYW5zaXRpb25pbmcgYSBsZW5ndGggdGhhdCBpc1xuICAgIC8vIHJlc29sdmVkIGZyb20gYSBDU1MgdmFyaWFibGUgY2FuIGdldCBzdHVjayBpbiBhIHBlcnBldHVhbGx5LXJ1bm5pbmdcbiAgICAvLyBzdGF0ZSBvbiBsb2FkLCBwaW5uaW5nIHRoZSBwYW5lbCB0byB3aWR0aDowIGFuZCBjb2xsYXBzaW5nIHRoZSB3aG9sZVxuICAgIC8vIGxheW91dCAobWFwIG92ZXJsYXlzIHRoZSBwYW5lbCkuIFRoZSBjb2xsYXBzZSBzdGlsbCB3b3JrcyBpbnN0YW50bHkuXG5cbiAgICAmLmNvbGxhcHNlZCB7XG4gICAgICB3aWR0aDogMDtcblxuICAgICAgLnNpZGViYXItY29udGVudCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5oaWRkZW4gKyAjbWFwV3JhcCB7XG4gICAgICB0b3A6IHZhcigtLXRyYWNraW5nLW1hcC1nYXApO1xuICAgICAgbGVmdDogdmFyKC0tdHJhY2tpbmctbWFwLWdhcCk7XG4gICAgfVxuXG4gICAgLy8gRWwgLmJ0bi1jb2xsYXBzZSBsZWdhY3kgZXMgdW4gXCJ0YWJcIiB2ZXJkZSBjb24gdHJpw6FuZ3Vsb3MgQ1NTICg6YmVmb3JlL1xuICAgIC8vIDphZnRlcikgYW5jbGFkbyBhcnJpYmEgKHRvcDoxMnB4KSwgcXVlIGNob2NhYmEgY29uIGVsIGNvbnRyb2xcbiAgICAvLyBcIkFjdHVhbGl6YXJcIiBkZWwgbWFwYS4gTG8gY29udmVydGltb3MgZW4gdW4gYXNhIGxpbXBpYSAoYmxhbmNhLCBib3JkZSxcbiAgICAvLyBjaGV2cm9uIHZlcmRlKSBjZW50cmFkYSB2ZXJ0aWNhbG1lbnRlIGVuIGVsIGJvcmRlIGRlbCBwYW5lbC5cbiAgICAuYnRuLWNvbGxhcHNlIHtcbiAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogLTE1cHg7XG4gICAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogNDZweDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGNvbG9yOiB2YXIoLS10cmFja2luZy1ncmVlbikgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRyYWNraW5nLXN1cmZhY2UpICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10cmFja2luZy1ib3JkZXIpICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tdHJhY2tpbmctZmxvYXQtc2hhZG93KSAhaW1wb3J0YW50O1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG5cbiAgICAgIC8vIEVsaW1pbmFyIGxvcyB0cmnDoW5ndWxvcyBxdWUgZm9ybWFiYW4gZWwgdGFiIGxlZ2FjeS5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRyYWNraW5nLWdyZWVuKSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciAuYnRuLWNvbGxhcHNlLFxuICAgICYuY29sbGFwc2VkIC5idG4tY29sbGFwc2Uge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAuc2lkZWJhci1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tdHJhY2tpbmctc3VyZmFjZSk7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS10cmFja2luZy1ib3JkZXIpO1xuICAgIH1cblxuICAgIC8vIEVsIGVucnV0YWRvciBkZSBwZXN0YcOxYXMgKHVsLm5hdi10YWJzIG9jdWx0byBxdWUgZGlzcGFyYSBsb3MgdGFiLXBhbmVzKVxuICAgIC8vIGRlYmUgc2FsaXIgcG9yIGNvbXBsZXRvIGRlbCBmbHVqby4gTGEgc2tpbiBsZWdhY3kgZGUgLm5hdi10YWJzIGxlXG4gICAgLy8gcmVpbnllY3RhIHBvc2l0aW9uL2hlaWdodCB5IGxvIGhhY8OtYSBvY3VwYXIgfjIwMHB4IGVudHJlIGVsIHJlc3VtZW4geSBsYVxuICAgIC8vIGxpc3RhLiBGb3J6YW1vcyBlbCBvY3VsdGFkbyBjb24gIWltcG9ydGFudCBwYXJhIGdhbmFyIHNpZW1wcmUuXG4gICAgLnRyYWNraW5nLXRhYi1yb3V0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNpZGViYXItY29udGVudCA+IC50YWItY29udGVudCB7XG4gICAgICAvLyBMYSBza2luIGxlZ2FjeSBwb25lIC50YWItY29udGVudCBlbiBwb3NpdGlvbjphYnNvbHV0ZSwgbG8gcXVlIGxvXG4gICAgICAvLyBzYWNhYmEgZGVsIGZsdWpvIHkgbW9udGFiYSBsYSBsaXN0YSBkZSB1bmlkYWRlcyBFTkNJTUEgZGVsIHJlc3VtZW4uXG4gICAgICAvLyBFbiBmbHVqbyBub3JtYWwgKHJlbGF0aXZlKSBlbCBmbGV4LWNvbHVtbiByZXNlcnZhIHN1IGVzcGFjaW8gZGViYWpvLlxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAudGFiLWNvbnRlbnQgPiAudGFiLXBhbmUuYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAudGFiLXBhbmUtaGVhZGVyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgIC50YWItcGFuZS1ib2R5IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG4gIH1cblxuICAudHJhY2tpbmctc3VtbWFyeSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgcGFkZGluZzogMTdweCAxNHB4IDE1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRyYWNraW5nLWJvcmRlcik7XG4gIH1cblxuICAmOm5vdCgudHJhY2tpbmctc2VjdGlvbi11bml0cykgLnRyYWNraW5nLXN1bW1hcnkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAudHJhY2tpbmctc3VtbWFyeS1oZWFkaW5nIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAxMnB4O1xuXG4gICAgaDIge1xuICAgICAgbWFyZ2luOiA0cHggMCAwO1xuICAgICAgY29sb3I6IHZhcigtLXRyYWNraW5nLWluayk7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG5cbiAgICBidXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBtaW4td2lkdGg6IDgycHg7XG4gICAgICBoZWlnaHQ6IDM3cHg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZ2FwOiAxMnB4O1xuICAgICAgcGFkZGluZzogMCAxM3B4O1xuICAgICAgY29sb3I6ICMzNDQwNTQ7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10cmFja2luZy1zdXJmYWNlKTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRyYWNraW5nLWJvcmRlcik7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMXB4O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cbiAgfVxuXG4gIC50cmFja2luZy1zdW1tYXJ5LWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICAgIGdhcDogNnB4O1xuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgfVxuXG4gIC50cmFja2luZy1zdW1tYXJ5LWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGhlaWdodDogMTMycHg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgcGFkZGluZzogMTVweCAxMnB4IDEycHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdHJhY2tpbmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdHJhY2tpbmctYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxM3B4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDE1LCAyMywgNDIsIDAuMDQ1KTtcblxuICAgIC50cmFja2luZy1zdW1tYXJ5LWljb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICB3aWR0aDogMzFweDtcbiAgICAgIGhlaWdodDogMzFweDtcbiAgICAgIGZsZXg6IDAgMCAzMXB4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10cmFja2luZy1ncmVlbik7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgfVxuXG4gICAgLnRyYWNraW5nLXN1bW1hcnktbGFiZWwge1xuICAgICAgbWluLWhlaWdodDogMjVweDtcbiAgICAgIGNvbG9yOiAjMzQ0MDU0O1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgY29sb3I6IHZhcigtLXRyYWNraW5nLWluayk7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgc21hbGwge1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgY29sb3I6ICM0NzU0Njc7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICAmLmlzLXN0b3BwZWQgLnRyYWNraW5nLXN1bW1hcnktaWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10cmFja2luZy1hbWJlcik7XG4gICAgfVxuXG4gICAgJi5pcy1vZmZsaW5lIC50cmFja2luZy1zdW1tYXJ5LWljb24ge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tdHJhY2tpbmctcmVkKTtcbiAgICB9XG5cbiAgICAmLmlzLXRvdGFsIC50cmFja2luZy1zdW1tYXJ5LWljb24ge1xuICAgICAgY29sb3I6ICMxNzYyODY7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10cmFja2luZy1ibHVlLXNvZnQpO1xuICAgIH1cbiAgfVxuXG4gICNvYmplY3RzX3RhYiB7XG4gICAgLnRyYWNraW5nLXVuaXRzLWhlYWRlciB7XG4gICAgICBwYWRkaW5nOiAxM3B4IDE0cHggMTFweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLnRyYWNraW5nLXVuaXRzLXRvb2xiYXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBnYXA6IDEwcHg7XG4gICAgfVxuXG4gICAgLnRyYWNraW5nLXZpZXctdGFicyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIGdhcDogMjFweDtcbiAgICB9XG5cbiAgICAudHJhY2tpbmctdmlldy10YWIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgY29sb3I6ICM0NzU0Njc7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tdHJhY2tpbmctZ3JlZW4pO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10cmFja2luZy1ncmVlbik7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRyYWNraW5nLXNlYXJjaC1hY3Rpb25zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBnYXA6IDdweDtcbiAgICB9XG5cbiAgICAudHJhY2tpbmctdW5pdC1zZWFyY2gge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDE4MnB4O1xuICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgIGhlaWdodDogMzlweDtcbiAgICAgIGZsZXg6IDAgMSAxODJweDtcblxuICAgICAgPiBpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogMTNweDtcbiAgICAgICAgY29sb3I6ICM2NjcwODU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgfVxuXG4gICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMzlweDtcbiAgICAgICAgcGFkZGluZzogMCAxMXB4IDAgMzZweDtcbiAgICAgICAgY29sb3I6IHZhcigtLXRyYWNraW5nLWluayk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRyYWNraW5nLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10cmFja2luZy1ib3JkZXIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG5cbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgIGNvbG9yOiAjOThhMmIzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRyYWNraW5nLWZpbHRlci1idXR0b24sXG4gICAgLnRyYWNraW5nLWxpc3Qtdmlldy1idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogMzlweDtcbiAgICAgIGZsZXg6IDAgMCA0MHB4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiB2YXIoLS10cmFja2luZy1ncmVlbik7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10cmFja2luZy1ncmVlbi1zb2Z0KTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRyYWNraW5nLWdyZWVuLWRhcmspO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZTNmN2U5O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50cmFja2luZy1saXN0LXZpZXctYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBjb2xvcjogIzY2NzA4NTtcbiAgICAgIGJhY2tncm91bmQ6ICNmN2Y4ZmE7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXRyYWNraW5nLWJvcmRlcik7XG4gICAgfVxuXG4gICAgLmRldmljZS1zdGF0dXMtbGVnZW5kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBnYXA6IDVweCAxMnB4O1xuICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgICAgY29sb3I6IHZhcigtLXRyYWNraW5nLW11dGVkKTtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICAgID4gc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDRweDtcbiAgICAgIH1cblxuICAgICAgLnN0YXR1cyB7XG4gICAgICAgIHdpZHRoOiA3cHg7XG4gICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRyYWNraW5nLXVuaXRzLWxpc3Qge1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgcGFkZGluZzogMCAxNHB4O1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG5cbiAgICAjYWpheC1pdGVtcyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICAgIH1cblxuICAgIC5ncm91cCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRyYWNraW5nLXN1cmZhY2UpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdHJhY2tpbmctYm9yZGVyKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDExcHg7XG4gICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgxNSwgMjMsIDQyLCAwLjAyNSk7XG5cbiAgICAgICsgLmdyb3VwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogOXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50cmFja2luZy1ncm91cC1oZWFkaW5nIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDUxcHg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAxMHB4O1xuICAgICAgcGFkZGluZzogOHB4IDEwcHggOHB4IDEycHg7XG4gICAgICBjb2xvcjogIzFmMjkzNztcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRyYWNraW5nLXN1cmZhY2UpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTFweCAxMXB4IDAgMDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMWYyOTM3O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmJmY2ZiO1xuICAgICAgfVxuXG4gICAgICA+IC5jaGVja2JveCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgdG9wOiAxNnB4O1xuICAgICAgICByaWdodDogNDNweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE4cyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyID4gLmNoZWNrYm94LFxuICAgICAgJjpmb2N1cy13aXRoaW4gPiAuY2hlY2tib3gge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAudHJhY2tpbmctZ3JvdXAtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBmbGV4OiAwIDAgMjRweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjNDQ1MTY0O1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICB9XG5cbiAgICAgID4gLmdyb3VwLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgcGFkZGluZzogMCAyNHB4IDAgMDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICByaWdodDogMnB4O1xuICAgICAgICAgIGNvbG9yOiAjNDc1NDY3O1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgICBmbGV4OiAwIDAgMjNweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIC5idG4ub3B0aW9ucyB7XG4gICAgICAgICAgd2lkdGg6IDIzcHg7XG4gICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgY29sb3I6ICM0NzU0Njc7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3JvdXAtY29sbGFwc2UuaW4ge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXRyYWNraW5nLWJvcmRlcik7XG4gICAgfVxuXG4gICAgLmdyb3VwLWxpc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNvbG9yOiAjMWYyOTM3O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBmb250LXNpemU6IDEycHg7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiA2MXB4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiA4cHggN3B4IDhweCAxMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10cmFja2luZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZjFmMztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE2cyBlYXNlO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMTFweCAxMXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjMWYyOTM3O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmOGZjZjk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgIHJpZ2h0OiAtMXB4O1xuICAgICAgICAgIGJvdHRvbTogOHB4O1xuICAgICAgICAgIHdpZHRoOiAzcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdHJhY2tpbmctZ3JlZW4pO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweCAwIDAgMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuY2hlY2tib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgICBmbGV4OiAwIDAgMzZweDtcbiAgICAgICAgICBtYXJnaW46IDAgMTFweCAwIDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10cmFja2luZy1ncmVlbik7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNnMgZWFzZSwgYm94LXNoYWRvdyAwLjE2cyBlYXNlO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMTAsIDE1NSwgNDIsIDAuMjQpO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiAubmFtZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcblxuICAgICAgICAgIFtkYXRhLWRldmljZT1cIm5hbWVcIl0ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRyYWNraW5nLWluayk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC50cmFja2luZy1kZXZpY2Utc3RhdGUsXG4gICAgICAgICAgW2RhdGEtZGV2aWNlPVwic3RhdHVzXCJdIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgW2RhdGEtZGV2aWNlPVwidGltZVwiXSxcbiAgICAgICAgICBbZGF0YS1kZXZpY2U9XCJ0aW1lX3RleHRcIl0ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE5MHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGNvbG9yOiAjN2I4Nzk3O1xuICAgICAgICAgICAgZm9udC1zaXplOiA5LjVweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgW2RhdGEtZGV2aWNlPVwidGltZV90ZXh0XCJdIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiAuZGV0YWlscyB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGdhcDogOXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgY29sb3I6ICMzNDQwNTQ7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgICA+ICogKyAqIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIFtkYXRhLWRldmljZT1cInNwZWVkXCJdIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNDNweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC50cmFja2luZy1kZXZpY2Utc3RvcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgbWluLXdpZHRoOiA0M3B4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBnYXA6IDRweDtcbiAgICAgICAgICAgIGNvbG9yOiAjYjY3ZjAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnRyYWNraW5nLWRldmljZS1zaWduYWwge1xuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdHJhY2tpbmctZ3JlZW4pO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5idG4tZ3JvdXAge1xuICAgICAgICAgICAgd2lkdGg6IDIzcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmJ0bi5vcHRpb25zIHtcbiAgICAgICAgICAgIHdpZHRoOiAyM3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGNvbG9yOiAjMzQ0MDU0O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi50cmFja2luZy1kZXZpY2Utc3RhdHVzLWFjayxcbiAgICAgICAgJi50cmFja2luZy1kZXZpY2Utc3RhdHVzLWVuZ2luZSB7XG4gICAgICAgICAgLnRyYWNraW5nLWRldmljZS1zcGVlZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC50cmFja2luZy1kZXZpY2Utc3RvcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICA+IC5jaGVja2JveCBsYWJlbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10cmFja2luZy1hbWJlcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPiAuZGV0YWlscyAudHJhY2tpbmctZGV2aWNlLXNpZ25hbCB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdHJhY2tpbmctYW1iZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYudHJhY2tpbmctZGV2aWNlLXN0YXR1cy1vZmZsaW5lIHtcbiAgICAgICAgICAudHJhY2tpbmctZGV2aWNlLXNwZWVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPiAuY2hlY2tib3ggbGFiZWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdHJhY2tpbmctcmVkKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICA+IC5kZXRhaWxzIC50cmFja2luZy1kZXZpY2Utc2lnbmFsIHtcbiAgICAgICAgICAgIGNvbG9yOiAjOThhMmIzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYudHJhY2tpbmctZGV2aWNlLXN0YXR1cy1pbmFjdGl2ZSxcbiAgICAgICAgJi50cmFja2luZy1kZXZpY2Utc3RhdHVzLWJsb2NrZWQge1xuICAgICAgICAgIC50cmFja2luZy1kZXZpY2Utc3BlZWQsXG4gICAgICAgICAgLnRyYWNraW5nLWRldmljZS1zdG9wIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPiAuY2hlY2tib3ggbGFiZWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzdjODc5NjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICA+IC5kZXRhaWxzIC50cmFja2luZy1kZXZpY2Utc2lnbmFsIHtcbiAgICAgICAgICAgIGNvbG9yOiAjOThhMmIzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50cmFja2luZy1hZGQtdW5pdC1yb3cge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBwYWRkaW5nOiA5cHggMTRweCAxNHB4O1xuICAgIH1cblxuICAgIC50cmFja2luZy1hZGQtdW5pdC1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC50cmFja2luZy1hZGQtdW5pdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiA1M3B4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMTRweDtcbiAgICAgIHBhZGRpbmc6IDAgMTdweDtcbiAgICAgIGNvbG9yOiB2YXIoLS10cmFja2luZy1ncmVlbik7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10cmFja2luZy1zdXJmYWNlKTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRyYWNraW5nLWJvcmRlcik7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMXB4O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10cmFja2luZy1ncmVlbi1kYXJrKTtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y4ZmNmOTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjY2ZlNmQ2O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG5cbiAgICAgID4gLmZhLXBsdXMge1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICB9XG5cbiAgICAgIC50cmFja2luZy1hZGQtdW5pdC1jYXJldCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNtYXBXcmFwIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMTA7XG4gICAgdG9wOiB2YXIoLS10cmFja2luZy1oZWFkZXItaGVpZ2h0KTtcbiAgICByaWdodDogdmFyKC0tdHJhY2tpbmctbWFwLWdhcCk7XG4gICAgYm90dG9tOiB2YXIoLS10cmFja2luZy1tYXAtYm90dG9tKTtcbiAgICBsZWZ0OiBjYWxjKHZhcigtLXRyYWNraW5nLW5hdi13aWR0aCkgKyB2YXIoLS10cmFja2luZy1wYW5lbC13aWR0aCkpO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICNlZWYyZWQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdHJhY2tpbmctYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDE0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjA1KTtcbiAgICAvLyBOT1RFOiBkbyBub3QgdHJhbnNpdGlvbiBgbGVmdGAvYHRvcGAgaGVyZSAoc2VlICNzaWRlYmFyIG5vdGUpLiBBbmltYXRpbmdcbiAgICAvLyB0aGVzZSB2YXJpYWJsZS1kZXJpdmVkIGxlbmd0aHMgZ2V0cyBzdHVjayBydW5uaW5nIGFuZCBwaW5zIHRoZSBtYXAgdG9cbiAgICAvLyBsZWZ0OjAgLyB0b3A6NzAsIG92ZXJsYXlpbmcgdGhlIG5hdmlnYXRpb24gYW5kIHNpZGUgcGFuZWwuXG4gIH1cblxuICAjc2lkZWJhci5jb2xsYXBzZWQgKyAjbWFwV3JhcCB7XG4gICAgbGVmdDogY2FsYyh2YXIoLS10cmFja2luZy1uYXYtd2lkdGgpICsgdmFyKC0tdHJhY2tpbmctbWFwLWdhcCkpO1xuICB9XG5cbiAgLy8gRW4gbGEgdmlzdGEgcHJpbmNpcGFsLCBlbCBtYXBhIGNvbnRpbsO6YSBwb3IgZGViYWpvIGRlbCBwYW5lbCBsYXRlcmFsLlxuICAvLyBFbCBjb250ZW5lZG9yIGdyYW5kZSBxdWVkYSB0cmFuc3BhcmVudGUsIG1pZW50cmFzIHRhcmpldGFzIHkgY29udHJvbGVzXG4gIC8vIGNvbnNlcnZhbiBzdXMgc3VwZXJmaWNpZXMgcGFyYSBxdWUgbGEgaW5mb3JtYWNpw7NuIHNpZ2Egc2llbmRvIGxlZ2libGUuXG4gICYudHJhY2tpbmctc2VjdGlvbi11bml0cyB7XG4gICAgI3NpZGViYXIgLnNpZGViYXItY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzgpO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDIyNiwgMjMyLCAyNDAsIDAuODIpO1xuICAgICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KSBzYXR1cmF0ZSgxLjA4KTtcbiAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpIHNhdHVyYXRlKDEuMDgpO1xuICAgIH1cblxuICAgICNtYXBXcmFwIHtcbiAgICAgIGxlZnQ6IGNhbGModmFyKC0tdHJhY2tpbmctbmF2LXdpZHRoKSArIHZhcigtLXRyYWNraW5nLW1hcC1nYXApKTtcbiAgICB9XG4gIH1cblxuICAjbWFwIHtcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuXG4gICAgLmxlYWZsZXQtdGlsZS1wYW5lIHtcbiAgICAgIGZpbHRlcjogc2F0dXJhdGUoMC43NikgYnJpZ2h0bmVzcygxLjA0KSBjb250cmFzdCgwLjkyKTtcbiAgICB9XG4gIH1cblxuICAudHJhY2tpbmctbWFwLXJlZnJlc2gsXG4gIC50cmFja2luZy1tYXAtbW9kZSxcbiAgLnRyYWNraW5nLW1hcC1rcGlzLFxuICAudHJhY2tpbmctcXVpY2stZmlsdGVycyxcbiAgI21hcC1jb250cm9scyB7XG4gICAgei1pbmRleDogODAwO1xuICB9XG5cbiAgLnRyYWNraW5nLW1hcC1yZWZyZXNoIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNXB4O1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Nik7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMzEsIDIzNSwgMjM5LCAwLjk1KTtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXRyYWNraW5nLWZsb2F0LXNoYWRvdyk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG4gIH1cblxuICAudHJhY2tpbmctbWFwLXJlZnJlc2gtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogMCAxN3B4O1xuICAgIGNvbG9yOiB2YXIoLS10cmFja2luZy1ncmVlbik7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXRyYWNraW5nLWJvcmRlcik7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAmOmhvdmVyIGkge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIH1cblxuICAgIGkge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGVhc2U7XG4gICAgfVxuICB9XG5cbiAgLnRyYWNraW5nLW1hcC1yZWZyZXNoLXRpbWUge1xuICAgIG1pbi13aWR0aDogMTA2cHg7XG4gICAgcGFkZGluZzogMCAxNHB4O1xuICAgIGNvbG9yOiAjN2I4Nzk3O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAvLyBTZWxlY3RvciBkZSBjYXBhcyBuYXRpdm8gZGUgTGVhZmxldCwgcmVzdGlsaXphZG8gY29tbyBjb250cm9sIGxpbXBpbyBjb25cbiAgLy8gbG9zIDggbWFwYXMuIFJlZW1wbGF6YSBhbCBhbnRpZ3VvIHRvZ2dsZSBNYXBhL1NhdMOpbGl0ZSAocmV0aXJhZG8gZGVsXG4gIC8vIGxheW91dCkuIENvbGFwc2FkbyA9IGJvdMOzbjsgYWwgcGFzYXIgZWwgbW91c2Ugc2UgZGVzcGxpZWdhIGxhIHRhcmpldGEuXG4gIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGUge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICB3aWR0aDogNDhweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogNDhweCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLy8gTWF0YXIgZWwgc3ByaXRlL2ljb25vIGxlZ2FjeTsgdXNhbW9zIHVuIGdsaWZvIEZvbnRBd2Vzb21lIHByb3Bpby5cbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTcpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRyYWNraW5nLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS10cmFja2luZy1mbG9hdC1zaGFkb3cpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMjc4XCI7IC8vIGZhLW1hcC1vXG4gICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICBjb2xvcjogdmFyKC0tdHJhY2tpbmctZ3JlZW4pO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIEVuIGVzdGFkbyBkZXNwbGVnYWRvLCBMZWFmbGV0IG9jdWx0YSBlbCB0b2dnbGUgeSBtdWVzdHJhIGxhIGxpc3RhLlxuICAubGVhZmxldC1jb250cm9sLWxheWVycy1leHBhbmRlZCAubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIEVsIHNlbGVjdG9yIGRlIG1hcGFzIHZpdmUgZGVudHJvIGRlIGxhIGJhcnJhIHZlcnRpY2FsICNtYXAtY29udHJvbHMuIERlYmVcbiAgLy8gbWFudGVuZXIgdGFtYcOxbyBmaWpvICg0OHB4KSB5IGRlc3BsZWdhciBzdSBsaXN0YSBjb21vIHBvcG92ZXIgYWJzb2x1dG8gYSBsYVxuICAvLyBpenF1aWVyZGE7IHNpIHNlIGV4cGFuZGllcmEgZW4gZmx1am8gZW1wdWphcsOtYSBsb3MgYm90b25lcyBkZSBhYmFqbyB5IGVsXG4gIC8vIGN1cnNvciBsbyBwZXJkZXLDrWEsIHByb3ZvY2FuZG8gZWwgcGFycGFkZW8gYXBhcmVjZS9kZXNhcGFyZWNlLlxuICAjbWFwLWNvbnRyb2xzIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gICNtYXAtY29udHJvbHMgLmxlYWZsZXQtY29udHJvbC1sYXllcnMtbGlzdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLy8gU2luIGh1ZWNvIGVudHJlIGJvdMOzbiB5IGxpc3RhOiB1biBnYXAgZGVqYXLDrWEgdW5hIHpvbmEgbXVlcnRhIGRvbmRlIGVsXG4gICAgLy8gY3Vyc29yIHBpZXJkZSBlbCBjb250cm9sIHkgZXN0ZSBjb2xhcHNhIChwYXJwYWRlbykuXG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBNYW50ZW5lciBlbCBib3TDs24gdmlzaWJsZSBjb21vIGFuY2xhIGRlIGhvdmVyIGN1YW5kbyBsYSBsaXN0YSBlc3TDoVxuICAvLyBkZXNwbGVnYWRhLiBTaSBzZSBvY3VsdGFyYSAocmVnbGEgZ2xvYmFsIGRlbCBwYXNvIGFudGVyaW9yKSwgYWwgZXhwYW5kaXIgZWxcbiAgLy8gY3Vyc29yIHNlIHF1ZWRhcsOtYSBzaW4gb2JqZXRpdm8geSBlbCBjb250cm9sIGNvbGFwc2Fyw61hIGFsIGluc3RhbnRlLlxuICAjbWFwLWNvbnRyb2xzIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWV4cGFuZGVkIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gUHJlZmlqbyBjb24gI21hcFdyYXAgcGFyYSBnYW5hciBlbiBlc3BlY2lmaWNpZGFkICgxLDIsMCkgYWwgPHN0eWxlPiBpbmxpbmVcbiAgLy8gZGVsIHRlbWEgU2Vvc21hcnQsIHF1ZSBmaWphIGVsIGZvbmRvIHZlcmRlIGNvbiAhaW1wb3J0YW50IHkgbWlzbWFcbiAgLy8gZXNwZWNpZmljaWRhZCBkZSBjbGFzZSAoMCwyLDApIHBlcm8gY2FyZ2FuZG8gZGVzcHXDqXMuXG4gICNtYXBXcmFwIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWxpc3Qge1xuICAgIG1pbi13aWR0aDogMTg2cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiA2cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10cmFja2luZy1zdXJmYWNlKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRyYWNraW5nLWJvcmRlcikgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHJhY2tpbmctZmxvYXQtc2hhZG93KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS10cmFja2luZy1pbmspICFpbXBvcnRhbnQ7XG5cbiAgICAubGVhZmxldC1jb250cm9sLWxheWVycy1iYXNlIGxhYmVsLFxuICAgIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLW92ZXJsYXlzIGxhYmVsLFxuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiB2YXIoLS10cmFja2luZy1pbmspICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogOXB4O1xuICAgICAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOXB4O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyID4gZGl2IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y2ZmFmNztcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGlucHV0IHtcbiAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmbGV4OiAwIDAgMTVweDtcbiAgICAgICAgYWNjZW50LWNvbG9yOiB2YXIoLS10cmFja2luZy1ncmVlbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxlYWZsZXQtY29udHJvbC1sYXllcnMtc2VwYXJhdG9yIHtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbjogNXB4IDRweDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS10cmFja2luZy1ib3JkZXIpO1xuICAgIH1cbiAgfVxuXG4gICNtYXAtY29udHJvbHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE0cHg7XG4gICAgcmlnaHQ6IDE0cHg7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbiAgICAvLyBTaW4gb3ZlcmZsb3c6IGVsIHBvcG92ZXIgZGVsIHNlbGVjdG9yIGRlIG1hcGFzIHNlIGRlc3BsaWVnYSBoYWNpYSBsYVxuICAgIC8vIGl6cXVpZXJkYSB5IHVuIG92ZXJmbG93IGFxdcOtIGxvIHJlY29ydGFyw61hLlxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgPiBkaXYsXG4gICAgPiAuYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTcpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdHJhY2tpbmctYm9yZGVyKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEzcHg7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS10cmFja2luZy1mbG9hdC1zaGFkb3cpO1xuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiAjMWYyOTM3O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICArIC5idG4ge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdHJhY2tpbmctYm9yZGVyKTtcbiAgICAgIH1cblxuICAgICAgLmljb24ge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10cmFja2luZy1ncmVlbik7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmOGZjZjk7XG4gICAgICB9XG5cbiAgICAgIC8vIEVzdGFkbyBhY3Rpdm8gZGUgbG9zIHRvZ2dsZXMgKEJvb3RzdHJhcCBkYXRhLXRvZ2dsZT1cImJ1dHRvbnNcIikuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10cmFja2luZy1ncmVlbik7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRyYWNraW5nLWdyZWVuLXNvZnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50cmFja2luZy1tYXAta3BpcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTRweDtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgd2lkdGg6IDY1MHB4O1xuICAgIGhlaWdodDogNzNweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQyMHB4KTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTcpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRyYWNraW5nLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS10cmFja2luZy1mbG9hdC1zaGFkb3cpO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTtcblxuICAgIGFydGljbGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDEzcHg7XG4gICAgICBwYWRkaW5nOiAwIDE4cHg7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS10cmFja2luZy1ib3JkZXIpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgID4gaSB7XG4gICAgICAgIHdpZHRoOiAyN3B4O1xuICAgICAgICBmbGV4OiAwIDAgMjdweDtcbiAgICAgICAgY29sb3I6IHZhcigtLXRyYWNraW5nLWdyZWVuKTtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgID4gc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cblxuICAgICAgc21hbGwsXG4gICAgICBzdHJvbmcge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgc21hbGwge1xuICAgICAgICBjb2xvcjogIzdiODc5NztcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgfVxuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10cmFja2luZy1pbmspO1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG5cbiAgICAgICYuaXMtYWxlcnQgPiBpLFxuICAgICAgJi5pcy1hbGVydCBzdHJvbmcge1xuICAgICAgICBjb2xvcjogdmFyKC0tdHJhY2tpbmctcmVkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudHJhY2tpbmctcXVpY2stZmlsdGVycyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxNHB4O1xuICAgIGJvdHRvbTogMTRweDtcbiAgfVxuXG4gIC50cmFja2luZy1xdWljay1maWx0ZXJzLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTc2cHg7XG4gICAgaGVpZ2h0OiA1MXB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMTBweDtcbiAgICBwYWRkaW5nOiAwIDE3cHg7XG4gICAgY29sb3I6IHZhcigtLXRyYWNraW5nLWdyZWVuKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTcpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRyYWNraW5nLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS10cmFja2luZy1mbG9hdC1zaGFkb3cpO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xuXG4gICAgLmZhLWZpbHRlciB7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgfVxuICB9XG5cbiAgLnRyYWNraW5nLXF1aWNrLWZpbHRlcnMtcGFuZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDU5cHg7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nOiA3cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk4KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10cmFja2luZy1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHJhY2tpbmctZmxvYXQtc2hhZG93KTtcbiAgfVxuXG4gIC50cmFja2luZy1xdWljay1maWx0ZXJzLmlzLW9wZW4ge1xuICAgIC50cmFja2luZy1xdWljay1maWx0ZXJzLXBhbmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC50cmFja2luZy1xdWljay1maWx0ZXJzLXRvZ2dsZSAuZmEtYW5nbGUtZG93biB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEVzdG9zIGdydXBvcyBkZSB0b2dnbGVzIGFob3JhIHZpdmVuIGRlbnRybyBkZSBsYSBiYXJyYSB2ZXJ0aWNhbFxuICAvLyAjbWFwLWNvbnRyb2xzIHkgaGVyZWRhbiBzdSBlc3RpbG8gKGNvbnRlbmVkb3IgYmxhbmNvLCBib3RvbmVzIGRlIDQycHggY29uXG4gIC8vIGRpdmlzb3JlcyB5IGVzdGFkbyBhY3Rpdm8gdmVyZGUpLiBTb2xvIGZvcnphbW9zIGxhIG9yaWVudGFjacOzbiBlbiBjb2x1bW5hLlxuICAjbWFwLWNvbnRyb2xzLWxheWVycyxcbiAgI2hpc3RvcnktY29udHJvbC1sYXllcnMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogMDtcbiAgICB9XG4gIH1cblxuICAubGVhZi1kZXZpY2UtbWFya2VyIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuXG4gICAgLnRyYWNraW5nLW1hcC1tYXJrZXItc3ltYm9sIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICB0b3A6IC00cHg7XG4gICAgICBsZWZ0OiAtN3B4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyOiA0cHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk4KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDE0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjE2KTtcblxuICAgICAgLmljbyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmFtZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgdG9wOiAtMnB4O1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgbGVmdDogMjFweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtaW4td2lkdGg6IDkxcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM4cHg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiA2cHggMTNweCA2cHggMjFweDtcbiAgICAgICAgY29sb3I6IHZhcigtLXRyYWNraW5nLWluayk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Nyk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRyYWNraW5nLWJvcmRlcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMTRweCAxNHB4IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDE3cHggcmdiYSgxNSwgMjMsIDQyLCAwLjEzKTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgIH1cblxuICAgICAgc3Ryb25nLFxuICAgICAgc21hbGwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRyYWNraW5nLWluayk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIH1cblxuICAgICAgc21hbGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10cmFja2luZy1ncmVlbik7XG4gICAgICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYubGVhZi1kZXZpY2Utc2VsZWN0ZWQgLm5hbWUgaSB7XG4gICAgICBib3JkZXItY29sb3I6ICNiOGRmYzM7XG4gICAgICBib3gtc2hhZG93OiAwIDdweCAyMHB4IHJnYmEoMTAsIDE1NSwgNDIsIDAuMik7XG4gICAgfVxuICB9XG5cbiAgI2JvdHRvbWJhciB7XG4gICAgbGVmdDogY2FsYyh2YXIoLS10cmFja2luZy1uYXYtd2lkdGgpICsgdmFyKC0tdHJhY2tpbmctcGFuZWwtd2lkdGgpKTtcbiAgfVxuXG4gICNzaWRlYmFyLmNvbGxhcHNlZCB+ICNib3R0b21iYXIge1xuICAgIGxlZnQ6IHZhcigtLXRyYWNraW5nLW5hdi13aWR0aCk7XG4gIH1cblxuICAmLnRyYWNraW5nLXRoZW1lLWRhcmsge1xuICAgIC0tdHJhY2tpbmctaW5rOiAjZjJmNGY3O1xuICAgIC0tdHJhY2tpbmctbXV0ZWQ6ICM5OGEyYjM7XG4gICAgLS10cmFja2luZy1ib3JkZXI6ICMzNDQwNTQ7XG4gICAgLS10cmFja2luZy1zdXJmYWNlOiAjMTgyMTJmO1xuICAgIC0tdHJhY2tpbmctY2FudmFzOiAjMTAxNzIyO1xuICAgIC0tdHJhY2tpbmctZ3JlZW4tc29mdDogIzE3MzUyMztcbiAgICAtLXRyYWNraW5nLW5hdi1pbms6ICNlNGU3ZWM7XG5cbiAgICAjbWFwIC5sZWFmbGV0LXRpbGUtcGFuZSB7XG4gICAgICBmaWx0ZXI6IHNhdHVyYXRlKDAuNjUpIGJyaWdodG5lc3MoMC42OCkgY29udHJhc3QoMS4wOCk7XG4gICAgfVxuXG4gICAgLmRhc2hib2FyZC1uYXYtbGluayxcbiAgICAudHJhY2tpbmctbG9nb3V0LFxuICAgICNoZWFkZXIudHJhY2tpbmctdG9wYmFyIC50cmFja2luZy10b3BiYXItYWN0aW9uID4gYSxcbiAgICAjb2JqZWN0c190YWIgLmdyb3VwLWxpc3QgPiBsaSxcbiAgICAjb2JqZWN0c190YWIgLnRyYWNraW5nLWdyb3VwLWhlYWRpbmcge1xuICAgICAgY29sb3I6ICNlNGU3ZWM7XG4gICAgfVxuXG4gICAgLnRyYWNraW5nLXRoZW1lLXN3aXRjaCxcbiAgICAjb2JqZWN0c190YWIgLmdyb3VwLWxpc3QgPiBsaTpob3ZlcixcbiAgICAjb2JqZWN0c190YWIgLmdyb3VwLWxpc3QgPiBsaS5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogIzIwMmIzYTtcbiAgICB9XG5cbiAgICAjbWFwV3JhcCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTgyMTJmO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLWhlaWdodDogODgwcHgpIHtcbiAgLnRyYWNraW5nLWRhc2hib2FyZCAudHJhY2tpbmctbmF2aWdhdGlvbi1mb290ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDM2cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEzOTlweCkge1xuICAudHJhY2tpbmctZGFzaGJvYXJkIHtcbiAgICAtLXRyYWNraW5nLW5hdi13aWR0aDogMTM4cHg7XG4gICAgLS10cmFja2luZy1wYW5lbC13aWR0aDogNDIwcHg7XG5cbiAgICAvLyBCYXJyYSBzdXBlcmlvciBtw6FzIGp1c3RhOiBkZWphciBzb2xvIGljb25vICsgdGllbXBvIGVuIFwiQWN0dWFsaXphclwiLlxuICAgICNoZWFkZXIudHJhY2tpbmctdG9wYmFyIC50cmFja2luZy1yZWZyZXNoLWFjdGlvbiAudHJhY2tpbmctbWFwLXJlZnJlc2gtYnV0dG9uIHNwYW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZGFzaGJvYXJkLW5hdi1saW5rIHtcbiAgICAgIGdhcDogMTFweDtcbiAgICAgIHBhZGRpbmc6IDAgMTFweDtcbiAgICB9XG5cbiAgICAudHJhY2tpbmctc3VtbWFyeS1jYXJkIHtcbiAgICAgIGhlaWdodDogMTIycHg7XG4gICAgICBwYWRkaW5nOiAxMnB4IDlweCAxMHB4O1xuXG4gICAgICAudHJhY2tpbmctc3VtbWFyeS1pY29uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICNvYmplY3RzX3RhYiB7XG4gICAgICAudHJhY2tpbmctdmlldy10YWJzIHtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgfVxuXG4gICAgICAudHJhY2tpbmctdW5pdC1zZWFyY2gge1xuICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgIGZsZXgtYmFzaXM6IDE1MHB4O1xuICAgICAgfVxuXG4gICAgICAuZ3JvdXAtbGlzdCA+IGxpID4gLm5hbWUgW2RhdGEtZGV2aWNlPVwidGltZVwiXSxcbiAgICAgIC5ncm91cC1saXN0ID4gbGkgPiAubmFtZSBbZGF0YS1kZXZpY2U9XCJ0aW1lX3RleHRcIl0ge1xuICAgICAgICBtYXgtd2lkdGg6IDE0NXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50cmFja2luZy1tYXAta3BpcyB7XG4gICAgICB3aWR0aDogNTcwcHg7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDM2MHB4KTtcblxuICAgICAgYXJ0aWNsZSB7XG4gICAgICAgIGdhcDogOXB4O1xuICAgICAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDk5cHgpIHtcbiAgLnRyYWNraW5nLWRhc2hib2FyZCB7XG4gICAgLS10cmFja2luZy1uYXYtd2lkdGg6IDc4cHg7XG4gICAgLS10cmFja2luZy1wYW5lbC13aWR0aDogMzkwcHg7XG5cbiAgICAjZGFzaGJvYXJkLW5hdmlnYXRpb24ge1xuICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgfVxuXG4gICAgLnRyYWNraW5nLWJyYW5kIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDU4cHg7XG4gICAgfVxuXG4gICAgLmRhc2hib2FyZC1uYXYtbGluayB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgID4gc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRyYWNraW5nLWFjY291bnQtY2FyZCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDhweDtcblxuICAgICAgLnRyYWNraW5nLWFjY291bnQtY29weSxcbiAgICAgID4gLmZhLWFuZ2xlLWRvd24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50cmFja2luZy10aGVtZS1zd2l0Y2gge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBnYXA6IDRweDtcbiAgICAgIHBhZGRpbmc6IDNweDtcblxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50cmFja2luZy1sb2dvdXQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAxMnB4IDA7XG5cbiAgICAgID4gc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI2hlYWRlci50cmFja2luZy10b3BiYXIge1xuICAgICAgLnRyYWNraW5nLXRvcGJhci1zZWFyY2gge1xuICAgICAgICB3aWR0aDogMzMwcHg7XG4gICAgICAgIGZsZXgtYmFzaXM6IDMzMHB4O1xuICAgICAgfVxuXG4gICAgICAudHJhY2tpbmctdG9wYmFyLWFjdGlvbnMge1xuICAgICAgICBnYXA6IDdweDtcbiAgICAgIH1cblxuICAgICAgLnRyYWNraW5nLXRvcGJhci1hY3Rpb24gPiBhIHtcbiAgICAgICAgd2lkdGg6IDQzcHg7XG4gICAgICAgIGhlaWdodDogNDNweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudHJhY2tpbmctbWFwLWtwaXMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50cmFja2luZy1kYXNoYm9hcmQge1xuICAgIC0tdHJhY2tpbmctbmF2LXdpZHRoOiA2OHB4O1xuICAgIC0tdHJhY2tpbmctcGFuZWwtd2lkdGg6IGNhbGMoMTAwdncgLSA2OHB4KTtcbiAgICAtLXRyYWNraW5nLWhlYWRlci1oZWlnaHQ6IDcwcHg7XG4gICAgLS10cmFja2luZy1tYXAtZ2FwOiAwcHg7XG4gICAgLS10cmFja2luZy1tYXAtYm90dG9tOiAwcHg7XG5cbiAgICAjZGFzaGJvYXJkLW5hdmlnYXRpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgfVxuXG4gICAgLnRyYWNraW5nLWJyYW5kIHtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICAgIGZsZXgtYmFzaXM6IDU4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuXG4gICAgLnRyYWNraW5nLW1haW4tbmF2IHtcbiAgICAgIGdhcDogM3B4O1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG5cbiAgICAuZGFzaGJvYXJkLW5hdi1saW5rIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gICAgICBmbGV4LWJhc2lzOiA0OHB4O1xuICAgIH1cblxuICAgIC50cmFja2luZy1uYXZpZ2F0aW9uLWZvb3RlciAudHJhY2tpbmctYWNjb3VudC1jYXJkLFxuICAgIC50cmFja2luZy10aGVtZS1zd2l0Y2gge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAjaGVhZGVyLnRyYWNraW5nLXRvcGJhciB7XG4gICAgICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgfVxuXG4gICAgICAudHJhY2tpbmctdG9wYmFyLXNlYXJjaCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0OHB4KTtcbiAgICAgICAgaGVpZ2h0OiA0M3B4O1xuICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLSA0OHB4KTtcblxuICAgICAgICBrYmQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm5hdmJhci10b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA2MXB4O1xuICAgICAgICByaWdodDogOHB4O1xuICAgICAgICB3aWR0aDogMjYwcHg7XG4gICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdHJhY2tpbmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRyYWNraW5nLWJvcmRlcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEzcHg7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLXRyYWNraW5nLWZsb2F0LXNoYWRvdyk7XG5cbiAgICAgICAgJi5jb2xsYXBzZTpub3QoLmluKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50cmFja2luZy10b3BiYXItYWN0aW9ucyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3NpZGViYXIge1xuICAgICAgei1pbmRleDogMTAyMDtcbiAgICAgIG1heC13aWR0aDogNDMwcHg7XG4gICAgICBib3gtc2hhZG93OiAxMHB4IDAgMzBweCByZ2JhKDE1LCAyMywgNDIsIDAuMTIpO1xuXG4gICAgICAuYnRuLWNvbGxhcHNlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjc2lkZWJhci5jb2xsYXBzZWQgKyAjbWFwV3JhcCB7XG4gICAgICBsZWZ0OiB2YXIoLS10cmFja2luZy1uYXYtd2lkdGgpO1xuICAgIH1cblxuICAgICNtYXBXcmFwIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAjbWFwIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLnRyYWNraW5nLW1hcC1yZWZyZXNoIHtcbiAgICAgIHRvcDogOXB4O1xuICAgICAgbGVmdDogOXB4O1xuICAgIH1cblxuICAgIC50cmFja2luZy1tYXAtbW9kZSB7XG4gICAgICB0b3A6IDlweDtcbiAgICAgIHJpZ2h0OiA5cHg7XG4gICAgfVxuXG4gICAgLnRyYWNraW5nLXF1aWNrLWZpbHRlcnMge1xuICAgICAgcmlnaHQ6IDlweDtcbiAgICAgIGJvdHRvbTogOXB4O1xuICAgIH1cblxuICAgICNtYXAtY29udHJvbHMge1xuICAgICAgdG9wOiA5cHg7XG4gICAgICByaWdodDogOXB4O1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1heC1oZWlnaHQ6IDc2MHB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRyYWNraW5nLWRhc2hib2FyZCB7XG4gICAgLnRyYWNraW5nLWJyYW5kIHtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIGZsZXgtYmFzaXM6IDUwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgfVxuXG4gICAgLnRyYWNraW5nLW1haW4tbmF2IHtcbiAgICAgIGdhcDogMnB4O1xuICAgIH1cblxuICAgIC5kYXNoYm9hcmQtbmF2LWxpbmsge1xuICAgICAgbWluLWhlaWdodDogNDVweDtcbiAgICAgIGZsZXgtYmFzaXM6IDQ1cHg7XG4gICAgfVxuXG4gICAgLnRyYWNraW5nLXRoZW1lLXN3aXRjaCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIE1hbnRlbmVyIGNvbXBsZXRhIGxhIGJhcnJhIGRlcmVjaGEgZW4gbGFwdG9wcyB5IHZlbnRhbmFzIGRlIHBvY2EgYWx0dXJhLlxuICAgICNtYXAtY29udHJvbHMge1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgZ2FwOiA2cHg7XG5cbiAgICAgIC5idG4ge1xuICAgICAgICB3aWR0aDogMzhweDtcbiAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgfVxuXG4gICAgICAubGVhZmxldC1jb250cm9sLWxheWVycyB7XG4gICAgICAgIHdpZHRoOiAzOHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICB9XG5cbiAgICAgIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSB7XG4gICAgICAgIHdpZHRoOiAzOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50cmFja2luZy1zdW1tYXJ5IHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgLnRyYWNraW5nLXN1bW1hcnktaGVhZGluZyB7XG4gICAgICBoZWlnaHQ6IDM0cHg7XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGhlaWdodDogMzFweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudHJhY2tpbmctc3VtbWFyeS1jYXJkIHtcbiAgICAgIGhlaWdodDogOTlweDtcbiAgICAgIHBhZGRpbmc6IDhweDtcblxuICAgICAgLnRyYWNraW5nLXN1bW1hcnktaWNvbiB7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgfVxuXG4gICAgICAudHJhY2tpbmctc3VtbWFyeS1sYWJlbCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgICAgfVxuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB9XG5cbiAgICAgIHNtYWxsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ== */
