@import url(http://fonts.googleapis.com/css?family=Inconsolata|Roboto|Oswald);
meta.foundation-version {
  font-family: "/5.5.3/";
}

meta.foundation-mq-small {
  font-family: "/only screen/";
  width: 0;
}

meta.foundation-mq-small-only {
  font-family: "/only screen and (max-width: 40em)/";
  width: 0;
}

meta.foundation-mq-medium {
  font-family: "/only screen and (min-width:40.0625em)/";
  width: 40.0625em;
}

meta.foundation-mq-medium-only {
  font-family: "/only screen and (min-width:40.0625em) and (max-width:64em)/";
  width: 40.0625em;
}

meta.foundation-mq-large {
  font-family: "/only screen and (min-width:64.0625em)/";
  width: 64.0625em;
}

meta.foundation-mq-large-only {
  font-family: "/only screen and (min-width:64.0625em) and (max-width:90em)/";
  width: 64.0625em;
}

meta.foundation-mq-xlarge {
  font-family: "/only screen and (min-width:90.0625em)/";
  width: 90.0625em;
}

meta.foundation-mq-xlarge-only {
  font-family: "/only screen and (min-width:90.0625em) and (max-width:120em)/";
  width: 90.0625em;
}

meta.foundation-mq-xxlarge {
  font-family: "/only screen and (min-width:120.0625em)/";
  width: 120.0625em;
}

meta.foundation-data-attribute-namespace {
  font-family: false;
}

html, body {
  height: 100%;
}

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

html,
body {
  font-size: 100%;
}

body {
  background: #fff;
  color: #1E2528;
  cursor: auto;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  position: relative;
}

a:hover {
  cursor: pointer;
}

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

img {
  -ms-interpolation-mode: bicubic;
}

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

.left {
  float: left !important;
}

.right {
  float: right !important;
}

.clearfix:before, .clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

.hide {
  display: none;
}

.invisible {
  visibility: hidden;
}

.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  display: inline-block;
  vertical-align: middle;
}

textarea {
  height: auto;
  min-height: 50px;
}

select {
  width: 100%;
}

.row {
  margin: 0 auto;
  max-width: 62.5rem;
  width: 100%;
}

.row:before, .row:after {
  content: " ";
  display: table;
}

.row:after {
  clear: both;
}

.row.collapse > .column,
.row.collapse > .columns {
  padding-left: 0;
  padding-right: 0;
}

.row.collapse .row {
  margin-left: 0;
  margin-right: 0;
}

.row .row {
  margin: 0 -0.9375rem;
  max-width: none;
  width: auto;
}

.row .row:before, .row .row:after {
  content: " ";
  display: table;
}

.row .row:after {
  clear: both;
}

.row .row.collapse {
  margin: 0;
  max-width: none;
  width: auto;
}

.row .row.collapse:before, .row .row.collapse:after {
  content: " ";
  display: table;
}

.row .row.collapse:after {
  clear: both;
}

.column,
.columns {
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
  width: 100%;
  float: left;
}

.column + .column:last-child,
.columns + .column:last-child, .column +
.columns:last-child,
.columns +
.columns:last-child {
  float: right;
}

.column + .column.end,
.columns + .column.end, .column +
.columns.end,
.columns +
.columns.end {
  float: left;
}

@media only screen {
  .small-push-0 {
    position: relative;
    left: 0;
    right: auto;
  }
  .small-pull-0 {
    position: relative;
    right: 0;
    left: auto;
  }
  .small-push-1 {
    position: relative;
    left: 8.3333333333%;
    right: auto;
  }
  .small-pull-1 {
    position: relative;
    right: 8.3333333333%;
    left: auto;
  }
  .small-push-2 {
    position: relative;
    left: 16.6666666667%;
    right: auto;
  }
  .small-pull-2 {
    position: relative;
    right: 16.6666666667%;
    left: auto;
  }
  .small-push-3 {
    position: relative;
    left: 25%;
    right: auto;
  }
  .small-pull-3 {
    position: relative;
    right: 25%;
    left: auto;
  }
  .small-push-4 {
    position: relative;
    left: 33.3333333333%;
    right: auto;
  }
  .small-pull-4 {
    position: relative;
    right: 33.3333333333%;
    left: auto;
  }
  .small-push-5 {
    position: relative;
    left: 41.6666666667%;
    right: auto;
  }
  .small-pull-5 {
    position: relative;
    right: 41.6666666667%;
    left: auto;
  }
  .small-push-6 {
    position: relative;
    left: 50%;
    right: auto;
  }
  .small-pull-6 {
    position: relative;
    right: 50%;
    left: auto;
  }
  .small-push-7 {
    position: relative;
    left: 58.3333333333%;
    right: auto;
  }
  .small-pull-7 {
    position: relative;
    right: 58.3333333333%;
    left: auto;
  }
  .small-push-8 {
    position: relative;
    left: 66.6666666667%;
    right: auto;
  }
  .small-pull-8 {
    position: relative;
    right: 66.6666666667%;
    left: auto;
  }
  .small-push-9 {
    position: relative;
    left: 75%;
    right: auto;
  }
  .small-pull-9 {
    position: relative;
    right: 75%;
    left: auto;
  }
  .small-push-10 {
    position: relative;
    left: 83.3333333333%;
    right: auto;
  }
  .small-pull-10 {
    position: relative;
    right: 83.3333333333%;
    left: auto;
  }
  .small-push-11 {
    position: relative;
    left: 91.6666666667%;
    right: auto;
  }
  .small-pull-11 {
    position: relative;
    right: 91.6666666667%;
    left: auto;
  }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left;
  }
  .small-1 {
    width: 8.3333333333%;
  }
  .small-2 {
    width: 16.6666666667%;
  }
  .small-3 {
    width: 25%;
  }
  .small-4 {
    width: 33.3333333333%;
  }
  .small-5 {
    width: 41.6666666667%;
  }
  .small-6 {
    width: 50%;
  }
  .small-7 {
    width: 58.3333333333%;
  }
  .small-8 {
    width: 66.6666666667%;
  }
  .small-9 {
    width: 75%;
  }
  .small-10 {
    width: 83.3333333333%;
  }
  .small-11 {
    width: 91.6666666667%;
  }
  .small-12 {
    width: 100%;
  }
  .small-offset-0 {
    margin-left: 0 !important;
  }
  .small-offset-1 {
    margin-left: 8.3333333333% !important;
  }
  .small-offset-2 {
    margin-left: 16.6666666667% !important;
  }
  .small-offset-3 {
    margin-left: 25% !important;
  }
  .small-offset-4 {
    margin-left: 33.3333333333% !important;
  }
  .small-offset-5 {
    margin-left: 41.6666666667% !important;
  }
  .small-offset-6 {
    margin-left: 50% !important;
  }
  .small-offset-7 {
    margin-left: 58.3333333333% !important;
  }
  .small-offset-8 {
    margin-left: 66.6666666667% !important;
  }
  .small-offset-9 {
    margin-left: 75% !important;
  }
  .small-offset-10 {
    margin-left: 83.3333333333% !important;
  }
  .small-offset-11 {
    margin-left: 91.6666666667% !important;
  }
  .small-reset-order {
    float: left;
    left: auto;
    margin-left: 0;
    margin-right: 0;
    right: auto;
  }
  .column.small-centered,
  .columns.small-centered {
    margin-left: auto;
    margin-right: auto;
    float: none;
  }
  .column.small-uncentered,
  .columns.small-uncentered {
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
  .column.small-centered:last-child,
  .columns.small-centered:last-child {
    float: none;
  }
  .column.small-uncentered:last-child,
  .columns.small-uncentered:last-child {
    float: left;
  }
  .column.small-uncentered.opposite,
  .columns.small-uncentered.opposite {
    float: right;
  }
  .row.small-collapse > .column,
  .row.small-collapse > .columns {
    padding-left: 0;
    padding-right: 0;
  }
  .row.small-collapse .row {
    margin-left: 0;
    margin-right: 0;
  }
  .row.small-uncollapse > .column,
  .row.small-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left;
  }
}

@media only screen and (min-width: 40.0625em) {
  .medium-push-0 {
    position: relative;
    left: 0;
    right: auto;
  }
  .medium-pull-0 {
    position: relative;
    right: 0;
    left: auto;
  }
  .medium-push-1 {
    position: relative;
    left: 8.3333333333%;
    right: auto;
  }
  .medium-pull-1 {
    position: relative;
    right: 8.3333333333%;
    left: auto;
  }
  .medium-push-2 {
    position: relative;
    left: 16.6666666667%;
    right: auto;
  }
  .medium-pull-2 {
    position: relative;
    right: 16.6666666667%;
    left: auto;
  }
  .medium-push-3 {
    position: relative;
    left: 25%;
    right: auto;
  }
  .medium-pull-3 {
    position: relative;
    right: 25%;
    left: auto;
  }
  .medium-push-4 {
    position: relative;
    left: 33.3333333333%;
    right: auto;
  }
  .medium-pull-4 {
    position: relative;
    right: 33.3333333333%;
    left: auto;
  }
  .medium-push-5 {
    position: relative;
    left: 41.6666666667%;
    right: auto;
  }
  .medium-pull-5 {
    position: relative;
    right: 41.6666666667%;
    left: auto;
  }
  .medium-push-6 {
    position: relative;
    left: 50%;
    right: auto;
  }
  .medium-pull-6 {
    position: relative;
    right: 50%;
    left: auto;
  }
  .medium-push-7 {
    position: relative;
    left: 58.3333333333%;
    right: auto;
  }
  .medium-pull-7 {
    position: relative;
    right: 58.3333333333%;
    left: auto;
  }
  .medium-push-8 {
    position: relative;
    left: 66.6666666667%;
    right: auto;
  }
  .medium-pull-8 {
    position: relative;
    right: 66.6666666667%;
    left: auto;
  }
  .medium-push-9 {
    position: relative;
    left: 75%;
    right: auto;
  }
  .medium-pull-9 {
    position: relative;
    right: 75%;
    left: auto;
  }
  .medium-push-10 {
    position: relative;
    left: 83.3333333333%;
    right: auto;
  }
  .medium-pull-10 {
    position: relative;
    right: 83.3333333333%;
    left: auto;
  }
  .medium-push-11 {
    position: relative;
    left: 91.6666666667%;
    right: auto;
  }
  .medium-pull-11 {
    position: relative;
    right: 91.6666666667%;
    left: auto;
  }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left;
  }
  .medium-1 {
    width: 8.3333333333%;
  }
  .medium-2 {
    width: 16.6666666667%;
  }
  .medium-3 {
    width: 25%;
  }
  .medium-4 {
    width: 33.3333333333%;
  }
  .medium-5 {
    width: 41.6666666667%;
  }
  .medium-6 {
    width: 50%;
  }
  .medium-7 {
    width: 58.3333333333%;
  }
  .medium-8 {
    width: 66.6666666667%;
  }
  .medium-9 {
    width: 75%;
  }
  .medium-10 {
    width: 83.3333333333%;
  }
  .medium-11 {
    width: 91.6666666667%;
  }
  .medium-12 {
    width: 100%;
  }
  .medium-offset-0 {
    margin-left: 0 !important;
  }
  .medium-offset-1 {
    margin-left: 8.3333333333% !important;
  }
  .medium-offset-2 {
    margin-left: 16.6666666667% !important;
  }
  .medium-offset-3 {
    margin-left: 25% !important;
  }
  .medium-offset-4 {
    margin-left: 33.3333333333% !important;
  }
  .medium-offset-5 {
    margin-left: 41.6666666667% !important;
  }
  .medium-offset-6 {
    margin-left: 50% !important;
  }
  .medium-offset-7 {
    margin-left: 58.3333333333% !important;
  }
  .medium-offset-8 {
    margin-left: 66.6666666667% !important;
  }
  .medium-offset-9 {
    margin-left: 75% !important;
  }
  .medium-offset-10 {
    margin-left: 83.3333333333% !important;
  }
  .medium-offset-11 {
    margin-left: 91.6666666667% !important;
  }
  .medium-reset-order {
    float: left;
    left: auto;
    margin-left: 0;
    margin-right: 0;
    right: auto;
  }
  .column.medium-centered,
  .columns.medium-centered {
    margin-left: auto;
    margin-right: auto;
    float: none;
  }
  .column.medium-uncentered,
  .columns.medium-uncentered {
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
  .column.medium-centered:last-child,
  .columns.medium-centered:last-child {
    float: none;
  }
  .column.medium-uncentered:last-child,
  .columns.medium-uncentered:last-child {
    float: left;
  }
  .column.medium-uncentered.opposite,
  .columns.medium-uncentered.opposite {
    float: right;
  }
  .row.medium-collapse > .column,
  .row.medium-collapse > .columns {
    padding-left: 0;
    padding-right: 0;
  }
  .row.medium-collapse .row {
    margin-left: 0;
    margin-right: 0;
  }
  .row.medium-uncollapse > .column,
  .row.medium-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left;
  }
  .push-0 {
    position: relative;
    left: 0;
    right: auto;
  }
  .pull-0 {
    position: relative;
    right: 0;
    left: auto;
  }
  .push-1 {
    position: relative;
    left: 8.3333333333%;
    right: auto;
  }
  .pull-1 {
    position: relative;
    right: 8.3333333333%;
    left: auto;
  }
  .push-2 {
    position: relative;
    left: 16.6666666667%;
    right: auto;
  }
  .pull-2 {
    position: relative;
    right: 16.6666666667%;
    left: auto;
  }
  .push-3 {
    position: relative;
    left: 25%;
    right: auto;
  }
  .pull-3 {
    position: relative;
    right: 25%;
    left: auto;
  }
  .push-4 {
    position: relative;
    left: 33.3333333333%;
    right: auto;
  }
  .pull-4 {
    position: relative;
    right: 33.3333333333%;
    left: auto;
  }
  .push-5 {
    position: relative;
    left: 41.6666666667%;
    right: auto;
  }
  .pull-5 {
    position: relative;
    right: 41.6666666667%;
    left: auto;
  }
  .push-6 {
    position: relative;
    left: 50%;
    right: auto;
  }
  .pull-6 {
    position: relative;
    right: 50%;
    left: auto;
  }
  .push-7 {
    position: relative;
    left: 58.3333333333%;
    right: auto;
  }
  .pull-7 {
    position: relative;
    right: 58.3333333333%;
    left: auto;
  }
  .push-8 {
    position: relative;
    left: 66.6666666667%;
    right: auto;
  }
  .pull-8 {
    position: relative;
    right: 66.6666666667%;
    left: auto;
  }
  .push-9 {
    position: relative;
    left: 75%;
    right: auto;
  }
  .pull-9 {
    position: relative;
    right: 75%;
    left: auto;
  }
  .push-10 {
    position: relative;
    left: 83.3333333333%;
    right: auto;
  }
  .pull-10 {
    position: relative;
    right: 83.3333333333%;
    left: auto;
  }
  .push-11 {
    position: relative;
    left: 91.6666666667%;
    right: auto;
  }
  .pull-11 {
    position: relative;
    right: 91.6666666667%;
    left: auto;
  }
}

@media only screen and (min-width: 64.0625em) {
  .large-push-0 {
    position: relative;
    left: 0;
    right: auto;
  }
  .large-pull-0 {
    position: relative;
    right: 0;
    left: auto;
  }
  .large-push-1 {
    position: relative;
    left: 8.3333333333%;
    right: auto;
  }
  .large-pull-1 {
    position: relative;
    right: 8.3333333333%;
    left: auto;
  }
  .large-push-2 {
    position: relative;
    left: 16.6666666667%;
    right: auto;
  }
  .large-pull-2 {
    position: relative;
    right: 16.6666666667%;
    left: auto;
  }
  .large-push-3 {
    position: relative;
    left: 25%;
    right: auto;
  }
  .large-pull-3 {
    position: relative;
    right: 25%;
    left: auto;
  }
  .large-push-4 {
    position: relative;
    left: 33.3333333333%;
    right: auto;
  }
  .large-pull-4 {
    position: relative;
    right: 33.3333333333%;
    left: auto;
  }
  .large-push-5 {
    position: relative;
    left: 41.6666666667%;
    right: auto;
  }
  .large-pull-5 {
    position: relative;
    right: 41.6666666667%;
    left: auto;
  }
  .large-push-6 {
    position: relative;
    left: 50%;
    right: auto;
  }
  .large-pull-6 {
    position: relative;
    right: 50%;
    left: auto;
  }
  .large-push-7 {
    position: relative;
    left: 58.3333333333%;
    right: auto;
  }
  .large-pull-7 {
    position: relative;
    right: 58.3333333333%;
    left: auto;
  }
  .large-push-8 {
    position: relative;
    left: 66.6666666667%;
    right: auto;
  }
  .large-pull-8 {
    position: relative;
    right: 66.6666666667%;
    left: auto;
  }
  .large-push-9 {
    position: relative;
    left: 75%;
    right: auto;
  }
  .large-pull-9 {
    position: relative;
    right: 75%;
    left: auto;
  }
  .large-push-10 {
    position: relative;
    left: 83.3333333333%;
    right: auto;
  }
  .large-pull-10 {
    position: relative;
    right: 83.3333333333%;
    left: auto;
  }
  .large-push-11 {
    position: relative;
    left: 91.6666666667%;
    right: auto;
  }
  .large-pull-11 {
    position: relative;
    right: 91.6666666667%;
    left: auto;
  }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left;
  }
  .large-1 {
    width: 8.3333333333%;
  }
  .large-2 {
    width: 16.6666666667%;
  }
  .large-3 {
    width: 25%;
  }
  .large-4 {
    width: 33.3333333333%;
  }
  .large-5 {
    width: 41.6666666667%;
  }
  .large-6 {
    width: 50%;
  }
  .large-7 {
    width: 58.3333333333%;
  }
  .large-8 {
    width: 66.6666666667%;
  }
  .large-9 {
    width: 75%;
  }
  .large-10 {
    width: 83.3333333333%;
  }
  .large-11 {
    width: 91.6666666667%;
  }
  .large-12 {
    width: 100%;
  }
  .large-offset-0 {
    margin-left: 0 !important;
  }
  .large-offset-1 {
    margin-left: 8.3333333333% !important;
  }
  .large-offset-2 {
    margin-left: 16.6666666667% !important;
  }
  .large-offset-3 {
    margin-left: 25% !important;
  }
  .large-offset-4 {
    margin-left: 33.3333333333% !important;
  }
  .large-offset-5 {
    margin-left: 41.6666666667% !important;
  }
  .large-offset-6 {
    margin-left: 50% !important;
  }
  .large-offset-7 {
    margin-left: 58.3333333333% !important;
  }
  .large-offset-8 {
    margin-left: 66.6666666667% !important;
  }
  .large-offset-9 {
    margin-left: 75% !important;
  }
  .large-offset-10 {
    margin-left: 83.3333333333% !important;
  }
  .large-offset-11 {
    margin-left: 91.6666666667% !important;
  }
  .large-reset-order {
    float: left;
    left: auto;
    margin-left: 0;
    margin-right: 0;
    right: auto;
  }
  .column.large-centered,
  .columns.large-centered {
    margin-left: auto;
    margin-right: auto;
    float: none;
  }
  .column.large-uncentered,
  .columns.large-uncentered {
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
  .column.large-centered:last-child,
  .columns.large-centered:last-child {
    float: none;
  }
  .column.large-uncentered:last-child,
  .columns.large-uncentered:last-child {
    float: left;
  }
  .column.large-uncentered.opposite,
  .columns.large-uncentered.opposite {
    float: right;
  }
  .row.large-collapse > .column,
  .row.large-collapse > .columns {
    padding-left: 0;
    padding-right: 0;
  }
  .row.large-collapse .row {
    margin-left: 0;
    margin-right: 0;
  }
  .row.large-uncollapse > .column,
  .row.large-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left;
  }
  .push-0 {
    position: relative;
    left: 0;
    right: auto;
  }
  .pull-0 {
    position: relative;
    right: 0;
    left: auto;
  }
  .push-1 {
    position: relative;
    left: 8.3333333333%;
    right: auto;
  }
  .pull-1 {
    position: relative;
    right: 8.3333333333%;
    left: auto;
  }
  .push-2 {
    position: relative;
    left: 16.6666666667%;
    right: auto;
  }
  .pull-2 {
    position: relative;
    right: 16.6666666667%;
    left: auto;
  }
  .push-3 {
    position: relative;
    left: 25%;
    right: auto;
  }
  .pull-3 {
    position: relative;
    right: 25%;
    left: auto;
  }
  .push-4 {
    position: relative;
    left: 33.3333333333%;
    right: auto;
  }
  .pull-4 {
    position: relative;
    right: 33.3333333333%;
    left: auto;
  }
  .push-5 {
    position: relative;
    left: 41.6666666667%;
    right: auto;
  }
  .pull-5 {
    position: relative;
    right: 41.6666666667%;
    left: auto;
  }
  .push-6 {
    position: relative;
    left: 50%;
    right: auto;
  }
  .pull-6 {
    position: relative;
    right: 50%;
    left: auto;
  }
  .push-7 {
    position: relative;
    left: 58.3333333333%;
    right: auto;
  }
  .pull-7 {
    position: relative;
    right: 58.3333333333%;
    left: auto;
  }
  .push-8 {
    position: relative;
    left: 66.6666666667%;
    right: auto;
  }
  .pull-8 {
    position: relative;
    right: 66.6666666667%;
    left: auto;
  }
  .push-9 {
    position: relative;
    left: 75%;
    right: auto;
  }
  .pull-9 {
    position: relative;
    right: 75%;
    left: auto;
  }
  .push-10 {
    position: relative;
    left: 83.3333333333%;
    right: auto;
  }
  .pull-10 {
    position: relative;
    right: 83.3333333333%;
    left: auto;
  }
  .push-11 {
    position: relative;
    left: 91.6666666667%;
    right: auto;
  }
  .pull-11 {
    position: relative;
    right: 91.6666666667%;
    left: auto;
  }
}

/* small displays */
@media only screen {
  .show-for-small-only, .show-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important;
  }
  .hide-for-small-only, .hide-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important;
  }
  .visible-for-small-only, .visible-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
  }
  .hidden-for-small-only, .hidden-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
  }
  table.show-for-small-only, table.show-for-small-up, table.show-for-small, table.show-for-small-down, table.hide-for-medium-only, table.hide-for-medium-up, table.hide-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important;
  }
  thead.show-for-small-only, thead.show-for-small-up, thead.show-for-small, thead.show-for-small-down, thead.hide-for-medium-only, thead.hide-for-medium-up, thead.hide-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important;
  }
  tbody.show-for-small-only, tbody.show-for-small-up, tbody.show-for-small, tbody.show-for-small-down, tbody.hide-for-medium-only, tbody.hide-for-medium-up, tbody.hide-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important;
  }
  tr.show-for-small-only, tr.show-for-small-up, tr.show-for-small, tr.show-for-small-down, tr.hide-for-medium-only, tr.hide-for-medium-up, tr.hide-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row;
  }
  th.show-for-small-only, td.show-for-small-only, th.show-for-small-up, td.show-for-small-up, th.show-for-small, td.show-for-small, th.show-for-small-down, td.show-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.hide-for-medium-up, td.hide-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important;
  }
}

/* medium displays */
@media only screen and (min-width: 40.0625em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important;
  }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important;
  }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
  }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
  }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.show-for-medium-only, table.show-for-medium-up, table.show-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important;
  }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.show-for-medium-only, thead.show-for-medium-up, thead.show-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important;
  }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.show-for-medium-only, tbody.show-for-medium-up, tbody.show-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important;
  }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.show-for-medium-only, tr.show-for-medium-up, tr.show-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row;
  }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.show-for-medium-only, td.show-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.show-for-medium, td.show-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important;
  }
}

/* large displays */
@media only screen and (min-width: 64.0625em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important;
  }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important;
  }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
  }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
  }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.show-for-large-only, table.show-for-large-up, table.show-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important;
  }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.show-for-large-only, thead.show-for-large-up, thead.show-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important;
  }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.show-for-large-only, tbody.show-for-large-up, tbody.show-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important;
  }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.show-for-large-only, tr.show-for-large-up, tr.show-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row;
  }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.show-for-large-only, td.show-for-large-only, th.show-for-large-up, td.show-for-large-up, th.show-for-large, td.show-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important;
  }
}

/* xlarge displays */
@media only screen and (min-width: 90.0625em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important;
  }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important;
  }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
  }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
  }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.show-for-xlarge-only, table.show-for-xlarge-up, table.show-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important;
  }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.show-for-xlarge-only, thead.show-for-xlarge-up, thead.show-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important;
  }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.show-for-xlarge-only, tbody.show-for-xlarge-up, tbody.show-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important;
  }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.show-for-xlarge-only, tr.show-for-xlarge-up, tr.show-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row;
  }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.show-for-xlarge-only, td.show-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.show-for-xlarge, td.show-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important;
  }
}

/* xxlarge displays */
@media only screen and (min-width: 120.0625em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .hide-for-xlarge-only, .show-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important;
  }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .show-for-xlarge-only, .hide-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important;
  }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .hidden-for-xlarge-only, .visible-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
  }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .visible-for-xlarge-only, .hidden-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
  }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.hide-for-xlarge-only, table.show-for-xlarge-up, table.hide-for-xlarge, table.hide-for-xlarge-down, table.show-for-xxlarge-only, table.show-for-xxlarge-up, table.show-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important;
  }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.hide-for-xlarge-only, thead.show-for-xlarge-up, thead.hide-for-xlarge, thead.hide-for-xlarge-down, thead.show-for-xxlarge-only, thead.show-for-xxlarge-up, thead.show-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important;
  }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.hide-for-xlarge-only, tbody.show-for-xlarge-up, tbody.hide-for-xlarge, tbody.hide-for-xlarge-down, tbody.show-for-xxlarge-only, tbody.show-for-xxlarge-up, tbody.show-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important;
  }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.hide-for-xlarge-only, tr.show-for-xlarge-up, tr.hide-for-xlarge, tr.hide-for-xlarge-down, tr.show-for-xxlarge-only, tr.show-for-xxlarge-up, tr.show-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row;
  }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.hide-for-xlarge-down, td.hide-for-xlarge-down, th.show-for-xxlarge-only, td.show-for-xxlarge-only, th.show-for-xxlarge-up, td.show-for-xxlarge-up, th.show-for-xxlarge, td.show-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important;
  }
}

/* Orientation targeting */
.show-for-landscape,
.hide-for-portrait {
  display: inherit !important;
}

.hide-for-landscape,
.show-for-portrait {
  display: none !important;
}

/* Specific visibility for tables */
table.hide-for-landscape, table.show-for-portrait {
  display: table !important;
}

thead.hide-for-landscape, thead.show-for-portrait {
  display: table-header-group !important;
}

tbody.hide-for-landscape, tbody.show-for-portrait {
  display: table-row-group !important;
}

tr.hide-for-landscape, tr.show-for-portrait {
  display: table-row !important;
}

td.hide-for-landscape, td.show-for-portrait,
th.hide-for-landscape,
th.show-for-portrait {
  display: table-cell !important;
}

@media only screen and (orientation: landscape) {
  .show-for-landscape,
  .hide-for-portrait {
    display: inherit !important;
  }
  .hide-for-landscape,
  .show-for-portrait {
    display: none !important;
  }
  /* Specific visibility for tables */
  table.show-for-landscape, table.hide-for-portrait {
    display: table !important;
  }
  thead.show-for-landscape, thead.hide-for-portrait {
    display: table-header-group !important;
  }
  tbody.show-for-landscape, tbody.hide-for-portrait {
    display: table-row-group !important;
  }
  tr.show-for-landscape, tr.hide-for-portrait {
    display: table-row !important;
  }
  td.show-for-landscape, td.hide-for-portrait,
  th.show-for-landscape,
  th.hide-for-portrait {
    display: table-cell !important;
  }
}

@media only screen and (orientation: portrait) {
  .show-for-portrait,
  .hide-for-landscape {
    display: inherit !important;
  }
  .hide-for-portrait,
  .show-for-landscape {
    display: none !important;
  }
  /* Specific visibility for tables */
  table.show-for-portrait, table.hide-for-landscape {
    display: table !important;
  }
  thead.show-for-portrait, thead.hide-for-landscape {
    display: table-header-group !important;
  }
  tbody.show-for-portrait, tbody.hide-for-landscape {
    display: table-row-group !important;
  }
  tr.show-for-portrait, tr.hide-for-landscape {
    display: table-row !important;
  }
  td.show-for-portrait, td.hide-for-landscape,
  th.show-for-portrait,
  th.hide-for-landscape {
    display: table-cell !important;
  }
}

/* Touch-enabled device targeting */
.show-for-touch {
  display: none !important;
}

.hide-for-touch {
  display: inherit !important;
}

.touch .show-for-touch {
  display: inherit !important;
}

.touch .hide-for-touch {
  display: none !important;
}

/* Specific visibility for tables */
table.hide-for-touch {
  display: table !important;
}

.touch table.show-for-touch {
  display: table !important;
}

thead.hide-for-touch {
  display: table-header-group !important;
}

.touch thead.show-for-touch {
  display: table-header-group !important;
}

tbody.hide-for-touch {
  display: table-row-group !important;
}

.touch tbody.show-for-touch {
  display: table-row-group !important;
}

tr.hide-for-touch {
  display: table-row !important;
}

.touch tr.show-for-touch {
  display: table-row !important;
}

td.hide-for-touch {
  display: table-cell !important;
}

.touch td.show-for-touch {
  display: table-cell !important;
}

th.hide-for-touch {
  display: table-cell !important;
}

.touch th.show-for-touch {
  display: table-cell !important;
}

/* Screen reader-specific classes */
.show-for-sr {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
}

.show-on-focus {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
}

.show-on-focus:focus, .show-on-focus:active {
  position: static !important;
  height: auto;
  width: auto;
  overflow: visible;
  clip: auto;
}

/* Print visibility */
.print-only,
.show-for-print {
  display: none !important;
}

@media print {
  .print-only,
  .show-for-print {
    display: block !important;
  }
  .hide-on-print,
  .hide-for-print {
    display: none !important;
  }
  table.show-for-print {
    display: table !important;
  }
  thead.show-for-print {
    display: table-header-group !important;
  }
  tbody.show-for-print {
    display: table-row-group !important;
  }
  tr.show-for-print {
    display: table-row !important;
  }
  td.show-for-print {
    display: table-cell !important;
  }
  th.show-for-print {
    display: table-cell !important;
  }
}

[class*="block-grid-"] {
  display: block;
  padding: 0;
  margin: 0 -0.625rem;
}

[class*="block-grid-"]:before, [class*="block-grid-"]:after {
  content: " ";
  display: table;
}

[class*="block-grid-"]:after {
  clear: both;
}

[class*="block-grid-"] > li {
  display: block;
  float: left;
  height: auto;
  padding: 0 0.625rem 1.25rem;
}

@media only screen {
  .small-block-grid-1 > li {
    list-style: none;
    width: 100%;
  }
  .small-block-grid-1 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-1 > li:nth-of-type(1n+1) {
    clear: both;
  }
  .small-block-grid-2 > li {
    list-style: none;
    width: 50%;
  }
  .small-block-grid-2 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-2 > li:nth-of-type(2n+1) {
    clear: both;
  }
  .small-block-grid-3 > li {
    list-style: none;
    width: 33.3333333333%;
  }
  .small-block-grid-3 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-3 > li:nth-of-type(3n+1) {
    clear: both;
  }
  .small-block-grid-4 > li {
    list-style: none;
    width: 25%;
  }
  .small-block-grid-4 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-4 > li:nth-of-type(4n+1) {
    clear: both;
  }
  .small-block-grid-5 > li {
    list-style: none;
    width: 20%;
  }
  .small-block-grid-5 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-5 > li:nth-of-type(5n+1) {
    clear: both;
  }
  .small-block-grid-6 > li {
    list-style: none;
    width: 16.6666666667%;
  }
  .small-block-grid-6 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-6 > li:nth-of-type(6n+1) {
    clear: both;
  }
  .small-block-grid-7 > li {
    list-style: none;
    width: 14.2857142857%;
  }
  .small-block-grid-7 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-7 > li:nth-of-type(7n+1) {
    clear: both;
  }
  .small-block-grid-8 > li {
    list-style: none;
    width: 12.5%;
  }
  .small-block-grid-8 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-8 > li:nth-of-type(8n+1) {
    clear: both;
  }
  .small-block-grid-9 > li {
    list-style: none;
    width: 11.1111111111%;
  }
  .small-block-grid-9 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-9 > li:nth-of-type(9n+1) {
    clear: both;
  }
  .small-block-grid-10 > li {
    list-style: none;
    width: 10%;
  }
  .small-block-grid-10 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-10 > li:nth-of-type(10n+1) {
    clear: both;
  }
  .small-block-grid-11 > li {
    list-style: none;
    width: 9.0909090909%;
  }
  .small-block-grid-11 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-11 > li:nth-of-type(11n+1) {
    clear: both;
  }
  .small-block-grid-12 > li {
    list-style: none;
    width: 8.3333333333%;
  }
  .small-block-grid-12 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-12 > li:nth-of-type(12n+1) {
    clear: both;
  }
}

@media only screen and (min-width: 40.0625em) {
  .medium-block-grid-1 > li {
    list-style: none;
    width: 100%;
  }
  .medium-block-grid-1 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-1 > li:nth-of-type(1n+1) {
    clear: both;
  }
  .medium-block-grid-2 > li {
    list-style: none;
    width: 50%;
  }
  .medium-block-grid-2 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-2 > li:nth-of-type(2n+1) {
    clear: both;
  }
  .medium-block-grid-3 > li {
    list-style: none;
    width: 33.3333333333%;
  }
  .medium-block-grid-3 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-3 > li:nth-of-type(3n+1) {
    clear: both;
  }
  .medium-block-grid-4 > li {
    list-style: none;
    width: 25%;
  }
  .medium-block-grid-4 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-4 > li:nth-of-type(4n+1) {
    clear: both;
  }
  .medium-block-grid-5 > li {
    list-style: none;
    width: 20%;
  }
  .medium-block-grid-5 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-5 > li:nth-of-type(5n+1) {
    clear: both;
  }
  .medium-block-grid-6 > li {
    list-style: none;
    width: 16.6666666667%;
  }
  .medium-block-grid-6 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-6 > li:nth-of-type(6n+1) {
    clear: both;
  }
  .medium-block-grid-7 > li {
    list-style: none;
    width: 14.2857142857%;
  }
  .medium-block-grid-7 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-7 > li:nth-of-type(7n+1) {
    clear: both;
  }
  .medium-block-grid-8 > li {
    list-style: none;
    width: 12.5%;
  }
  .medium-block-grid-8 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-8 > li:nth-of-type(8n+1) {
    clear: both;
  }
  .medium-block-grid-9 > li {
    list-style: none;
    width: 11.1111111111%;
  }
  .medium-block-grid-9 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-9 > li:nth-of-type(9n+1) {
    clear: both;
  }
  .medium-block-grid-10 > li {
    list-style: none;
    width: 10%;
  }
  .medium-block-grid-10 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-10 > li:nth-of-type(10n+1) {
    clear: both;
  }
  .medium-block-grid-11 > li {
    list-style: none;
    width: 9.0909090909%;
  }
  .medium-block-grid-11 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-11 > li:nth-of-type(11n+1) {
    clear: both;
  }
  .medium-block-grid-12 > li {
    list-style: none;
    width: 8.3333333333%;
  }
  .medium-block-grid-12 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-12 > li:nth-of-type(12n+1) {
    clear: both;
  }
}

@media only screen and (min-width: 64.0625em) {
  .large-block-grid-1 > li {
    list-style: none;
    width: 100%;
  }
  .large-block-grid-1 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-1 > li:nth-of-type(1n+1) {
    clear: both;
  }
  .large-block-grid-2 > li {
    list-style: none;
    width: 50%;
  }
  .large-block-grid-2 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-2 > li:nth-of-type(2n+1) {
    clear: both;
  }
  .large-block-grid-3 > li {
    list-style: none;
    width: 33.3333333333%;
  }
  .large-block-grid-3 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-3 > li:nth-of-type(3n+1) {
    clear: both;
  }
  .large-block-grid-4 > li {
    list-style: none;
    width: 25%;
  }
  .large-block-grid-4 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-4 > li:nth-of-type(4n+1) {
    clear: both;
  }
  .large-block-grid-5 > li {
    list-style: none;
    width: 20%;
  }
  .large-block-grid-5 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-5 > li:nth-of-type(5n+1) {
    clear: both;
  }
  .large-block-grid-6 > li {
    list-style: none;
    width: 16.6666666667%;
  }
  .large-block-grid-6 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-6 > li:nth-of-type(6n+1) {
    clear: both;
  }
  .large-block-grid-7 > li {
    list-style: none;
    width: 14.2857142857%;
  }
  .large-block-grid-7 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-7 > li:nth-of-type(7n+1) {
    clear: both;
  }
  .large-block-grid-8 > li {
    list-style: none;
    width: 12.5%;
  }
  .large-block-grid-8 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-8 > li:nth-of-type(8n+1) {
    clear: both;
  }
  .large-block-grid-9 > li {
    list-style: none;
    width: 11.1111111111%;
  }
  .large-block-grid-9 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-9 > li:nth-of-type(9n+1) {
    clear: both;
  }
  .large-block-grid-10 > li {
    list-style: none;
    width: 10%;
  }
  .large-block-grid-10 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-10 > li:nth-of-type(10n+1) {
    clear: both;
  }
  .large-block-grid-11 > li {
    list-style: none;
    width: 9.0909090909%;
  }
  .large-block-grid-11 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-11 > li:nth-of-type(11n+1) {
    clear: both;
  }
  .large-block-grid-12 > li {
    list-style: none;
    width: 8.3333333333%;
  }
  .large-block-grid-12 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-12 > li:nth-of-type(12n+1) {
    clear: both;
  }
}

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

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

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

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

@media only screen and (max-width: 40em) {
  .small-only-text-left {
    text-align: left !important;
  }
  .small-only-text-right {
    text-align: right !important;
  }
  .small-only-text-center {
    text-align: center !important;
  }
  .small-only-text-justify {
    text-align: justify !important;
  }
}

@media only screen {
  .small-text-left {
    text-align: left !important;
  }
  .small-text-right {
    text-align: right !important;
  }
  .small-text-center {
    text-align: center !important;
  }
  .small-text-justify {
    text-align: justify !important;
  }
}

@media only screen and (min-width: 40.0625em) and (max-width: 64em) {
  .medium-only-text-left {
    text-align: left !important;
  }
  .medium-only-text-right {
    text-align: right !important;
  }
  .medium-only-text-center {
    text-align: center !important;
  }
  .medium-only-text-justify {
    text-align: justify !important;
  }
}

@media only screen and (min-width: 40.0625em) {
  .medium-text-left {
    text-align: left !important;
  }
  .medium-text-right {
    text-align: right !important;
  }
  .medium-text-center {
    text-align: center !important;
  }
  .medium-text-justify {
    text-align: justify !important;
  }
}

@media only screen and (min-width: 64.0625em) and (max-width: 90em) {
  .large-only-text-left {
    text-align: left !important;
  }
  .large-only-text-right {
    text-align: right !important;
  }
  .large-only-text-center {
    text-align: center !important;
  }
  .large-only-text-justify {
    text-align: justify !important;
  }
}

@media only screen and (min-width: 64.0625em) {
  .large-text-left {
    text-align: left !important;
  }
  .large-text-right {
    text-align: right !important;
  }
  .large-text-center {
    text-align: center !important;
  }
  .large-text-justify {
    text-align: justify !important;
  }
}

@media only screen and (min-width: 90.0625em) and (max-width: 120em) {
  .xlarge-only-text-left {
    text-align: left !important;
  }
  .xlarge-only-text-right {
    text-align: right !important;
  }
  .xlarge-only-text-center {
    text-align: center !important;
  }
  .xlarge-only-text-justify {
    text-align: justify !important;
  }
}

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

@media only screen and (min-width: 120.0625em) and (max-width: 6249999.9375em) {
  .xxlarge-only-text-left {
    text-align: left !important;
  }
  .xxlarge-only-text-right {
    text-align: right !important;
  }
  .xxlarge-only-text-center {
    text-align: center !important;
  }
  .xxlarge-only-text-justify {
    text-align: justify !important;
  }
}

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

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

/* Default Link Styles */
a {
  color: #00945D;
  line-height: inherit;
  text-decoration: none;
}

a:hover, a:focus {
  color: #007f50;
}

a img {
  border: none;
}

/* Default paragraph styles */
p {
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.6;
  margin-bottom: 1.25rem;
  text-rendering: optimizeLegibility;
}

p.lead {
  font-size: 1.21875rem;
  line-height: 1.6;
}

p aside {
  font-size: 0.875rem;
  font-style: italic;
  line-height: 1.35;
}

/* Default header styles */
h1, h2, h3, h4, h5, h6 {
  color: #222222;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 300;
  line-height: 1.4;
  margin-bottom: 0.5rem;
  margin-top: 0.2rem;
  text-rendering: optimizeLegibility;
}

h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
  color: #6f6f6f;
  font-size: 60%;
  line-height: 0;
}

h1 {
  font-size: 2.125rem;
}

h2 {
  font-size: 1.6875rem;
}

h3 {
  font-size: 1.375rem;
}

h4 {
  font-size: 1.125rem;
}

h5 {
  font-size: 1.125rem;
}

h6 {
  font-size: 1rem;
}

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

hr {
  border: solid #DDDDDD;
  border-width: 1px 0 0;
  clear: both;
  height: 0;
  margin: 1.25rem 0 1.1875rem;
}

/* Helpful Typography Defaults */
em,
i {
  font-style: italic;
  line-height: inherit;
}

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

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

code {
  background-color: #d3e0db;
  border-color: #bacec7;
  border-style: solid;
  border-width: 1px;
  color: #333333;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  padding: 0.125rem 0.3125rem 0.0625rem;
}

/* Lists */
ul,
ol,
dl {
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.6;
  list-style-position: outside;
  margin-bottom: 1.25rem;
}

ul {
  margin-left: 1.1rem;
}

/* Unordered Lists */
ul li ul,
ul li ol {
  margin-left: 1.25rem;
  margin-bottom: 0;
}

ul.square li ul, ul.circle li ul, ul.disc li ul {
  list-style: inherit;
}

ul.square {
  list-style-type: square;
  margin-left: 1.1rem;
}

ul.circle {
  list-style-type: circle;
  margin-left: 1.1rem;
}

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

/* Ordered Lists */
ol {
  margin-left: 1.4rem;
}

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

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

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

/* Definition Lists */
dl dt {
  margin-bottom: 0.3rem;
  font-weight: bold;
}

dl dd {
  margin-bottom: 0.75rem;
}

/* Abbreviations */
abbr,
acronym {
  text-transform: uppercase;
  font-size: 90%;
  color: #1E2528;
  cursor: help;
}

abbr {
  text-transform: none;
}

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

/* Blockquotes */
blockquote {
  margin: 0 0 1.25rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #DDDDDD;
}

blockquote cite {
  display: block;
  font-size: 0.8125rem;
  color: #555555;
}

blockquote cite:before {
  content: "\2014 \0020";
}

blockquote cite a,
blockquote cite a:visited {
  color: #555555;
}

blockquote,
blockquote p {
  line-height: 1.6;
  color: #6f6f6f;
}

/* Microformats */
.vcard {
  display: inline-block;
  margin: 0 0 1.25rem 0;
  border: 1px solid #DDDDDD;
  padding: 0.625rem 0.75rem;
}

.vcard li {
  margin: 0;
  display: block;
}

.vcard .fn {
  font-weight: bold;
  font-size: 0.9375rem;
}

.vevent .summary {
  font-weight: bold;
}

.vevent abbr {
  cursor: default;
  text-decoration: none;
  font-weight: bold;
  border: none;
  padding: 0 0.0625rem;
}

@media only screen and (min-width: 40.0625em) {
  h1, h2, h3, h4, h5, h6 {
    line-height: 1.4;
  }
  h1 {
    font-size: 2.75rem;
  }
  h2 {
    font-size: 2.3125rem;
  }
  h3 {
    font-size: 1.6875rem;
  }
  h4 {
    font-size: 1.4375rem;
  }
  h5 {
    font-size: 1.125rem;
  }
  h6 {
    font-size: 1rem;
  }
}

/*
       * Print styles.
       *
       * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/
       * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com)
      */
@media print {
  * {
    background: transparent !important;
    color: #000000 !important;
    /* Black prints faster: h5bp.com/s */
    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) ")";
  }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
    /* h5bp.com/t */
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.34in;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}

button, .button {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  border-style: solid;
  border-width: 0;
  cursor: pointer;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-weight: normal;
  line-height: normal;
  margin: 0 0 1.25rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  padding: 1rem 2rem 1.0625rem 2rem;
  font-size: 1rem;
  background-color: #00945D;
  border-color: #00764a;
  color: #FFFFFF;
  -webkit-transition: background-color 300ms ease-out;
  transition: background-color 300ms ease-out;
}

button:hover, button:focus, .button:hover, .button:focus {
  background-color: #00764a;
}

button:hover, button:focus, .button:hover, .button:focus {
  color: #FFFFFF;
}

button.secondary, .button.secondary {
  background-color: #6D9788;
  border-color: #57796d;
  color: #FFFFFF;
}

button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus {
  background-color: #57796d;
}

button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus {
  color: #FFFFFF;
}

button.success, .button.success {
  background-color: #43AC6A;
  border-color: #368a55;
  color: #FFFFFF;
}

button.success:hover, button.success:focus, .button.success:hover, .button.success:focus {
  background-color: #368a55;
}

button.success:hover, button.success:focus, .button.success:hover, .button.success:focus {
  color: #FFFFFF;
}

button.alert, .button.alert {
  background-color: #BF0A0D;
  border-color: #99080a;
  color: #FFFFFF;
}

button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus {
  background-color: #99080a;
}

button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus {
  color: #FFFFFF;
}

button.warning, .button.warning {
  background-color: #f08a24;
  border-color: #cf6e0e;
  color: #FFFFFF;
}

button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus {
  background-color: #cf6e0e;
}

button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus {
  color: #FFFFFF;
}

button.info, .button.info {
  background-color: #a0d3e8;
  border-color: #61b6d9;
  color: #333333;
}

button.info:hover, button.info:focus, .button.info:hover, .button.info:focus {
  background-color: #61b6d9;
}

button.info:hover, button.info:focus, .button.info:hover, .button.info:focus {
  color: #FFFFFF;
}

button.large, .button.large {
  padding: 1.125rem 2.25rem 1.1875rem 2.25rem;
  font-size: 1.25rem;
}

button.small, .button.small {
  padding: 0.875rem 1.75rem 0.9375rem 1.75rem;
  font-size: 0.8125rem;
}

button.tiny, .button.tiny {
  padding: 0.625rem 1.25rem 0.6875rem 1.25rem;
  font-size: 0.6875rem;
}

button.expand, .button.expand {
  padding: 1rem 2rem 1.0625rem 2rem;
  font-size: 1rem;
  padding-bottom: 1.0625rem;
  padding-top: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;
  width: 100%;
}

button.left-align, .button.left-align {
  text-align: left;
  text-indent: 0.75rem;
}

button.right-align, .button.right-align {
  text-align: right;
  padding-right: 0.75rem;
}

button.radius, .button.radius {
  border-radius: 0px;
}

button.round, .button.round {
  border-radius: 1000px;
}

button.disabled, button[disabled], .button.disabled, .button[disabled] {
  background-color: #00945D;
  border-color: #00764a;
  color: #FFFFFF;
  box-shadow: none;
  cursor: default;
  opacity: 0.7;
}

button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
  background-color: #00764a;
}

button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
  color: #FFFFFF;
}

button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
  background-color: #00945D;
}

button.disabled.secondary, button[disabled].secondary, .button.disabled.secondary, .button[disabled].secondary {
  background-color: #6D9788;
  border-color: #57796d;
  color: #FFFFFF;
  box-shadow: none;
  cursor: default;
  opacity: 0.7;
}

button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
  background-color: #57796d;
}

button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
  color: #FFFFFF;
}

button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
  background-color: #6D9788;
}

button.disabled.success, button[disabled].success, .button.disabled.success, .button[disabled].success {
  background-color: #43AC6A;
  border-color: #368a55;
  color: #FFFFFF;
  box-shadow: none;
  cursor: default;
  opacity: 0.7;
}

button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
  background-color: #368a55;
}

button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
  color: #FFFFFF;
}

button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
  background-color: #43AC6A;
}

button.disabled.alert, button[disabled].alert, .button.disabled.alert, .button[disabled].alert {
  background-color: #BF0A0D;
  border-color: #99080a;
  color: #FFFFFF;
  box-shadow: none;
  cursor: default;
  opacity: 0.7;
}

button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
  background-color: #99080a;
}

button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
  color: #FFFFFF;
}

button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
  background-color: #BF0A0D;
}

button.disabled.warning, button[disabled].warning, .button.disabled.warning, .button[disabled].warning {
  background-color: #f08a24;
  border-color: #cf6e0e;
  color: #FFFFFF;
  box-shadow: none;
  cursor: default;
  opacity: 0.7;
}

button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
  background-color: #cf6e0e;
}

button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
  color: #FFFFFF;
}

button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
  background-color: #f08a24;
}

button.disabled.info, button[disabled].info, .button.disabled.info, .button[disabled].info {
  background-color: #a0d3e8;
  border-color: #61b6d9;
  color: #333333;
  box-shadow: none;
  cursor: default;
  opacity: 0.7;
}

button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
  background-color: #61b6d9;
}

button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
  color: #FFFFFF;
}

button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
  background-color: #a0d3e8;
}

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

@media only screen and (min-width: 40.0625em) {
  button, .button {
    display: inline-block;
  }
}

/* Standard Forms */
form {
  margin: 0 0 1rem;
}

/* Using forms within rows, we need to set some defaults */
form .row .row {
  margin: 0 -0.5rem;
}

form .row .row .column,
form .row .row .columns {
  padding: 0 0.5rem;
}

form .row .row.collapse {
  margin: 0;
}

form .row .row.collapse .column,
form .row .row.collapse .columns {
  padding: 0;
}

form .row .row.collapse input {
  -webkit-border-bottom-right-radius: 0;
  -webkit-border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

form .row input.column,
form .row input.columns,
form .row textarea.column,
form .row textarea.columns {
  padding-left: 0.5rem;
}

/* Label Styles */
label {
  color: #4d4d4d;
  cursor: pointer;
  display: block;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.5;
  margin-bottom: 0;
  /* Styles for required inputs */
}

label.right {
  float: none !important;
  text-align: right;
}

label.inline {
  margin: 0 0 1rem 0;
  padding: 0.5625rem 0;
}

label small {
  text-transform: capitalize;
  color: #676767;
}

/* Attach elements to the beginning or end of an input */
.prefix,
.postfix {
  border-style: solid;
  border-width: 1px;
  display: block;
  font-size: 0.875rem;
  height: 2.1875rem;
  line-height: 2.1875rem;
  overflow: visible;
  padding-bottom: 0;
  padding-top: 0;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 2;
}

/* Adjust padding, alignment and radius if pre/post element is a button */
.postfix.button {
  border: none;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-top: 0;
  text-align: center;
}

.prefix.button {
  border: none;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-top: 0;
  text-align: center;
}

.prefix.button.radius {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 0px;
  -webkit-border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
  border-top-left-radius: 0px;
}

.postfix.button.radius {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 0px;
  -webkit-border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
  border-top-right-radius: 0px;
}

.prefix.button.round {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px;
}

.postfix.button.round {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px;
}

/* Separate prefix and postfix styles when on span or label so buttons keep their own */
span.prefix, label.prefix {
  background: #f2f2f2;
  border-right: none;
  color: #333333;
  border-color: #cccccc;
}

span.postfix, label.postfix {
  background: #f2f2f2;
  border-left: none;
  color: #333333;
  border-color: #cccccc;
}

/* We use this to get basic styling on all basic form elements */
input:not([type]), input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="color"], textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  background-color: #FFFFFF;
  border-style: solid;
  border-width: 1px;
  border-color: #cccccc;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  color: rgba(0, 0, 0, 0.75);
  display: block;
  font-family: inherit;
  font-size: 0.75rem;
  height: 2.1875rem;
  margin: 0 0 1rem 0;
  padding: 0.5rem;
  width: 100%;
  box-sizing: border-box;
  -webkit-transition: border-color 0.15s linear, background 0.15s linear;
  transition: border-color 0.15s linear, background 0.15s linear;
}

input:not([type]):focus, input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="color"]:focus, textarea:focus {
  background: #fafafa;
  border-color: #999999;
  outline: none;
}

input:not([type]):disabled, input[type="text"]:disabled, input[type="password"]:disabled, input[type="date"]:disabled, input[type="datetime"]:disabled, input[type="datetime-local"]:disabled, input[type="month"]:disabled, input[type="week"]:disabled, input[type="email"]:disabled, input[type="number"]:disabled, input[type="search"]:disabled, input[type="tel"]:disabled, input[type="time"]:disabled, input[type="url"]:disabled, input[type="color"]:disabled, textarea:disabled {
  background-color: #DDDDDD;
  cursor: default;
}

input:not([type])[disabled], input:not([type])[readonly],
fieldset[disabled] input:not([type]), input[type="text"][disabled], input[type="text"][readonly],
fieldset[disabled] input[type="text"], input[type="password"][disabled], input[type="password"][readonly],
fieldset[disabled] input[type="password"], input[type="date"][disabled], input[type="date"][readonly],
fieldset[disabled] input[type="date"], input[type="datetime"][disabled], input[type="datetime"][readonly],
fieldset[disabled] input[type="datetime"], input[type="datetime-local"][disabled], input[type="datetime-local"][readonly],
fieldset[disabled] input[type="datetime-local"], input[type="month"][disabled], input[type="month"][readonly],
fieldset[disabled] input[type="month"], input[type="week"][disabled], input[type="week"][readonly],
fieldset[disabled] input[type="week"], input[type="email"][disabled], input[type="email"][readonly],
fieldset[disabled] input[type="email"], input[type="number"][disabled], input[type="number"][readonly],
fieldset[disabled] input[type="number"], input[type="search"][disabled], input[type="search"][readonly],
fieldset[disabled] input[type="search"], input[type="tel"][disabled], input[type="tel"][readonly],
fieldset[disabled] input[type="tel"], input[type="time"][disabled], input[type="time"][readonly],
fieldset[disabled] input[type="time"], input[type="url"][disabled], input[type="url"][readonly],
fieldset[disabled] input[type="url"], input[type="color"][disabled], input[type="color"][readonly],
fieldset[disabled] input[type="color"], textarea[disabled], textarea[readonly],
fieldset[disabled] textarea {
  background-color: #DDDDDD;
  cursor: default;
}

input:not([type]).radius, input[type="text"].radius, input[type="password"].radius, input[type="date"].radius, input[type="datetime"].radius, input[type="datetime-local"].radius, input[type="month"].radius, input[type="week"].radius, input[type="email"].radius, input[type="number"].radius, input[type="search"].radius, input[type="tel"].radius, input[type="time"].radius, input[type="url"].radius, input[type="color"].radius, textarea.radius {
  border-radius: 0px;
}

form .row .prefix-radius.row.collapse input,
form .row .prefix-radius.row.collapse textarea,
form .row .prefix-radius.row.collapse select,
form .row .prefix-radius.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 0px;
  -webkit-border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
  border-top-right-radius: 0px;
}

form .row .prefix-radius.row.collapse .prefix {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 0px;
  -webkit-border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
  border-top-left-radius: 0px;
}

form .row .postfix-radius.row.collapse input,
form .row .postfix-radius.row.collapse textarea,
form .row .postfix-radius.row.collapse select,
form .row .postfix-radius.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 0px;
  -webkit-border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
  border-top-left-radius: 0px;
}

form .row .postfix-radius.row.collapse .postfix {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 0px;
  -webkit-border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
  border-top-right-radius: 0px;
}

form .row .prefix-round.row.collapse input,
form .row .prefix-round.row.collapse textarea,
form .row .prefix-round.row.collapse select,
form .row .prefix-round.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px;
}

form .row .prefix-round.row.collapse .prefix {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px;
}

form .row .postfix-round.row.collapse input,
form .row .postfix-round.row.collapse textarea,
form .row .postfix-round.row.collapse select,
form .row .postfix-round.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px;
}

form .row .postfix-round.row.collapse .postfix {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px;
}

input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
}

/* Respect enforced amount of rows for textarea */
textarea[rows] {
  height: auto;
}

/* Not allow resize out of parent */
textarea {
  max-width: 100%;
}

::-webkit-input-placeholder {
  color: #666666;
}

:-moz-placeholder {
  /* Firefox 18- */
  color: #666666;
}

::-moz-placeholder {
  /* Firefox 19+ */
  color: #666666;
}

:-ms-input-placeholder {
  color: #666666;
}

/* Add height value for select elements to match text input height */
select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-color: #FAFAFA;
  border-radius: 0;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+");
  background-position: 100% center;
  background-repeat: no-repeat;
  border-style: solid;
  border-width: 1px;
  border-color: #cccccc;
  color: rgba(0, 0, 0, 0.75);
  font-family: inherit;
  font-size: 0.75rem;
  line-height: normal;
  padding: 0.5rem;
  border-radius: 0;
  height: 2.1875rem;
}

select::-ms-expand {
  display: none;
}

select.radius {
  border-radius: 0px;
}

select:focus {
  background-color: #f3f3f3;
  border-color: #999999;
}

select:disabled {
  background-color: #DDDDDD;
  cursor: default;
}

select[multiple] {
  height: auto;
}

/* Adjust margin for form elements below */
input[type="file"],
input[type="checkbox"],
input[type="radio"],
select {
  margin: 0 0 1rem 0;
}

input[type="checkbox"] + label,
input[type="radio"] + label {
  display: inline-block;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0;
  vertical-align: baseline;
}

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

/* HTML5 Number spinners settings */
/* We add basic fieldset styling */
fieldset {
  border: 1px solid #DDDDDD;
  margin: 1.125rem 0;
  padding: 1.25rem;
}

fieldset legend {
  font-weight: bold;
  margin: 0;
  margin-left: -0.1875rem;
  padding: 0 0.1875rem;
}

/* Error Handling */
[data-abide] .error small.error, [data-abide] .error span.error, [data-abide] span.error, [data-abide] small.error {
  display: block;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: normal;
  margin-bottom: 1rem;
  margin-top: -1px;
  padding: 0.375rem 0.5625rem 0.5625rem;
  background: #BF0A0D;
  color: #FFFFFF;
}

[data-abide] span.error, [data-abide] small.error {
  display: none;
}

span.error, small.error {
  display: block;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: normal;
  margin-bottom: 1rem;
  margin-top: -1px;
  padding: 0.375rem 0.5625rem 0.5625rem;
  background: #BF0A0D;
  color: #FFFFFF;
}

.error input,
.error textarea,
.error select {
  margin-bottom: 0;
}

.error input[type="checkbox"],
.error input[type="radio"] {
  margin-bottom: 1rem;
}

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

.error small.error {
  display: block;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: normal;
  margin-bottom: 1rem;
  margin-top: -1px;
  padding: 0.375rem 0.5625rem 0.5625rem;
  background: #BF0A0D;
  color: #FFFFFF;
}

.error > label > small {
  background: transparent;
  color: #676767;
  display: inline;
  font-size: 60%;
  font-style: normal;
  margin: 0;
  padding: 0;
  text-transform: capitalize;
}

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

input.error,
textarea.error,
select.error {
  margin-bottom: 0;
}

label.error {
  color: #BF0A0D;
}

.alert-box {
  border-style: solid;
  border-width: 1px;
  display: block;
  font-size: 0.8125rem;
  font-weight: normal;
  margin-bottom: 1.25rem;
  padding: 0.875rem 1.5rem 0.875rem 0.875rem;
  position: relative;
  -webkit-transition: opacity 300ms ease-out;
  transition: opacity 300ms ease-out;
  background-color: #00945D;
  border-color: #007f50;
  color: #FFFFFF;
}

.alert-box .close {
  right: 0.25rem;
  background: inherit;
  color: #333333;
  font-size: 1.375rem;
  line-height: .9;
  margin-top: -0.6875rem;
  opacity: 0.3;
  padding: 0 6px 4px;
  position: absolute;
  top: 50%;
}

.alert-box .close:hover, .alert-box .close:focus {
  opacity: 0.5;
}

.alert-box.radius {
  border-radius: 0px;
}

.alert-box.round {
  border-radius: 1000px;
}

.alert-box.success {
  background-color: #43AC6A;
  border-color: #3a945b;
  color: #FFFFFF;
}

.alert-box.alert {
  background-color: #BF0A0D;
  border-color: #a4090b;
  color: #FFFFFF;
}

.alert-box.secondary {
  background-color: #6D9788;
  border-color: #5d8375;
  color: #FFFFFF;
}

.alert-box.warning {
  background-color: #f08a24;
  border-color: #de770f;
  color: #FFFFFF;
}

.alert-box.info {
  background-color: #a0d3e8;
  border-color: #74bfdd;
  color: #25342e;
}

.alert-box.alert-close {
  opacity: 0;
}

.label {
  display: inline-block;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-weight: normal;
  line-height: 1;
  margin-bottom: auto;
  position: relative;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  padding: 0.25rem 0.5rem 0.25rem;
  font-size: 0.6875rem;
  background-color: #00945D;
  color: #FFFFFF;
}

.label.radius {
  border-radius: 0px;
}

.label.round {
  border-radius: 1000px;
}

.label.alert {
  background-color: #BF0A0D;
  color: #FFFFFF;
}

.label.warning {
  background-color: #f08a24;
  color: #FFFFFF;
}

.label.success {
  background-color: #43AC6A;
  color: #FFFFFF;
}

.label.secondary {
  background-color: #6D9788;
  color: #FFFFFF;
}

.label.info {
  background-color: #a0d3e8;
  color: #333333;
}

.inline-list {
  list-style: none;
  margin-top: 0;
  margin-bottom: 1.0625rem;
  margin-left: -1.375rem;
  margin-right: 0;
  overflow: hidden;
  padding: 0;
}

.inline-list > li {
  display: block;
  float: left;
  list-style: none;
  margin-left: 1.375rem;
}

.inline-list > li > * {
  display: block;
}

/* Panels */
.panel {
  border-style: solid;
  border-width: 1px;
  border-color: #d8d8d8;
  margin-bottom: 1.25rem;
  padding: 1.25rem;
  background: #f2f2f2;
  color: #333333;
}

.panel > :first-child {
  margin-top: 0;
}

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

.panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6, .panel p, .panel li, .panel dl {
  color: #333333;
}

.panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6 {
  line-height: 1;
  margin-bottom: 0.625rem;
}

.panel h1.subheader, .panel h2.subheader, .panel h3.subheader, .panel h4.subheader, .panel h5.subheader, .panel h6.subheader {
  line-height: 1.4;
}

.panel.callout {
  border-style: solid;
  border-width: 1px;
  border-color: #d8d8d8;
  margin-bottom: 1.25rem;
  padding: 1.25rem;
  background: #e9fff7;
  color: #333333;
}

.panel.callout > :first-child {
  margin-top: 0;
}

.panel.callout > :last-child {
  margin-bottom: 0;
}

.panel.callout h1, .panel.callout h2, .panel.callout h3, .panel.callout h4, .panel.callout h5, .panel.callout h6, .panel.callout p, .panel.callout li, .panel.callout dl {
  color: #333333;
}

.panel.callout h1, .panel.callout h2, .panel.callout h3, .panel.callout h4, .panel.callout h5, .panel.callout h6 {
  line-height: 1;
  margin-bottom: 0.625rem;
}

.panel.callout h1.subheader, .panel.callout h2.subheader, .panel.callout h3.subheader, .panel.callout h4.subheader, .panel.callout h5.subheader, .panel.callout h6.subheader {
  line-height: 1.4;
}

.panel.callout a:not(.button) {
  color: #00945D;
}

.panel.callout a:not(.button):hover, .panel.callout a:not(.button):focus {
  color: #007f50;
}

.panel.radius {
  border-radius: 0px;
}

ul.pagination {
  display: block;
  margin-left: -0.3125rem;
  min-height: 1.5rem;
}

ul.pagination li {
  color: #222222;
  font-size: 0.875rem;
  height: 1.5rem;
  margin-left: 0.3125rem;
}

ul.pagination li a, ul.pagination li button {
  border-radius: 0px;
  -webkit-transition: background-color 300ms ease-out;
  transition: background-color 300ms ease-out;
  background: none;
  color: #999999;
  display: block;
  font-size: 1em;
  font-weight: normal;
  line-height: inherit;
  padding: 0.0625rem 0.625rem 0.0625rem;
}

ul.pagination li:hover a,
ul.pagination li a:focus,
ul.pagination li:hover button,
ul.pagination li button:focus {
  background: #e6e6e6;
}

ul.pagination li.unavailable a, ul.pagination li.unavailable button {
  cursor: default;
  color: #999999;
  pointer-events: none;
}

ul.pagination li.unavailable:hover a,
ul.pagination li.unavailable a:focus,
ul.pagination li.unavailable:hover button,
ul.pagination li.unavailable button:focus {
  background: transparent;
}

ul.pagination li.current a, ul.pagination li.current button {
  background: #00945D;
  color: #FFFFFF;
  cursor: default;
  font-weight: bold;
}

ul.pagination li.current a:hover, ul.pagination li.current a:focus, ul.pagination li.current button:hover, ul.pagination li.current button:focus {
  background: #00945D;
}

ul.pagination li {
  display: block;
  float: left;
}

/* Pagination centred wrapper */
.pagination-centered {
  text-align: center;
}

.pagination-centered ul.pagination li {
  display: inline-block;
  float: none;
}

/* Progress Bar */
.progress {
  background-color: #F6F6F6;
  border: 1px solid white;
  height: 1.5625rem;
  margin-bottom: 0.625rem;
  padding: 0.125rem;
}

.progress .meter {
  background: #00945D;
  display: block;
  height: 100%;
  float: left;
  width: 0%;
}

.progress .meter.secondary {
  background: #6D9788;
  display: block;
  height: 100%;
  float: left;
  width: 0%;
}

.progress .meter.success {
  background: #43AC6A;
  display: block;
  height: 100%;
  float: left;
  width: 0%;
}

.progress .meter.alert {
  background: #BF0A0D;
  display: block;
  height: 100%;
  float: left;
  width: 0%;
}

.progress.secondary .meter {
  background: #6D9788;
  display: block;
  height: 100%;
  float: left;
  width: 0%;
}

.progress.success .meter {
  background: #43AC6A;
  display: block;
  height: 100%;
  float: left;
  width: 0%;
}

.progress.alert .meter {
  background: #BF0A0D;
  display: block;
  height: 100%;
  float: left;
  width: 0%;
}

.progress.radius {
  border-radius: 0px;
}

.progress.radius .meter {
  border-radius: -1px;
}

.progress.round {
  border-radius: 1000px;
}

.progress.round .meter {
  border-radius: 999px;
}

.reveal-modal-bg {
  background: #000000;
  background: rgba(0, 0, 0, 0.45);
  bottom: 0;
  display: none;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1004;
  left: 0;
}

.reveal-modal {
  border-radius: 0px;
  display: none;
  position: absolute;
  top: 0;
  visibility: hidden;
  width: 100%;
  z-index: 1005;
  left: 0;
  background-color: #FFFFFF;
  padding: 1.875rem;
  border: solid 1px #666666;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}

@media only screen and (max-width: 40em) {
  .reveal-modal {
    min-height: 100vh;
  }
}

.reveal-modal .column, .reveal-modal .columns {
  min-width: 0;
}

.reveal-modal > :first-child {
  margin-top: 0;
}

.reveal-modal > :last-child {
  margin-bottom: 0;
}

@media only screen and (min-width: 40.0625em) {
  .reveal-modal {
    left: 0;
    margin: 0 auto;
    max-width: 62.5rem;
    right: 0;
    width: 80%;
  }
}

@media only screen and (min-width: 40.0625em) {
  .reveal-modal {
    top: 6.25rem;
  }
}

.reveal-modal.radius {
  box-shadow: none;
  border-radius: 0px;
}

.reveal-modal.round {
  box-shadow: none;
  border-radius: 1000px;
}

.reveal-modal.collapse {
  padding: 0;
  box-shadow: none;
}

@media only screen and (min-width: 40.0625em) {
  .reveal-modal.tiny {
    left: 0;
    margin: 0 auto;
    max-width: 62.5rem;
    right: 0;
    width: 30%;
  }
}

@media only screen and (min-width: 40.0625em) {
  .reveal-modal.small {
    left: 0;
    margin: 0 auto;
    max-width: 62.5rem;
    right: 0;
    width: 40%;
  }
}

@media only screen and (min-width: 40.0625em) {
  .reveal-modal.medium {
    left: 0;
    margin: 0 auto;
    max-width: 62.5rem;
    right: 0;
    width: 60%;
  }
}

@media only screen and (min-width: 40.0625em) {
  .reveal-modal.large {
    left: 0;
    margin: 0 auto;
    max-width: 62.5rem;
    right: 0;
    width: 70%;
  }
}

@media only screen and (min-width: 40.0625em) {
  .reveal-modal.xlarge {
    left: 0;
    margin: 0 auto;
    max-width: 62.5rem;
    right: 0;
    width: 95%;
  }
}

.reveal-modal.full {
  height: 100vh;
  height: 100%;
  left: 0;
  margin-left: 0 !important;
  max-width: none !important;
  min-height: 100vh;
  top: 0;
}

@media only screen and (min-width: 40.0625em) {
  .reveal-modal.full {
    left: 0;
    margin: 0 auto;
    max-width: 62.5rem;
    right: 0;
    width: 100%;
  }
}

.reveal-modal.toback {
  z-index: 1003;
}

.reveal-modal .close-reveal-modal {
  color: #AAAAAA;
  cursor: pointer;
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 1;
  position: absolute;
  top: 0.625rem;
  right: 1.375rem;
}

.tabs {
  margin-bottom: 0 !important;
  margin-left: 0;
}

.tabs:before, .tabs:after {
  content: " ";
  display: table;
}

.tabs:after {
  clear: both;
}

.tabs dd,
.tabs .tab-title {
  float: left;
  list-style: none;
  margin-bottom: 0 !important;
  position: relative;
}

.tabs dd > a,
.tabs .tab-title > a {
  display: block;
  background-color: #E6E1C2;
  color: #222222;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  padding: 0.75rem 1.5rem;
}

.tabs dd > a:hover,
.tabs .tab-title > a:hover {
  background-color: #dfd8b0;
}

.tabs dd.active > a,
.tabs .tab-title.active > a {
  background-color: #f5f3e6;
  color: #222222;
}

.tabs.radius dd:first-child a,
.tabs.radius .tab:first-child a {
  -webkit-border-bottom-left-radius: 0px;
  -webkit-border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
  border-top-left-radius: 0px;
}

.tabs.radius dd:last-child a,
.tabs.radius .tab:last-child a {
  -webkit-border-bottom-right-radius: 0px;
  -webkit-border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
  border-top-right-radius: 0px;
}

.tabs.vertical dd,
.tabs.vertical .tab-title {
  position: inherit;
  float: none;
  display: block;
  top: auto;
}

.tabs-content {
  margin-bottom: 1.5rem;
  width: 100%;
}

.tabs-content:before, .tabs-content:after {
  content: " ";
  display: table;
}

.tabs-content:after {
  clear: both;
}

.tabs-content > .content {
  display: none;
  float: left;
  padding: 0.9375rem 0;
  width: 100%;
}

.tabs-content > .content.active {
  display: block;
  float: none;
}

.tabs-content > .content.contained {
  padding: 0.9375rem;
}

.tabs-content.vertical {
  display: block;
}

.tabs-content.vertical > .content {
  padding: 0 0.9375rem;
}

@media only screen and (min-width: 40.0625em) {
  .tabs.vertical {
    float: left;
    margin: 0;
    margin-bottom: 1.25rem !important;
    max-width: 20%;
    width: 20%;
  }
  .tabs-content.vertical {
    float: left;
    margin-left: -1px;
    max-width: 80%;
    padding-left: 1rem;
    width: 80%;
  }
}

.no-js .tabs-content > .content {
  display: block;
  float: none;
}

meta.foundation-mq-topbar {
  font-family: "/only screen and (min-width:46.5625em)/";
  width: 46.5625em;
}

/* Wrapped around .top-bar to contain to grid width */
.contain-to-grid {
  width: 100%;
  background: #1E2528;
}

.contain-to-grid .top-bar {
  margin-bottom: 0;
}

.fixed {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99;
  left: 0;
}

.fixed.expanded:not(.top-bar) {
  height: auto;
  max-height: 100%;
  overflow-y: auto;
  width: 100%;
}

.fixed.expanded:not(.top-bar) .title-area {
  position: fixed;
  width: 100%;
  z-index: 99;
}

.fixed.expanded:not(.top-bar) .top-bar-section {
  margin-top: 2.8125rem;
  z-index: 98;
}

.top-bar {
  background: #1E2528;
  height: 2.8125rem;
  line-height: 2.8125rem;
  margin-bottom: 0;
  overflow: hidden;
  position: relative;
}

.top-bar ul {
  list-style: none;
  margin-bottom: 0;
}

.top-bar .row {
  max-width: none;
}

.top-bar form,
.top-bar input,
.top-bar select {
  margin-bottom: 0;
}

.top-bar input,
.top-bar select {
  font-size: 0.75rem;
  height: 1.75rem;
  padding-bottom: .35rem;
  padding-top: .35rem;
}

.top-bar .button, .top-bar button {
  font-size: 0.75rem;
  margin-bottom: 0;
  padding-bottom: 0.4125rem;
  padding-top: 0.4125rem;
}

@media only screen and (max-width: 40em) {
  .top-bar .button, .top-bar button {
    position: relative;
    top: -1px;
  }
}

.top-bar .title-area {
  margin: 0;
  position: relative;
}

.top-bar .name {
  font-size: 16px;
  height: 2.8125rem;
  margin: 0;
}

.top-bar .name h1, .top-bar .name h2, .top-bar .name h3, .top-bar .name h4, .top-bar .name p, .top-bar .name span {
  font-size: 1.0625rem;
  line-height: 2.8125rem;
  margin: 0;
}

.top-bar .name h1 a, .top-bar .name h2 a, .top-bar .name h3 a, .top-bar .name h4 a, .top-bar .name p a, .top-bar .name span a {
  color: #FFFFFF;
  display: block;
  font-weight: normal;
  padding: 0 0.9375rem;
  width: 75%;
}

.top-bar .toggle-topbar {
  position: absolute;
  right: 0;
  top: 0;
}

.top-bar .toggle-topbar a {
  color: #FFFFFF;
  display: block;
  font-size: 0.8125rem;
  font-weight: bold;
  height: 2.8125rem;
  line-height: 2.8125rem;
  padding: 0 0.9375rem;
  position: relative;
  text-transform: uppercase;
}

.top-bar .toggle-topbar.menu-icon {
  margin-top: -16px;
  top: 50%;
}

.top-bar .toggle-topbar.menu-icon a {
  color: #FFFFFF;
  height: 34px;
  line-height: 33px;
  padding: 0 2.5rem 0 0.9375rem;
  position: relative;
}

.top-bar .toggle-topbar.menu-icon a span::after {
  content: "";
  display: block;
  height: 0;
  position: absolute;
  margin-top: -8px;
  top: 50%;
  right: 0.9375rem;
  box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF;
  width: 16px;
}

.top-bar .toggle-topbar.menu-icon a span:hover:after {
  box-shadow: 0 0 0 1px "", 0 7px 0 1px "", 0 14px 0 1px "";
}

.top-bar.expanded {
  background: transparent;
  height: auto;
}

.top-bar.expanded .title-area {
  background: #1E2528;
}

.top-bar.expanded .toggle-topbar a {
  color: #888888;
}

.top-bar.expanded .toggle-topbar a span::after {
  box-shadow: 0 0 0 1px #888888, 0 7px 0 1px #888888, 0 14px 0 1px #888888;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  .top-bar.expanded .top-bar-section .has-dropdown.moved > .dropdown,
  .top-bar.expanded .top-bar-section .dropdown {
    clip: initial;
  }
  .top-bar.expanded .top-bar-section .has-dropdown:not(.moved) > ul {
    padding: 0;
  }
}

.top-bar-section {
  left: 0;
  position: relative;
  width: auto;
  -webkit-transition: left 300ms ease-out;
  transition: left 300ms ease-out;
}

.top-bar-section ul {
  display: block;
  font-size: 16px;
  height: auto;
  margin: 0;
  padding: 0;
  width: 100%;
}

.top-bar-section .divider,
.top-bar-section [role="separator"] {
  border-top: solid 1px #0f1314;
  clear: both;
  height: 1px;
  width: 100%;
}

.top-bar-section ul li {
  background: #333333;
}

.top-bar-section ul li > a {
  color: #FFFFFF;
  display: block;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 0.8125rem;
  font-weight: normal;
  padding-left: 0.9375rem;
  padding: 12px 0 12px 0.9375rem;
  text-transform: none;
  width: 100%;
}

.top-bar-section ul li > a.button {
  font-size: 0.8125rem;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
  background-color: #00945D;
  border-color: #00764a;
  color: #FFFFFF;
}

.top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus {
  background-color: #00764a;
}

.top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus {
  color: #FFFFFF;
}

.top-bar-section ul li > a.button.secondary {
  background-color: #6D9788;
  border-color: #57796d;
  color: #FFFFFF;
}

.top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus {
  background-color: #57796d;
}

.top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus {
  color: #FFFFFF;
}

.top-bar-section ul li > a.button.success {
  background-color: #43AC6A;
  border-color: #368a55;
  color: #FFFFFF;
}

.top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus {
  background-color: #368a55;
}

.top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus {
  color: #FFFFFF;
}

.top-bar-section ul li > a.button.alert {
  background-color: #BF0A0D;
  border-color: #99080a;
  color: #FFFFFF;
}

.top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus {
  background-color: #99080a;
}

.top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus {
  color: #FFFFFF;
}

.top-bar-section ul li > a.button.warning {
  background-color: #f08a24;
  border-color: #cf6e0e;
  color: #FFFFFF;
}

.top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus {
  background-color: #cf6e0e;
}

.top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus {
  color: #FFFFFF;
}

.top-bar-section ul li > a.button.info {
  background-color: #a0d3e8;
  border-color: #61b6d9;
  color: #333333;
}

.top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus {
  background-color: #61b6d9;
}

.top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus {
  color: #FFFFFF;
}

.top-bar-section ul li > button {
  font-size: 0.8125rem;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
  background-color: #00945D;
  border-color: #00764a;
  color: #FFFFFF;
}

.top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus {
  background-color: #00764a;
}

.top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus {
  color: #FFFFFF;
}

.top-bar-section ul li > button.secondary {
  background-color: #6D9788;
  border-color: #57796d;
  color: #FFFFFF;
}

.top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus {
  background-color: #57796d;
}

.top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus {
  color: #FFFFFF;
}

.top-bar-section ul li > button.success {
  background-color: #43AC6A;
  border-color: #368a55;
  color: #FFFFFF;
}

.top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus {
  background-color: #368a55;
}

.top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus {
  color: #FFFFFF;
}

.top-bar-section ul li > button.alert {
  background-color: #BF0A0D;
  border-color: #99080a;
  color: #FFFFFF;
}

.top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus {
  background-color: #99080a;
}

.top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus {
  color: #FFFFFF;
}

.top-bar-section ul li > button.warning {
  background-color: #f08a24;
  border-color: #cf6e0e;
  color: #FFFFFF;
}

.top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus {
  background-color: #cf6e0e;
}

.top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus {
  color: #FFFFFF;
}

.top-bar-section ul li > button.info {
  background-color: #a0d3e8;
  border-color: #61b6d9;
  color: #333333;
}

.top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus {
  background-color: #61b6d9;
}

.top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus {
  color: #FFFFFF;
}

.top-bar-section ul li:hover:not(.has-form) > a {
  background-color: #555555;
  color: #FFFFFF;
  background: #222222;
}

.top-bar-section ul li.active > a {
  background: #00945D;
  color: #FFFFFF;
}

.top-bar-section ul li.active > a:hover {
  background: #007f50;
  color: #FFFFFF;
}

.top-bar-section .has-form {
  padding: 0.9375rem;
}

.top-bar-section .has-dropdown {
  position: relative;
}

.top-bar-section .has-dropdown > a:after {
  border: inset 5px;
  content: "";
  display: block;
  height: 0;
  width: 0;
  border-color: transparent transparent transparent rgba(255, 255, 255, 0.4);
  border-left-style: solid;
  margin-right: 0.9375rem;
  margin-top: -4.5px;
  position: absolute;
  top: 50%;
  right: 0;
}

.top-bar-section .has-dropdown.moved {
  position: static;
}

.top-bar-section .has-dropdown.moved > .dropdown {
  position: static !important;
  height: auto;
  width: auto;
  overflow: visible;
  clip: auto;
  display: block;
  position: absolute !important;
  width: 100%;
}

.top-bar-section .has-dropdown.moved > a:after {
  display: none;
}

.top-bar-section .dropdown {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  display: block;
  padding: 0;
  position: absolute;
  top: 0;
  z-index: 99;
  left: 100%;
}

.top-bar-section .dropdown li {
  height: auto;
  width: 100%;
}

.top-bar-section .dropdown li a {
  font-weight: normal;
  padding: 8px 0.9375rem;
}

.top-bar-section .dropdown li a.parent-link {
  font-weight: normal;
}

.top-bar-section .dropdown li.title h5, .top-bar-section .dropdown li.parent-link {
  margin-bottom: 0;
  margin-top: 0;
  font-size: 1.125rem;
}

.top-bar-section .dropdown li.title h5 a, .top-bar-section .dropdown li.parent-link a {
  color: #FFFFFF;
  display: block;
}

.top-bar-section .dropdown li.title h5 a:hover, .top-bar-section .dropdown li.parent-link a:hover {
  background: none;
}

.top-bar-section .dropdown li.has-form {
  padding: 8px 0.9375rem;
}

.top-bar-section .dropdown li .button,
.top-bar-section .dropdown li button {
  top: auto;
}

.top-bar-section .dropdown label {
  color: #777777;
  font-size: 0.625rem;
  font-weight: bold;
  margin-bottom: 0;
  padding: 8px 0.9375rem 2px;
  text-transform: uppercase;
}

.js-generated {
  display: block;
}

@media only screen and (min-width: 46.5625em) {
  .top-bar {
    background: #1E2528;
    overflow: visible;
  }
  .top-bar:before, .top-bar:after {
    content: " ";
    display: table;
  }
  .top-bar:after {
    clear: both;
  }
  .top-bar .toggle-topbar {
    display: none;
  }
  .top-bar .title-area {
    float: left;
  }
  .top-bar .name h1 a,
  .top-bar .name h2 a,
  .top-bar .name h3 a,
  .top-bar .name h4 a,
  .top-bar .name h5 a,
  .top-bar .name h6 a {
    width: auto;
  }
  .top-bar input,
  .top-bar select,
  .top-bar .button,
  .top-bar button {
    font-size: 0.875rem;
    height: 1.75rem;
    position: relative;
    top: 0.53125rem;
  }
  .top-bar .has-form > .button,
  .top-bar .has-form > button {
    font-size: 0.875rem;
    height: 1.75rem;
    position: relative;
    top: 0.53125rem;
  }
  .top-bar.expanded {
    background: #1E2528;
  }
  .contain-to-grid .top-bar {
    margin: 0 auto;
    margin-bottom: 0;
    max-width: 62.5rem;
  }
  .top-bar-section {
    -webkit-transition: none 0 0;
    transition: none 0 0;
    left: 0 !important;
  }
  .top-bar-section ul {
    display: inline;
    height: auto !important;
    width: auto;
  }
  .top-bar-section ul li {
    float: left;
  }
  .top-bar-section ul li .js-generated {
    display: none;
  }
  .top-bar-section li.hover > a:not(.button) {
    background-color: #555555;
    background: #222222;
    color: #FFFFFF;
  }
  .top-bar-section li:not(.has-form) a:not(.button) {
    background: #1E2528;
    line-height: 2.8125rem;
    padding: 0 0.9375rem;
  }
  .top-bar-section li:not(.has-form) a:not(.button):hover {
    background-color: #555555;
    background: #222222;
  }
  .top-bar-section li.active:not(.has-form) a:not(.button) {
    background: #00945D;
    color: #FFFFFF;
    line-height: 2.8125rem;
    padding: 0 0.9375rem;
  }
  .top-bar-section li.active:not(.has-form) a:not(.button):hover {
    background: #007f50;
    color: #FFFFFF;
  }
  .top-bar-section .has-dropdown > a {
    padding-right: 2.1875rem !important;
  }
  .top-bar-section .has-dropdown > a:after {
    border: inset 5px;
    content: "";
    display: block;
    height: 0;
    width: 0;
    border-color: rgba(255, 255, 255, 0.4) transparent transparent transparent;
    border-top-style: solid;
    margin-top: -2.5px;
    top: 1.40625rem;
  }
  .top-bar-section .has-dropdown.moved {
    position: relative;
  }
  .top-bar-section .has-dropdown.moved > .dropdown {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
    display: block;
  }
  .top-bar-section .has-dropdown.hover > .dropdown, .top-bar-section .has-dropdown.not-click:hover > .dropdown {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    display: block;
    position: absolute !important;
  }
  .top-bar-section .has-dropdown > a:focus + .dropdown {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    display: block;
    position: absolute !important;
  }
  .top-bar-section .has-dropdown .dropdown li.has-dropdown > a:after {
    border: none;
    content: "\00bb";
    top: 0.1875rem;
    right: 5px;
  }
  .top-bar-section .dropdown {
    left: 0;
    background: transparent;
    min-width: 100%;
    top: auto;
  }
  .top-bar-section .dropdown li a {
    background: #333333;
    color: #FFFFFF;
    line-height: 2.8125rem;
    padding: 12px 0.9375rem;
    white-space: nowrap;
  }
  .top-bar-section .dropdown li:not(.has-form):not(.active) > a:not(.button) {
    background: #333333;
    color: #FFFFFF;
  }
  .top-bar-section .dropdown li:not(.has-form):not(.active):hover > a:not(.button) {
    background-color: #555555;
    color: #FFFFFF;
    background: #222222;
  }
  .top-bar-section .dropdown li label {
    background: #333333;
    white-space: nowrap;
  }
  .top-bar-section .dropdown li .dropdown {
    left: 100%;
    top: 0;
  }
  .top-bar-section > ul > .divider,
  .top-bar-section > ul > [role="separator"] {
    border-right: solid 1px #374349;
    border-bottom: none;
    border-top: none;
    clear: none;
    height: 2.8125rem;
    width: 0;
  }
  .top-bar-section .has-form {
    background: #1E2528;
    height: 2.8125rem;
    padding: 0 0.9375rem;
  }
  .top-bar-section .right li .dropdown {
    left: auto;
    right: 0;
  }
  .top-bar-section .right li .dropdown li .dropdown {
    right: 100%;
  }
  .top-bar-section .left li .dropdown {
    right: auto;
    left: 0;
  }
  .top-bar-section .left li .dropdown li .dropdown {
    left: 100%;
  }
  .no-js .top-bar-section ul li:hover > a {
    background-color: #555555;
    background: #222222;
    color: #FFFFFF;
  }
  .no-js .top-bar-section ul li:active > a {
    background: #00945D;
    color: #FFFFFF;
  }
  .no-js .top-bar-section .has-dropdown:hover > .dropdown {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    display: block;
    position: absolute !important;
  }
  .no-js .top-bar-section .has-dropdown > a:focus + .dropdown {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    display: block;
    position: absolute !important;
  }
}

.side-nav {
  display: block;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  list-style-position: outside;
  list-style-type: none;
  margin: 0;
  padding: 0.875rem 0;
}

.side-nav li {
  font-size: 0.875rem;
  font-weight: normal;
  margin: 0 0 0.4375rem 0;
}

.side-nav li a:not(.button) {
  color: #00945D;
  display: block;
  margin: 0;
  padding: 0.4375rem 0.875rem;
}

.side-nav li a:not(.button):hover, .side-nav li a:not(.button):focus {
  background: rgba(0, 0, 0, 0.025);
  color: #02ffa1;
}

.side-nav li a:not(.button):active {
  color: #02ffa1;
}

.side-nav li.active > a:first-child:not(.button) {
  color: #02ffa1;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-weight: normal;
}

.side-nav li.divider {
  border-top: 1px solid;
  height: 0;
  list-style: none;
  padding: 0;
  border-top-color: #e6e6e6;
}

.side-nav li.heading {
  color: #00945D;
  font-size: 0.875rem;
  font-weight: bold;
  text-transform: uppercase;
}

.sub-nav {
  display: block;
  margin: -0.25rem 0 1.125rem;
  overflow: hidden;
  padding-top: 0.25rem;
  width: auto;
}

.sub-nav dt {
  text-transform: uppercase;
}

.sub-nav dt,
.sub-nav dd,
.sub-nav li {
  color: #999999;
  float: left;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: normal;
  margin-left: 1rem;
  margin-bottom: 0;
}

.sub-nav dt a,
.sub-nav dd a,
.sub-nav li a {
  color: #999999;
  padding: 0.1875rem 1rem;
  text-decoration: none;
}

.sub-nav dt a:hover,
.sub-nav dd a:hover,
.sub-nav li a:hover {
  color: #737373;
}

.sub-nav dt.active a,
.sub-nav dd.active a,
.sub-nav li.active a {
  border-radius: 3px;
  background: #00945D;
  color: #FFFFFF;
  cursor: default;
  font-weight: normal;
  padding: 0.1875rem 1rem;
}

.sub-nav dt.active a:hover,
.sub-nav dd.active a:hover,
.sub-nav li.active a:hover {
  background: #007f50;
}

.switch {
  border: none;
  margin-bottom: 1.5rem;
  outline: 0;
  padding: 0;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.switch label {
  background: #DDDDDD;
  color: transparent;
  cursor: pointer;
  display: block;
  margin-bottom: 1rem;
  position: relative;
  text-indent: 100%;
  width: 4rem;
  height: 2rem;
  -webkit-transition: left 0.15s ease-out;
  transition: left 0.15s ease-out;
}

.switch input {
  left: 10px;
  opacity: 0;
  padding: 0;
  position: absolute;
  top: 9px;
}

.switch input + label {
  margin-left: 0;
  margin-right: 0;
}

.switch label:after {
  background: #FFFFFF;
  content: "";
  display: block;
  height: 1.5rem;
  left: .25rem;
  position: absolute;
  top: .25rem;
  width: 1.5rem;
  -webkit-transition: left 0.15s ease-out;
  transition: left 0.15s ease-out;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.switch input:checked + label {
  background: #00945D;
}

.switch input:checked + label:after {
  left: 2.25rem;
}

.switch label {
  height: 2rem;
  width: 4rem;
}

.switch label:after {
  height: 1.5rem;
  width: 1.5rem;
}

.switch input:checked + label:after {
  left: 2.25rem;
}

.switch label {
  color: transparent;
  background: #DDDDDD;
}

.switch label:after {
  background: #FFFFFF;
}

.switch input:checked + label {
  background: #00945D;
}

.switch.large label {
  height: 2.5rem;
  width: 5rem;
}

.switch.large label:after {
  height: 2rem;
  width: 2rem;
}

.switch.large input:checked + label:after {
  left: 2.75rem;
}

.switch.small label {
  height: 1.75rem;
  width: 3.5rem;
}

.switch.small label:after {
  height: 1.25rem;
  width: 1.25rem;
}

.switch.small input:checked + label:after {
  left: 2rem;
}

.switch.tiny label {
  height: 1.5rem;
  width: 3rem;
}

.switch.tiny label:after {
  height: 1rem;
  width: 1rem;
}

.switch.tiny input:checked + label:after {
  left: 1.75rem;
}

.switch.radius label {
  border-radius: 4px;
}

.switch.radius label:after {
  border-radius: 3px;
}

.switch.round {
  border-radius: 1000px;
}

.switch.round label {
  border-radius: 2rem;
}

.switch.round label:after {
  border-radius: 2rem;
}

.breadcrumbs {
  border-style: solid;
  border-width: 1px;
  display: block;
  list-style: none;
  margin-left: 0;
  overflow: hidden;
  padding: 0.5625rem 0.875rem 0.5625rem;
  background-color: #bdd0c9;
  border-color: #a6c0b7;
  border-radius: 0px;
}

.breadcrumbs > * {
  color: #00945D;
  float: left;
  font-size: 0.6875rem;
  line-height: 0.6875rem;
  margin: 0;
  text-transform: uppercase;
}

.breadcrumbs > *:hover a, .breadcrumbs > *:focus a {
  text-decoration: underline;
}

.breadcrumbs > * a {
  color: #00945D;
}

.breadcrumbs > *.current {
  color: #333333;
  cursor: default;
}

.breadcrumbs > *.current a {
  color: #333333;
  cursor: default;
}

.breadcrumbs > *.current:hover, .breadcrumbs > *.current:hover a, .breadcrumbs > *.current:focus, .breadcrumbs > *.current:focus a {
  text-decoration: none;
}

.breadcrumbs > *.unavailable {
  color: #999999;
}

.breadcrumbs > *.unavailable a {
  color: #999999;
}

.breadcrumbs > *.unavailable:hover,
.breadcrumbs > *.unavailable:hover a, .breadcrumbs > *.unavailable:focus,
.breadcrumbs > *.unavailable a:focus {
  color: #999999;
  cursor: not-allowed;
  text-decoration: none;
}

.breadcrumbs > *:before {
  color: #AAAAAA;
  content: "/";
  margin: 0 0.75rem;
  position: relative;
  top: 1px;
}

.breadcrumbs > *:first-child:before {
  content: " ";
  margin: 0;
}

/* Accessibility - hides the forward slash */
[aria-label="breadcrumbs"] [aria-hidden="true"]:after {
  content: "/";
}

/* Foundation Dropdowns */
.f-dropdown {
  display: none;
  left: -9999px;
  list-style: none;
  margin-left: 0;
  position: absolute;
  background: #FFFFFF;
  border: solid 1px #cccccc;
  font-size: 0.875rem;
  height: auto;
  max-height: none;
  width: 100%;
  z-index: 89;
  margin-top: 2px;
  max-width: 200px;
}

.f-dropdown.open {
  display: block;
}

.f-dropdown > *:first-child {
  margin-top: 0;
}

.f-dropdown > *:last-child {
  margin-bottom: 0;
}

.f-dropdown:before {
  border: inset 6px;
  content: "";
  display: block;
  height: 0;
  width: 0;
  border-color: transparent transparent #FFFFFF transparent;
  border-bottom-style: solid;
  position: absolute;
  top: -12px;
  left: 10px;
  z-index: 89;
}

.f-dropdown:after {
  border: inset 7px;
  content: "";
  display: block;
  height: 0;
  width: 0;
  border-color: transparent transparent #cccccc transparent;
  border-bottom-style: solid;
  position: absolute;
  top: -14px;
  left: 9px;
  z-index: 88;
}

.f-dropdown.right:before {
  left: auto;
  right: 10px;
}

.f-dropdown.right:after {
  left: auto;
  right: 9px;
}

.f-dropdown.drop-right {
  display: none;
  left: -9999px;
  list-style: none;
  margin-left: 0;
  position: absolute;
  background: #FFFFFF;
  border: solid 1px #cccccc;
  font-size: 0.875rem;
  height: auto;
  max-height: none;
  width: 100%;
  z-index: 89;
  margin-top: 0;
  margin-left: 2px;
  max-width: 200px;
}

.f-dropdown.drop-right.open {
  display: block;
}

.f-dropdown.drop-right > *:first-child {
  margin-top: 0;
}

.f-dropdown.drop-right > *:last-child {
  margin-bottom: 0;
}

.f-dropdown.drop-right:before {
  border: inset 6px;
  content: "";
  display: block;
  height: 0;
  width: 0;
  border-color: transparent #FFFFFF transparent transparent;
  border-right-style: solid;
  position: absolute;
  top: 10px;
  left: -12px;
  z-index: 89;
}

.f-dropdown.drop-right:after {
  border: inset 7px;
  content: "";
  display: block;
  height: 0;
  width: 0;
  border-color: transparent #cccccc transparent transparent;
  border-right-style: solid;
  position: absolute;
  top: 9px;
  left: -14px;
  z-index: 88;
}

.f-dropdown.drop-left {
  display: none;
  left: -9999px;
  list-style: none;
  margin-left: 0;
  position: absolute;
  background: #FFFFFF;
  border: solid 1px #cccccc;
  font-size: 0.875rem;
  height: auto;
  max-height: none;
  width: 100%;
  z-index: 89;
  margin-top: 0;
  margin-left: -2px;
  max-width: 200px;
}

.f-dropdown.drop-left.open {
  display: block;
}

.f-dropdown.drop-left > *:first-child {
  margin-top: 0;
}

.f-dropdown.drop-left > *:last-child {
  margin-bottom: 0;
}

.f-dropdown.drop-left:before {
  border: inset 6px;
  content: "";
  display: block;
  height: 0;
  width: 0;
  border-color: transparent transparent transparent #FFFFFF;
  border-left-style: solid;
  position: absolute;
  top: 10px;
  right: -12px;
  left: auto;
  z-index: 89;
}

.f-dropdown.drop-left:after {
  border: inset 7px;
  content: "";
  display: block;
  height: 0;
  width: 0;
  border-color: transparent transparent transparent #cccccc;
  border-left-style: solid;
  position: absolute;
  top: 9px;
  right: -14px;
  left: auto;
  z-index: 88;
}

.f-dropdown.drop-top {
  display: none;
  left: -9999px;
  list-style: none;
  margin-left: 0;
  position: absolute;
  background: #FFFFFF;
  border: solid 1px #cccccc;
  font-size: 0.875rem;
  height: auto;
  max-height: none;
  width: 100%;
  z-index: 89;
  margin-left: 0;
  margin-top: -2px;
  max-width: 200px;
}

.f-dropdown.drop-top.open {
  display: block;
}

.f-dropdown.drop-top > *:first-child {
  margin-top: 0;
}

.f-dropdown.drop-top > *:last-child {
  margin-bottom: 0;
}

.f-dropdown.drop-top:before {
  border: inset 6px;
  content: "";
  display: block;
  height: 0;
  width: 0;
  border-color: #FFFFFF transparent transparent transparent;
  border-top-style: solid;
  bottom: -12px;
  position: absolute;
  top: auto;
  left: 10px;
  right: auto;
  z-index: 89;
}

.f-dropdown.drop-top:after {
  border: inset 7px;
  content: "";
  display: block;
  height: 0;
  width: 0;
  border-color: #cccccc transparent transparent transparent;
  border-top-style: solid;
  bottom: -14px;
  position: absolute;
  top: auto;
  left: 9px;
  right: auto;
  z-index: 88;
}

.f-dropdown li {
  cursor: pointer;
  font-size: 0.875rem;
  line-height: 1.125rem;
  margin: 0;
}

.f-dropdown li:hover, .f-dropdown li:focus {
  background: #EEEEEE;
}

.f-dropdown li a {
  display: block;
  padding: 0.5rem;
  color: #555555;
}

.f-dropdown.content {
  display: none;
  left: -9999px;
  list-style: none;
  margin-left: 0;
  position: absolute;
  background: #FFFFFF;
  border: solid 1px #cccccc;
  font-size: 0.875rem;
  height: auto;
  max-height: none;
  padding: 1.25rem;
  width: 100%;
  z-index: 89;
  max-width: 200px;
}

.f-dropdown.content.open {
  display: block;
}

.f-dropdown.content > *:first-child {
  margin-top: 0;
}

.f-dropdown.content > *:last-child {
  margin-bottom: 0;
}

.f-dropdown.radius {
  border-radius: 0px;
}

.f-dropdown.tiny {
  max-width: 200px;
}

.f-dropdown.small {
  max-width: 300px;
}

.f-dropdown.medium {
  max-width: 500px;
}

.f-dropdown.large {
  max-width: 800px;
}

.f-dropdown.mega {
  width: 100% !important;
  max-width: 100% !important;
}

.f-dropdown.mega.open {
  left: 0 !important;
}

.dropdown.button, button.dropdown {
  position: relative;
  padding-right: 3.5625rem;
}

.dropdown.button::after, button.dropdown::after {
  border-color: #FFFFFF transparent transparent transparent;
  border-style: solid;
  content: "";
  display: block;
  height: 0;
  position: absolute;
  top: 50%;
  width: 0;
}

.dropdown.button::after, button.dropdown::after {
  border-width: 0.375rem;
  right: 1.40625rem;
  margin-top: -0.15625rem;
}

.dropdown.button::after, button.dropdown::after {
  border-color: #FFFFFF transparent transparent transparent;
}

.dropdown.button.tiny, button.dropdown.tiny {
  padding-right: 2.625rem;
}

.dropdown.button.tiny:after, button.dropdown.tiny:after {
  border-width: 0.375rem;
  right: 1.125rem;
  margin-top: -0.125rem;
}

.dropdown.button.tiny::after, button.dropdown.tiny::after {
  border-color: #FFFFFF transparent transparent transparent;
}

.dropdown.button.small, button.dropdown.small {
  padding-right: 3.0625rem;
}

.dropdown.button.small::after, button.dropdown.small::after {
  border-width: 0.4375rem;
  right: 1.3125rem;
  margin-top: -0.15625rem;
}

.dropdown.button.small::after, button.dropdown.small::after {
  border-color: #FFFFFF transparent transparent transparent;
}

.dropdown.button.large, button.dropdown.large {
  padding-right: 3.625rem;
}

.dropdown.button.large::after, button.dropdown.large::after {
  border-width: 0.3125rem;
  right: 1.71875rem;
  margin-top: -0.15625rem;
}

.dropdown.button.large::after, button.dropdown.large::after {
  border-color: #FFFFFF transparent transparent transparent;
}

.dropdown.button.secondary:after, button.dropdown.secondary:after {
  border-color: #333333 transparent transparent transparent;
}

/*[data-pie-id], [data-bar-id], [data-line-id] {
  @include darkened-children(7, $pie-color);
}*/
.tooltip {
  margin-left: -5px;
  border-radius: 3px;
  padding: 5px;
}

/*svg text {
  fill: $label-color;
}*/
.chart div.diagram {
  height: 200px;
}

.chart svg {
  width: 100%;
  height: auto;
  -webkit-transition: all 250ms;
  transition: all 250ms;
}

.chart ul.data {
  font-size: 0.8em;
}

h1 {
  font-size: 1.75em;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  text-shadow: 0.03em 0.03em 0.03em rgba(0, 0, 0, 0.3);
  margin-bottom: 1em;
  font-family: "Oswald", Helvetica, Arial, sans-serif;
}

h2 {
  font-size: 1.25em;
}

h3 {
  font-size: 1em;
}

h4 {
  font-size: 0.75em;
}

body.paulus {
  background: #fff url(../img/doge.png) fixed bottom right no-repeat;
}

.columns {
  -webkit-transition: all 500ms;
  transition: all 500ms;
}

#content {
  padding-bottom: 2em;
}

.deadline-budget {
  padding: 0 !important;
  line-height: 0;
  position: relative;
}

.deadline-budget div.progress {
  opacity: 0.66;
  padding: 0;
  margin: 0;
  border-width: 0;
  position: absolute;
  left: 0;
  right: 0;
  height: auto;
}

.deadline-budget div.progress:hover {
  opacity: 1;
}

.deadline-budget div.deadline {
  top: 0%;
  bottom: 50%;
  border-bottom-width: 1px;
}

.deadline-budget div.budget {
  top: 50%;
  bottom: 0%;
}

div.progress {
  line-height: 1.3;
  height: 2.5em;
}

div.progress .meter {
  -webkit-transition: width ease-in-out 500ms;
  transition: width ease-in-out 500ms;
}

div.progress i {
  color: #fff;
  margin-left: 0.3em;
  font-size: 1.4em;
}

.form .errorMessage {
  font-size: 0.6em;
  background-color: #c60f13;
  color: #fff;
  margin-bottom: 1.5em;
  padding: 0.5em;
}

.form span.required {
  display: none;
}

.form label.required {
  font-weight: bold;
}

.form input.hrs {
  text-align: right;
}

.form input.fixed-width {
  font-family: 'Inconsolata', monospace;
}

.form textarea {
  height: 6em;
}

.form textarea.autoExpand {
  height: auto;
}

.form small.helper {
  display: block;
  margin-top: -1.5em;
  margin-bottom: 1.2em;
  color: #999;
  line-height: 1.2;
}

.form .buttons input {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  border-style: solid;
  border-width: 0;
  cursor: pointer;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-weight: normal;
  line-height: normal;
  margin: 0 0 1.25rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  padding: 1rem 2rem 1.0625rem 2rem;
  font-size: 1rem;
  background-color: #00945D;
  border-color: #00764a;
  color: #FFFFFF;
  -webkit-transition: background-color 300ms ease-out;
  transition: background-color 300ms ease-out;
  float: right;
}

.form .buttons input:hover, .form .buttons input:focus {
  background-color: #00764a;
}

.form .buttons input:hover, .form .buttons input:focus {
  color: #FFFFFF;
}

.form legend input {
  margin-bottom: 0;
}

.form .columns.active fieldset {
  background-color: #FFFDD0;
}

.form .postfix.button {
  margin-bottom: 0;
}

table {
  border-spacing: 0;
  border-left: 1px dotted #eee;
}

table td, table th {
  background-color: #fff;
  font-size: 0.8em;
  padding: 0.6em 0.4em;
  line-height: 1.25;
}

table thead td, table thead th {
  font-size: 0.7em;
  font-weight: normal;
  text-align: left;
  background-color: rgba(189, 208, 201, 0.2);
  text-transform: uppercase;
}

table thead tr.filters td {
  padding: 0;
}

table thead tr.filters input, table thead tr.filters select {
  margin-bottom: 0;
}

table tbody th, table tbody td {
  border-bottom: 1px solid #ddd;
  border-right: 1px dotted #eee;
}

table tbody th {
  width: 12em;
  text-align: left;
  font-weight: normal;
  border-right: 1px dotted #eee;
  color: #666;
}

table td.id, table td.hrs, table td.price, table td.code {
  font-size: 0.9em;
  font-family: 'Inconsolata', monospace;
  text-align: right;
}

table td.mono, table tr.mono td {
  font-family: 'Inconsolata', monospace;
  font-size: 0.9em;
}

table td.icon {
  width: 1em;
}

table td.id {
  width: 3em;
}

table td.code {
  text-align: left;
  width: 6em;
}

table td.price {
  width: 7em;
}

table td.hrs {
  width: 5em;
}

table td.date {
  white-space: nowrap;
  text-align: right;
  width: 7em;
}

table td.status {
  font-size: 0.7em;
  width: 10em;
}

table td.billing {
  text-align: center;
}

table td.phone {
  white-space: nowrap;
}

table td.deadline-budget div.progress {
  opacity: 0.33;
}

table td.deadline-budget div.progress i {
  display: none;
}

table tr:hover div.progress {
  opacity: 0.66;
}

table .assigned {
  text-align: center;
}

table .assigned em {
  color: #f00;
}

table i.fi-check {
  color: #43AC6A;
}

table i.fi-minus {
  color: #ccc;
}

.table-footer {
  margin-top: -2em;
  margin-bottom: 2em;
  margin-left: 1em;
  font-size: 0.7em;
}

.grid-view {
  margin-bottom: 2em;
}

.grid-view table tbody td {
  -webkit-transition: background-color 100ms;
  transition: background-color 100ms;
}

.grid-view table tbody tr:hover td {
  cursor: pointer;
  background-color: #eee;
}

table.detail-view {
  width: 100%;
  margin-bottom: 2em;
}

.panel .operations {
  margin-left: 0;
}

.panel table thead th, .panel table thead td {
  background-color: #ddd;
}

.alert-box {
  line-height: 1 !important;
}

.alert-box .close {
  display: none;
  padding: 0 0.2em 0 0;
}

.alert-box:hover .close {
  display: block;
}

.project-status ul {
  list-style-type: none;
}

.project-status ul li {
  padding: 0.5em 0.5em;
}

.project-status ul li.active {
  background-color: #00945D;
  font-weight: bold;
}

.project-status ul li.active a {
  display: block;
}

.project-status ul li.active a span {
  color: #fff !important;
}

.project-status ul li.active.pending {
  background-color: #1E2528;
}

.project-status ul li.active.inprogress {
  background-color: #00945D;
}

.project-status ul li.active.onhold {
  background-color: #BF0A0D;
}

.project-status ul li.active.approval {
  background-color: #C86721;
}

.project-status ul li.active.complete {
  background-color: #43AC6A;
}

.project-status ul li.active.invoiced {
  background-color: #1E2528;
}

.project-status ul li.active.cancelled {
  background-color: #1E2528;
}

span.status {
  white-space: nowrap;
}

span.status.pending {
  color: #1E2528;
}

span.status.inprogress {
  color: #00945D;
}

span.status.onhold {
  color: #BF0A0D;
}

span.status.approval {
  color: #C86721;
}

span.status.complete {
  color: #43AC6A;
}

span.status.invoiced {
  color: #1E2528;
}

span.status.cancelled {
  color: #1E2528;
}

.priority.low {
  color: #43AC6A;
}

.priority.med {
  color: #C86721;
}

.priority.high {
  color: #BF0A0D;
}

.project-priority ul {
  list-style-type: none;
}

.project-priority ul li {
  padding: 0.5em 0.5em;
}

.project-priority ul li.low a {
  color: #43AC6A;
}

.project-priority ul li.med a {
  color: #C86721;
}

.project-priority ul li.high a {
  color: #BF0A0D;
}

.project-priority ul li.active {
  font-weight: bold;
}

.project-priority ul li.active a {
  display: block;
  color: #fff;
}

.project-priority ul li.active.low {
  background-color: #43AC6A;
}

.project-priority ul li.active.med {
  background-color: #C86721;
}

.project-priority ul li.active.high {
  background-color: #BF0A0D;
}

.project-users ul {
  list-style-type: none;
}

.activity-log {
  line-height: 1.4;
  font-size: 0.7em;
}

.activity-log div {
  padding: 0 0 1em;
}

.activity-log time {
  color: #ccc;
  font-size: 0.85em;
  display: block;
  text-align: right;
}

.activity-log div:hover time {
  color: #6f6f6f;
}

.activity-log .field {
  font-style: italic;
}

.activity-log .null {
  font-style: italic;
}

.activity-log .value {
  font-weight: bold;
}

.assign-users ul {
  list-style-type: none;
}

.assign-users ul a {
  width: 100%;
}

.panel.callout a {
  color: #fff !important;
}

ul.ui-autocomplete {
  z-index: 9 !important;
}

ul.ui-autocomplete li {
  font-size: 0.8em;
}

.pager {
  display: block;
  margin-left: -0.3125rem;
  min-height: 1.5rem;
  font-size: 0.8em;
  padding-top: 1em;
}

.pager li {
  color: #222222;
  font-size: 0.875rem;
  height: 1.5rem;
  margin-left: 0.3125rem;
}

.pager li a, .pager li button {
  border-radius: 0px;
  -webkit-transition: background-color 300ms ease-out;
  transition: background-color 300ms ease-out;
  background: none;
  color: #999999;
  display: block;
  font-size: 1em;
  font-weight: normal;
  line-height: inherit;
  padding: 0.0625rem 0.625rem 0.0625rem;
}

.pager li:hover a,
.pager li a:focus,
.pager li:hover button,
.pager li button:focus {
  background: #e6e6e6;
}

.pager li.unavailable a, .pager li.unavailable button {
  cursor: default;
  color: #999999;
  pointer-events: none;
}

.pager li.unavailable:hover a,
.pager li.unavailable a:focus,
.pager li.unavailable:hover button,
.pager li.unavailable button:focus {
  background: transparent;
}

.pager li.current a, .pager li.current button {
  background: #00945D;
  color: #FFFFFF;
  cursor: default;
  font-weight: bold;
}

.pager li.current a:hover, .pager li.current a:focus, .pager li.current button:hover, .pager li.current button:focus {
  background: #00945D;
}

.pager li {
  display: block;
  float: left;
}

.pager .selected a, .pager .selected button {
  background: #00945D;
  color: #FFFFFF;
  cursor: default;
  font-weight: bold;
}

.pager .selected a:hover, .pager .selected a:focus, .pager .selected button:hover, .pager .selected button:focus {
  background: #00945D;
}

.portlet {
  border-style: solid;
  border-width: 1px;
  border-color: #d8d8d8;
  margin-bottom: 1.25rem;
  padding: 1.25rem;
  background: #f2f2f2;
  color: #333333;
  font-size: 0.9em;
}

.portlet > :first-child {
  margin-top: 0;
}

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

.portlet h1, .portlet h2, .portlet h3, .portlet h4, .portlet h5, .portlet h6, .portlet p, .portlet li, .portlet dl {
  color: #333333;
}

.portlet h1, .portlet h2, .portlet h3, .portlet h4, .portlet h5, .portlet h6 {
  line-height: 1;
  margin-bottom: 0.625rem;
}

.portlet h1.subheader, .portlet h2.subheader, .portlet h3.subheader, .portlet h4.subheader, .portlet h5.subheader, .portlet h6.subheader {
  line-height: 1.4;
}

.portlet .portlet-title {
  font-weight: bold;
}

.portlet .operations {
  list-style-type: none;
  margin-bottom: 0;
  margin-left: 0;
}

.portlet .operations a {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  border-style: solid;
  border-width: 0;
  cursor: pointer;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-weight: normal;
  line-height: normal;
  margin: 0 0 1.25rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  padding: 0.875rem 1.75rem 0.9375rem 1.75rem;
  font-size: 0.8125rem;
  padding-bottom: 0.9375rem;
  padding-top: 0.875rem;
  padding-left: 1rem;
  padding-right: 1rem;
  width: 100%;
  background-color: #00945D;
  border-color: #00764a;
  color: #FFFFFF;
  -webkit-transition: background-color 300ms ease-out;
  transition: background-color 300ms ease-out;
}

.portlet .operations a:hover, .portlet .operations a:focus {
  background-color: #00764a;
}

.portlet .operations a:hover, .portlet .operations a:focus {
  color: #FFFFFF;
}

.portlet .operations a.alert {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  border-style: solid;
  border-width: 0;
  cursor: pointer;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-weight: normal;
  line-height: normal;
  margin: 0 0 1.25rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  padding: 0.875rem 1.75rem 0.9375rem 1.75rem;
  font-size: 0.8125rem;
  padding-bottom: 0.9375rem;
  padding-top: 0.875rem;
  padding-left: 1rem;
  padding-right: 1rem;
  width: 100%;
  background-color: #BF0A0D;
  border-color: #99080a;
  color: #FFFFFF;
  -webkit-transition: background-color 300ms ease-out;
  transition: background-color 300ms ease-out;
}

.portlet .operations a.alert:hover, .portlet .operations a.alert:focus {
  background-color: #99080a;
}

.portlet .operations a.alert:hover, .portlet .operations a.alert:focus {
  color: #FFFFFF;
}

.summary, .note {
  font-size: 60%;
  padding: 0 0 1em;
  opacity: 0.7;
}

.top-bar .title-area h1 {
  width: 12em;
}

.pager li {
  font-size: 0.7em;
  margin-left: 0;
}

.pager li a {
  padding-left: 0.5em;
  padding-right: 0.5em;
}

.row.dashboard {
  width: 100% !important;
  max-width: none;
}

.row.dashboard table {
  width: 100%;
}

.row.dashboard table .users, .row.dashboard table .client {
  font-size: 0.7em;
}

.row.dashboard table .client {
  white-space: nowrap;
}

.deadline-list h3 {
  color: #fff;
}

.deadline-list td.title {
  font-size: 0.6em;
}

.deadline-list td.date, .deadline-list td.code {
  font-size: 0.7em;
}

.deadline-list.overdue {
  background-color: #BF0A0D;
  -webkit-animation: overdue 1s ease-in 0 2;
          animation: overdue 1s ease-in 0 2;
}

@-webkit-keyframes overdue {
  0% {
    background-color: #BF0A0D;
  }
  50% {
    background-color: #f2f2f2;
  }
  100% {
    background-color: #BF0A0D;
  }
}

@keyframes overdue {
  0% {
    background-color: #BF0A0D;
  }
  50% {
    background-color: #f2f2f2;
  }
  100% {
    background-color: #BF0A0D;
  }
}

.deadline-list.thisweek {
  background-color: #C86721;
}

.deadline-list.nextweek {
  background-color: #43AC6A;
}

.job-list {
  padding: 0.5em 0;
}

.job-list table {
  width: 100%;
}

.job-list table td.deadline-budget {
  width: 8em;
}

.task-list .task {
  position: relative;
  border-bottom: 1px solid #ddd;
  padding: 0.5em 0;
  background-color: #fff;
}

.task-list .task i.sort, .task-list .task .check, .task-list .task .uncheck, .task-list .task a.remove {
  position: absolute;
  top: 0.45em;
  font-size: 1.2em;
}

.task-list .task i.sort {
  left: 0;
  display: none;
}

.task-list .task i.sort:hover {
  color: #00945D;
}

.task-list .task a.remove {
  right: 0;
  color: #222;
  display: none;
}

.task-list .task a.remove:hover {
  color: #00945D;
}

.task-list .task .check, .task-list .task .uncheck {
  left: 1.2em;
}

.task-list .task a.check, .task-list .task a.uncheck {
  color: #222;
}

.task-list .task a.check:hover {
  color: #00945D;
}

.task-list .task .textwrap {
  margin-left: 3em;
  margin-right: 2em;
}

.task-list .task textarea {
  box-shadow: none;
  padding: 0;
  overflow: hidden;
  min-height: 0;
  height: 1.2em;
  border-width: 0;
  resize: none;
  margin-bottom: 0;
  font-size: 0.8em;
}

.task-list .task textarea:focus {
  background-color: #fff;
}

.task-list .task:hover i.sort, .task-list .task:hover a.remove {
  display: block;
}

.task-list .done {
  text-decoration: line-through;
  color: #aaa;
}

.task-list .done textarea, .task-list .done a.check, .task-list .done a.uncheck, .task-list .done a.remove {
  color: #aaa;
}

.task-list .more {
  padding-top: 0.5em;
  font-size: 0.8em;
  font-weight: bold;
}

.overlay {
  display: none;
  height: 100%;
  min-height: 100%;
  height: auto;
  width: 100%;
  position: absolute;
  z-index: 1;
  background-color: white;
  opacity: 0.5;
}

#facebookG {
  width: 70px;
  position: absolute;
  left: 50%;
  margin-left: -35px;
  top: 50%;
  margin-top: -25px;
}

#facebookG .facebook_blockG {
  background-color: #B8B8B8;
  border: 2px solid #757575;
  float: left;
  height: 49px;
  margin-left: 4px;
  width: 13px;
  opacity: 0.1;
  -moz-animation-name: bounceG;
  -moz-animation-duration: 1.4s;
  -moz-animation-iteration-count: infinite;
  -moz-animation-direction: linear;
  -moz-transform: scale(0.7);
  -webkit-animation-name: bounceG;
  -webkit-animation-duration: 1.4s;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-direction: linear;
  -webkit-transform: scale(0.7);
  -ms-animation-name: bounceG;
  -ms-animation-duration: 1.4s;
  -ms-animation-iteration-count: infinite;
  -ms-animation-direction: linear;
  -ms-transform: scale(0.7);
  -o-animation-name: bounceG;
  -o-animation-duration: 1.4s;
  -o-animation-iteration-count: infinite;
  -o-animation-direction: linear;
  -o-transform: scale(0.7);
  animation-name: bounceG;
  animation-duration: 1.4s;
  animation-iteration-count: infinite;
  animation-direction: linear;
  transform: scale(0.7);
}

#facebookG #blockG_1 {
  -webkit-animation-delay: 0.41999999999999993s;
  animation-delay: 0.41999999999999993s;
}

#facebookG #blockG_2 {
  -webkit-animation-delay: 0.5599999999999999s;
  animation-delay: 0.5599999999999999s;
}

#facebookG #blockG_3 {
  -webkit-animation-delay: 0.7s;
  animation-delay: 0.7s;
}

@-webkit-keyframes bounceG {
  0% {
    -webkit-transform: scale(1.2);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(0.7);
    opacity: 0.1;
  }
}

@keyframes bounceG {
  0% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(0.7);
            transform: scale(0.7);
    opacity: 0.1;
  }
}

#fullscreen {
  padding: 0 2em;
}

.row.fullscreen {
  padding: 0 2em;
  width: 100% !important;
  max-width: none;
}

i.fi-loop {
  display: block;
  -webkit-animation: spin 1s linear 0 infinite;
          animation: spin 1s linear 0 infinite;
}

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

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

#notify-nav.unread a {
  -webkit-animation: notify 1s ease-in-out 0 infinite;
          animation: notify 1s ease-in-out 0 infinite;
}

#notify-nav.unread a:hover {
  -webkit-animation: none;
          animation: none;
  background-color: #222222;
}

@-webkit-keyframes notify {
  0% {
    background-color: #1E2528;
    color: #fff;
  }
  50% {
    background-color: #43AC6A;
    color: #1E2528;
  }
  100% {
    background-color: #1E2528;
    color: #fff;
  }
}

@keyframes notify {
  0% {
    background-color: #1E2528;
    color: #fff;
  }
  50% {
    background-color: #43AC6A;
    color: #1E2528;
  }
  100% {
    background-color: #1E2528;
    color: #fff;
  }
}

#notifications {
  position: absolute;
  top: 4em;
  left: 16.7em;
  width: 32em;
  background-color: #1E2528;
  font-size: 0.7em;
  list-style-type: none;
  z-index: 99;
}

#notifications a {
  border-top: 1px solid #374349;
  color: #fff;
  display: block;
  padding: 0.75em;
}

#notifications a:hover {
  background-color: #222222 !important;
}

#notifications li.unread a {
  background-color: #313c41;
}

#notifications time {
  font-size: 0.8em;
  display: block;
  color: #8197a1;
}

#notifications span.status.invoiced {
  color: #ccc;
}

#timesheetPanel {
  position: fixed;
  bottom: 0;
  right: 0;
  -webkit-transition: height 250ms;
  transition: height 250ms;
  opacity: 0.9;
  background-color: #1E2528;
  font-size: 0.8em;
  width: 30em;
  z-index: 99;
}

#timesheetPanel ul {
  font-size: 1em;
  list-style-type: none;
  margin: 0;
}

#timesheetPanel li {
  position: relative;
  height: 2em;
  line-height: 2em;
  -webkit-transition: all 250ms;
  transition: all 250ms;
  border-bottom: 1px solid #374349;
}

#timesheetPanel li:hover {
  background-color: #222222;
}

#timesheetPanel li.active {
  background-color: #358753;
  border-bottom: 1px solid #55bd7c;
}

#timesheetPanel li.active:hover {
  background-color: #43AC6A;
}

#timesheetPanel li.close {
  color: #999;
  text-align: center;
  font-size: 1.5em;
  border-bottom: none;
}

#timesheetPanel li.close:hover {
  background-color: transparent;
  color: #fff;
  cursor: pointer;
}

#timesheetPanel a {
  color: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
}

#timesheetPanel a.punch {
  width: 2em;
  left: 0;
  text-align: center;
}

#timesheetPanel a.punch:hover {
  background-color: #43AC6A;
}

#timesheetPanel a.title {
  left: 2em;
  right: 5em;
  padding-left: 0.5em;
  overflow: hidden;
}

#timesheetPanel a.title span {
  display: block;
}

#timesheetPanel a.time {
  width: 5em;
  right: 0;
  padding-right: 1em;
  text-align: right;
  font-family: 'Inconsolata', monospace;
}

#timesheetPanel.collapsed {
  height: 2em;
}

#timesheetPanel:hover {
  opacity: .95;
}

#timesheetPanel.expanded {
  height: 18em;
  overflow: auto;
}

div.progress.medium-alert .meter {
  background-color: #C86721;
}

#user-dash {
  max-width: 80em;
}

#user-dash .noteListForm {
  width: 100%;
}

#user-dash .noteListForm .row {
  background-color: #f6f6f6;
}

#user-dash .noteListForm .form-row {
  display: none;
}

#user-dash .summary {
  display: none;
}

#user-dash .active-projects a.client {
  color: #1E2528;
}

#user-dash .active-projects a.client:hover {
  color: #fff;
  background-color: #1E2528;
}

#user-dash .project-list .title {
  line-height: 1.5;
}

#user-dash .project-list .status, #user-dash .project-list .priority {
  text-align: right;
  font-size: 0.9em;
  margin-bottom: 1em;
}

#user-dash .project-list .task-list {
  font-size: 0.85em;
}

#user-dash .project-list .task-list .task {
  background-color: transparent;
}

#user-dash .project-list .task-list .task textarea {
  background-color: transparent;
}

#user-dash .project-list .deadline-budget {
  height: 3.5em;
  margin-bottom: 1em;
}

#user-dash .project-list .deadline-budget .progress {
  background-color: #cccccc;
}

#user-dash .project-list .deadline-budget i {
  font-size: 1.3em;
}

#user-dash .chart.timesheet {
  margin-bottom: 2em;
}

#user-dash .chart.timesheet ul.data {
  display: none;
}

#user-dash .chart.tasks {
  position: relative;
}

#user-dash .chart.tasks ul.data {
  position: absolute;
  top: 0;
  z-index: 2;
}

#user-dash .chart.tasks ul.data li {
  font-size: 0.85em;
}

#user-dash .chart.tasks .todo {
  color: #cccccc;
}

#user-dash .chart.tasks .completed {
  color: #43AC6A;
}

#user-dash .chart.tasks .diagram {
  height: 150px;
  font-size: 1.2em;
}

#user-dash .chart.timesheet ul li {
  color: #00945D;
}

#user-dash .client .phone, #user-dash .client .address, #user-dash .client .code {
  font-size: 0.8em;
  margin-top: 1em;
  line-height: 1.2;
}

.reminderList .reminder {
  margin-bottom: 1em;
  background-color: #f3f3f3;
}

.reminderList .remind.me {
  background-color: #BF0A0D;
}

.reminderList .remind {
  background-color: #1E2528;
  color: #fff;
  padding: 0.2em 0.5em;
  font-size: 0.8em;
  text-shadow: 1px 1px 1px #000;
}

.reminderList .entity {
  background-color: #bdd0c9;
  padding: 0.2em 0.5em;
  font-size: 0.8em;
}

.reminderList .entity a {
  color: #1E2528;
}

.reminderList .text {
  font-size: 0.7em;
  padding: 1em;
}

.reminderList .author {
  font-size: 0.6em;
  opacity: 0.7;
  padding: 0.5em;
}

.reminderList .done .button {
  opacity: 0.5;
  padding: 0.5em 0.75em;
  margin-bottom: 0.5em;
}

.reminderList .done .button:hover {
  opacity: 1;
}

.reconcile-virtualmin table.totals {
  margin-bottom: 2em;
}

.reconcile-virtualmin table.totals .total {
  font-weight: bold;
}

.reconcile-virtualmin table.totals tbody tr.total td {
  border-top-style: double;
}

.reconcile-virtualmin table.totals tbody td.total {
  border-left-style: double;
}

.reconcile-virtualmin table.totals tr.disabled td, .reconcile-virtualmin table.totals tr.disabled th {
  color: #BF0A0D;
}

.reconcile-virtualmin table.totals tr.ip-mismatch td, .reconcile-virtualmin table.totals tr.ip-mismatch th {
  color: #f08a24;
}

.reconcile-virtualmin #reconcile-grid {
  font-size: 0.8em;
}

.reconcile-virtualmin #reconcile-grid tr.disabled td, .reconcile-virtualmin #reconcile-grid tr.disabled th {
  background-color: #fa9b9d;
}

.reconcile-virtualmin #reconcile-grid tr.ip-mismatch td, .reconcile-virtualmin #reconcile-grid tr.ip-mismatch th {
  background-color: #fbe3cb;
}

.reconcile-virtualmin #reconcile-grid .select {
  padding: 0;
}

.reconcile-virtualmin #reconcile-grid .select a {
  padding: 0.2em 0.5em;
}

.reconcile-virtualmin #reconcile-grid .checkbox {
  padding: 0;
}

.reconcile-virtualmin #reconcile-grid .checkbox input {
  margin-top: 0.5em;
}

.reconcile-virtualmin #reconcile-grid input, .reconcile-virtualmin #reconcile-grid select {
  margin-bottom: 0;
  font-size: 1em;
  height: auto;
  padding: 0.1em 0.3em;
}

.reconcile-virtualmin #reconcile-grid .billingPriceCustom input {
  width: 8em;
}

.reconcile-virtualmin #reconcile-grid select {
  height: 2em;
}

.reconcile-virtualmin .hasNotes {
  color: #BF0A0D;
  font-weight: bold;
}

.noteListForm {
  margin-bottom: 2em;
}

.noteListForm form {
  -webkit-touch-callout: none;
  /* iOS Safari */
  -webkit-user-select: none;
  /* Chrome/Safari/Opera */
  /* Konqueror */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* Internet Explorer/Edge */
  user-select: none;
  /* Non-prefixed version, currently
                                    not supported by any browser */
}

.noteListForm textarea {
  line-height: 1.5;
  margin-bottom: 0.5em;
}

.noteListForm .note-list {
  font-size: 0.8em;
  clear: both;
}

.noteListForm .note-list .row {
  border-bottom: 1px solid #edead4;
}

.noteListForm .note-list .columns {
  padding-bottom: 4em;
  padding-top: 4em;
}

.noteListForm .note-list .date {
  color: #999;
  font-size: 0.8em;
}

.noteListForm .note-list .lead {
  font-size: 0.8em;
  position: absolute;
  left: 1.5em;
  top: 2em;
  color: #43AC6A;
  opacity: 1;
}

.noteListForm .note-list .type {
  font-size: 0.8em;
  position: absolute;
  right: 2em;
  top: 2em;
  line-height: 1;
}

.noteListForm .note-list .reminder {
  position: absolute;
  left: 1.5em;
  bottom: 1.7em;
  font-size: 0.8em;
  opacity: 1;
  text-transform: uppercase;
}

.noteListForm .note-list .reminder .button {
  margin-bottom: 0;
  padding: 0.4em 0.4em 0.4em 0.4em;
}

.noteListForm .note-list .reminder .reminderLabel {
  margin-right: 1em;
}

.noteListForm .note-list .reminder.done .reminderLabel {
  opacity: 0.5;
}

.noteListForm .note-list .reminder.done .fa-check {
  color: #43AC6A;
  font-size: 1.5em;
}

.noteListForm .note-list .rating {
  position: absolute;
  right: 2em;
  bottom: 1.7em;
  font-size: 0.8em;
}

.noteListForm .note-list .rating i {
  opacity: 1;
}

.noteListForm .note-list .rating.rate1,
.noteListForm .note-list .rating.rate2 {
  color: #BF0A0D;
}

.noteListForm .note-list .rating.rate3 {
  color: #f08a24;
}

.noteListForm .note-list .rating.rate4,
.noteListForm .note-list .rating.rate5 {
  color: #43AC6A;
}

.noteListForm .form-row {
  font-size: 0.8em;
  padding-top: 4em;
}

.noteListForm .fa {
  font-size: 1.1em;
}

.noteListForm .reminder {
  position: relative;
  opacity: 0.5;
}

.noteListForm .reminder .fa {
  cursor: pointer;
}

.noteListForm .reminder input {
  margin-left: 1em;
  background-color: transparent;
  border-width: 0;
  box-shadow: none;
  height: 1.5em;
  padding: 0;
  width: auto;
  display: inline;
}

.noteListForm .reminder select {
  display: none;
  width: auto;
  background-color: transparent;
  border: none;
  padding: 0 2em 0 0.5em;
  margin-bottom: 0;
  height: 1.5em;
}

.noteListForm .reminder:hover, .noteListForm .reminder.active {
  opacity: 1;
}

.noteListForm .reminder.active select {
  display: inline;
}

.noteListForm .type {
  padding-bottom: 0em;
  text-transform: uppercase;
  font-size: 0.8em;
  letter-spacing: 0.1em;
}

.noteListForm .type a.dropdown {
  opacity: 0.5;
}

.noteListForm .type a.dropdown:hover {
  opacity: 1;
}

.noteListForm .type input {
  font-size: 1em;
  display: none;
  width: 10em;
  margin-bottom: 0;
  height: 1em;
  padding-left: 0;
  background-color: transparent;
  border-color: transparent;
  box-shadow: none;
}

.noteListForm .type.active a.dropdown {
  opacity: 1;
}

.noteListForm .type.active input {
  display: inline;
}

.noteListForm .lead {
  opacity: 0.5;
  line-height: 1;
}

.noteListForm .lead label.text {
  display: inline !important;
  color: #00945D;
  text-transform: uppercase;
  font-size: 0.8em;
  letter-spacing: 0.1em;
}

.noteListForm .lead input {
  margin-bottom: 0;
}

.noteListForm .lead .switch {
  line-height: 1;
  margin-bottom: 0;
  display: inline-block;
}

.noteListForm .lead .switch label {
  height: 0.8em;
  width: 2em;
}

.noteListForm .lead .switch label:after {
  height: 0.5em;
  width: 0.6em;
  top: 0.1em;
}

.noteListForm .lead .switch input:checked + label:after {
  left: 1.1em;
}

.noteListForm .lead .switch input:checked + label {
  background-color: #43AC6A;
}

.noteListForm .lead:hover, .noteListForm .lead.active {
  opacity: 1;
}

.noteListForm.dir-down .note-list .row {
  border-top: 1px solid #edead4;
  border-bottom: none;
}

.noteListForm.dir-down .form-row {
  padding-top: 4em;
  padding-bottom: 0;
}

.rating {
  list-style-type: none;
  text-align: right;
}

.rating i {
  opacity: 0.5;
  font-size: 1.3em;
  cursor: pointer;
}

.rating .avg {
  margin-left: 0.5em;
}

.rating span:hover > i {
  opacity: 1;
}

.rating span:hover > i.rate1 {
  color: #BF0A0D;
}

.rating span:hover > i.rate2 {
  color: #f08a24;
}

.rating span:hover > i.rate3 {
  color: #f08a24;
}

.rating span:hover > i.rate4 {
  color: #43AC6A;
}

.rating span:hover > i.rate5 {
  color: #43AC6A;
}

.rating.active1 i.rate1 {
  color: #BF0A0D;
  opacity: 1;
  font-weight: bold;
}

.rating.active2 i.rate1 {
  color: #BF0A0D;
  opacity: 1;
}

.rating.active2 i.rate2 {
  color: #f08a24;
  opacity: 1;
  font-weight: bold;
}

.rating.active3 i.rate1 {
  color: #BF0A0D;
  opacity: 1;
}

.rating.active3 i.rate2 {
  color: #f08a24;
  opacity: 1;
}

.rating.active3 i.rate3 {
  color: #f08a24;
  opacity: 1;
  font-weight: bold;
}

.rating.active4 i.rate1 {
  color: #BF0A0D;
  opacity: 1;
}

.rating.active4 i.rate2 {
  color: #f08a24;
  opacity: 1;
}

.rating.active4 i.rate3 {
  color: #f08a24;
  opacity: 1;
}

.rating.active4 i.rate4 {
  color: #43AC6A;
  opacity: 1;
  font-weight: bold;
}

.rating.active5 i.rate1 {
  color: #BF0A0D;
  opacity: 1;
}

.rating.active5 i.rate2 {
  color: #f08a24;
  opacity: 1;
}

.rating.active5 i.rate3 {
  color: #f08a24;
  opacity: 1;
}

.rating.active5 i.rate4 {
  color: #43AC6A;
  opacity: 1;
}

.rating.active5 i.rate5 {
  color: #43AC6A;
  opacity: 1;
  font-weight: bold;
}

.tabs-content {
  background-color: #f5f3e6;
  padding: 1em;
}

.tabs-content table tbody td {
  background-color: rgba(255, 255, 255, 0.7);
}

.tabs-content .noteListForm {
  background-color: rgba(255, 255, 255, 0.7);
}

.tabs dd > a, .tabs .tab-title > a {
  padding: 0.5em 1.5em;
  outline: none;
  font-size: 0.9em;
}

dl.tabs dd a {
  border-right: 1px solid #d7cf9e;
}

dl.tabs dd .count {
  position: absolute;
  bottom: 0.2em;
  right: 0.6em;
  font-size: 0.6em;
  opacity: 0.4;
}

dl.tabs dd.active a {
  border-right: none;
}

#project-grid td {
  font-size: 0.75em;
}

#client_notes h2 {
  display: none;
}

ul.sub-menu {
  display: block;
  margin: -0.25rem 0 1.125rem;
  overflow: hidden;
  padding-top: 0.25rem;
  width: auto;
  list-style-type: none;
  float: right;
  overflow: visible;
}

ul.sub-menu dt {
  text-transform: uppercase;
}

ul.sub-menu dt,
ul.sub-menu dd,
ul.sub-menu li {
  color: #999999;
  float: left;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: normal;
  margin-left: 1rem;
  margin-bottom: 0;
}

ul.sub-menu dt a,
ul.sub-menu dd a,
ul.sub-menu li a {
  color: #999999;
  padding: 0.1875rem 1rem;
  text-decoration: none;
}

ul.sub-menu dt a:hover,
ul.sub-menu dd a:hover,
ul.sub-menu li a:hover {
  color: #737373;
}

ul.sub-menu dt.active a,
ul.sub-menu dd.active a,
ul.sub-menu li.active a {
  border-radius: 3px;
  background: #00945D;
  color: #FFFFFF;
  cursor: default;
  font-weight: normal;
  padding: 0.1875rem 1rem;
}

ul.sub-menu dt.active a:hover,
ul.sub-menu dd.active a:hover,
ul.sub-menu li.active a:hover {
  background: #007f50;
}

ul.sub-menu li {
  font-size: 0.8em;
  margin: 0;
}

ul.sub-menu li a {
  padding: 0.5em 1em;
  color: #00945D;
  background-color: rgba(0, 148, 93, 0.1);
  border: 1px solid rgba(0, 148, 93, 0.2);
}

ul.sub-menu li a:hover {
  color: #00945D;
  background-color: rgba(0, 148, 93, 0.2);
  border: 1px solid rgba(0, 148, 93, 0.3);
}

ul.sub-menu a.alert {
  color: #BF0A0D;
}

.client.view .top-info {
  position: absolute;
  top: 2.5em;
  right: 1em;
}

#client_dashboard .summary {
  display: none;
}

#client_dashboard table {
  width: 100%;
}

#client_dashboard td {
  font-size: 0.8em !important;
}

#client_dashboard .noteListForm {
  padding: 0 1em;
}

#client_dashboard .noteListForm h2,
#client_dashboard .noteListForm .form-row {
  display: none;
}

#client_notes .noteListForm {
  padding: 0 2em;
}

#client_contacts table {
  clear: both;
}

canvas.chart {
  margin-bottom: 2em;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19nbG9iYWwuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19ncmlkLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL19mdW5jdGlvbnMuc2NzcyIsImFwcC5jc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYmxvY2stZ3JpZC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL190eXBlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYWxlcnQtYm94ZXMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fbGFiZWxzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2lubGluZS1saXN0cy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19wYW5lbHMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19wcm9ncmVzcy1iYXJzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL190YWJzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fc2lkZS1uYXYuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fc3ViLW5hdi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19zd2l0Y2hlcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19kcm9wZG93bi1idXR0b25zLnNjc3MiLCJwaXp6YS5zY3NzIl0sIm5hbWVz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QjtFU3hKcEIsZ0JUK1EwQjtDUzlRM0I7O0FBaVJDOzs7Ozs7Ozs7Ozs7Ozs7OztFQTNRQSwwQlRpSm9CO0VTaEpwQixnQlR1UTBCO0NTdFEzQjs7QUF5UUM7RVRoWUEsbUJDMkJlO0NRbVhaOztBQUdIOzs7O0VUalpBLGlCU3VaZ0M7RVQ3WWhDLHdDQ2lCZTtFRGhCZixxQ0NnQmU7RURmZixnQ0NlZTtFRGRmLDZCQ2NlO0NRNFhpRjs7QUFOaEc7RVRqWkEsaUJTd1ppQztFVDlZakMsdUNDaUJlO0VEaEJmLG9DQ2dCZTtFRGZmLCtCQ2VlO0VEZGYsNEJDY2U7Q1E2WDZFOztBQVA1Rjs7OztFVGpaQSxpQlM4WmdDO0VUcFpoQyx1Q0NpQmU7RURoQmYsb0NDZ0JlO0VEZmYsK0JDZWU7RURkZiw0QkNjZTtDUW1ZNEU7O0FBYjNGO0VUalpBLGlCUytaa0M7RVRyWmxDLHdDQ2lCZTtFRGhCZixxQ0NnQmU7RURmZixnQ0NlZTtFRGRmLDZCQ2NlO0NRb1ltRjs7QUFkbEc7Ozs7RVRqWkEsaUJTcWFnQztFVDNaaEMsMkNBa1RtQjtFQWpUbkIsd0NBaVRtQjtFQWhUbkIsbUNBZ1RtQjtFQS9TbkIsZ0NBK1NtQjtDU3lHNEU7O0FBcEIvRjtFVGpaQSxpQlNzYWlDO0VUNVpqQywwQ0FrVG1CO0VBalRuQix1Q0FpVG1CO0VBaFRuQixrQ0FnVG1CO0VBL1NuQiwrQkErU21CO0NTMEd3RTs7QUFyQjNGOzs7O0VUalpBLGlCUzRhZ0M7RVRsYWhDLDBDQWtUbUI7RUFqVG5CLHVDQWlUbUI7RUFoVG5CLGtDQWdUbUI7RUEvU25CLCtCQStTbUI7Q1NnSHVFOztBQTNCMUY7RVRqWkEsaUJTNmFrQztFVG5hbEMsMkNBa1RtQjtFQWpUbkIsd0NBaVRtQjtFQWhUbkIsbUNBZ1RtQjtFQS9TbkIsZ0NBK1NtQjtDU2lIOEU7O0FBS2pHO0VBQ0UseUJBQXlCO0VBQ3pCLHNCQUFzQjtFQUN0QixpQkFBaUI7Q0FDbEI7O0FBRUQsa0RBQWtEO0FBQ2xEO0VBQ0UsYUFBYTtDQUNkOztBQUVELG9DQUFvQztBQUNwQztFQUNFLGdCQUFnQjtD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QTNTMkI7RUE0UzNCLHFCQTdTdUI7RUE4U3ZCLFlBQVk7Q0FjYjs7QUFqREw7RUFzQ1EscUJmN1BRO0VlOFBSLHdCQWpUeUI7RUFrVHpCLHlCQWxUeUI7RVZ1SGpDLDBCUDNHbUI7RU80R25CLHNCQTFIeUI7RUErSHpCLGVSMkhvQjtDa0I0RGI7O0FBMUNQO0VWaEpVLDBCQTVIZTtDQTRIZ0I7O0FVZ0p6QztFVnpJRSxlUnVIa0I7Q1F0SG5COztBVXdJRDtFVm5KQSwwQlAxR3FCO0VPMkdyQixzQkFSOEU7RUFhOUUsZVIySG9CO0NrQjhEc0Q7O0FBNUMxRTtFVmhKVSwwQkFkNEQ7Q0FjN0I7O0FVZ0p6QztFVnpJRSxlUnVIa0I7Q1F0SG5COztBVXdJRDtFVm5KQSwwQlB4R21CO0VPeUduQixzQkFSOEU7RUFhOUUsZVIySG9CO0NrQitEa0Q7O0FBN0N0RTtFVmhKVSwwQkFkNEQ7Q0FjN0I7O0FVZ0p6QztFVnpJRSxlUnVIa0I7Q1F0SG5COztBVXdJRDtFVm5KQSwwQlB6R2lCO0VPMEdqQixzQkFSOEU7RUFhOUUsZVIySG9CO0NrQmdFOEM7O0FBOUNsRTtFVmhKVSwwQkFkNEQ7Q0FjN0I7O0FVZ0p6QztFVnpJRSxlUnVIa0I7Q1F0SG5COztBVXdJRDtFVm5KQSwwQlB2R21CO0VPd0duQixzQkFSOEU7RUFhOUUsZVIySG9CO0NrQmlFa0Q7O0FBL0N0RTtFVmhKVSwwQkFkNEQ7Q0FjN0I7O0FVZ0p6QztFVnpJRSxlUnVIa0I7Q1F0SG5COztBVXdJRDtFVm5KQSwwQlB0R2dCO0VPdUdoQixzQkFSOEU7RUFhOUUsZVIySW9CO0NrQmtENEM7O0FBaERoRTtFVmhKVSwwQkFkNEQ7Q0FjN0I7O0FVZ0p6QztFVnpJRSxlUnVIa0I7Q1F0SG5COztBVXdJRDtFQW9ETSxxQmYzUVU7RWU0UVYsd0JBL1QyQjtFQWdVM0IseUJBaFUyQjtFVnVIakMsMEJQM0dtQjtFTzRHbkIsc0JBMUh5QjtFQStIekIsZVIySG9CO0NrQmdGZjs7QUE5REw7RVZoSlUsMEJBNUhlO0NBNEhnQjs7QVVnSnpDO0VWeklFLGVSdUhrQjtDUXRIbkI7O0FVd0lEO0VWbkpBLDBCUDFHcUI7RU8yR3JCLHNCQVI4RTtFQWE5RSxlUjJIb0I7Q2tCMkUrQzs7QUF6RG5FO0VWaEpVLDBCQWQ0RDtDQWM3Qjs7QVVnSnpDO0VWeklFLGVSdUhrQjtDUXRIbkI7O0FVd0lEO0VWbkpBLDBCUHhHbUI7RU95R25CLHNCQVI4RTtFQWE5RSxlUjJIb0I7Q2tCNEUyQzs7QUExRC9EO0VWaEpVLDBCQWQ0RDtDQWM3Qjs7QVVnSnpDO0VWeklFLGVSdUhrQjtDUXRIbkI7O0FVd0lEO0VWbkpBLDBCUHpHaUI7RU8wR2pCLHNCQVI4RTtFQWE5RSxlUjJIb0I7Q2tCNkV1Qzs7QUEzRDNEO0VWaEpVLDBCQWQ0RDtDQWM3Qjs7QVVnSnpDO0VWeklFLGVSdUhrQjtDUXRIbkI7O0FVd0lEO0VWbkpBLDBCUHZHbUI7RU93R25CLHNCQVI4RTtFQWE5RSxlUjJIb0I7Q2tCOEUyQzs7QUE1RC9EO0VWaEpVLDBCQWQ0RDtDQWM3Qjs7QVVnSnpDO0VWeklFLGVSdUhrQjtDUXRIbkI7O0FVd0lEO0VWbkpBLDBCUHRHZ0I7RU91R2hCLHNCQVI4RTtFQWE5RSxlUjJJb0I7Q2tCK0RxQzs7QUE3RHpEO0VWaEpVLDBCQWQ0RDtDQWM3Qjs7QVVnSnpDO0VWeklFLGVSdUhrQjtDUXRIbkI7O0FVd0lEO0VBa0VNLDBCbEJ0RWM7RWtCdUVkLGVsQnJGYztFa0J3Rlosb0JsQnZFWTtDa0J5RWY7O0FBeEVMO0VBNEVNLG9CakIxVWE7RWlCMlViLGVsQi9GYztDa0JxR2Y7O0FBbkZMO0VBZ0ZRLG9CQTdWNkI7RUE4VjdCLGVsQm5HWTtDa0JvR2I7O0FBbEZQO0VBd0ZJLG1CQWxXNkI7Q0FtVzlCOztBQXpGSDtFQTZGSSxtQkFBbUI7Q0E0QnBCOztBQXpISDtFbEJuSkYsa0JrQjFHK0I7RWxCMkcvQixZQUFZO0VBQ1osZUFBZTtFQUNmLFVBQVU7RUFDVixTQUFTO0VBVVAsMkVBbUhvQjtFQWxIcEIseUJBQXlCO0VrQnlPakIsd0JBL1d5QjtFQWdYekIsbUJBQWE7RUFDYixtQkFBbUI7RUFDbkIsU0FBUztF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OztFQzc3Q0ksbUJvQk51QjtFQWlFckIsb0JuQnhDaUI7RW1CeUNqQixlcEJtTWtCO0VvQmxNbEIsZ0JBeER5QjtFQXlEekIsb0JwQm1PcUI7RW9CbE9yQix3QmpCTGM7Q2lCVWY7O0FyQnkzQ0w7OztFcUIzM0NRLG9CQWhFNkI7Q0FpRTlCOztBckIwM0NQO0VBT0ksaUJBQWlCO0VBQ2pCLFVBQVU7Q0FhWDs7QUFyQkg7RUFVTSxtQkFBbUI7RUFDbkIsZUVyN0NpQjtFRnM3Q2pCLHdDRXQ3Q2lCO0VGdTdDakIsd0NFdjdDaUI7Q0Z5N0NsQjs7QUFmTDtFQWlCTSxlRTM3Q2lCO0VGNDdDakIsd0NFNTdDaUI7RUY2N0NqQix3Q0U3N0NpQjtDRjg3Q2xCOztBQXBCTDtFQXVCSSxlRS83Q2lCO0NGZzhDbEI7O0FBR0g7RUFFSSxtQkFBbUI7RUFDbkIsV0FBVztFQUNYLFdBQVc7Q0FDWjs7QUFHSDtFQUVJLGNBQWM7Q0FDZjs7QUFISDtFQUtJLFlBQVk7Q0FDYjs7QUFOSDtFQVFJLDRCQUE0QjtDQUM3Qjs7QUFUSDtFQWdCSSxlQUFlO0NBS2hCOztBQXJCSDs7RUFtQk0sY0FBYztDQUNmOztBQUdMO0VBRUksZUFBZTtDQUNoQjs7QUFFSDtFQUVJLFlBQVk7Q0FDYjs7QUFHSDtFQUNFLG1CQUFtQjtDQUNwQiIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTWFrZSBzdXJlIHRoZSBjaGFyc2V0IGlzIHNldCBhcHByb3ByaWF0ZWx5XG5AY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIGZvbnRzXG5AaW1wb3J0IHVybChodHRwOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1JbmNvbnNvbGF0YXxSb2JvdG98T3N3YWxkKTtcblxuLy8gVGhpcyBpbmNsdWRlcyBhbGwgb2YgdGhlIGZvdW5kYXRpb24gZ2xvYmFsIGVsZW1lbnRzIHRoYXQgYXJlIG5lZWRlZCB0byB3b3JrIHdpdGggYW55IG9mIHRoZSBvdGhlciBmaWxlcy5cbkBpbXBvcnQgXCJzZXR0aW5nc1wiO1xuXG4vLyBPdXIgdmFyc1xuJG1lZGl1bS1hbGVydC1jb2xvcjogI0M4NjcyMTtcblxuQGltcG9ydCBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vZnVuY3Rpb25zXCI7XG4vLyBGb3VuZGF0aW9uIENvbXBvbmVudHNcbkBpbXBvcnRcbiAgLy9cImZvdW5kYXRpb24vY29tcG9uZW50cy90YWJsZXNcIixcbiAgLy9cImZvdW5kYXRpb24vY29tcG9uZW50cy9zd2l0Y2hcIixcbiAgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvZ2xvYmFsXCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL2dyaWRcIixcbiAgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvdmlzaWJpbGl0eVwiLFxuICBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9ibG9jay1ncmlkXCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL3R5cGVcIixcbiAgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvYnV0dG9uc1wiLFxuICBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9mb3Jtc1wiLFxuICBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9hbGVydC1ib3hlc1wiLFxuICBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9sYWJlbHNcIixcbiAgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvaW5saW5lLWxpc3RzXCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL3BhbmVsc1wiLFxuICBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9wYWdpbmF0aW9uXCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL3Byb2dyZXNzLWJhcnNcIixcbiAgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvcmV2ZWFsXCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL3RhYnNcIixcbiAgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvdG9wLWJhclwiLFxuICBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9zaWRlLW5hdlwiLFxuICBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9zdWItbmF2XCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL3N3aXRjaGVzXCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL2JyZWFkY3J1bWJzXCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL2Ryb3Bkb3duXCIsXG4gIFwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL2Ryb3Bkb3duLWJ1dHRvbnNcIjtcblxuLy8gWnVyYiBwaXp6YSBcbiRwaWUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuQGltcG9ydCBcInBpenphXCI7XG5cbmJvZHkge1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogZW1DYWxjKDI4cHgpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gIHRleHQtc2hhZG93OiAwLjAzZW0gMC4wM2VtIDAuMDNlbSByZ2JhKCMwMDAsIDAuMyk7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgZm9udC1mYW1pbHk6IFwiT3N3YWxkXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbmgyIHtcbiAgZm9udC1zaXplOiBlbUNhbGMoMjBweCk7XG4gIC8vdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgLy9sZXR0ZXItc3BhY2luZzogMC4xZW07XG5cbn1cblxuaDMge1xuICBmb250LXNpemU6IGVtQ2FsYygxNnB4KTtcbiAgLy90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAvL2xldHRlci1zcGFjaW5nOiAwLjFlbTtcblxufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogZW1DYWxjKDEycHgpO1xuICAvL3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIC8vbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xufVxuXG5ib2R5LnBhdWx1cyB7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKC4uL2ltZy9kb2dlLnBuZykgZml4ZWQgYm90dG9tIHJpZ2h0IG5vLXJlcGVhdDtcbn1cblxuLmNvbHVtbnMge1xuICB0cmFuc2l0aW9uOiBhbGwgNTAwbXM7XG59XG5cbiNjb250ZW50IHtcbiAgcGFkZGluZy1ib3R0b206IDJlbTtcbn1cblxuLmRlYWRsaW5lLWJ1ZGdldCB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGl2LnByb2dyZXNzIHtcbiAgICBvcGFjaXR5OiAwLjY2O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgZGl2LnByb2dyZXNzOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIGRpdi5kZWFkbGluZSB7XG4gICAgdG9wOiAwJTtcbiAgICBib3R0b206IDUwJTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gIH1cbiAgZGl2LmJ1ZGdldCB7XG4gICAgdG9wOiA1MCU7XG4gICAgYm90dG9tOiAwJTtcbiAgfVxufVxuXG5kaXYucHJvZ3Jlc3Mge1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBoZWlnaHQ6IDIuNWVtO1xuICAubWV0ZXIge1xuICAgIHRyYW5zaXRpb246IHdpZHRoIGVhc2UtaW4tb3V0IDUwMG1zO1xuICB9XG4gIGkge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjNlbTtcbiAgICBmb250LXNpemU6IDEuNGVtO1xuICB9XG59XG5cbi5mb3JtIHtcbiAgLmVycm9yTWVzc2FnZSB7XG4gICAgZm9udC1zaXplOiAwLjZlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzYwZjEzO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgIHBhZGRpbmc6IDAuNWVtO1xuICB9XG4gIHNwYW4ucmVxdWlyZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgbGFiZWwucmVxdWlyZWQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIGlucHV0LmhycyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgaW5wdXQuZml4ZWQtd2lkdGgge1xuICAgIGZvbnQtZmFtaWx5OiAnSW5jb25zb2xhdGEnLCBtb25vc3BhY2U7XG4gIH1cbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogNmVtO1xuICB9XG4gIHRleHRhcmVhLmF1dG9FeHBhbmQge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICBzbWFsbC5oZWxwZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IC0xLjVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJlbTtcbiAgICBjb2xvcjogIzk5OTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICB9XG4gIC5idXR0b25zIHtcbiAgICBpbnB1dCB7XG4gICAgICBAaW5jbHVkZSBidXR0b247XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG4gIGxlZ2VuZCBpbnB1dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuY29sdW1ucy5hY3RpdmUgZmllbGRzZXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZERDA7XG4gIH1cbiAgLnBvc3RmaXguYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGJvcmRlci1sZWZ0OiAxcHggZG90dGVkICNlZWU7XG4gIHRkLCB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIHBhZGRpbmc6IDAuNmVtIDAuNGVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICB9XG4gIHRoZWFkIHtcbiAgICB0ZCwgdGgge1xuICAgICAgZm9udC1zaXplOiAwLjdlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjQkREMEM5LCAwLjIpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gICAgdHIuZmlsdGVycyB7XG4gICAgICB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgICBpbnB1dCwgc2VsZWN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgdGJvZHkge1xuICAgIHRoLCB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IGRvdHRlZCAjZWVlO1xuICAgIH1cbiAgICB0aCB7XG4gICAgICB3aWR0aDogMTJlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZG90dGVkICNlZWU7XG4gICAgICBjb2xvcjogIzY2NjtcbiAgICB9XG4gIH1cbiAgdGQuaWQsIHRkLmhycywgdGQucHJpY2UsIHRkLmNvZGUge1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgZm9udC1mYW1pbHk6ICdJbmNvbnNvbGF0YScsIG1vbm9zcGFjZTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICB0ZC5tb25vLCB0ci5tb25vIHRkIHtcbiAgICBmb250LWZhbWlseTogJ0luY29uc29sYXRhJywgbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gIH1cbiAgdGQuaWNvbiB7XG4gICAgd2lkdGg6IDFlbTtcbiAgfVxuICB0ZC5pZCB7XG4gICAgd2lkdGg6IDNlbTtcbiAgfVxuICB0ZC5jb2RlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiA2ZW07XG4gIH1cbiAgdGQucHJpY2Uge1xuICAgIHdpZHRoOiA3ZW07XG4gIH1cbiAgdGQuaHJzIHtcbiAgICB3aWR0aDogNWVtO1xuICB9XG4gIHRkLmRhdGUge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgd2lkdGg6IDdlbTtcbiAgfVxuICB0ZC5zdGF0dXMge1xuICAgIGZvbnQtc2l6ZTogMC43ZW07XG4gICAgd2lkdGg6IDEwZW07XG4gIH1cbiAgdGQuYmlsbGluZyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIHRkLnBob25lIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIHRkLmRlYWRsaW5lLWJ1ZGdldCB7XG4gICAgZGl2LnByb2dyZXNzIHtcbiAgICAgIG9wYWNpdHk6IDAuMzM7XG4gICAgICBpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgdHI6aG92ZXIge1xuICAgIGRpdi5wcm9ncmVzcyB7XG4gICAgICBvcGFjaXR5OiAwLjY2O1xuICAgIH1cbiAgfVxuICAuYXNzaWduZWQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBlbSB7XG4gICAgICBjb2xvcjogI2YwMDtcbiAgICB9XG4gIH1cbiAgaS5maS1jaGVjayB7XG4gICAgY29sb3I6ICRzdWNjZXNzLWNvbG9yO1xuICB9XG4gIGkuZmktbWludXMge1xuICAgIGNvbG9yOiAjY2NjO1xuICB9XG59XG5cbi50YWJsZS1mb290ZXIge1xuICBtYXJnaW4tdG9wOiAtMmVtO1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIG1hcmdpbi1sZWZ0OiAxZW07XG4gIGZvbnQtc2l6ZTogMC43ZW07XG59XG5cbi5ncmlkLXZpZXcge1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIHRhYmxlIHtcbiAgICB0Ym9keSB7XG4gICAgICB0ZCB7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTAwbXM7XG4gICAgICB9XG4gICAgICB0cjpob3ZlciB0ZCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudGFibGUuZGV0YWlsLXZpZXcge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xufVxuXG4ucGFuZWwge1xuICAub3BlcmF0aW9ucyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgdGFibGUge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoLHRkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmFsZXJ0LWJveCB7XG4gIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gIC5jbG9zZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nOiAwIDAuMmVtIDAgMDtcbiAgfVxufVxuLmFsZXJ0LWJveDpob3ZlciB7XG4gIC5jbG9zZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLnByb2plY3Qtc3RhdHVzIHtcbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBsaSB7XG4gICAgICBwYWRkaW5nOiAwLjVlbSAwLjVlbTtcbiAgICB9XG4gICAgbGkuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgbGkuYWN0aXZlLnBlbmRpbmcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICB9XG4gICAgbGkuYWN0aXZlLmlucHJvZ3Jlc3Mge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxuICAgIGxpLmFjdGl2ZS5vbmhvbGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsZXJ0LWNvbG9yO1xuICAgIH1cbiAgICBsaS5hY3RpdmUuYXBwcm92YWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1hbGVydC1jb2xvcjtcbiAgICB9XG4gICAgbGkuYWN0aXZlLmNvbXBsZXRlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWNjZXNzLWNvbG9yO1xuICAgIH1cbiAgICBsaS5hY3RpdmUuaW52b2ljZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICB9XG4gICAgbGkuYWN0aXZlLmNhbmNlbGxlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5zcGFuLnN0YXR1cyB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbnNwYW4uc3RhdHVzLnBlbmRpbmcge1xuICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbn1cblxuc3Bhbi5zdGF0dXMuaW5wcm9ncmVzcyB7XG4gIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbn1cblxuc3Bhbi5zdGF0dXMub25ob2xkIHtcbiAgY29sb3I6ICRhbGVydC1jb2xvcjtcbn1cblxuc3Bhbi5zdGF0dXMuYXBwcm92YWwge1xuICBjb2xvcjogJG1lZGl1bS1hbGVydC1jb2xvcjtcbn1cblxuc3Bhbi5zdGF0dXMuY29tcGxldGUge1xuICBjb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG59XG5cbnNwYW4uc3RhdHVzLmludm9pY2VkIHtcbiAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG59XG5cbnNwYW4uc3RhdHVzLmNhbmNlbGxlZCB7XG4gIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xufVxuXG4ucHJpb3JpdHkubG93IHtcbiAgY29sb3I6ICRzdWNjZXNzLWNvbG9yO1xufVxuXG4ucHJpb3JpdHkubWVkIHtcbiAgY29sb3I6ICRtZWRpdW0tYWxlcnQtY29sb3I7XG59XG5cbi5wcmlvcml0eS5oaWdoIHtcbiAgY29sb3I6ICRhbGVydC1jb2xvcjtcbn1cblxuLnByb2plY3QtcHJpb3JpdHkge1xuICB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGxpIHtcbiAgICAgIHBhZGRpbmc6IDAuNWVtIDAuNWVtO1xuICAgIH1cbiAgICBsaS5sb3cgYSB7XG4gICAgICBjb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG4gICAgfVxuICAgIGxpLm1lZCBhIHtcbiAgICAgIGNvbG9yOiAkbWVkaXVtLWFsZXJ0LWNvbG9yO1xuICAgIH1cbiAgICBsaS5oaWdoIGEge1xuICAgICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICB9XG4gICAgbGkuYWN0aXZlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG4gICAgbGkuYWN0aXZlLmxvdyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcbiAgICB9XG4gICAgbGkuYWN0aXZlLm1lZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtLWFsZXJ0LWNvbG9yO1xuICAgIH1cbiAgICBsaS5hY3RpdmUuaGlnaCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5wcm9qZWN0LXVzZXJzIHtcbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgfVxufVxuXG4uYWN0aXZpdHktbG9nIHtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgZm9udC1zaXplOiAwLjdlbTtcbiAgZGl2IHtcbiAgICBwYWRkaW5nOiAwIDAgMWVtO1xuICB9XG4gIHRpbWUge1xuICAgIGNvbG9yOiAjY2NjO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIGRpdjpob3ZlciB7XG4gICAgdGltZSB7XG4gICAgICBjb2xvcjogJHNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG4gIC5maWVsZCB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljOyBcbiAgfVxuICAubnVsbCB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljOyBcbiAgfVxuICAudmFsdWUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG59XG5cbi5hc3NpZ24tdXNlcnMge1xuICB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi5wYW5lbC5jYWxsb3V0IHtcbiAgYSB7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgfVxufVxuXG51bC51aS1hdXRvY29tcGxldGUge1xuICB6LWluZGV4OiA5ICFpbXBvcnRhbnQ7XG4gIGxpIHtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICB9XG59XG5cbi5wYWdlciB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb247XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIHBhZGRpbmctdG9wOiAxZW07XG4gIC5zZWxlY3RlZCB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jdXJyZW50LWl0ZW07XG4gIH1cbn1cblxuLnBvcnRsZXQge1xuICBAaW5jbHVkZSBwYW5lbDtcbiAgZm9udC1zaXplOiAwLjllbTtcbiAgLnBvcnRsZXQtdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIC5vcGVyYXRpb25zIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbigkYnV0dG9uLXNtbCwgJHByaW1hcnktY29sb3IsIGZhbHNlLCB0cnVlKTtcbiAgICB9XG4gICAgYS5hbGVydCB7XG4gICAgICBAaW5jbHVkZSBidXR0b24oJGJ1dHRvbi1zbWwsICRhbGVydC1jb2xvciwgZmFsc2UsIHRydWUpO1xuICAgIH1cbiAgfVxufVxuXG4uc3VtbWFyeSwgLm5vdGUge1xuICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gIHBhZGRpbmc6IDAgMCAxZW07XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLnRvcC1iYXIge1xuICAudGl0bGUtYXJlYSB7XG4gICAgaDEge1xuICAgICAgd2lkdGg6IDEyZW07XG4gICAgfVxuICB9XG59XG5cbi5wYWdlciBsaSB7XG4gIGZvbnQtc2l6ZTogMC43ZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xuICB9XG59XG5cbi5yb3cuZGFzaGJvYXJkIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICB0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLnVzZXJzLCAuY2xpZW50IHtcbiAgICAgIGZvbnQtc2l6ZTogMC43ZW07XG4gICAgfVxuICAgIC5jbGllbnQge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gIH1cbn1cblxuI2Rhc2gtdG9pbnZvaWNlLWdyaWQge1xufVxuXG4uZGVhZGxpbmUtbGlzdCB7XG4gIGgzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuICB0ZC50aXRsZSB7XG4gICAgZm9udC1zaXplOiAwLjZlbTtcbiAgfVxuICB0ZC5kYXRlLCB0ZC5jb2RlIHtcbiAgICBmb250LXNpemU6IDAuN2VtO1xuICB9XG59XG5cbi5kZWFkbGluZS1saXN0Lm92ZXJkdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQtY29sb3I7XG4gIGFuaW1hdGlvbjogb3ZlcmR1ZSAxcyBlYXNlLWluIDAgMjtcbn1cblxuQGtleWZyYW1lcyBvdmVyZHVlXG57XG4gIDAlIHsgYmFja2dyb3VuZC1jb2xvcjogJGFsZXJ0LWNvbG9yOyB9XG4gIDUwJSB7IGJhY2tncm91bmQtY29sb3I6ICRwYW5lbC1iZzsgfVxuICAxMDAlIHsgYmFja2dyb3VuZC1jb2xvcjogJGFsZXJ0LWNvbG9yOyB9XG59XG5cbi5kZWFkbGluZS1saXN0LnRoaXN3ZWVrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1hbGVydC1jb2xvcjtcbn1cblxuLmRlYWRsaW5lLWxpc3QubmV4dHdlZWsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcbn1cblxuLmpvYi1saXN0IHtcbiAgcGFkZGluZzogMC41ZW0gMDtcbiAgdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRkLmRlYWRsaW5lLWJ1ZGdldCB7XG4gICAgICB3aWR0aDogOGVtO1xuICAgIH1cbiAgfVxufVxuXG4udGFzay1saXN0IHtcbiAgLnRhc2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcbiAgICBwYWRkaW5nOiAwLjVlbSAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgaS5zb3J0LCAuY2hlY2ssIC51bmNoZWNrLCBhLnJlbW92ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDAuNDVlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgfVxuICAgIGkuc29ydCB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgaS5zb3J0OmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gICAgYS5yZW1vdmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBjb2xvcjogIzIyMjtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIGEucmVtb3ZlOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gICAgLmNoZWNrLCAudW5jaGVjayB7XG4gICAgICBsZWZ0OiAxLjJlbTtcbiAgICB9XG4gICAgYS5jaGVjaywgYS51bmNoZWNrIHtcbiAgICAgIGNvbG9yOiAjMjIyO1xuICAgIH1cbiAgICBhLmNoZWNrOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gICAgLnRleHR3cmFwIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJlbTtcbiAgICB9XG4gICAgdGV4dGFyZWEge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIGhlaWdodDogMS4yZW07XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICByZXNpemU6IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICB9XG4gICAgdGV4dGFyZWE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cbiAgLnRhc2s6aG92ZXIge1xuICAgIGkuc29ydCwgYS5yZW1vdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIC5kb25lIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICBjb2xvcjogI2FhYTtcbiAgICB0ZXh0YXJlYSwgYS5jaGVjaywgYS51bmNoZWNrLCBhLnJlbW92ZSB7XG4gICAgICBjb2xvcjogI2FhYTtcbiAgICB9XG4gIH1cbiAgLm1vcmUge1xuICAgIHBhZGRpbmctdG9wOiAwLjVlbTtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG59XG4ub3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgb3BhY2l0eTogMC41O1xufVxuI2ZhY2Vib29rR3tcbiAgd2lkdGg6NzBweDtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIGxlZnQ6NTAlO1xuICBtYXJnaW4tbGVmdDotMzVweDtcbiAgdG9wOjUwJTtcbiAgbWFyZ2luLXRvcDotMjVweDtcbiAgLmZhY2Vib29rX2Jsb2NrRyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjojQjhCOEI4O1xuICAgIGJvcmRlcjoycHggc29saWQgIzc1NzU3NTtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIGhlaWdodDo0OXB4O1xuICAgIG1hcmdpbi1sZWZ0OjRweDtcbiAgICB3aWR0aDoxM3B4O1xuICAgIG9wYWNpdHk6MC4xO1xuICAgIC1tb3otYW5pbWF0aW9uLW5hbWU6Ym91bmNlRztcbiAgICAtbW96LWFuaW1hdGlvbi1kdXJhdGlvbjoxLjRzO1xuICAgIC1tb3otYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTtcbiAgICAtbW96LWFuaW1hdGlvbi1kaXJlY3Rpb246bGluZWFyO1xuICAgIC1tb3otdHJhbnNmb3JtOnNjYWxlKDAuNyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2VHO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOjEuNHM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjpsaW5lYXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC43KTtcbiAgICAtbXMtYW5pbWF0aW9uLW5hbWU6Ym91bmNlRztcbiAgICAtbXMtYW5pbWF0aW9uLWR1cmF0aW9uOjEuNHM7XG4gICAgLW1zLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7XG4gICAgLW1zLWFuaW1hdGlvbi1kaXJlY3Rpb246bGluZWFyO1xuICAgIC1tcy10cmFuc2Zvcm06c2NhbGUoMC43KTtcbiAgICAtby1hbmltYXRpb24tbmFtZTpib3VuY2VHO1xuICAgIC1vLWFuaW1hdGlvbi1kdXJhdGlvbjoxLjRzO1xuICAgIC1vLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7XG4gICAgLW8tYW5pbWF0aW9uLWRpcmVjdGlvbjpsaW5lYXI7XG4gICAgLW8tdHJhbnNmb3JtOnNjYWxlKDAuNyk7XG4gICAgYW5pbWF0aW9uLW5hbWU6Ym91bmNlRztcbiAgICBhbmltYXRpb24tZHVyYXRpb246MS40cztcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO1xuICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246bGluZWFyO1xuICAgIHRyYW5zZm9ybTpzY2FsZSgwLjcpO1xuICB9XG4gICNibG9ja0dfMXtcbiAgICAtbW96LWFuaW1hdGlvbi1kZWxheTowLjQxOTk5OTk5OTk5OTk5OTkzcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTowLjQxOTk5OTk5OTk5OTk5OTkzcztcbiAgICAtbXMtYW5pbWF0aW9uLWRlbGF5OjAuNDE5OTk5OTk5OTk5OTk5OTNzO1xuICAgIC1vLWFuaW1hdGlvbi1kZWxheTowLjQxOTk5OTk5OTk5OTk5OTkzcztcbiAgICBhbmltYXRpb24tZGVsYXk6MC40MTk5OTk5OTk5OTk5OTk5M3M7XG4gIH1cblxuICAjYmxvY2tHXzJ7XG4gICAgLW1vei1hbmltYXRpb24tZGVsYXk6MC41NTk5OTk5OTk5OTk5OTk5cztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTowLjU1OTk5OTk5OTk5OTk5OTlzO1xuICAgIC1tcy1hbmltYXRpb24tZGVsYXk6MC41NTk5OTk5OTk5OTk5OTk5cztcbiAgICAtby1hbmltYXRpb24tZGVsYXk6MC41NTk5OTk5OTk5OTk5OTk5cztcbiAgICBhbmltYXRpb24tZGVsYXk6MC41NTk5OTk5OTk5OTk5OTk5cztcbiAgfVxuXG4gICNibG9ja0dfM3tcbiAgICAtbW96LWFuaW1hdGlvbi1kZWxheTowLjdzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjAuN3M7XG4gICAgLW1zLWFuaW1hdGlvbi1kZWxheTowLjdzO1xuICAgIC1vLWFuaW1hdGlvbi1kZWxheTowLjdzO1xuICAgIGFuaW1hdGlvbi1kZWxheTowLjdzO1xuICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBib3VuY2VHIHtcbiAgMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOnNjYWxlKDEuMik7XG4gICAgb3BhY2l0eToxXG4gIH1cblxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTpzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6MC4xXG4gIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUcge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4yKTtcbiAgICBvcGFjaXR5OjFcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTowLjFcbiAgfVxufVxuXG5ALW1zLWtleWZyYW1lcyBib3VuY2VHIHtcbiAgMCUge1xuICAgIC1tcy10cmFuc2Zvcm06c2NhbGUoMS4yKTtcbiAgICBvcGFjaXR5OjFcbiAgfVxuXG4gIDEwMCUge1xuICAgIC1tcy10cmFuc2Zvcm06c2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OjAuMVxuICB9XG59XG5cbkAtby1rZXlmcmFtZXMgYm91bmNlRyB7XG4gIDAlIHtcbiAgICAtby10cmFuc2Zvcm06c2NhbGUoMS4yKTtcbiAgICBvcGFjaXR5OjFcbiAgfVxuXG4gIDEwMCUge1xuICAgIC1vLXRyYW5zZm9ybTpzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6MC4xXG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VHIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTpzY2FsZSgxLjIpO1xuICAgIG9wYWNpdHk6MVxuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOnNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTowLjFcbiAgfVxufVxuXG5cbiNmdWxsc2NyZWVuIHtcbiAgcGFkZGluZzogMCAyZW07XG59XG5cbi5yb3cuZnVsbHNjcmVlbiB7XG4gIHBhZGRpbmc6IDAgMmVtO1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbmkuZmktbG9vcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIDAgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgc3Bpblxue1xuICBmcm9tIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5cbiNub3RpZnktbmF2LnVucmVhZCB7XG4gIGEge1xuICAgIGFuaW1hdGlvbjogbm90aWZ5IDFzIGVhc2UtaW4tb3V0IDAgaW5maW5pdGU7XG4gIH1cbiAgYTpob3ZlciB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1ob3ZlcjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG5vdGlmeVxue1xuICAwJSB7IGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmctY29sb3I7IGNvbG9yOiAjZmZmOyB9XG4gIDUwJSB7IGJhY2tncm91bmQtY29sb3I6ICRzdWNjZXNzLWNvbG9yOyBjb2xvcjogJHRvcGJhci1iZy1jb2xvcjsgfVxuICAxMDAlIHsgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iZy1jb2xvcjsgY29sb3I6ICNmZmY7IH1cbn1cblxuI25vdGlmaWNhdGlvbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNGVtO1xuICBsZWZ0OiAxNi43ZW07XG4gIHdpZHRoOiAzMmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWJnLWNvbG9yO1xuICBmb250LXNpemU6IDAuN2VtO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHotaW5kZXg6IDk5O1xuICBhIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgc2NhbGUtY29sb3IoJHRvcGJhci1iZy1jb2xvciwgJGxpZ2h0bmVzczogMTMlKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjc1ZW07XG4gIH1cbiAgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1saW5rLWJnLWhvdmVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgbGkudW5yZWFkIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCR0b3BiYXItYmctY29sb3IsICRsaWdodG5lc3M6IDEwJSk7XG4gIH1cbiAgdGltZSB7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogc2NhbGUtY29sb3IoJHRvcGJhci1iZy1jb2xvciwgJGxpZ2h0bmVzczogNTAlKTtcbiAgfVxuICBzcGFuLnN0YXR1cy5pbnZvaWNlZCB7XG4gICAgY29sb3I6ICNjY2M7XG4gIH1cbn1cblxuI3RpbWVzaGVldFBhbmVsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMjUwbXM7XG4gIG9wYWNpdHk6IDAuOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iZy1jb2xvcjtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgd2lkdGg6IDMwZW07XG4gIHotaW5kZXg6IDk5O1xuICB1bCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBzY2FsZS1jb2xvcigkdG9wYmFyLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAxMyUpO1xuICB9XG4gIGxpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctaG92ZXI7XG4gIH1cbiAgbGkuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHN1Y2Nlc3MtY29sb3IsIDEwJSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHNjYWxlLWNvbG9yKCRzdWNjZXNzLWNvbG9yLCAkbGlnaHRuZXNzOiAxMyUpO1xuICB9XG4gIGxpLmFjdGl2ZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcbiAgfVxuICBsaS5jbG9zZSB7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxuICBsaS5jbG9zZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIGEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9XG4gIGEucHVuY2gge1xuICAgIHdpZHRoOiAyZW07XG4gICAgbGVmdDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgYS5wdW5jaDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG4gIH1cbiAgYS50aXRsZSB7XG4gICAgbGVmdDogMmVtO1xuICAgIHJpZ2h0OiA1ZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIGEudGltZSB7XG4gICAgd2lkdGg6IDVlbTtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC1mYW1pbHk6ICdJbmNvbnNvbGF0YScsIG1vbm9zcGFjZTtcbiAgfVxufVxuI3RpbWVzaGVldFBhbmVsLmNvbGxhcHNlZCB7XG4gIGhlaWdodDogMmVtO1xufVxuI3RpbWVzaGVldFBhbmVsOmhvdmVyIHtcbiAgb3BhY2l0eTogLjk1O1xufVxuI3RpbWVzaGVldFBhbmVsLmV4cGFuZGVkIHtcbiAgaGVpZ2h0OiAxOGVtO1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuZGl2LnByb2dyZXNzLm1lZGl1bS1hbGVydCB7XG4gIC5tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1hbGVydC1jb2xvcjtcbiAgfVxufVxuXG4jdXNlci1kYXNoIHtcbiAgbWF4LXdpZHRoOiA4MGVtO1xuICAubm90ZUxpc3RGb3JtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAucm93IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG4gICAgfVxuICAgIC5mb3JtLXJvdyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAuc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuYWN0aXZlLXByb2plY3RzIHtcbiAgICAudGl0bGUge1xuICAgIH1cbiAgICBhLmNsaWVudCB7XG4gICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICB9XG4gICAgYS5jbGllbnQ6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuICAucHJvamVjdC1saXN0IHtcbiAgICAudGl0bGUge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG4gICAgLnN0YXR1cywgLnByaW9yaXR5IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICB9XG4gICAgLnRhc2stbGlzdCB7XG4gICAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICAgIC50YXNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZGVhZGxpbmUtYnVkZ2V0IHtcbiAgICAgIGhlaWdodDogMy41ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAucHJvZ3Jlc3NcbiAgICAgIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRwYW5lbC1iZywgMTUlKTtcbiAgICAgIH1cbiAgICAgIGkge1xuICAgICAgICBmb250LXNpemU6IDEuM2VtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuY2hhcnQudGltZXNoZWV0IHtcbiAgICB1bC5kYXRhIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgfVxuICAuY2hhcnQudGFza3Mge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB1bC5kYXRhIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgICAgfVxuICAgIH1cbiAgICAudG9kbyB7XG4gICAgICBjb2xvcjogZGFya2VuKCRwYW5lbC1iZywgMTUlKTtcbiAgICB9XG4gICAgLmNvbXBsZXRlZCB7XG4gICAgICBjb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG4gICAgfVxuICAgIC5kaWFncmFtIHtcbiAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIH1cbiAgfVxuICAuY2hhcnQudGltZXNoZWV0IHtcbiAgICB1bCB7XG4gICAgICBsaSB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH0gXG4gICAgfVxuICB9XG4gIC5jbGllbnQge1xuICAgIC5waG9uZSwgLmFkZHJlc3MsIC5jb2RlIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIH1cbiAgfVxufVxuXG4ucmVtaW5kZXJMaXN0IHtcbiAgLnJlbWluZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgfVxuICAucmVtaW5kLm1lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQtY29sb3I7XG4gIH1cbiAgLnJlbWluZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAwLjJlbSAwLjVlbTtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCAjMDAwO1xuICB9XG4gIC5lbnRpdHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjcnVtYi1iZztcbiAgICBwYWRkaW5nOiAwLjJlbSAwLjVlbTtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG4gIC50ZXh0IHtcbiAgICBmb250LXNpemU6IDAuN2VtO1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgfVxuICAuYXV0aG9yIHtcbiAgICBmb250LXNpemU6IDAuNmVtO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgICBwYWRkaW5nOiAwLjVlbTtcbiAgfVxuICAuZG9uZSB7XG4gICAgLmJ1dHRvbiB7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICBwYWRkaW5nOiAwLjVlbSAwLjc1ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICB9XG4gICAgLmJ1dHRvbjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG4ucmVjb25jaWxlLXZpcnR1YWxtaW4ge1xuICB0YWJsZS50b3RhbHMge1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICAudG90YWwge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICAgIHRib2R5IHRyLnRvdGFsIHRkIHtcbiAgICAgIGJvcmRlci10b3Atc3R5bGU6IGRvdWJsZTtcbiAgICB9XG4gICAgdGJvZHkgdGQudG90YWwge1xuICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IGRvdWJsZTtcbiAgICB9XG4gICAgdHIuZGlzYWJsZWQgdGQsIHRyLmRpc2FibGVkIHRoIHtcbiAgICAgIGNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgfVxuICAgIHRyLmlwLW1pc21hdGNoIHRkLCB0ci5pcC1taXNtYXRjaCB0aCB7XG4gICAgICBjb2xvcjogJHdhcm5pbmctY29sb3I7XG4gICAgfVxuICB9XG4gICNyZWNvbmNpbGUtZ3JpZCB7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICB0ci5kaXNhYmxlZCB0ZCwgdHIuZGlzYWJsZWQgdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYWxlcnQtY29sb3IsIDQwJSk7XG4gICAgfVxuICAgIHRyLmlwLW1pc21hdGNoIHRkLCB0ci5pcC1taXNtYXRjaCB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCR3YXJuaW5nLWNvbG9yLCAzNSUpO1xuICAgIH1cbiAgICAuc2VsZWN0IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogMC4yZW0gMC41ZW07XG4gICAgICB9XG4gICAgfVxuICAgIC5jaGVja2JveCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgaW5wdXQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgaW5wdXQsIHNlbGVjdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwLjFlbSAwLjNlbTtcbiAgICB9XG4gICAgLmRhdGUgaW5wdXQge1xuICAgIH1cbiAgICAuYmlsbGluZ1ByaWNlQ3VzdG9tIGlucHV0IHtcbiAgICAgIHdpZHRoOiA4ZW07XG4gICAgfVxuICAgIHNlbGVjdCB7XG4gICAgICBoZWlnaHQ6IDJlbTtcbiAgICB9XG4gIH1cbiAgLmhhc05vdGVzIHtcbiAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG59XG5cbiRub3RlUGFkZGluZzogNGVtO1xuLm5vdGVMaXN0Rm9ybSB7XG4gIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgZm9ybSB7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyAvKiBpT1MgU2FmYXJpICovXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgICAvKiBDaHJvbWUvU2FmYXJpL09wZXJhICovXG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lOyAgICAvKiBLb25xdWVyb3IgKi9cbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOyAgICAgIC8qIEZpcmVmb3ggKi9cbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7ICAgICAgIC8qIEludGVybmV0IEV4cGxvcmVyL0VkZ2UgKi9cbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgICAgICAgICAgIC8qIE5vbi1wcmVmaXhlZCB2ZXJzaW9uLCBjdXJyZW50bHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdCBzdXBwb3J0ZWQgYnkgYW55IGJyb3dzZXIgKi9cbiAgfVxuICB0ZXh0YXJlYSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgfVxuICAubmFtZSB7XG4gICAgLy9mb250LXdlaWdodDogYm9sZDtcbiAgfVxuICAubm90ZS1saXN0IHtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIC5yb3cge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtlbigkdGFicy1uYXZpZ2F0aW9uLWFjdGl2ZS1iZy1jb2xvciwgNSk7XG4gICAgfVxuICAgIC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkbm90ZVBhZGRpbmc7XG4gICAgICBwYWRkaW5nLXRvcDogJG5vdGVQYWRkaW5nO1xuICAgIH1cbiAgICAuZGF0ZSB7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgfVxuICAgIC5sZWFkIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAxLjVlbTtcbiAgICAgIHRvcDogMmVtO1xuICAgICAgY29sb3I6ICRzdWNjZXNzLWNvbG9yO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgLnR5cGUge1xuICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAyZW07XG4gICAgICB0b3A6IDJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbiAgICAucmVtaW5kZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMS41ZW07XG4gICAgICBib3R0b206IDEuN2VtO1xuICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IDAuNGVtIDAuNGVtIDAuNGVtIDAuNGVtO1xuICAgICAgfVxuICAgICAgLnJlbWluZGVyTGFiZWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnJlbWluZGVyLmRvbmUge1xuICAgICAgLnJlbWluZGVyTGFiZWwge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICB9XG4gICAgICAuZmEtY2hlY2sge1xuICAgICAgICBjb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICB9XG4gICAgfVxuICAgIC5yYXRpbmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDJlbTtcbiAgICAgIGJvdHRvbTogMS43ZW07XG4gICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgaSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICAgIC5yYXRpbmcucmF0ZTEsXG4gICAgLnJhdGluZy5yYXRlMiB7XG4gICAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xuICAgIH1cbiAgICAucmF0aW5nLnJhdGUzIHtcbiAgICAgIGNvbG9yOiAkd2FybmluZy1jb2xvcjtcbiAgICB9XG4gICAgLnJhdGluZy5yYXRlNCxcbiAgICAucmF0aW5nLnJhdGU1IHtcbiAgICAgIGNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcbiAgICB9XG4gIH1cbiAgLmZvcm0tcm93IHtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIHBhZGRpbmctdG9wOiAkbm90ZVBhZGRpbmc7XG4gIH1cbiAgLmZhIHtcbiAgICBmb250LXNpemU6IDEuMWVtO1xuICB9XG4gIC5yZW1pbmRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICAuZmEge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICBpbnB1dCB7XG4gICAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgaGVpZ2h0OiAxLjVlbTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG4gICAgc2VsZWN0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgcGFkZGluZzogMCAyZW0gMCAwLjVlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBoZWlnaHQ6IDEuNWVtO1xuICAgIH1cbiAgfVxuICAucmVtaW5kZXI6aG92ZXIsIC5yZW1pbmRlci5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgLnJlbWluZGVyLmFjdGl2ZSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG4gIH1cbiAgLnR5cGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgICBhLmRyb3Bkb3duIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG4gICAgYS5kcm9wZG93bjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICBpbnB1dCB7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB3aWR0aDogMTBlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICB9XG4gIC50eXBlLmFjdGl2ZSB7XG4gICAgYS5kcm9wZG93biB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICBpbnB1dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuICB9XG4gIC5sZWFkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbGFiZWwudGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgIH1cbiAgICBpbnB1dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAuc3dpdGNoIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgaGVpZ2h0OiAwLjhlbTtcbiAgICAgICAgd2lkdGg6IDJlbTtcbiAgICAgIH1cbiAgICAgIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiAwLjVlbTtcbiAgICAgICAgd2lkdGg6IDAuNmVtO1xuICAgICAgICB0b3A6IDAuMWVtO1xuICAgICAgfVxuICAgICAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgbGVmdDogMS4xZW07XG4gICAgICB9XG4gICAgICBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmxlYWQ6aG92ZXIsIC5sZWFkLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLm5vdGVMaXN0Rm9ybS5kaXItZG93biB7XG4gIC5ub3RlLWxpc3Qge1xuICAgIC5yb3cge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtlbigkdGFicy1uYXZpZ2F0aW9uLWFjdGl2ZS1iZy1jb2xvciwgNSk7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgfVxuICAuZm9ybS1yb3cge1xuICAgIHBhZGRpbmctdG9wOiAkbm90ZVBhZGRpbmc7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuXG4ucmF0aW5nIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgaSB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIC5hdmcge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgfVxuICBzcGFuOmhvdmVyID4gaSB7IG9wYWNpdHk6IDE7IH1cbiAgc3Bhbjpob3ZlciA+IGkucmF0ZTEgeyBjb2xvcjogJGFsZXJ0LWNvbG9yOyB9XG4gIHNwYW46aG92ZXIgPiBpLnJhdGUyIHsgY29sb3I6ICR3YXJuaW5nLWNvbG9yOyB9XG4gIHNwYW46aG92ZXIgPiBpLnJhdGUzIHsgY29sb3I6ICR3YXJuaW5nLWNvbG9yOyB9XG4gIHNwYW46aG92ZXIgPiBpLnJhdGU0IHsgY29sb3I6ICRzdWNjZXNzLWNvbG9yOyB9XG4gIHNwYW46aG92ZXIgPiBpLnJhdGU1IHsgY29sb3I6ICRzdWNjZXNzLWNvbG9yOyB9XG59XG4ucmF0aW5nLmFjdGl2ZTEge1xuICBpLnJhdGUxIHsgY29sb3I6ICRhbGVydC1jb2xvcjsgb3BhY2l0eTogMTsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbn1cbi5yYXRpbmcuYWN0aXZlMiB7XG4gIGkucmF0ZTEgeyBjb2xvcjogJGFsZXJ0LWNvbG9yOyBvcGFjaXR5OiAxOyB9XG4gIGkucmF0ZTIgeyBjb2xvcjogJHdhcm5pbmctY29sb3I7IG9wYWNpdHk6IDE7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XG59XG4ucmF0aW5nLmFjdGl2ZTMge1xuICBpLnJhdGUxIHsgY29sb3I6ICRhbGVydC1jb2xvcjsgb3BhY2l0eTogMTsgfVxuICBpLnJhdGUyIHsgY29sb3I6ICR3YXJuaW5nLWNvbG9yOyBvcGFjaXR5OiAxOyB9XG4gIGkucmF0ZTMgeyBjb2xvcjogJHdhcm5pbmctY29sb3I7IG9wYWNpdHk6IDE7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XG59XG4ucmF0aW5nLmFjdGl2ZTQge1xuICBpLnJhdGUxIHsgY29sb3I6ICRhbGVydC1jb2xvcjsgb3BhY2l0eTogMTsgfVxuICBpLnJhdGUyIHsgY29sb3I6ICR3YXJuaW5nLWNvbG9yOyBvcGFjaXR5OiAxOyB9XG4gIGkucmF0ZTMgeyBjb2xvcjogJHdhcm5pbmctY29sb3I7IG9wYWNpdHk6IDE7IH1cbiAgaS5yYXRlNCB7IGNvbG9yOiAkc3VjY2Vzcy1jb2xvcjsgb3BhY2l0eTogMTsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbn1cbi5yYXRpbmcuYWN0aXZlNSB7XG4gIGkucmF0ZTEgeyBjb2xvcjogJGFsZXJ0LWNvbG9yOyBvcGFjaXR5OiAxOyB9XG4gIGkucmF0ZTIgeyBjb2xvcjogJHdhcm5pbmctY29sb3I7IG9wYWNpdHk6IDE7IH1cbiAgaS5yYXRlMyB7IGNvbG9yOiAkd2FybmluZy1jb2xvcjsgb3BhY2l0eTogMTsgfVxuICBpLnJhdGU0IHsgY29sb3I6ICRzdWNjZXNzLWNvbG9yOyBvcGFjaXR5OiAxOyB9XG4gIGkucmF0ZTUgeyBjb2xvcjogJHN1Y2Nlc3MtY29sb3I7IG9wYWNpdHk6IDE7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XG59XG5cbi50YWJzLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWFjdGl2ZS1iZy1jb2xvcjtcbiAgcGFkZGluZzogMWVtO1xuICB0YWJsZSB0Ym9keSB0ZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjZmZmLCAwLjcpO1xuICB9XG4gIC5ub3RlTGlzdEZvcm0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoI2ZmZiwgMC43KTtcbiAgfVxufVxuXG4vLyByZW1vdmUgYWN0aXZlIHRhYiBoaWdobGlnaHRcbi50YWJzIGRkID4gYSwgLnRhYnMgLnRhYi10aXRsZSA+IGEge1xuICBwYWRkaW5nOiAwLjVlbSAxLjVlbTtcbiAgb3V0bGluZTogbm9uZTtcbiAgZm9udC1zaXplOiAwLjllbTtcbn1cblxuZGwudGFicyB7XG4gIGRkIHtcbiAgICBhIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtlbigkdGFicy1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAxMCk7XG4gICAgfVxuICAgIC5jb3VudCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDAuMmVtO1xuICAgICAgcmlnaHQ6IDAuNmVtO1xuICAgICAgZm9udC1zaXplOiAwLjZlbTtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICB9XG4gIH1cbiAgZGQuYWN0aXZlIHtcbiAgICBhIHtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuI3Byb2plY3QtZ3JpZCB0ZCB7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xufVxuXG4jY2xpZW50X25vdGVzIHtcbiAgaDIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxudWwuc3ViLW1lbnUge1xuICBAaW5jbHVkZSBzdWItbmF2KCk7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgbGkge1xuICAgIC8vdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsIDAuMSk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjIpO1xuICAgICAgLy9ib3JkZXItcmFkaXVzOiAwLjJlbTtcbiAgICB9XG4gICAgYTpob3ZlciB7XG4gICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjIpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkcHJpbWFyeS1jb2xvciwgMC4zKTtcbiAgICB9XG4gIH1cbiAgYS5hbGVydCB7XG4gICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgfVxufVxuXG4uY2xpZW50LnZpZXcge1xuICAudG9wLWluZm8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIuNWVtO1xuICAgIHJpZ2h0OiAxZW07XG4gIH1cbn1cblxuI2NsaWVudF9kYXNoYm9hcmQge1xuICAuc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICB0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgdGQge1xuICAgIGZvbnQtc2l6ZTogMC44ZW0gIWltcG9ydGFudDtcbiAgfVxuICAjYWN0aXZlLXByb2plY3QtZ3JpZCB7XG4gICAgdGhlYWQge1xuICAgICAgLy9kaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAubm90ZUxpc3RGb3JtIHtcbiAgICBwYWRkaW5nOiAwIDFlbTtcbiAgICBoMixcbiAgICAuZm9ybS1yb3cge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiNjbGllbnRfbm90ZXMge1xuICAubm90ZUxpc3RGb3JtIHtcbiAgICBwYWRkaW5nOiAwIDJlbTtcbiAgfVxufVxuI2NsaWVudF9jb250YWN0cyB7XG4gIHRhYmxlIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG5jYW52YXMuY2hhcnQge1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG59IiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnLi4vZnVuY3Rpb25zJztcbi8vXG4vLyBGb3VuZGF0aW9uIFZhcmlhYmxlc1xuLy9cblxuLy8gRGF0YSBhdHRyaWJ1dGUgbmFtZXNwYWNlXG4vLyBzdHlsZXMgZ2V0IGFwcGxpZWQgdG8gW2RhdGEtbXlzaXRlLXBsdWdpbl0sIGV0Y1xuJG5hbWVzcGFjZTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQtc2l6ZSBpcyBzZXQgdG8gMTAwJSBvZiB0aGUgYnJvd3NlciBzdHlsZSBzaGVldCAodXN1YWxseSAxNnB4KVxuLy8gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBicm93c2VyLWJhc2VkIHRleHQgem9vbSBvciB1c2VyLXNldCBkZWZhdWx0cy5cblxuLy8gU2luY2UgdGhlIHR5cGljYWwgZGVmYXVsdCBicm93c2VyIGZvbnQtc2l6ZSBpcyAxNnB4LCB0aGF0IG1ha2VzIHRoZSBjYWxjdWxhdGlvbiBmb3IgZ3JpZCBzaXplLlxuLy8gSWYgeW91IHdhbnQgeW91ciBiYXNlIGZvbnQtc2l6ZSB0byBiZSBkaWZmZXJlbnQgYW5kIG5vdCBoYXZlIGl0IGFmZmVjdCB0aGUgZ3JpZCBicmVha3BvaW50cyxcbi8vIHNldCAkcmVtLWJhc2UgdG8gJGJhc2UtZm9udC1zaXplIGFuZCBtYWtlIHN1cmUgJGJhc2UtZm9udC1zaXplIGlzIGEgcHggdmFsdWUuXG4kYmFzZS1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vICRiYXNlLWxpbmUtaGVpZ2h0IGlzIDI0cHggd2hpbGUgJGJhc2UtZm9udC1zaXplIGlzIDE2cHhcbiRiYXNlLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vXG4vLyBHbG9iYWwgRm91bmRhdGlvbiBNaXhpbnNcbi8vXG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGJvcmRlciByYWRpdXMuXG4vLyAkcmFkaXVzIC0gRGVmYXVsdDogJGdsb2JhbC1yYWRpdXMgfHwgNHB4XG5AbWl4aW4gcmFkaXVzKCRyYWRpdXM6JGdsb2JhbC1yYWRpdXMpIHtcbiAgQGlmICRyYWRpdXMge1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBlcXVhbCBzaWRlIGJvcmRlciByYWRpdXMgb24gZWxlbWVudHMuXG4vLyAkc2lkZSAtIE9wdGlvbnM6IGxlZnQsIHJpZ2h0LCB0b3AsIGJvdHRvbVxuQG1peGluIHNpZGUtcmFkaXVzKCRzaWRlLCAkcmFkaXVzOiRnbG9iYWwtcmFkaXVzKSB7XG4gIEBpZiAoJHNpZGUgPT0gbGVmdCBvciAkc2lkZSA9PSByaWdodCkge1xuICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS0jeyRzaWRlfS1yYWRpdXM6ICRyYWRpdXM7XG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItdG9wLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcbiAgfSBAZWxzZSB7XG4gICAgLXdlYmtpdC0jeyRzaWRlfS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICAtd2Via2l0LSN7JHNpZGV9LXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItI3skc2lkZX0tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLSN7JHNpZGV9LXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgY2FuIGNvbnRyb2wgd2hldGhlciBvciBub3Qgd2UgaGF2ZSBpbnNldCBzaGFkb3dzIGVkZ2VzLlxuLy8gJGFjdGl2ZSAtIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXG5AbWl4aW4gaW5zZXQtc2hhZG93KCRhY3RpdmU6dHJ1ZSkge1xuICBib3gtc2hhZG93OiAkc2hpbnktZWRnZS1zaXplICRzaGlueS1lZGdlLWNvbG9yIGluc2V0O1xuXG4gIEBpZiAkYWN0aXZlIHsgJjphY3RpdmUge1xuICAgIGJveC1zaGFkb3c6ICRzaGlueS1lZGdlLXNpemUgJHNoaW55LWVkZ2UtYWN0aXZlLWNvbG9yIGluc2V0OyB9IH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCB0cmFuc2l0aW9ucyB0byBlbGVtZW50c1xuLy8gJHByb3BlcnR5IC0gRGVmYXVsdDogYWxsLCBPcHRpb25zOiBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXRyYW5zaXRpb25zLyNhbmltYXRhYmxlLXByb3BlcnRpZXNcbi8vICRzcGVlZCAtIERlZmF1bHQ6IDMwMG1zXG4vLyAkZWFzZSAtIERlZmF1bHQ6IGVhc2Utb3V0LCBPcHRpb25zOiBodHRwOi8vY3NzLXRyaWNrcy5jb20vYWxtYW5hYy9wcm9wZXJ0aWVzL3QvdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24vXG5AbWl4aW4gc2luZ2xlLXRyYW5zaXRpb24oJHByb3BlcnR5OmFsbCwgJHNwZWVkOjMwMG1zLCAkZWFzZTplYXNlLW91dCkge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwcm9wZXJ0eSwgJHNwZWVkLCAkZWFzZSk7XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgc2luZ2xlIG9yIG11bHRpcGxlIHRyYW5zaXRpb25zIHRvIGVsZW1lbnRzXG4vLyAkcHJvcGVydHkgLSBEZWZhdWx0OiBhbGwsIE9wdGlvbnM6IGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtdHJhbnNpdGlvbnMvI2FuaW1hdGFibGUtcHJvcGVydGllc1xuLy8gJHNwZWVkIC0gRGVmYXVsdDogMzAwbXNcbi8vICRlYXNlIC0gRGVmYXVsdDogZWFzZS1vdXQsIE9wdGlvbnM6IGh0dHA6Ly9jc3MtdHJpY2tzLmNvbS9hbG1hbmFjL3Byb3BlcnRpZXMvdC90cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbi9cbi8vICRkZWxheSAtIERlZmF1bHQ6IG51bGwgKDBzKVxuQG1peGluIHRyYW5zaXRpb24oJHByb3BlcnR5OmFsbCwgJHNwZWVkOjMwMG1zLCAkZWFzZTplYXNlLW91dCwgJGRlbGF5Om51bGwpIHtcbiAgJHRyYW5zaXRpb246IG5vbmU7XG5cbiAgQGlmIGxlbmd0aCgkcHJvcGVydHkpID4gMSB7XG5cbiAgICBAZWFjaCAkdHJhbnNpdGlvbl9saXN0IGluICRwcm9wZXJ0eSB7XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR0cmFuc2l0aW9uX2xpc3QpIHtcblxuICAgICAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAgICAgJF9wcm9wZXJ0eTogbnRoKCR0cmFuc2l0aW9uX2xpc3QsICRpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb25fbGlzdCkgPiAxIHtcbiAgICAgICAgICBAaWYgJGkgPT0gMiB7XG4gICAgICAgICAgICAkX3NwZWVkOiBudGgoJHRyYW5zaXRpb25fbGlzdCwgJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgJF9zcGVlZDogJHNwZWVkO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbl9saXN0KSA+IDIge1xuICAgICAgICAgIEBpZiAkaSA9PSAzIHtcbiAgICAgICAgICAgICRfZWFzZTogbnRoKCR0cmFuc2l0aW9uX2xpc3QsICRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICRfZWFzZTogJGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uX2xpc3QpID4gMyB7XG4gICAgICAgICAgQGlmICRpID09IDQge1xuICAgICAgICAgICAgJF9kZWxheTogbnRoKCR0cmFuc2l0aW9uX2xpc3QsICRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICRfZGVsYXk6ICRkZWxheTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJHRyYW5zaXRpb24gPT0gbm9uZSB7XG4gICAgICAgICR0cmFuc2l0aW9uOiAkX3Byb3BlcnR5ICRfc3BlZWQgJF9lYXNlICRfZGVsYXk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLCAkX3Byb3BlcnR5ICRfc3BlZWQgJF9lYXNlICRfZGVsYXk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBlYWNoICRwcm9wIGluICRwcm9wZXJ0eSB7XG5cbiAgICAgIEBpZiAkdHJhbnNpdGlvbiA9PSBub25lIHtcbiAgICAgICAgJHRyYW5zaXRpb246ICRwcm9wICRzcGVlZCAkZWFzZSAkZGVsYXk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLCAkcHJvcCAkc3BlZWQgJGVhc2UgJGRlbGF5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gYWRkIGJveC1zaXppbmcgYWNyb3NzIGJyb3dzZXIgcHJlZml4ZXNcbkBtaXhpbiBib3gtc2l6aW5nKCR0eXBlOmJvcmRlci1ib3gpIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkdHlwZTsgLy8gQW5kcm9pZCA8IDIuMywgaU9TIDwgNFxuICAgICAtbW96LWJveC1zaXppbmc6ICR0eXBlOyAvLyBGaXJlZm94IDwgMjlcbiAgICAgICAgICBib3gtc2l6aW5nOiAkdHlwZTsgLy8gQ2hyb21lLCBJRSA4KywgT3BlcmEsIFNhZmFyaSA1LjFcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBpc29zY2VsZXMgdHJpYW5nbGVzXG4vLyAkdHJpYW5nbGUtc2l6ZSAtIFVzZWQgdG8gc2V0IGJvcmRlci1zaXplLiBObyBkZWZhdWx0LCBzZXQgYSBweCBvciBlbSBzaXplLlxuLy8gJHRyaWFuZ2xlLWNvbG9yIC0gVXNlZCB0byBzZXQgYm9yZGVyLWNvbG9yIHdoaWNoIG1ha2VzIHVwIHRyaWFuZ2xlLiBObyBkZWZhdWx0XG4vLyAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gVXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggZGlyZWN0aW9uIHRyaWFuZ2xlIHBvaW50cy4gT3B0aW9uczogdG9wLCBib3R0b20sIGxlZnQsIHJpZ2h0XG5AbWl4aW4gY3NzLXRyaWFuZ2xlKCR0cmlhbmdsZS1zaXplLCAkdHJpYW5nbGUtY29sb3IsICR0cmlhbmdsZS1kaXJlY3Rpb24pIHtcbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB0b3ApIHtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gYm90dG9tKSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIHRoZSBpY29uIHdpdGggdGhyZWUgbGluZXMgYWthIHRoZSBoYW1idXJnZXIgaWNvbiwgdGhlIG1lbnUtaWNvbiBvciB0aGUgbmF2aWNvblxuLy8gJHdpZHRoIC0gV2lkdGggb2YgaGFtYnVyZ2VyIGljb24gaW4gcmVtXG4vLyAkbGVmdCAtIElmIGZhbHNlLCBpY29uIHdpbGwgYmUgY2VudGVyZWQgaG9yaXpvbnRhbGx5IHx8IGV4cGxpY2l0bHkgc2V0IHZhbHVlIGluIHJlbVxuLy8gJHRvcCAtIElmIGZhbHNlLCBpY29uIHdpbGwgYmUgY2VudGVyZWQgdmVydGljYWxseSB8fCBleHBsaWNpdGx5IHNldCB2YWx1ZSBpbiByZW1cbi8vICR0aGlja25lc3MgLSB0aGlja25lc3Mgb2YgbGluZXMgaW4gaGFtYnVyZ2VyIGljb24sIHNldCB2YWx1ZSBpbiBweFxuLy8gJGdhcCAtIHNwYWNpbmcgYmV0d2VlbiB0aGUgbGluZXMgaW4gaGFtYnVyZ2VyIGljb24sIHNldCB2YWx1ZSBpbiBweFxuLy8gJGNvbG9yIC0gaWNvbiBjb2xvclxuLy8gJGhvdmVyLWNvbG9yIC0gaWNvbiBjb2xvciBkdXJpbmcgaG92ZXJcbi8vICRvZmZjYW52YXMgLSBTZXQgdG8gdHJ1ZSBvZiBAaW5jbHVkZSBpbiBvZmZjYW52YXNcbkBtaXhpbiBoYW1idXJnZXIoJHdpZHRoLCAkbGVmdCwgJHRvcCwgJHRoaWNrbmVzcywgJGdhcCwgJGNvbG9yLCAkaG92ZXItY29sb3IsICRvZmZjYW52YXMpIHtcbiAgc3Bhbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIEBpZiAkb2ZmY2FudmFzIHtcbiAgICAgIEBpZiAkdG9wIHtcbiAgICAgICAgdG9wOiAkdG9wO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kd2lkdGgvMik7XG4gICAgICB9XG4gICAgICBAaWYgJGxlZnQge1xuICAgICAgICBsZWZ0OiAkbGVmdDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogKCR0YWJiYXItbWVudS1pY29uLXdpZHRoIC0gJHdpZHRoKS8yO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtKCR3aWR0aC8yKTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDAgMCAwICR0aGlja25lc3MgJGNvbG9yLFxuICAgICAgMCAkZ2FwICsgJHRoaWNrbmVzcyAwICR0aGlja25lc3MgJGNvbG9yLFxuICAgICAgMCAoMiAqICRnYXAgKyAyKiR0aGlja25lc3MpIDAgJHRoaWNrbmVzcyAkY29sb3I7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgfVxuICBzcGFuOmhvdmVyOmFmdGVyIHtcbiAgICBib3gtc2hhZG93OlxuICAgICAgMCAwIDAgJHRoaWNrbmVzcyAkaG92ZXItY29sb3IsXG4gICAgICAwICRnYXAgKyAkdGhpY2tuZXNzIDAgJHRoaWNrbmVzcyAkaG92ZXItY29sb3IsXG4gICAgICAwICgyICogJGdhcCArIDIqJHRoaWNrbmVzcykgMCAkdGhpY2tuZXNzICRob3Zlci1jb2xvcjtcbiAgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBkbyBjbGVhciBmbG9hdHNcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6YmVmb3JlLCAmOmFmdGVyIHsgY29udGVudDogXCIgXCI7IGRpc3BsYXk6IHRhYmxlOyB9XG4gICY6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gYWRkIGEgZ2xvd2luZyBlZmZlY3QgdG8gYmxvY2sgZWxlbWVudHNcbi8vICRzZWxlY3RvciAtIFVzZWQgZm9yIHNlbGVjdG9yIHN0YXRlLiBEZWZhdWx0OiBmb2N1cywgT3B0aW9uczogaG92ZXIsIGFjdGl2ZSwgdmlzaXRlZFxuLy8gJGZhZGUtdGltZSAtIERlZmF1bHQ6IDMwMG1zXG4vLyAkZ2xvd2luZy1lZmZlY3QtY29sb3IgLSBEZWZhdWx0OiBmYWRlLW91dCgkcHJpbWFyeS1jb2xvciwgLjI1KVxuQG1peGluIGJsb2NrLWdsb3dpbmctZWZmZWN0KCRzZWxlY3Rvcjpmb2N1cywgJGZhZGUtdGltZTozMDBtcywgJGdsb3dpbmctZWZmZWN0LWNvbG9yOmZhZGUtb3V0KCRwcmltYXJ5LWNvbG9yLCAuMjUpKSB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJGZhZGUtdGltZSwgYm9yZGVyLWNvbG9yICRmYWRlLXRpbWUgZWFzZS1pbi1vdXQ7XG5cbiAgJjojeyRzZWxlY3Rvcn0ge1xuICAgIGJvcmRlci1jb2xvcjogJGdsb3dpbmctZWZmZWN0LWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggJGdsb3dpbmctZWZmZWN0LWNvbG9yO1xuICB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byB0cmFuc2xhdGUgZWxlbWVudHMgaW4gMkRcbi8vICRob3Jpem9udGFsOiBEZWZhdWx0OiAwXG4vLyAkdmVydGljYWw6IERlZmF1bHQ6IDBcbkBtaXhpbiB0cmFuc2xhdGUyZCgkaG9yaXpvbnRhbDowLCAkdmVydGljYWw6MCkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgkaG9yaXpvbnRhbCwgJHZlcnRpY2FsKVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBhY2Nlc3NpYmxlLlxuLy8gQHNlZSBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFR1cm5zIG9mZiB0aGUgZWxlbWVudC1pbnZpc2libGUgZWZmZWN0LlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG59XG5cbiR3aGl0ZSAgICAgICAgIDogI0ZGRkZGRiAhZGVmYXVsdDtcbiRnaG9zdCAgICAgICAgIDogI0ZBRkFGQSAhZGVmYXVsdDtcbiRzbm93ICAgICAgICAgIDogI0Y5RjlGOSAhZGVmYXVsdDtcbiR2YXBvciAgICAgICAgIDogI0Y2RjZGNiAhZGVmYXVsdDtcbiR3aGl0ZS1zbW9rZSAgIDogI0Y1RjVGNSAhZGVmYXVsdDtcbiRzaWx2ZXIgICAgICAgIDogI0VGRUZFRiAhZGVmYXVsdDtcbiRzbW9rZSAgICAgICAgIDogI0VFRUVFRSAhZGVmYXVsdDtcbiRnYWluc2Jvcm8gICAgIDogI0RERERERCAhZGVmYXVsdDtcbiRpcm9uICAgICAgICAgIDogI0NDQ0NDQyAhZGVmYXVsdDtcbiRiYXNlICAgICAgICAgIDogI0FBQUFBQSAhZGVmYXVsdDtcbiRhbHVtaW51bSAgICAgIDogIzk5OTk5OSAhZGVmYXVsdDtcbiRqdW1ibyAgICAgICAgIDogIzg4ODg4OCAhZGVmYXVsdDtcbiRtb25zb29uICAgICAgIDogIzc3Nzc3NyAhZGVmYXVsdDtcbiRzdGVlbCAgICAgICAgIDogIzY2NjY2NiAhZGVmYXVsdDtcbiRjaGFyY29hbCAgICAgIDogIzU1NTU1NSAhZGVmYXVsdDtcbiR0dWF0YXJhICAgICAgIDogIzQ0NDQ0NCAhZGVmYXVsdDtcbiRvaWwgICAgICAgICAgIDogIzMzMzMzMyAhZGVmYXVsdDtcbiRqZXQgICAgICAgICAgIDogIzIyMjIyMiAhZGVmYXVsdDtcbiRibGFjayAgICAgICAgIDogIzAwMDAwMCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIGFzIGRlZmF1bHQgY29sb3JzIHRocm91Z2hvdXRcbiRwcmltYXJ5LWNvbG9yOiAjMDA4Q0JBICFkZWZhdWx0OyAgIC8vIGJvbmRpLWJsdWVcbiRzZWNvbmRhcnktY29sb3I6ICNlN2U3ZTcgIWRlZmF1bHQ7IC8vIHdoaXRlLWxpbGFjXG4kYWxlcnQtY29sb3I6ICNmMDQxMjQgIWRlZmF1bHQ7ICAgICAvLyBjaW5uYWJhclxuJHN1Y2Nlc3MtY29sb3I6ICM0M0FDNkEgIWRlZmF1bHQ7ICAgLy8gc2VhLWdyZWVuXG4kd2FybmluZy1jb2xvcjogI2YwOGEyNCAhZGVmYXVsdDsgICAvLyBjYXJyb3RcbiRpbmZvLWNvbG9yOiAjYTBkM2U4ICFkZWZhdWx0OyAgICAgIC8vIGNvcm5mbG93ZXJcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGRlZmluZSBkZWZhdWx0IGZvbnQgc3RhY2tzXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2VyaWY6IEdlb3JnaWEsIENhbWJyaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBkZWZpbmUgZGVmYXVsdCBmb250IHdlaWdodHNcbiRmb250LXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB2YXJpb3VzIGdsb2JhbCBzdHlsZXNcbiRib2R5LWJnOiAjZmZmICFkZWZhdWx0O1xuJGJvZHktZm9udC1jb2xvcjogIzIyMiAhZGVmYXVsdDtcbiRib2R5LWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRib2R5LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJvZHktZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGZvbnQtc21vb3RoaW5nXG4kZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IGRpcmVjdGlvbiBzZXR0aW5nc1xuJHRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG4kZGVmYXVsdC1mbG9hdDogbGVmdCAhZGVmYXVsdDtcbiRvcHBvc2l0ZS1kaXJlY3Rpb246IHJpZ2h0ICFkZWZhdWx0O1xuQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBsdHIge1xuICAkZGVmYXVsdC1mbG9hdDogbGVmdDtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogcmlnaHQ7XG59IEBlbHNlIHtcbiAgJGRlZmF1bHQtZmxvYXQ6IHJpZ2h0O1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBsZWZ0O1xufVxuXG4vLyBXZSB1c2UgdGhlc2UgdG8gbWFrZSBzdXJlIGJvcmRlciByYWRpdXMgbWF0Y2hlcyB1bmxlc3Mgd2Ugd2FudCBpdCBkaWZmZXJlbnQuXG4kZ2xvYmFsLXJhZGl1czogM3B4ICFkZWZhdWx0O1xuJGdsb2JhbC1yb3VuZGVkOiAxMDAwcHggIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGluc2V0IHNoYWRvdyBzaGlueSBlZGdlcyBhbmQgZGVwcmVzc2lvbnMuXG4kc2hpbnktZWRnZS1zaXplOiAwIDFweCAwICFkZWZhdWx0O1xuJHNoaW55LWVkZ2UtY29sb3I6IHJnYmEoI2ZmZiwgLjUpICFkZWZhdWx0O1xuJHNoaW55LWVkZ2UtYWN0aXZlLWNvbG9yOiByZ2JhKCMwMDAsIC4yKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB3aGV0aGVyIG9yIG5vdCBDU1MgY2xhc3NlcyBjb21lIHRocm91Z2ggaW4gdGhlIGdlbSBmaWxlcy5cbiRpbmNsdWRlLWh0bWwtY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDtcbiRpbmNsdWRlLXByaW50LXN0eWxlczogdHJ1ZSAhZGVmYXVsdDtcbiRpbmNsdWRlLWpzLW1ldGEtc3R5bGVzOiB0cnVlICFkZWZhdWx0OyAvLyBXYXJuaW5nISBNZXRhIHN0eWxlcyBhcmUgYSBkZXBlbmRhbmN5IG9mIHRoZSBKYXZhc2NyaXB0LlxuJGluY2x1ZGUtaHRtbC1nbG9iYWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4kY29sdW1uLWd1dHRlcjogcmVtLWNhbGMoMzApICFkZWZhdWx0O1xuXG4vLyBNZWRpYSBRdWVyeSBSYW5nZXNcbiRzbWFsbC1icmVha3BvaW50OiAgZW0tY2FsYyg2NDApICAhZGVmYXVsdDtcbiRtZWRpdW0tYnJlYWtwb2ludDogZW0tY2FsYygxMDI0KSAhZGVmYXVsdDtcbiRsYXJnZS1icmVha3BvaW50OiAgZW0tY2FsYygxNDQwKSAhZGVmYXVsdDtcbiR4bGFyZ2UtYnJlYWtwb2ludDogZW0tY2FsYygxOTIwKSAhZGVmYXVsdDtcblxuJHNtYWxsLXJhbmdlOiAgICgwLCAkc21hbGwtYnJlYWtwb2ludCkgIWRlZmF1bHQ7XG4kbWVkaXVtLXJhbmdlOiAgKCRzbWFsbC1icmVha3BvaW50ICArIGVtLWNhbGMoMSksICRtZWRpdW0tYnJlYWtwb2ludCkgIWRlZmF1bHQ7XG4kbGFyZ2UtcmFuZ2U6ICAgKCRtZWRpdW0tYnJlYWtwb2ludCArIGVtLWNhbGMoMSksICRsYXJnZS1icmVha3BvaW50KSAgIWRlZmF1bHQ7XG4keGxhcmdlLXJhbmdlOiAgKCRsYXJnZS1icmVha3BvaW50ICArIGVtLWNhbGMoMSksICR4bGFyZ2UtYnJlYWtwb2ludCkgIWRlZmF1bHQ7XG4keHhsYXJnZS1yYW5nZTogKCR4bGFyZ2UtYnJlYWtwb2ludCArIGVtLWNhbGMoMSksIGVtLWNhbGMoOTk5OTk5OTkpKSAhZGVmYXVsdDtcblxuJHNjcmVlbjogXCJvbmx5IHNjcmVlblwiICFkZWZhdWx0O1xuXG4kbGFuZHNjYXBlOiBcIiN7JHNjcmVlbn0gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKVwiICFkZWZhdWx0O1xuJHBvcnRyYWl0OiBcIiN7JHNjcmVlbn0gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpXCIgIWRlZmF1bHQ7XG5cbiRzbWFsbC11cDogJHNjcmVlbiAhZGVmYXVsdDtcbiRzbWFsbC1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtYXgtd2lkdGg6ICN7dXBwZXItYm91bmQoJHNtYWxsLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG5cbiRtZWRpdW0tdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSlcIiAhZGVmYXVsdDtcbiRtZWRpdW0tb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSlcIiAhZGVmYXVsdDtcblxuJGxhcmdlLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcbiRsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcblxuJHhsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuJHhsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuXG4keHhsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcbiR4eGxhcmdlLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcblxuJHJldGluYTogKFxuICBcIiN7JHNjcmVlbn0gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpXCIsXG4gIFwiI3skc2NyZWVufSBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMilcIixcbiAgXCIjeyRzY3JlZW59IGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKVwiLFxuICBcIiN7JHNjcmVlbn0gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKVwiLFxuICBcIiN7JHNjcmVlbn0gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKVwiLFxuICBcIiN7JHNjcmVlbn0gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpXCJcbik7XG5cbi8vIExlZ2FjeVxuJHNtYWxsOiAkc21hbGwtdXA7XG4kbWVkaXVtOiAkbWVkaXVtLXVwO1xuJGxhcmdlOiAkbGFyZ2UtdXA7XG5cblxuLy9XZSB1c2UgdGhpcyBhcyBjdXJzb3JzIHZhbHVlcyBmb3IgZW5hYmxpbmcgdGhlIG9wdGlvbiBvZiBoYXZpbmcgY3VzdG9tIGN1cnNvcnMgaW4gdGhlIHdob2xlIHNpdGUncyBzdHlsZXNoZWV0XG4kY3Vyc29yLWF1dG8tdmFsdWU6IGF1dG8gIWRlZmF1bHQ7XG4kY3Vyc29yLWNyb3NzaGFpci12YWx1ZTogY3Jvc3NoYWlyICFkZWZhdWx0O1xuJGN1cnNvci1kZWZhdWx0LXZhbHVlOiBkZWZhdWx0ICFkZWZhdWx0O1xuJGN1cnNvci1kaXNhYmxlZC12YWx1ZTogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG4kY3Vyc29yLXBvaW50ZXItdmFsdWU6IHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3Vyc29yLWhlbHAtdmFsdWU6IGhlbHAgIWRlZmF1bHQ7XG4kY3Vyc29yLXRleHQtdmFsdWU6IHRleHQgIWRlZmF1bHQ7XG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcImdsb2JhbFwiKSB7XG5cbiAgLy8gTWV0YSBzdHlsZXMgYXJlIGEgZGVwZW5kYW5jeSBvZiB0aGUgSmF2YXNjcmlwdC5cbiAgLy8gVXNlZCB0byBwcm92aWRlIG1lZGlhIHF1ZXJ5IHZhbHVlcyBmb3IgamF2YXNjcmlwdCBjb21wb25lbnRzLlxuICAvLyBGb3J3YXJkIHNsYXNoIHBsYWNlZCBhcm91bmQgZXZlcnl0aGluZyB0byBjb252aW5jZSBQaGFudG9tSlMgdG8gcmVhZCB0aGUgdmFsdWUuXG5cbiAgQGlmICRpbmNsdWRlLWpzLW1ldGEtc3R5bGVzIHtcblxuICAgIG1ldGEuZm91bmRhdGlvbi12ZXJzaW9uIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi81LjUuMy9cIjtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtc21hbGwge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkc21hbGwtdXApICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJHNtYWxsLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtc21hbGwtb25seSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRzbWFsbC1vbmx5KSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRzbWFsbC1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLW1lZGl1bSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRtZWRpdW0tdXApICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLW1lZGl1bS1vbmx5IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJG1lZGl1bS1vbmx5KSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1sYXJnZSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRsYXJnZS11cCkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1sYXJnZS1vbmx5IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJGxhcmdlLW9ubHkpICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEteGxhcmdlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHhsYXJnZS11cCkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEteGxhcmdlLW9ubHkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkeGxhcmdlLW9ubHkpICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXh4bGFyZ2Uge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkeHhsYXJnZS11cCkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLWRhdGEtYXR0cmlidXRlLW5hbWVzcGFjZSB7XG4gICAgICBmb250LWZhbWlseTogI3skbmFtZXNwYWNlfTtcbiAgICB9XG5cbiAgfVxuXG4gIEBpZiAkaW5jbHVkZS1odG1sLWdsb2JhbC1jbGFzc2VzIHtcblxuICAgIC8vIE11c3QgYmUgMTAwJSBmb3Igb2ZmIGNhbnZhcyB0byB3b3JrXG4gICAgaHRtbCwgYm9keSB7IGhlaWdodDogMTAwJTsgfVxuXG4gICAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgICAqLFxuICAgICo6YmVmb3JlLFxuICAgICo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICB9XG5cbiAgICBodG1sLFxuICAgIGJvZHkgeyBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTsgfVxuXG4gICAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICAgIGJvZHkge1xuICAgICAgYmFja2dyb3VuZDogJGJvZHktYmc7XG4gICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1hdXRvLXZhbHVlO1xuICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zdHlsZTogJGJvZHktZm9udC1zdHlsZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkYm9keS1mb250LXdlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1saW5lLWhlaWdodDsgLy8gU2V0IHRvICRiYXNlLWxpbmUtaGVpZ2h0IHRvIHRha2Ugb24gYnJvd3NlciBkZWZhdWx0IG9mIDE1MCVcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gIGE6aG92ZXIgeyBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTsgfVxuXG4gICAgLy8gR3JpZCBEZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyB9XG5cbiAgICBpbWcgeyAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbiAgICAjbWFwX2NhbnZhcyxcbiAgICAubWFwX2NhbnZhcyxcbiAgICAubXFhLWRpc3BsYXkge1xuICAgICAgaW1nLFxuICAgICAgZW1iZWQsXG4gICAgICBvYmplY3QgeyBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNaXNjZWxsYW5lb3VzIHVzZWZ1bCBIVE1MIGNsYXNzZXNcbiAgICAubGVmdCB7IGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAucmlnaHQgeyBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC5jbGVhcmZpeCB7IEBpbmNsdWRlIGNsZWFyZml4OyB9XG5cbiAgICAvLyBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzXG4gICAgLmhpZGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzLCBidXQgbWFpbnRhaW4gbGF5b3V0XG4gICAgLmludmlzaWJsZSB7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4gICAgLy8gRm9udCBzbW9vdGhpbmdcbiAgICAvLyBBbnRpYWxpYXNlZCBmb250IHNtb290aGluZyB3b3JrcyBiZXN0IGZvciBsaWdodCB0ZXh0IG9uIGEgZGFyayBiYWNrZ3JvdW5kLlxuICAgIC8vIEFwcGx5IHRvIHNpbmdsZSBlbGVtZW50cyBpbnN0ZWFkIG9mIGdsb2JhbGx5IHRvIGJvZHkuXG4gICAgLy8gTm90ZSB0aGlzIG9ubHkgYXBwbGllcyB0byB3ZWJraXQtYmFzZWQgZGVza3RvcCBicm93c2VycyBhbmQgRmlyZWZveCAyNSAoYW5kIGxhdGVyKSBvbiB0aGUgTWFjLlxuICAgIC5hbnRpYWxpYXNlZCB7IC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBHbG9iYWwgcmVzZXRzIGZvciBmb3Jtc1xuICAgIC8vXG5cbiAgICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgICB0ZXh0YXJlYSB7IGhlaWdodDogYXV0bzsgbWluLWhlaWdodDogNTBweDsgfVxuXG4gICAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gICAgc2VsZWN0IHsgd2lkdGg6IDEwMCU7IH1cbiAgfVxufVxuIiwiLy9cbi8vIEZPVU5EQVRJT04gU0VUVElOR1Ncbi8vXG5cbi8vIFRoaXMgaXMgdGhlIGRlZmF1bHQgaHRtbCBhbmQgYm9keSBmb250LXNpemUgZm9yIHRoZSBiYXNlIHJlbSB2YWx1ZS5cbi8vICRyZW0tYmFzZTogMTZweDtcblxuLy8gQWxsb3dzIHRoZSB1c2Ugb2YgcmVtLWNhbGMoKSBvciBsb3dlci1ib3VuZCgpIGluIHlvdXIgc2V0dGluZ3NcbkBpbXBvcnQgXCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2Z1bmN0aW9uc1wiO1xuXG4vLyAkZXhwZXJpbWVudGFsOiB0cnVlO1xuXG4vLyBUaGUgZGVmYXVsdCBmb250LXNpemUgaXMgc2V0IHRvIDEwMCUgb2YgdGhlIGJyb3dzZXIgc3R5bGUgc2hlZXQgKHVzdWFsbHkgMTZweClcbi8vIGZvciBjb21wYXRpYmlsaXR5IHdpdGggYnJvd3Nlci1iYXNlZCB0ZXh0IHpvb20gb3IgdXNlci1zZXQgZGVmYXVsdHMuXG5cbi8vIFNpbmNlIHRoZSB0eXBpY2FsIGRlZmF1bHQgYnJvd3NlciBmb250LXNpemUgaXMgMTZweCwgdGhhdCBtYWtlcyB0aGUgY2FsY3VsYXRpb24gZm9yIGdyaWQgc2l6ZS5cbi8vIElmIHlvdSB3YW50IHlvdXIgYmFzZSBmb250LXNpemUgdG8gYmUgZGlmZmVyZW50IGFuZCBub3QgaGF2ZSBpdCBhZmZlY3QgdGhlIGdyaWQgYnJlYWtwb2ludHMsXG4vLyBzZXQgJHJlbS1iYXNlIHRvICRiYXNlLWZvbnQtc2l6ZSBhbmQgbWFrZSBzdXJlICRiYXNlLWZvbnQtc2l6ZSBpcyBhIHB4IHZhbHVlLlxuLy8gJGJhc2UtZm9udC1zaXplOiAxMDAlO1xuXG4vLyBUaGUgJGJhc2UtbGluZS1oZWlnaHQgaXMgMTAwJSB3aGlsZWdsb2JhbC1yYWRpdXMgJGJhc2UtZm9udC1zaXplIGlzIDE1MCVcbi8vICRiYXNlLWxpbmUtaGVpZ2h0OiAxNTAlO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHdoZXRoZXIgb3Igbm90IENTUyBjbGFzc2VzIGNvbWUgdGhyb3VnaCBpbiB0aGUgZ2VtIGZpbGVzLlxuLy8gJGluY2x1ZGUtaHRtbC1jbGFzc2VzOiB0cnVlO1xuLy8gJGluY2x1ZGUtcHJpbnQtc3R5bGVzOiB0cnVlO1xuLy8gJGluY2x1ZGUtaHRtbC1nbG9iYWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBHcmlkXG5cbi8vICRpbmNsdWRlLWh0bWwtZ3JpZC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG4vLyAkaW5jbHVkZS14bC1odG1sLWdyaWQtY2xhc3NlczogZmFsc2U7XG5cbi8vICRyb3ctd2lkdGg6IHJlbS1jYWxjKDEwMDApO1xuLy8gJGNvbHVtbi1ndXR0ZXI6IHJlbS1jYWxjKDMwKTtcbi8vICR0b3RhbC1jb2x1bW5zOiAxMjtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmFyaW91cyBnbG9iYWwgc3R5bGVzXG4vLyAkYm9keS1iZzogI2ZmZjtcbiRib2R5LWZvbnQtY29sb3I6ICMxRTI1Mjg7XG4kYm9keS1mb250LWZhbWlseTogXCJSb2JvdG9cIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbi8vICRib2R5LWZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAkYm9keS1mb250LXN0eWxlOiBub3JtYWw7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgZm9udC1zbW9vdGhpbmdcbi8vICRmb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRleHQgZGlyZWN0aW9uIHNldHRpbmdzXG4vLyAkdGV4dC1kaXJlY3Rpb246IGx0cjtcbi8vICRvcHBvc2l0ZS1kaXJlY3Rpb246IHJpZ2h0O1xuLy8gJGRlZmF1bHQtZmxvYXQ6IGxlZnQ7XG5cbi8vIFdlIHVzZSB0aGVzZSBhcyBkZWZhdWx0IGNvbG9ycyB0aHJvdWdob3V0XG4kcHJpbWFyeS1jb2xvcjogIzAwOTQ1RDtcbiRzZWNvbmRhcnktY29sb3I6ICM2RDk3ODg7XG4kYWxlcnQtY29sb3I6ICNCRjBBMEQ7XG4kc3VjY2Vzcy1jb2xvcjogIzQzQUM2QTtcbiR3YXJuaW5nLWNvbG9yOiAjZjA4YTI0O1xuJGluZm8tY29sb3I6ICNhMGQzZTg7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBtYWtlIHN1cmUgYm9yZGVyIHJhZGl1cyBtYXRjaGVzIHVubGVzcyB3ZSB3YW50IGl0IGRpZmZlcmVudC5cbiRnbG9iYWwtcmFkaXVzOiAwcHg7XG4vLyAkZ2xvYmFsLXJvdW5kZWQ6IDEwMDBweDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaW5zZXQgc2hhZG93IHNoaW55IGVkZ2VzIGFuZCBkZXByZXNzaW9ucy5cbi8vICRzaGlueS1lZGdlLXNpemU6IDAgMXB4IDA7XG4vLyAkc2hpbnktZWRnZS1jb2xvcjogcmdiYSgjZmZmLCAuNSk7XG4vLyAkc2hpbnktZWRnZS1hY3RpdmUtY29sb3I6IHJnYmEoIzAwMCwgLjIpO1xuXG4vLyBNZWRpYSBRdWVyeSBSYW5nZXNcbi8vICRzbWFsbC1yYW5nZTogKDBlbSwgNDBlbSk7XG4vLyAkbWVkaXVtLXJhbmdlOiAoNDAuMDYzZW0sIDY0ZW0pO1xuLy8gJGxhcmdlLXJhbmdlOiAoNjQuMDYzZW0sIDkwZW0pO1xuLy8gJHhsYXJnZS1yYW5nZTogKDkwLjA2M2VtLCAxMjBlbSk7XG4vLyAkeHhsYXJnZS1yYW5nZTogKDEyMC4wNjNlbSk7XG5cbi8vICRzY3JlZW46IFwib25seSBzY3JlZW5cIjtcblxuLy8gJGxhbmRzY2FwZTogXCIjeyRzY3JlZW59IGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSlcIjtcbi8vICRwb3J0cmFpdDogXCIjeyRzY3JlZW59IGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KVwiO1xuXG4vLyAkc21hbGwtdXA6ICRzY3JlZW47XG4vLyAkc21hbGwtb25seTogXCIjeyRzY3JlZW59IGFuZCAobWF4LXdpZHRoOiAje3VwcGVyLWJvdW5kKCRzbWFsbC1yYW5nZSl9KVwiO1xuXG4vLyAkbWVkaXVtLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pXCI7XG4vLyAkbWVkaXVtLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pXCI7XG5cbi8vICRsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pXCI7XG4vLyAkbGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pXCI7XG5cbi8vICR4bGFyZ2UtdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSlcIjtcbi8vICR4bGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSlcIjtcblxuLy8gJHh4bGFyZ2UtdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pXCI7XG4vLyAkeHhsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pXCI7XG5cbi8vIExlZ2FjeVxuLy8gJHNtYWxsOiAkbWVkaXVtLXVwO1xuLy8gJG1lZGl1bTogJG1lZGl1bS11cDtcbi8vICRsYXJnZTogJGxhcmdlLXVwO1xuXG4vL1dlIHVzZSB0aGlzIGFzIGN1cnNvcnMgdmFsdWVzIGZvciBlbmFibGluZyB0aGUgb3B0aW9uIG9mIGhhdmluZyBjdXN0b20gY3Vyc29ycyBpbiB0aGUgd2hvbGUgc2l0ZSdzIHN0eWxlc2hlZXRcbi8vICRjdXJzb3ItY3Jvc3NoYWlyLXZhbHVlOiBjcm9zc2hhaXI7XG4vLyAkY3Vyc29yLWRlZmF1bHQtdmFsdWU6IGRlZmF1bHQ7XG4vLyAkY3Vyc29yLXBvaW50ZXItdmFsdWU6IHBvaW50ZXI7XG4vLyAkY3Vyc29yLWhlbHAtdmFsdWU6IGhlbHA7XG4vLyAkY3Vyc29yLXRleHQtdmFsdWU6IHRleHQ7XG5cbi8vXG4vLyBUWVBPR1JBUEhZXG4vL1xuXG4vLyAkaW5jbHVkZS1odG1sLXR5cGUtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBoZWFkZXIgZm9udCBzdHlsZXNcbi8vJGhlYWRlci1mb250LWZhbWlseTogXCJPc3dhbGRcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRoZWFkZXItZm9udC13ZWlnaHQ6IDMwMDtcbi8vICRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuLy8gJGhlYWRlci1mb250LWNvbG9yOiAjMjIyO1xuLy8gJGhlYWRlci1saW5lLWhlaWdodDogMS40O1xuLy8gJGhlYWRlci10b3AtbWFyZ2luOiAuMnJlbTtcbi8vICRoZWFkZXItYm90dG9tLW1hcmdpbjogLjVyZW07XG4vLyAkaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBmb250IHNpemVzXG4vLyAkaDEtZm9udC1zaXplOiByZW0tY2FsYyg0NCk7XG4vLyAkaDItZm9udC1zaXplOiByZW0tY2FsYygzNyk7XG4vLyAkaDMtZm9udC1zaXplOiByZW0tY2FsYygyNyk7XG4vLyAkaDQtZm9udC1zaXplOiByZW0tY2FsYygyMyk7XG4vLyAkaDUtZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4vLyAkaDYtZm9udC1zaXplOiAxcmVtO1xuXG4vLyBUaGVzZSBjb250cm9sIGhvdyBzdWJoZWFkZXJzIGFyZSBzdHlsZWQuXG4vLyAkc3ViaGVhZGVyLWxpbmUtaGVpZ2h0OiAxLjQ7XG4vLyAkc3ViaGVhZGVyLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMzUlKTtcbi8vICRzdWJoZWFkZXItZm9udC13ZWlnaHQ6IDMwMDtcbi8vICRzdWJoZWFkZXItdG9wLW1hcmdpbjogLjJyZW07XG4vLyAkc3ViaGVhZGVyLWJvdHRvbS1tYXJnaW46IC41cmVtO1xuXG4vLyBBIGdlbmVyYWwgPHNtYWxsPiBzdHlsaW5nXG4vLyAkc21hbGwtZm9udC1zaXplOiA2MCU7XG4vLyAkc21hbGwtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgcGFyYWdyYXBoc1xuLy8gJHBhcmFncmFwaC1mb250LWZhbWlseTogaW5oZXJpdDtcbi8vICRwYXJhZ3JhcGgtZm9udC13ZWlnaHQ6IG5vcm1hbDtcbi8vICRwYXJhZ3JhcGgtZm9udC1zaXplOiAxcmVtO1xuLy8gJHBhcmFncmFwaC1saW5lLWhlaWdodDogMS42O1xuLy8gJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4vLyAkcGFyYWdyYXBoLWFzaWRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJHBhcmFncmFwaC1hc2lkZS1saW5lLWhlaWdodDogMS4zNTtcbi8vICRwYXJhZ3JhcGgtYXNpZGUtZm9udC1zdHlsZTogaXRhbGljO1xuLy8gJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgPGNvZGU+IHRhZ3Ncbi8vICRjb2RlLWNvbG9yOiBzY2FsZS1jb2xvcigkYWxlcnQtY29sb3IsICRsaWdodG5lc3M6IC0yNyUpO1xuLy8gJGNvZGUtZm9udC1mYW1pbHk6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuLy8gJGNvZGUtZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBhbmNob3JzXG4vLyAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbi8vICRhbmNob3ItZm9udC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4vLyAkYW5jaG9yLWZvbnQtY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSA8aHI+IGVsZW1lbnRcbi8vICRoci1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRoci1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJGhyLWJvcmRlci1jb2xvcjogI2RkZDtcbi8vICRoci1tYXJnaW46IHJlbS1jYWxjKDIwKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGxpc3RzXG4vLyAkbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbi8vICRsaXN0LXNpZGUtbWFyZ2luOiAxLjFyZW07XG4vLyAkbGlzdC1vcmRlcmVkLXNpZGUtbWFyZ2luOiAxLjRyZW07XG4vLyAkbGlzdC1zaWRlLW1hcmdpbi1uby1idWxsZXQ6IDA7XG4vLyAkbGlzdC1uZXN0ZWQtbWFyZ2luOiByZW0tY2FsYygyMCk7XG4vLyAkZGVmaW5pdGlvbi1saXN0LWhlYWRlci13ZWlnaHQ6IGJvbGQ7XG4vLyAkZGVmaW5pdGlvbi1saXN0LWhlYWRlci1tYXJnaW4tYm90dG9tOiAuM3JlbTtcbi8vICRkZWZpbml0aW9uLWxpc3QtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTIpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgYmxvY2txdW90ZXNcbi8vICRibG9ja3F1b3RlLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMzUlKTtcbi8vICRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4vLyAkYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuLy8gJGJsb2NrcXVvdGUtY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbi8vICRibG9ja3F1b3RlLWNpdGUtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAyMyUpO1xuLy8gJGJsb2NrcXVvdGUtY2l0ZS1saW5rLWNvbG9yOiAkYmxvY2txdW90ZS1jaXRlLWZvbnQtY29sb3I7XG5cbi8vIEFjcm9ueW0gc3R5bGVzXG4vLyAkYWNyb255bS11bmRlcmxpbmU6IDFweCBkb3R0ZWQgI2RkZDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgcGFkZGluZyBhbmQgbWFyZ2luXG4vLyAkbWljcm9mb3JtYXQtcGFkZGluZzogcmVtLWNhbGMoMTAgMTIpO1xuLy8gJG1pY3JvZm9ybWF0LW1hcmdpbjogcmVtLWNhbGMoMCAwIDIwIDApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYm9yZGVyIHN0eWxlc1xuLy8gJG1pY3JvZm9ybWF0LWJvcmRlci13aWR0aDogMXB4O1xuLy8gJG1pY3JvZm9ybWF0LWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkbWljcm9mb3JtYXQtYm9yZGVyLWNvbG9yOiAjZGRkO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBmdWxsIG5hbWUgZm9udCBzdHlsZXNcbi8vICRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXdlaWdodDogYm9sZDtcbi8vICRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXNpemU6IHJlbS1jYWxjKDE1KTtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgc3VtbWFyeSBmb250IHN0eWxlc1xuLy8gJG1pY3JvZm9ybWF0LXN1bW1hcnktZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYWJiciBwYWRkaW5nXG4vLyAkbWljcm9mb3JtYXQtYWJici1wYWRkaW5nOiByZW0tY2FsYygwIDEpO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFiYnIgZm9udCBzdHlsZXNcbi8vICRtaWNyb2Zvcm1hdC1hYmJyLWZvbnQtd2VpZ2h0OiBib2xkO1xuLy8gJG1pY3JvZm9ybWF0LWFiYnItZm9udC1kZWNvcmF0aW9uOiBub25lO1xuXG4vLyBBY2NvcmRpb25cblxuLy8gJGluY2x1ZGUtaHRtbC1hY2NvcmRpb24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZzogcmVtLWNhbGMoMTYpO1xuLy8gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yOiAjZWZlZmVmICA7XG4vLyAkYWNjb3JkaW9uLW5hdmlnYXRpb24taG92ZXItYmctY29sb3I6IHNjYWxlLWNvbG9yKCRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTUlKTtcbi8vICRhY2NvcmRpb24tbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I6IHNjYWxlLWNvbG9yKCRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTMlKTtcbi8vICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LWNvbG9yOiAjMjIyO1xuLy8gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuLy8gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcblxuLy8gJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6ICRjb2x1bW4tZ3V0dGVyLzI7XG4vLyAkYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlLWJnLWNvbG9yOiAjZmZmO1xuXG4vLyBBbGVydCBCb3hlc1xuXG4vLyAkaW5jbHVkZS1odG1sLWFsZXJ0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhbGVydCBwYWRkaW5nLlxuLy8gJGFsZXJ0LXBhZGRpbmctdG9wOiByZW0tY2FsYygxNCk7XG4vLyAkYWxlcnQtcGFkZGluZy1kZWZhdWx0LWZsb2F0OiAkYWxlcnQtcGFkZGluZy10b3A7XG4vLyAkYWxlcnQtcGFkZGluZy1vcHBvc2l0ZS1kaXJlY3Rpb246ICRhbGVydC1wYWRkaW5nLXRvcCArIHJlbS1jYWxjKDEwKTtcbi8vICRhbGVydC1wYWRkaW5nLWJvdHRvbTogJGFsZXJ0LXBhZGRpbmctdG9wO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IHN0eWxlLlxuLy8gJGFsZXJ0LWZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAkYWxlcnQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4vLyAkYWxlcnQtZm9udC1jb2xvcjogI2ZmZjtcbi8vICRhbGVydC1mb250LWNvbG9yLWFsdDogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTY2JSk7XG5cbi8vIFdlIHVzZSB0aGlzIGZvciBjbG9zZSBob3ZlciBlZmZlY3QuXG4vLyAkYWxlcnQtZnVuY3Rpb24tZmFjdG9yOiAtMTQlO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzLlxuLy8gJGFsZXJ0LWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkYWxlcnQtYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkYWxlcnQtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogJGFsZXJ0LWZ1bmN0aW9uLWZhY3Rvcik7XG4vLyAkYWxlcnQtYm90dG9tLW1hcmdpbjogcmVtLWNhbGMoMjApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGNsb3NlIGJ1dHRvbnNcbi8vICRhbGVydC1jbG9zZS1jb2xvcjogIzMzMztcbi8vICRhbGVydC1jbG9zZS10b3A6IDUwJTtcbi8vICRhbGVydC1jbG9zZS1wb3NpdGlvbjogcmVtLWNhbGMoNSk7XG4vLyAkYWxlcnQtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4vLyAkYWxlcnQtY2xvc2Utb3BhY2l0eTogMC4zO1xuLy8gJGFsZXJ0LWNsb3NlLW9wYWNpdHktaG92ZXI6IDAuNTtcbi8vICRhbGVydC1jbG9zZS1wYWRkaW5nOiA5cHggNnB4IDRweDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBib3JkZXIgcmFkaXVzXG4vLyAkYWxlcnQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gQmxvY2sgR3JpZFxuXG4vLyAkaW5jbHVkZS1odG1sLWdyaWQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBtYXhpbXVtIG51bWJlciBvZiBibG9jayBncmlkIGVsZW1lbnRzIHBlciByb3dcbi8vICRibG9jay1ncmlkLWVsZW1lbnRzOiAxMjtcbi8vICRibG9jay1ncmlkLWRlZmF1bHQtc3BhY2luZzogcmVtLWNhbGMoMjApO1xuXG4vLyBFbmFibGVzIG1lZGlhIHF1ZXJpZXMgZm9yIGJsb2NrLWdyaWQgY2xhc3Nlcy4gU2V0IHRvIGZhbHNlIGlmIHdyaXRpbmcgc2VtYW50aWMgSFRNTC5cbi8vICRibG9jay1ncmlkLW1lZGlhLXF1ZXJpZXM6IHRydWU7XG5cbi8vIEJyZWFkY3J1bWJzXG5cbi8vICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgYnJlYWRjcnVtYiBjb250YWluZXIuXG4vLyAkY3J1bWItYmc6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IDU1JSk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIHBhZGRpbmcgYXJvdW5kIHRoZSBicmVhZGNydW1icy5cbi8vICRjcnVtYi1wYWRkaW5nOiByZW0tY2FsYyg5IDE0IDkpO1xuLy8gJGNydW1iLXNpZGUtcGFkZGluZzogcmVtLWNhbGMoMTIpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzLlxuLy8gJGNydW1iLWZ1bmN0aW9uLWZhY3RvcjogLTEwJTtcbi8vICRjcnVtYi1ib3JkZXItc2l6ZTogMXB4O1xuLy8gJGNydW1iLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkY3J1bWItYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkY3J1bWItYmcsICRsaWdodG5lc3M6ICRjcnVtYi1mdW5jdGlvbi1mYWN0b3IpO1xuLy8gJGNydW1iLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdmFyaW91cyB0ZXh0IHN0eWxlcyBmb3IgYnJlYWRjcnVtYnMuXG4vLyAkY3J1bWItZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4vLyAkY3J1bWItZm9udC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4vLyAkY3J1bWItZm9udC1jb2xvci1jdXJyZW50OiAjMzMzO1xuLy8gJGNydW1iLWZvbnQtY29sb3ItdW5hdmFpbGFibGU6ICM5OTk7XG4vLyAkY3J1bWItZm9udC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbi8vICRjcnVtYi1saW5rLWRlY29yOiB1bmRlcmxpbmU7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzbGFzaCBiZXR3ZWVuIGJyZWFkY3J1bWJzXG4vLyAkY3J1bWItc2xhc2gtY29sb3I6ICNhYWE7XG4vLyAkY3J1bWItc2xhc2g6IFwiL1wiO1xuXG4vL1xuLy8gQlVUVE9OU1xuLy9cblxuLy8gJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gYnVpbGQgcGFkZGluZyBmb3IgYnV0dG9ucy5cbi8vICRidXR0b24tdG55OiByZW0tY2FsYygxMCk7XG4vLyAkYnV0dG9uLXNtbDogcmVtLWNhbGMoMTQpO1xuLy8gJGJ1dHRvbi1tZWQ6IHJlbS1jYWxjKDE2KTtcbi8vICRidXR0b24tbHJnOiByZW0tY2FsYygxOCk7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGRpc3BsYXkgcHJvcGVydHkuXG4vLyAkYnV0dG9uLWRpc3BsYXk6IGlubGluZS1ibG9jaztcbi8vICRidXR0b24tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBidXR0b24gdGV4dCBzdHlsZXMuXG4vLyAkYnV0dG9uLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbi8vICRidXR0b24tZm9udC1jb2xvcjogI2ZmZjtcbi8vICRidXR0b24tZm9udC1jb2xvci1hbHQ6ICMzMzM7XG4vLyAkYnV0dG9uLWZvbnQtdG55OiByZW0tY2FsYygxMSk7XG4vLyAkYnV0dG9uLWZvbnQtc21sOiByZW0tY2FsYygxMyk7XG4vLyAkYnV0dG9uLWZvbnQtbWVkOiByZW0tY2FsYygxNik7XG4vLyAkYnV0dG9uLWZvbnQtbHJnOiByZW0tY2FsYygyMCk7XG4vLyAkYnV0dG9uLWZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAkYnV0dG9uLWZvbnQtYWxpZ246IGNlbnRlcjtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmFyaW91cyBob3ZlciBlZmZlY3RzLlxuLy8gJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3I6IDUlO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBidXR0b24gYm9yZGVyIHN0eWxlcy5cbi8vICRidXR0b24tYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkYnV0dG9uLWJvcmRlci1zdHlsZTogc29saWQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgZGVmYXVsdCByYWRpdXMgdXNlZCB0aHJvdWdob3V0IHRoZSBjb3JlLlxuLy8gJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gJGJ1dHRvbi1yb3VuZDogJGdsb2JhbC1yb3VuZGVkO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgZGVmYXVsdCBvcGFjaXR5IGZvciBkaXNhYmxlZCBidXR0b25zLlxuLy8gJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5OiAwLjc7XG5cbi8vIEJ1dHRvbiBHcm91cHNcblxuLy8gJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBTZXRzIHRoZSBtYXJnaW4gZm9yIHRoZSByaWdodCBzaWRlIGJ5IGRlZmF1bHQsIGFuZCB0aGUgbGVmdCBtYXJnaW4gaWYgcmlnaHQtdG8tbGVmdCBkaXJlY3Rpb24gaXMgdXNlZFxuLy8gJGJ1dHRvbi1iYXItbWFyZ2luLW9wcG9zaXRlOiByZW0tY2FsYygxMCk7XG4vLyAkYnV0dG9uLWdyb3VwLWJvcmRlci13aWR0aDogMXB4O1xuXG4vLyBDbGVhcmluZ1xuXG4vLyAkaW5jbHVkZS1odG1sLWNsZWFyaW5nLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgYmFja2dyb3VuZCBjb2xvcnMgZm9yIHBhcnRzIG9mIENsZWFyaW5nLlxuLy8gJGNsZWFyaW5nLWJnOiAjMzMzO1xuLy8gJGNsZWFyaW5nLWNhcHRpb24tYmc6ICRjbGVhcmluZy1iZztcbi8vICRjbGVhcmluZy1jYXJvdXNlbC1iZzogcmdiYSAoNTEsNTEsNTEsMC44KTtcbi8vICRjbGVhcmluZy1pbWctYmc6ICRjbGVhcmluZy1iZztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBjbG9zZSBidXR0b25cbi8vICRjbGVhcmluZy1jbG9zZS1jb2xvcjogI2NjYztcbi8vICRjbGVhcmluZy1jbG9zZS1zaXplOiAzMHB4O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGFycm93c1xuLy8gJGNsZWFyaW5nLWFycm93LXNpemU6IDEycHg7XG4vLyAkY2xlYXJpbmctYXJyb3ctY29sb3I6ICRjbGVhcmluZy1jbG9zZS1jb2xvcjtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGNhcHRpb25zXG4vLyAkY2xlYXJpbmctY2FwdGlvbi1mb250LWNvbG9yOiAjY2NjO1xuLy8gJGNsZWFyaW5nLWNhcHRpb24tZm9udC1zaXplOiAwLjg3NWVtO1xuLy8gJGNsZWFyaW5nLWNhcHRpb24tcGFkZGluZzogMTBweCAzMHB4IDIwcHg7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBtYWtlIHRoZSBpbWFnZSBhbmQgY2Fyb3VzZWwgaGVpZ2h0IGFuZCBzdHlsZVxuLy8gJGNsZWFyaW5nLWFjdGl2ZS1pbWctaGVpZ2h0OiA4NSU7XG4vLyAkY2xlYXJpbmctY2Fyb3VzZWwtaGVpZ2h0OiAxMjBweDtcbi8vICRjbGVhcmluZy1jYXJvdXNlbC10aHVtYi13aWR0aDogMTIwcHg7XG4vLyAkY2xlYXJpbmctY2Fyb3VzZWwtdGh1bWItYWN0aXZlLWJvcmRlcjogMXB4IHNvbGlkIHJnYigyNTUsMjU1LDI1NSk7XG5cbi8vIERyb3Bkb3duXG5cbi8vICRpbmNsdWRlLWh0bWwtZHJvcGRvd24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbHMgaGVpZ2h0IGFuZCB3aWR0aCBzdHlsZXMuXG4vLyAkZi1kcm9wZG93bi1tYXgtd2lkdGg6IDIwMHB4O1xuLy8gJGYtZHJvcGRvd24taGVpZ2h0OiBhdXRvO1xuLy8gJGYtZHJvcGRvd24tbWF4LWhlaWdodDogbm9uZTtcbi8vICRmLWRyb3Bkb3duLW1hcmdpbi10b3A6IDJweDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgYmFja2dyb3VuZCBjb2xvclxuLy8gJGYtZHJvcGRvd24tYmc6ICNmZmY7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYm9yZGVyIHN0eWxlcyBmb3IgZHJvcGRvd25zLlxuLy8gJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRmLWRyb3Bkb3duLWJvcmRlci13aWR0aDogMXB4O1xuLy8gJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigjZmZmLCAkbGlnaHRuZXNzOiAtMjAlKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSB0cmlhbmdsZSBwaXAuXG4vLyAkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplOiA2cHg7XG4vLyAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvcjogI2ZmZjtcbi8vICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0OiAxMHB4O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBzdHlsZXMgZm9yIHRoZSBsaXN0IGVsZW1lbnRzLlxuLy8gJGYtZHJvcGRvd24tbGlzdC1zdHlsZTogbm9uZTtcbi8vICRmLWRyb3Bkb3duLWZvbnQtY29sb3I6ICM1NTU7XG4vLyAkZi1kcm9wZG93bi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRmLWRyb3Bkb3duLWxpc3QtcGFkZGluZzogcmVtLWNhbGMoNSwgMTApO1xuLy8gJGYtZHJvcGRvd24tbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbi8vICRmLWRyb3Bkb3duLWxpc3QtaG92ZXItYmc6ICNlZWVlZWUgIDtcbi8vICRkcm9wZG93bi1tb2JpbGUtZGVmYXVsdC1mbG9hdDogMDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgc3R5bGVzIGZvciB3aGVuIHRoZSBkcm9wZG93biBoYXMgY3VzdG9tIGNvbnRlbnQuXG4vLyAkZi1kcm9wZG93bi1jb250ZW50LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcblxuLy8gRHJvcGRvd24gQnV0dG9uc1xuXG4vLyAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIGNvbG9yIG9mIHRoZSBwaXAgaW4gZHJvcGRvd24gYnV0dG9uc1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3I6ICNmZmY7XG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvci1hbHQ6ICMzMzM7XG5cbi8vICRidXR0b24tcGlwLXRueTogcmVtLWNhbGMoNik7XG4vLyAkYnV0dG9uLXBpcC1zbWw6IHJlbS1jYWxjKDcpO1xuLy8gJGJ1dHRvbi1waXAtbWVkOiByZW0tY2FsYyg5KTtcbi8vICRidXR0b24tcGlwLWxyZzogcmVtLWNhbGMoMTEpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGlueSBkcm9wZG93biBidXR0b25zXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctdG55OiAkYnV0dG9uLXBpcC10bnkgKiA3O1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS10bnk6ICRidXR0b24tcGlwLXRueTtcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXRueTogJGJ1dHRvbi1waXAtdG55ICogMztcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC10bnk6IC0kYnV0dG9uLXBpcC10bnkgLyAyICsgcmVtLWNhbGMoMSk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBzbWFsbCBkcm9wZG93biBidXR0b25zXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctc21sOiAkYnV0dG9uLXBpcC1zbWwgKiA3O1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1zbWw6ICRidXR0b24tcGlwLXNtbDtcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXNtbDogJGJ1dHRvbi1waXAtc21sICogMztcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1zbWw6IC0kYnV0dG9uLXBpcC1zbWwgLyAyICsgcmVtLWNhbGMoMSk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBtZWRpdW0gZHJvcGRvd24gYnV0dG9uc1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLW1lZDogJGJ1dHRvbi1waXAtbWVkICogNiArIHJlbS1jYWxjKDMpO1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1tZWQ6ICRidXR0b24tcGlwLW1lZCAtIHJlbS1jYWxjKDMpO1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiAyLjU7XG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbWVkOiAtJGJ1dHRvbi1waXAtbWVkIC8gMiArIHJlbS1jYWxjKDIpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbGFyZ2UgZHJvcGRvd24gYnV0dG9uc1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLWxyZzogJGJ1dHRvbi1waXAtbHJnICogNSArIHJlbS1jYWxjKDMpO1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1scmc6ICRidXR0b24tcGlwLWxyZyAtIHJlbS1jYWxjKDYpO1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbHJnOiAkYnV0dG9uLXBpcC1scmcgKiAyLjU7XG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbHJnOiAtJGJ1dHRvbi1waXAtbHJnIC8gMiArIHJlbS1jYWxjKDMpO1xuXG4vLyBGbGV4IFZpZGVvXG5cbi8vICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB2aWRlbyBjb250YWluZXIgcGFkZGluZyBhbmQgbWFyZ2luc1xuLy8gJGZsZXgtdmlkZW8tcGFkZGluZy10b3A6IHJlbS1jYWxjKDI1KTtcbi8vICRmbGV4LXZpZGVvLXBhZGRpbmctYm90dG9tOiA2Ny41JTtcbi8vICRmbGV4LXZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB3aWRlc2NyZWVuIGJvdHRvbSBwYWRkaW5nXG4vLyAkZmxleC12aWRlby13aWRlc2NyZWVuLXBhZGRpbmctYm90dG9tOiA1Ny4yNSU7XG5cbi8vIEZvcm1zXG5cbi8vICRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYmFzZSBmb3IgbG90cyBvZiBmb3JtIHNwYWNpbmcgYW5kIHBvc2l0aW9uaW5nIHN0eWxlc1xuLy8gJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxhYmVscyBpbiBkaWZmZXJlbnQgd2F5c1xuLy8gJGZvcm0tbGFiZWwtcG9pbnRlcjogcG9pbnRlcjtcbi8vICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6IG5vcm1hbDtcbi8vICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjU7XG4vLyAkZm9ybS1sYWJlbC1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigjMDAwLCAkbGlnaHRuZXNzOiAzMCUpO1xuLy8gJGZvcm0tbGFiZWwtYm90dG9tLW1hcmdpbjogMDtcbi8vICRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbi8vICRpbnB1dC1mb250LWNvbG9yOiByZ2JhKDAsMCwwLDAuNzUpO1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuLy8gJGlucHV0LWJnLWNvbG9yOiAjZmZmO1xuLy8gJGlucHV0LWZvY3VzLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigjZmZmLCAkbGlnaHRuZXNzOiAtMiUpO1xuLy8gJGlucHV0LWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoI2ZmZiwgJGxpZ2h0bmVzczogLTIwJSk7XG4vLyAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigjZmZmLCAkbGlnaHRuZXNzOiAtNDAlKTtcbi8vICRpbnB1dC1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJGlucHV0LWJvcmRlci13aWR0aDogMXB4O1xuLy8gJGlucHV0LWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gJGlucHV0LWRpc2FibGVkLWJnOiAjZGRkO1xuLy8gJGlucHV0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMSk7XG4vLyAkaW5wdXQtaW5jbHVkZS1nbG93aW5nLWVmZmVjdDogdHJ1ZTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBmaWVsZHNldCBib3JkZXIgYW5kIHNwYWNpbmcuXG4vLyAkZmllbGRzZXQtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRmaWVsZHNldC1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRmaWVsZHNldC1ib3JkZXItY29sb3I6ICNkZGQ7XG4vLyAkZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuLy8gJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGVnZW5kcyB3aGVuIHlvdSB1c2UgdGhlbVxuLy8gJGxlZ2VuZC1iZzogI2ZmZjtcbi8vICRsZWdlbmQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4vLyAkbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgcHJlZml4IGFuZCBwb3N0Zml4IGlucHV0IGVsZW1lbnRzXG4vLyAkaW5wdXQtcHJlZml4LWJnOiBzY2FsZS1jb2xvcigjZmZmLCAkbGlnaHRuZXNzOiAtNSUpO1xuLy8gJGlucHV0LXByZWZpeC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCNmZmYsICRsaWdodG5lc3M6IC0yMCUpO1xuLy8gJGlucHV0LXByZWZpeC1ib3JkZXItc2l6ZTogMXB4O1xuLy8gJGlucHV0LXByZWZpeC1ib3JkZXItdHlwZTogc29saWQ7XG4vLyAkaW5wdXQtcHJlZml4LW92ZXJmbG93OiBoaWRkZW47XG4vLyAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3I6ICMzMzM7XG4vLyAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3ItYWx0OiAjZmZmO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGVycm9yIHN0YXRlcyBmb3IgaW5wdXRzIGFuZCBsYWJlbHNcbi8vICRpbnB1dC1lcnJvci1tZXNzYWdlLXBhZGRpbmc6IHJlbS1jYWxjKDYgOSA5KTtcbi8vICRpbnB1dC1lcnJvci1tZXNzYWdlLXRvcDogLTFweDtcbi8vICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuLy8gJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC13ZWlnaHQ6IG5vcm1hbDtcbi8vICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc3R5bGU6IGl0YWxpYztcbi8vICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3I6ICNmZmY7XG4vLyAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yLWFsdDogIzMzMztcblxuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIGdsb3dpbmcgZWZmZWN0IG9mIGlucHV0cyB3aGVuIGZvY3VzZWRcbi8vICRnbG93aW5nLWVmZmVjdC1mYWRlLXRpbWU6IDAuNDVzO1xuLy8gJGdsb3dpbmctZWZmZWN0LWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuXG4vLyBTZWxlY3QgdmFyaWFibGVzXG4vLyAkc2VsZWN0LWJnLWNvbG9yOiAjZmFmYWZhO1xuXG4vLyBJbmxpbmUgTGlzdHNcblxuLy8gJGluY2x1ZGUtaHRtbC1pbmxpbmUtbGlzdC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIG1hcmdpbnMgYW5kIHBhZGRpbmcgb2YgdGhlIGlubGluZSBsaXN0LlxuLy8gJGlubGluZS1saXN0LXRvcC1tYXJnaW46IDA7XG4vLyAkaW5saW5lLWxpc3Qtb3Bwb3NpdGUtbWFyZ2luOiAwO1xuLy8gJGlubGluZS1saXN0LWJvdHRvbS1tYXJnaW46IHJlbS1jYWxjKDE3KTtcbi8vICRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LW1hcmdpbjogcmVtLWNhbGMoLTIyKTtcblxuLy8gJGlubGluZS1saXN0LXBhZGRpbmc6IDA7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIG92ZXJmbG93IG9mIHRoZSBpbmxpbmUgbGlzdC5cbi8vICRpbmxpbmUtbGlzdC1vdmVyZmxvdzogaGlkZGVuO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBsaXN0IGl0ZW1zXG4vLyAkaW5saW5lLWxpc3QtZGlzcGxheTogYmxvY2s7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYW55IGVsbWVudHMgd2l0aGluIGxpc3QgaXRlbXNcbi8vICRpbmxpbmUtbGlzdC1jaGlsZHJlbi1kaXNwbGF5OiBibG9jaztcblxuLy8gSm95cmlkZVxuXG4vLyAkaW5jbHVkZS1odG1sLWpveXJpZGUtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBDb250cm9sbGluZyBkZWZhdWx0IEpveXJpZGUgc3R5bGVzXG4vLyAkam95cmlkZS10aXAtYmc6ICMzMzM7XG4vLyAkam95cmlkZS10aXAtZGVmYXVsdC13aWR0aDogMzAwcHg7XG4vLyAkam95cmlkZS10aXAtcGFkZGluZzogcmVtLWNhbGMoMTggMjAgMjQpO1xuLy8gJGpveXJpZGUtdGlwLWJvcmRlcjogc29saWQgMXB4ICM1NTU7XG4vLyAkam95cmlkZS10aXAtcmFkaXVzOiA0cHg7XG4vLyAkam95cmlkZS10aXAtcG9zaXRpb24tb2Zmc2V0OiAyMnB4O1xuXG4vLyBIZXJlLCB3ZSdyZSBzZXR0aW5nIHRoZSB0aXAgZG9udCBzdHlsZXNcbi8vICRqb3lyaWRlLXRpcC1mb250LWNvbG9yOiAjZmZmO1xuLy8gJGpveXJpZGUtdGlwLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJGpveXJpZGUtdGlwLWhlYWRlci13ZWlnaHQ6IGJvbGQ7XG5cbi8vIFRoaXMgY2hhbmdlcyB0aGUgbnViIHNpemVcbi8vICRqb3lyaWRlLXRpcC1udWItc2l6ZTogMTBweDtcblxuLy8gVGhpcyBhZGp1c3RzIHRoZSBzdHlsZXMgZm9yIHRoZSB0aW1lciB3aGVuIGl0cyBlbmFibGVkXG4vLyAkam95cmlkZS10aXAtdGltZXItd2lkdGg6IDUwcHg7XG4vLyAkam95cmlkZS10aXAtdGltZXItaGVpZ2h0OiAzcHg7XG4vLyAkam95cmlkZS10aXAtdGltZXItY29sb3I6ICM2NjY7XG5cbi8vIFRoaXMgY2hhbmdlcyB1cCB0aGUgc3R5bGVzIGZvciB0aGUgY2xvc2UgYnV0dG9uXG4vLyAkam95cmlkZS10aXAtY2xvc2UtY29sb3I6ICM3Nzc7XG4vLyAkam95cmlkZS10aXAtY2xvc2Utc2l6ZTogMjRweDtcbi8vICRqb3lyaWRlLXRpcC1jbG9zZS13ZWlnaHQ6IG5vcm1hbDtcblxuLy8gV2hlbiBKb3lyaWRlIGlzIGZpbGxpbmcgdGhlIHNjcmVlbiwgd2UgdXNlIHRoaXMgc3R5bGUgZm9yIHRoZSBiZ1xuLy8gJGpveXJpZGUtc2NyZWVuZmlsbDogcmdiYSgwLDAsMCwwLjUpO1xuXG4vLyBLZXlzdHJva2VzXG5cbi8vICRpbmNsdWRlLWh0bWwtdHlwZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRleHQgc3R5bGVzLlxuLy8gJGtleXN0cm9rZS1mb250OiBcIkNvbnNvbGFzXCIsIFwiTWVubG9cIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZTtcbi8vICRrZXlzdHJva2UtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAka2V5c3Ryb2tlLWZvbnQtY29sb3I6ICMyMjI7XG4vLyAka2V5c3Ryb2tlLWZvbnQtY29sb3ItYWx0OiAjZmZmO1xuLy8gJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3I6IC03JTtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBrZXlzdHJva2UgcGFkZGluZy5cbi8vICRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgc3R5bGVzLlxuLy8gJGtleXN0cm9rZS1iZzogc2NhbGUtY29sb3IoI2ZmZiwgJGxpZ2h0bmVzczogJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3IpO1xuLy8gJGtleXN0cm9rZS1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJGtleXN0cm9rZS1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRrZXlzdHJva2UtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigka2V5c3Ryb2tlLWJnLCAkbGlnaHRuZXNzOiAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3Rvcik7XG4vLyAka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIExhYmVsc1xuXG4vLyAkaW5jbHVkZS1odG1sLWxhYmVsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbHNcbi8vICRsYWJlbC1wYWRkaW5nOiByZW0tY2FsYyg0IDggNik7XG4vLyAkbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbCB0ZXh0XG4vLyAkbGFiZWwtZm9udC1zaXppbmc6IHJlbS1jYWxjKDExKTtcbi8vICRsYWJlbC1mb250LXdlaWdodDogbm9ybWFsO1xuLy8gJGxhYmVsLWZvbnQtY29sb3I6ICMzMzM7XG4vLyAkbGFiZWwtZm9udC1jb2xvci1hbHQ6ICNmZmY7XG4vLyAkbGFiZWwtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuXG4vLyBNYWdlbGxhblxuXG4vLyAkaW5jbHVkZS1odG1sLW1hZ2VsbGFuLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gJG1hZ2VsbGFuLWJnOiAjZmZmO1xuLy8gJG1hZ2VsbGFuLXBhZGRpbmc6IDEwcHg7XG5cbi8vIE9mZi1jYW52YXNcblxuLy8gJHRhYmJhci1iZzogI0U2RTFDMjtcbi8vICR0YWJiYXItaGVpZ2h0OiByZW0tY2FsYyg0NSk7XG4vLyAkdGFiYmFyLWxpbmUtaGVpZ2h0OiAkdGFiYmFyLWhlaWdodDtcbi8vICR0YWJiYXItY29sb3I6ICNGRkY7XG4vLyAkdGFiYmFyLW1pZGRsZS1wYWRkaW5nOiAwIHJlbS1jYWxjKDEwKTtcblxuLy8gT2ZmIENhbnZhcyBEaXZpZGVyIFN0eWxlc1xuLy8gJHRhYmJhci1yaWdodC1zZWN0aW9uLWJvcmRlcjogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IDEzJSk7XG4vLyAkdGFiYmFyLWxlZnQtc2VjdGlvbi1ib3JkZXI6IHNvbGlkIDFweCBzY2FsZS1jb2xvcigkdGFiYmFyLWJnLCAkbGlnaHRuZXNzOiAtNTAlKTtcblxuLy8gT2ZmIENhbnZhcyBUYWIgQmFyIEhlYWRlcnNcbi8vICR0YWJiYXItaGVhZGVyLWNvbG9yOiAjRkZGO1xuLy8gJHRhYmJhci1oZWFkZXItd2VpZ2h0OiBib2xkO1xuLy8gJHRhYmJhci1oZWFkZXItbGluZS1oZWlnaHQ6ICR0YWJiYXItaGVpZ2h0O1xuLy8gJHRhYmJhci1oZWFkZXItbWFyZ2luOiAwO1xuXG4vLyBPZmYgQ2FudmFzIE1lbnUgVmFyaWFibGVzXG4vLyAkb2ZmLWNhbnZhcy13aWR0aDogMjUwcHg7XG4vLyAkb2ZmLWNhbnZhcy1iZzogIzMzMztcblxuLy8gT2ZmIENhbnZhcyBNZW51IExpc3QgVmFyaWFibGVzXG4vLyAkb2ZmLWNhbnZhcy1sYWJlbC1wYWRkaW5nOiAwLjNyZW0gcmVtLWNhbGMoMTUpO1xuLy8gJG9mZi1jYW52YXMtbGFiZWwtY29sb3I6ICM5OTk7XG4vLyAkb2ZmLWNhbnZhcy1sYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuLy8gJG9mZi1jYW52YXMtbGFiZWwtZm9udC13ZWlnaHQ6IGJvbGQ7XG4vLyAkb2ZmLWNhbnZhcy1sYWJlbC1iZzogIzQ0NDtcbi8vICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci10b3A6IDFweCBzb2xpZCBzY2FsZS1jb2xvcigjNDQ0LCAkbGlnaHRuZXNzOiAxNCUpO1xuLy8gJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLWJvdHRvbTogbm9uZTtcbi8vICRvZmYtY2FudmFzLWxhYmVsLW1hcmdpbjowO1xuLy8gJG9mZi1jYW52YXMtbGluay1wYWRkaW5nOiByZW0tY2FsYygxMCwgMTUpO1xuLy8gJG9mZi1jYW52YXMtbGluay1jb2xvcjogcmdiYSgjRkZGLCAwLjcpO1xuLy8gJG9mZi1jYW52YXMtbGluay1ib3JkZXItYm90dG9tOiAxcHggc29saWQgc2NhbGUtY29sb3IoJG9mZi1jYW52YXMtYmcsICRsaWdodG5lc3M6IC0yNSUpO1xuXG4vLyBPZmYgQ2FudmFzIE1lbnUgSWNvbiBWYXJpYWJsZXNcbi8vICR0YWJiYXItbWVudS1pY29uLWNvbG9yOiAjRkZGO1xuLy8gJHRhYmJhci1tZW51LWljb24taG92ZXI6IHNjYWxlLWNvbG9yKCR0YWJiYXItbWVudS1pY29uLWNvbG9yLCAkbGlnaHRuZXNzOiAtMzAlKTtcblxuLy8gJHRhYmJhci1tZW51LWljb24tdGV4dC1pbmRlbnQ6IHJlbS1jYWxjKDM1KTtcbi8vICR0YWJiYXItbWVudS1pY29uLXdpZHRoOiAkdGFiYmFyLWhlaWdodDtcbi8vICR0YWJiYXItbWVudS1pY29uLWhlaWdodDogJHRhYmJhci1oZWlnaHQ7XG4vLyAkdGFiYmFyLW1lbnUtaWNvbi1saW5lLWhlaWdodDogcmVtLWNhbGMoMzMpO1xuLy8gJHRhYmJhci1tZW51LWljb24tcGFkZGluZzogMDtcblxuLy8gJHRhYmJhci1oYW1idXJnZXItaWNvbi13aWR0aDogcmVtLWNhbGMoMTYpO1xuLy8gJHRhYmJhci1oYW1idXJnZXItaWNvbi1sZWZ0OiByZW0tY2FsYygxMyk7XG4vLyAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXRvcDogcmVtLWNhbGMoNSk7XG5cbi8vIE9mZiBDYW52YXMgQmFjay1MaW5rIE92ZXJsYXlcbi8vICRvZmYtY2FudmFzLW92ZXJsYXktdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlO1xuLy8gJG9mZi1jYW52YXMtb3ZlcmxheS1jdXJzb3I6IHBvaW50ZXI7XG4vLyAkb2ZmLWNhbnZhcy1vdmVybGF5LWJveC1zaGFkb3c6IC00cHggMCA0cHggcmdiYSgjMDAwLCAwLjUpLCA0cHggMCA0cHggcmdiYSgjMDAwLCAwLjUpO1xuLy8gJG9mZi1jYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCNGRkYsIDAuMik7XG4vLyAkb2ZmLWNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQtaG92ZXI6IHJnYmEoI0ZGRiwgMC4wNSk7XG5cbi8vIFRyYW5zaXRpb24gVmFyaWFibGVzXG4vLyAkbWVudS1zbGlkZTogXCJ0cmFuc2Zvcm0gNTAwbXMgZWFzZVwiO1xuXG4vLyBPcmJpdFxuXG4vLyAkaW5jbHVkZS1odG1sLW9yYml0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGNhcHRpb24gc3R5bGVzXG4vLyAkb3JiaXQtY29udGFpbmVyLWJnOiBub25lO1xuLy8gJG9yYml0LWNhcHRpb24tYmc6IHJnYmEoNTEsNTEsNTEsIDAuOCk7XG4vLyAkb3JiaXQtY2FwdGlvbi1mb250LWNvbG9yOiAjZmZmO1xuLy8gJG9yYml0LWNhcHRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkb3JiaXQtY2FwdGlvbi1wb3NpdGlvbjogXCJib3R0b21cIjsgLy8gU3VwcG9ydGVkIHZhbHVlczogXCJib3R0b21cIiwgXCJ1bmRlclwiXG4vLyAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiByZW0tY2FsYygxMCAxNCk7XG4vLyAkb3JiaXQtY2FwdGlvbi1oZWlnaHQ6IGF1dG87XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBsZWZ0L3JpZ2h0IG5hdiBzdHlsZXNcbi8vICRvcmJpdC1uYXYtYmc6IG5vbmU7XG4vLyAkb3JiaXQtbmF2LWJnLWhvdmVyOiByZ2JhKDAsMCwwLDAuMyk7XG4vLyAkb3JiaXQtbmF2LWFycm93LWNvbG9yOiAjZmZmO1xuLy8gJG9yYml0LW5hdi1hcnJvdy1jb2xvci1ob3ZlcjogI2ZmZjtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHRpbWVyIHN0eWxlc1xuLy8gJG9yYml0LXRpbWVyLWJnOiByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7XG4vLyAkb3JiaXQtdGltZXItc2hvdy1wcm9ncmVzcy1iYXI6IHRydWU7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBidWxsZXQgbmF2IHN0eWxlc1xuLy8gJG9yYml0LWJ1bGxldC1uYXYtY29sb3I6ICNjY2M7XG4vLyAkb3JiaXQtYnVsbGV0LW5hdi1jb2xvci1hY3RpdmU6ICM5OTk7XG4vLyAkb3JiaXQtYnVsbGV0LXJhZGl1czogcmVtLWNhbGMoOSk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9scyB0aGUgc3R5bGUgb2Ygc2xpZGUgbnVtYmVyc1xuLy8gJG9yYml0LXNsaWRlLW51bWJlci1iZzogcmdiYSgwLDAsMCwwKTtcbi8vICRvcmJpdC1zbGlkZS1udW1iZXItZm9udC1jb2xvcjogI2ZmZjtcbi8vICRvcmJpdC1zbGlkZS1udW1iZXItcGFkZGluZzogcmVtLWNhbGMoNSk7XG5cbi8vIEdyYWNlZnVsIExvYWRpbmcgV3JhcHBlciBhbmQgcHJlbG9hZGVyXG4vLyAkd3JhcHBlci1jbGFzczogXCJzbGlkZXNob3ctd3JhcHBlclwiO1xuLy8gJHByZWxvYWRlci1jbGFzczogXCJwcmVsb2FkZXJcIjtcblxuLy8gUGFnaW5hdGlvblxuXG4vLyAkaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBwYWdpbmF0aW9uIGNvbnRhaW5lclxuLy8gJHBhZ2luYXRpb24taGVpZ2h0OiByZW0tY2FsYygyNCk7XG4vLyAkcGFnaW5hdGlvbi1tYXJnaW46IHJlbS1jYWxjKC01KTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgbGlzdC1pdGVtIHByb3BlcnRpZXNcbi8vICRwYWdpbmF0aW9uLWxpLWZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbi8vICRwYWdpbmF0aW9uLWxpLWhlaWdodDogcmVtLWNhbGMoMjQpO1xuLy8gJHBhZ2luYXRpb24tbGktZm9udC1jb2xvcjogIzIyMjtcbi8vICRwYWdpbmF0aW9uLWxpLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJHBhZ2luYXRpb24tbGktbWFyZ2luOiByZW0tY2FsYyg1KTtcblxuLy8gV2UgdXNlIHRoZXNlIGZvciB0aGUgcGFnaW5hdGlvbiBhbmNob3IgbGlua3Ncbi8vICRwYWdpbmF0aW9uLWxpbmstcGFkOiByZW0tY2FsYygxIDEwIDEpO1xuLy8gJHBhZ2luYXRpb24tbGluay1mb250LWNvbG9yOiAjOTk5O1xuLy8gJHBhZ2luYXRpb24tbGluay1hY3RpdmUtYmc6IHNjYWxlLWNvbG9yKCNmZmYsICRsaWdodG5lc3M6IC0xMCUpO1xuXG4vLyBXZSB1c2UgdGhlc2UgZm9yIGRpc2FibGVkIGFuY2hvciBsaW5rc1xuLy8gJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1jdXJzb3I6IGRlZmF1bHQ7XG4vLyAkcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWZvbnQtY29sb3I6ICM5OTk7XG4vLyAkcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWJnLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIFdlIHVzZSB0aGVzZSBmb3IgY3VycmVudGx5IHNlbGVjdGVkIGFuY2hvciBsaW5rc1xuLy8gJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtY29sb3I6ICNmZmY7XG4vLyAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4vLyAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yOiBkZWZhdWx0O1xuLy8gJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWFjdGl2ZS1iZzogJHByaW1hcnktY29sb3I7XG5cbi8vIFBhbmVsc1xuXG4vLyAkaW5jbHVkZS1odG1sLXBhbmVsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBzdHlsZXNcbi8vICRwYW5lbC1iZzogc2NhbGUtY29sb3IoI2ZmZiwgJGxpZ2h0bmVzczogLTUlKTtcbi8vICRwYW5lbC1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJHBhbmVsLWJvcmRlci1zaXplOiAxcHg7XG5cbi8vIFdlIHVzZSB0aGlzICUgdG8gY29udHJvbCBob3cgbXVjaCB3ZSBkYXJrZW4gdGhpbmdzIG9uIGhvdmVyXG4vLyAkcGFuZWwtZnVuY3Rpb24tZmFjdG9yOiAtMTElO1xuLy8gJHBhbmVsLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHBhbmVsLWJnLCAkbGlnaHRuZXNzOiAkcGFuZWwtZnVuY3Rpb24tZmFjdG9yKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCBkZWZhdWx0IGlubmVyIHBhZGRpbmcgYW5kIGJvdHRvbSBtYXJnaW5cbi8vICRwYW5lbC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4vLyAkcGFuZWwtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IGRlZmF1bHQgZm9udCBjb2xvcnNcbi8vICRwYW5lbC1mb250LWNvbG9yOiAjMzMzO1xuLy8gJHBhbmVsLWZvbnQtY29sb3ItYWx0OiAjZmZmO1xuXG4vLyAkcGFuZWwtaGVhZGVyLWFkanVzdDogdHJ1ZTtcbi8vICRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4vLyBQcmljaW5nIFRhYmxlc1xuXG4vLyAkaW5jbHVkZS1odG1sLXByaWNpbmctY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBib3JkZXIgY29sb3Jcbi8vICRwcmljZS10YWJsZS1ib3JkZXI6IHNvbGlkIDFweCAjZGRkO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBib3R0b20gbWFyZ2luIG9mIHRoZSBwcmljaW5nIHRhYmxlXG4vLyAkcHJpY2UtdGFibGUtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgdGl0bGUgc3R5bGVzXG4vLyAkcHJpY2UtdGl0bGUtYmc6ICMzMzM7XG4vLyAkcHJpY2UtdGl0bGUtcGFkZGluZzogcmVtLWNhbGMoMTUgMjApO1xuLy8gJHByaWNlLXRpdGxlLWFsaWduOiBjZW50ZXI7XG4vLyAkcHJpY2UtdGl0bGUtY29sb3I6ICNlZWU7XG4vLyAkcHJpY2UtdGl0bGUtd2VpZ2h0OiBub3JtYWw7XG4vLyAkcHJpY2UtdGl0bGUtc2l6ZTogcmVtLWNhbGMoMTYpO1xuLy8gJHByaWNlLXRpdGxlLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHByaWNlIHN0eWxlc1xuLy8gJHByaWNlLW1vbmV5LWJnOiAjZjZmNmY2ICA7XG4vLyAkcHJpY2UtbW9uZXktcGFkZGluZzogcmVtLWNhbGMoMTUgMjApO1xuLy8gJHByaWNlLW1vbmV5LWFsaWduOiBjZW50ZXI7XG4vLyAkcHJpY2UtbW9uZXktY29sb3I6ICMzMzM7XG4vLyAkcHJpY2UtbW9uZXktd2VpZ2h0OiBub3JtYWw7XG4vLyAkcHJpY2UtbW9uZXktc2l6ZTogcmVtLWNhbGMoMzIpO1xuLy8gJHByaWNlLW1vbmV5LWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcblxuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgZGVzY3JpcHRpb24gc3R5bGVzXG4vLyAkcHJpY2UtYmc6ICNmZmY7XG4vLyAkcHJpY2UtZGVzYy1jb2xvcjogIzc3Nztcbi8vICRwcmljZS1kZXNjLXBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbi8vICRwcmljZS1kZXNjLWFsaWduOiBjZW50ZXI7XG4vLyAkcHJpY2UtZGVzYy1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbi8vICRwcmljZS1kZXNjLXdlaWdodDogbm9ybWFsO1xuLy8gJHByaWNlLWRlc2MtbGluZS1oZWlnaHQ6IDEuNDtcbi8vICRwcmljZS1kZXNjLWJvdHRvbS1ib3JkZXI6IGRvdHRlZCAxcHggI2RkZDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGxpc3QgaXRlbSBzdHlsZXNcbi8vICRwcmljZS1pdGVtLWNvbG9yOiAjMzMzO1xuLy8gJHByaWNlLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuLy8gJHByaWNlLWl0ZW0tYWxpZ246IGNlbnRlcjtcbi8vICRwcmljZS1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJHByaWNlLWl0ZW0td2VpZ2h0OiBub3JtYWw7XG4vLyAkcHJpY2UtaXRlbS1ib3R0b20tYm9yZGVyOiBkb3R0ZWQgMXB4ICNkZGQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBDVEEgYXJlYSBzdHlsZXNcbi8vICRwcmljZS1jdGEtYmc6ICNmZmY7XG4vLyAkcHJpY2UtY3RhLWFsaWduOiBjZW50ZXI7XG4vLyAkcHJpY2UtY3RhLXBhZGRpbmc6IHJlbS1jYWxjKDIwIDIwIDApO1xuXG4vLyBQcm9ncmVzcyBNZXRlcnNcblxuLy8gJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNlIHRoZSBwcm9nIGJhciBoZWlnaHRcbi8vJHByb2dyZXNzLWJhci1oZWlnaHQ6IDEuNWVtO1xuLy8kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAjZWVlO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYm9yZGVyIHN0eWxlc1xuLy8kcHJvZ3Jlc3MtYmFyLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoI2ZmZiwgJGxpZ2h0bmVzczogLTIwJSk7XG4vLyAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1zaXplOiAxcHg7XG4vLyAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbWFyZ2luICYgcGFkZGluZ1xuLy8gJHByb2dyZXNzLWJhci1wYWQ6IHJlbS1jYWxjKDIpO1xuLy8gJHByb2dyZXNzLWJhci1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIG1ldGVyIGNvbG9yc1xuLy8gJHByb2dyZXNzLW1ldGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRwcm9ncmVzcy1tZXRlci1zZWNvbmRhcnktY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4vLyAkcHJvZ3Jlc3MtbWV0ZXItc3VjY2Vzcy1jb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG4vLyAkcHJvZ3Jlc3MtbWV0ZXItYWxlcnQtY29sb3I6ICRhbGVydC1jb2xvcjtcblxuLy8gUmV2ZWFsXG5cbi8vICRpbmNsdWRlLWh0bWwtcmV2ZWFsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN0eWxlIG9mIHRoZSByZXZlYWwgb3ZlcmxheS5cbi8vICRyZXZlYWwtb3ZlcmxheS1iZzogcmdiYSgjMDAwLCAuNDUpO1xuLy8gJHJldmVhbC1vdmVybGF5LWJnLW9sZDogIzAwMDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN0eWxlIG9mIHRoZSBtb2RhbCBpdHNlbGYuXG4vLyAkcmV2ZWFsLW1vZGFsLWJnOiAjZmZmO1xuLy8gJHJldmVhbC1wb3NpdGlvbi10b3A6IDUwcHg7XG4vLyAkcmV2ZWFsLWRlZmF1bHQtd2lkdGg6IDgwJTtcbi8vICRyZXZlYWwtbW9kYWwtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuLy8gJHJldmVhbC1ib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKCMwMDAsLjQpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHJldmVhbCBjbG9zZSBidXR0b25cbi8vICRyZXZlYWwtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4vLyAkcmV2ZWFsLWNsb3NlLXRvcDogcmVtLWNhbGMoOCk7XG4vLyAkcmV2ZWFsLWNsb3NlLXNpZGU6IHJlbS1jYWxjKDExKTtcbi8vICRyZXZlYWwtY2xvc2UtY29sb3I6ICNhYWE7XG4vLyAkcmV2ZWFsLWNsb3NlLXdlaWdodDogYm9sZDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIG1vZGFsIGJvcmRlclxuLy8gJHJldmVhbC1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJHJldmVhbC1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRyZXZlYWwtYm9yZGVyLWNvbG9yOiAjNjY2O1xuXG4vLyAkcmV2ZWFsLW1vZGFsLWNsYXNzOiBcInJldmVhbC1tb2RhbFwiO1xuLy8gJGNsb3NlLXJldmVhbC1tb2RhbC1jbGFzczogXCJjbG9zZS1yZXZlYWwtbW9kYWxcIjtcblxuLy8gU2lkZSBOYXZcblxuLy8gJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHBhZGRpbmcuXG4vLyAkc2lkZS1uYXYtcGFkZGluZzogcmVtLWNhbGMoMTQgMCk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGxpc3Qgc3R5bGVzLlxuLy8gJHNpZGUtbmF2LWxpc3QtdHlwZTogbm9uZTtcbi8vICRzaWRlLW5hdi1saXN0LXBvc2l0aW9uOiBpbnNpZGU7XG4vLyAkc2lkZS1uYXYtbGlzdC1tYXJnaW46IHJlbS1jYWxjKDAgMCA3IDApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBsaW5rIHN0eWxlcy5cbi8vICRzaWRlLW5hdi1saW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRzaWRlLW5hdi1saW5rLWNvbG9yLWFjdGl2ZTogc2NhbGUtY29sb3IoJHNpZGUtbmF2LWxpbmstY29sb3IsICRsaWdodG5lc3M6IDMwJSk7XG4vLyAkc2lkZS1uYXYtbGluay1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJHNpZGUtbmF2LWxpbmstY29sb3IsICRsaWdodG5lc3M6IDMwJSk7XG4vLyAkc2lkZS1uYXYtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkc2lkZS1uYXYtZm9udC13ZWlnaHQ6IG5vcm1hbDtcbi8vICRzaWRlLW5hdi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4vLyAkc2lkZS1uYXYtYWN0aXZlLWZvbnQtZmFtaWx5OiAkc2lkZS1uYXYtZm9udC1mYW1pbHk7XG5cblxuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzXG4vLyAkc2lkZS1uYXYtZGl2aWRlci1zaXplOiAxcHg7XG4vLyAkc2lkZS1uYXYtZGl2aWRlci1zdHlsZTogc29saWQ7XG4vLyAkc2lkZS1uYXYtZGl2aWRlci1jb2xvcjogc2NhbGUtY29sb3IoI2ZmZiwgJGxpZ2h0bmVzczogLTEwJSk7XG5cbi8vIFNwbGl0IEJ1dHRvbnNcblxuLy8gJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBkaWZmZXJlbnQgc2hhcmVkIHN0eWxlcyBmb3IgU3BsaXQgQnV0dG9uc1xuLy8gJHNwbGl0LWJ1dHRvbi1mdW5jdGlvbi1mYWN0b3I6IDEwJTtcbi8vICRzcGxpdC1idXR0b24tcGlwLWNvbG9yOiAjZmZmO1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtY29sb3ItYWx0OiAjMzMzO1xuLy8gJHNwbGl0LWJ1dHRvbi1hY3RpdmUtYmctdGludDogcmdiYSgwLDAsMCwwLjEpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aW55IHNwbGl0IGJ1dHRvbnNcbi8vICRzcGxpdC1idXR0b24tcGFkZGluZy10bnk6ICRidXR0b24tcGlwLXRueSAqIDEwO1xuLy8gJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLXRueTogJGJ1dHRvbi1waXAtdG55ICogNjtcbi8vICRzcGxpdC1idXR0b24tcGlwLXNpemUtdG55OiAkYnV0dG9uLXBpcC10bnk7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC10b3AtdG55OiAkYnV0dG9uLXBpcC10bnkgKiAyO1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC10bnk6IHJlbS1jYWxjKC02KTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgc21hbGwgc3BsaXQgYnV0dG9uc1xuLy8gJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLXNtbDogJGJ1dHRvbi1waXAtc21sICogMTA7XG4vLyAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtc21sOiAkYnV0dG9uLXBpcC1zbWwgKiA2O1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1zbWw6ICRidXR0b24tcGlwLXNtbDtcbi8vICRzcGxpdC1idXR0b24tcGlwLXRvcC1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDEuNTtcbi8vICRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtc21sOiByZW0tY2FsYygtNik7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIG1lZGl1bSBzcGxpdCBidXR0b25zXG4vLyAkc3BsaXQtYnV0dG9uLXBhZGRpbmctbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiA5O1xuLy8gJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLW1lZDogJGJ1dHRvbi1waXAtbWVkICogNS41O1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1tZWQ6ICRidXR0b24tcGlwLW1lZCAtIHJlbS1jYWxjKDMpO1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtdG9wLW1lZDogJGJ1dHRvbi1waXAtbWVkICogMS41O1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1tZWQ6IHJlbS1jYWxjKC02KTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGFyZ2Ugc3BsaXQgYnV0dG9uc1xuLy8gJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLWxyZzogJGJ1dHRvbi1waXAtbHJnICogODtcbi8vICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1scmc6ICRidXR0b24tcGlwLWxyZyAqIDU7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLWxyZzogJGJ1dHRvbi1waXAtbHJnIC0gcmVtLWNhbGMoNik7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC10b3AtbHJnOiAkYnV0dG9uLXBpcC1scmcgKyByZW0tY2FsYyg1KTtcbi8vICRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtbHJnOiByZW0tY2FsYygtNik7XG5cbi8vIFN1YiBOYXZcblxuLy8gJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBtYXJnaW4gYW5kIHBhZGRpbmdcbi8vICRzdWItbmF2LWxpc3QtbWFyZ2luOiByZW0tY2FsYygtNCAwIDE4KTtcbi8vICRzdWItbmF2LWxpc3QtcGFkZGluZy10b3A6IHJlbS1jYWxjKDQpO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBkZWZpbml0aW9uXG4vLyAkc3ViLW5hdi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4vLyAkc3ViLW5hdi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRzdWItbmF2LWZvbnQtY29sb3I6ICM5OTk7XG4vLyAkc3ViLW5hdi1mb250LXdlaWdodDogbm9ybWFsO1xuLy8gJHN1Yi1uYXYtdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuLy8gJHN1Yi1uYXYtYm9yZGVyLXJhZGl1czogM3B4O1xuLy8gJHN1Yi1uYXYtZm9udC1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJHN1Yi1uYXYtZm9udC1jb2xvciwgJGxpZ2h0bmVzczogLTI1JSk7XG5cblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGFjdGl2ZSBpdGVtIHN0eWxlc1xuXG4vLyAkc3ViLW5hdi1hY3RpdmUtZm9udC13ZWlnaHQ6IG5vcm1hbDtcbi8vICRzdWItbmF2LWFjdGl2ZS1iZzogJHByaW1hcnktY29sb3I7XG4vLyAkc3ViLW5hdi1hY3RpdmUtYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRzdWItbmF2LWFjdGl2ZS1iZywgJGxpZ2h0bmVzczogLTE0JSk7XG4vLyAkc3ViLW5hdi1hY3RpdmUtY29sb3I6ICNmZmY7XG4vLyAkc3ViLW5hdi1hY3RpdmUtcGFkZGluZzogcmVtLWNhbGMoMyAxNik7XG4vLyAkc3ViLW5hdi1hY3RpdmUtY3Vyc29yOiBkZWZhdWx0O1xuXG4vLyAkc3ViLW5hdi1pdGVtLWRpdmlkZXI6IFwiXCI7XG4vLyAkc3ViLW5hdi1pdGVtLWRpdmlkZXItbWFyZ2luOiByZW0tY2FsYygxMik7XG5cbi8vXG4vLyBTV0lUQ0hcbi8vXG5cbi8vICRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIENvbnRyb2xsaW5nIGJvcmRlciBzdHlsZXMgYW5kIGJhY2tncm91bmQgY29sb3JzIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lclxuLy8gJHN3aXRjaC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCNmZmYsICRsaWdodG5lc3M6IC0yMCUpO1xuLy8gJHN3aXRjaC1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJHN3aXRjaC1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRzd2l0Y2gtYmc6ICNmZmY7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzd2l0Y2ggaGVpZ2h0cyBmb3Igb3VyIGRlZmF1bHQgY2xhc3Nlc1xuLy8gJHN3aXRjaC1oZWlnaHQtdG55OiAyMnB4O1xuLy8gJHN3aXRjaC1oZWlnaHQtc21sOiAyOHB4O1xuLy8gJHN3aXRjaC1oZWlnaHQtbWVkOiAzNnB4O1xuLy8gJHN3aXRjaC1oZWlnaHQtbHJnOiA0NHB4O1xuLy8gJHN3aXRjaC1ib3R0b20tbWFyZ2luOiByZW0tY2FsYygyMCk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGRlZmF1bHQgZm9udCBzaXplcyBmb3Igb3VyIGNsYXNzZXMuXG4vLyAkc3dpdGNoLWZvbnQtc2l6ZS10bnk6IDExcHg7XG4vLyAkc3dpdGNoLWZvbnQtc2l6ZS1zbWw6IDEycHg7XG4vLyAkc3dpdGNoLWZvbnQtc2l6ZS1tZWQ6IDE0cHg7XG4vLyAkc3dpdGNoLWZvbnQtc2l6ZS1scmc6IDE3cHg7XG4vLyAkc3dpdGNoLWxhYmVsLXNpZGUtcGFkZGluZzogNnB4O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHN3aXRjaC1wYWRkbGVcbi8vICRzd2l0Y2gtcGFkZGxlLWJnOiAjZmZmO1xuLy8gJHN3aXRjaC1wYWRkbGUtZmFkZS10by1jb2xvcjogc2NhbGUtY29sb3IoJHN3aXRjaC1wYWRkbGUtYmcsICRsaWdodG5lc3M6IC0xMCUpO1xuLy8gJHN3aXRjaC1wYWRkbGUtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkc3dpdGNoLXBhZGRsZS1iZywgJGxpZ2h0bmVzczogLTM1JSk7XG4vLyAkc3dpdGNoLXBhZGRsZS1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRzd2l0Y2gtcGFkZGxlLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLXNwZWVkOiAuMXM7XG4vLyAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2U6IGVhc2Utb3V0O1xuLy8gJHN3aXRjaC1wb3NpdGl2ZS1jb2xvcjogc2NhbGUtY29sb3IoJHN1Y2Nlc3MtY29sb3IsICRsaWdodG5lc3M6IDk0JSk7XG4vLyAkc3dpdGNoLW5lZ2F0aXZlLWNvbG9yOiAjZjVmNWY1O1xuXG4vLyBPdXRsaW5lIFN0eWxlIGZvciB0YWJiaW5nIHRocm91Z2ggc3dpdGNoZXNcbi8vICRzd2l0Y2gtbGFiZWwtb3V0bGluZTogMXB4IGRvdHRlZCAjODg4O1xuXG4vLyBUYWJsZXNcblxuLy8gJGluY2x1ZGUtaHRtbC10YWJsZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0YWJsZSBhbmQgZXZlbiByb3dzXG4vLyAkdGFibGUtYmc6ICNmZmY7XG4vLyAkdGFibGUtZXZlbi1yb3ctYmc6ICNmOWY5ZjkgIDtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgdGFibGUgY2VsbCBib3JkZXIgc3R5bGVcbi8vICR0YWJsZS1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJHRhYmxlLWJvcmRlci1zaXplOiAxcHg7XG4vLyAkdGFibGUtYm9yZGVyLWNvbG9yOiAjZGRkO1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSB0YWJsZSBoZWFkIHN0eWxlc1xuLy8gJHRhYmxlLWhlYWQtYmc6ICNmNWY1ZjUgIDtcbi8vICR0YWJsZS1oZWFkLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogIzIyMjtcbi8vICR0YWJsZS1oZWFkLWZvbnQtd2VpZ2h0OiBib2xkO1xuLy8gJHRhYmxlLWhlYWQtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHJvdyBwYWRkaW5nIGFuZCBmb250IHN0eWxlc1xuLy8gJHRhYmxlLXJvdy1wYWRkaW5nOiByZW0tY2FsYyg5IDEwKTtcbi8vICR0YWJsZS1yb3ctZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkdGFibGUtcm93LWZvbnQtY29sb3I6ICMyMjI7XG4vLyAkdGFibGUtbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcblxuLy8gVGhlc2UgYXJlIGZvciBjb250cm9sbGluZyB0aGUgZGlzcGxheSBhbmQgbWFyZ2luIG9mIHRhYmxlc1xuLy8gJHRhYmxlLWRpc3BsYXk6IHRhYmxlLWNlbGw7XG4vLyAkdGFibGUtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXG4vL1xuLy8gVEFCU1xuLy9cblxuLy8gJGluY2x1ZGUtaHRtbC10YWJzLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuJHRhYnMtbmF2aWdhdGlvbi1wYWRkaW5nOiByZW0tY2FsYygxMik7XG4kdGFicy1uYXZpZ2F0aW9uLWJnLWNvbG9yOiAjRTZFMUMyO1xuJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I6IGxpZ2h0ZW4oI0U2RTFDMiwgMTAlKTtcbi8vICR0YWJzLW5hdmlnYXRpb24taG92ZXItYmctY29sb3I6IHNjYWxlLWNvbG9yKCR0YWJzLW5hdmlnYXRpb24tYmctY29sb3IsICRsaWdodG5lc3M6IC02JSk7XG4vLyAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtY29sb3I6ICMyMjI7XG4vLyAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuLy8gJHRhYnMtbmF2aWdhdGlvbi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG5cbi8vICR0YWJzLWNvbnRlbnQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpO1xuLy8gJHRhYnMtY29udGVudC1wYWRkaW5nOiAkY29sdW1uLWd1dHRlci8yO1xuXG4vLyAkdGFicy12ZXJ0aWNhbC1uYXZpZ2F0aW9uLW1hcmdpbi1ib3R0b206IDEuMjVyZW07XG5cbi8vXG4vLyBUSFVNQk5BSUxTXG4vL1xuXG4vLyAkaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlc1xuLy8gJHRodW1iLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkdGh1bWItYm9yZGVyLXdpZHRoOiA0cHg7XG4vLyAkdGh1bWItYm9yZGVyLWNvbG9yOiAjZmZmO1xuLy8gJHRodW1iLWJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCMwMDAsLjIpO1xuLy8gJHRodW1iLWJveC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsMC41KTtcblxuLy8gUmFkaXVzIGFuZCB0cmFuc2l0aW9uIHNwZWVkIGZvciB0aHVtYnNcbi8vICR0aHVtYi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gJHRodW1iLXRyYW5zaXRpb24tc3BlZWQ6IDIwMG1zO1xuXG4vL1xuLy8gVE9PTFRJUFNcbi8vXG5cbi8vICRpbmNsdWRlLWh0bWwtdG9vbHRpcC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vICRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggI2NjYztcbi8vICRoYXMtdGlwLWZvbnQtd2VpZ2h0OiBib2xkO1xuLy8gJGhhcy10aXAtZm9udC1jb2xvcjogIzMzMztcbi8vICRoYXMtdGlwLWJvcmRlci1ib3R0b20taG92ZXI6IGRvdHRlZCAxcHggc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC01NSUpO1xuLy8gJGhhcy10aXAtZm9udC1jb2xvci1ob3ZlcjogJHByaW1hcnktY29sb3I7XG4vLyAkaGFzLXRpcC1jdXJzb3ItdHlwZTogaGVscDtcblxuLy8gJHRvb2x0aXAtcGFkZGluZzogcmVtLWNhbGMoMTIpO1xuLy8gJHRvb2x0aXAtYmc6ICMzMzM7XG4vLyAkdG9vbHRpcC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICR0b29sdGlwLWZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAkdG9vbHRpcC1mb250LWNvbG9yOiAjZmZmO1xuLy8gJHRvb2x0aXAtbGluZS1oZWlnaHQ6IDEuMztcbi8vICR0b29sdGlwLWNsb3NlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuLy8gJHRvb2x0aXAtY2xvc2UtZm9udC13ZWlnaHQ6IG5vcm1hbDtcbi8vICR0b29sdGlwLWNsb3NlLWZvbnQtY29sb3I6ICM3Nzc7XG4vLyAkdG9vbHRpcC1mb250LXNpemUtc21sOiByZW0tY2FsYygxNCk7XG4vLyAkdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gJHRvb2x0aXAtcm91bmRlZDogJGdsb2JhbC1yb3VuZGVkO1xuLy8gJHRvb2x0aXAtcGlwLXNpemU6IDVweDtcblxuLy9cbi8vIFRPUCBCQVJcbi8vXG5cbi8vICRpbmNsdWRlLWh0bWwtdG9wLWJhci1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyXG4kdG9wYmFyLWJnLWNvbG9yOiAjMUUyNTI4O1xuLy8gJHRvcGJhci1iZzogJHRvcGJhci1iZy1jb2xvcjtcblxuLy8gSGVpZ2h0IGFuZCBtYXJnaW5cbi8vICR0b3BiYXItaGVpZ2h0OiA0NXB4O1xuLy8gJHRvcGJhci1tYXJnaW4tYm90dG9tOiAwO1xuXG4vLyBDb250cm9sbGluZyB0aGUgc3R5bGVzIGZvciB0aGUgdGl0bGUgaW4gdGhlIHRvcCBiYXJcbi8vICR0b3BiYXItdGl0bGUtd2VpZ2h0OiBub3JtYWw7XG4vLyAkdG9wYmFyLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuXG4vLyBTdHlsZSB0aGUgdG9wIGJhciBkcm9wZG93biBlbGVtZW50c1xuLy8gJHRvcGJhci1kcm9wZG93bi1iZzogIzMzMztcbi8vICR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvcjogI2ZmZjtcbi8vICR0b3BiYXItZHJvcGRvd24tbGluay1iZzogIzMzMztcbi8vICR0b3BiYXItZHJvcGRvd24tbGluay13ZWlnaHQ6IG5vcm1hbDtcbi8vICR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemU6IDVweDtcbi8vICR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWNvbG9yOiAjZmZmO1xuLy8gJHRvcGJhci1kcm9wZG93bi10b2dnbGUtYWxwaGE6IDAuNDtcblxuLy8gU2V0IHRoZSBsaW5rIGNvbG9ycyBhbmQgc3R5bGVzIGZvciB0b3AtbGV2ZWwgbmF2XG4vLyAkdG9wYmFyLWxpbmstY29sb3I6ICNmZmY7XG4vLyAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXI6ICNmZmY7XG4vLyAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlOiAjZmZmO1xuLy8gJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZS1ob3ZlcjogI2ZmZjtcbi8vICR0b3BiYXItbGluay13ZWlnaHQ6IG5vcm1hbDtcbi8vICR0b3BiYXItbGluay1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbi8vICR0b3BiYXItbGluay1ob3Zlci1saWdodG5lc3M6IC0xMCU7IC8vIERhcmtlbiBieSAxMCVcbi8vICR0b3BiYXItbGluay1iZy1ob3ZlcjogIzI3MjcyNyAgO1xuLy8gJHRvcGJhci1saW5rLWJnLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4vLyAkdG9wYmFyLWxpbmstYmctYWN0aXZlLWhvdmVyOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4vLyAkdG9wYmFyLWxpbmstZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuXG4vLyAkdG9wYmFyLWJ1dHRvbi1mb250LXNpemU6IDAuNzVyZW07XG5cbi8vICR0b3BiYXItZHJvcGRvd24tbGFiZWwtY29sb3I6ICM3Nzc7XG4vLyAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4vLyAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtd2VpZ2h0OiBib2xkO1xuLy8gJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbi8vICR0b3BiYXItZHJvcGRvd24tbGFiZWwtYmc6ICMzMzM7XG5cbi8vIFRvcCBtZW51IGljb24gc3R5bGVzXG4vLyAkdG9wYmFyLW1lbnUtbGluay10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbi8vICR0b3BiYXItbWVudS1saW5rLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuLy8gJHRvcGJhci1tZW51LWxpbmstd2VpZ2h0OiBib2xkO1xuLy8gJHRvcGJhci1tZW51LWxpbmstY29sb3I6ICNmZmY7XG4vLyAkdG9wYmFyLW1lbnUtaWNvbi1jb2xvcjogI2ZmZjtcbi8vICR0b3BiYXItbWVudS1saW5rLWNvbG9yLXRvZ2dsZWQ6ICM4ODg7XG4vLyAkdG9wYmFyLW1lbnUtaWNvbi1jb2xvci10b2dnbGVkOiAjODg4O1xuXG4vLyBUcmFuc2l0aW9ucyBhbmQgYnJlYWtwb2ludCBzdHlsZXNcbi8vICR0b3BiYXItdHJhbnNpdGlvbi1zcGVlZDogMzAwbXM7XG4vLyBVc2luZyByZW0tY2FsYyBmb3IgdGhlIGJlbG93IGJyZWFrcG9pbnQgY2F1c2VzIGlzc3VlcyB3aXRoIHRvcCBiYXJcbiR0b3BiYXItYnJlYWtwb2ludDogZW1DYWxjKDc0NXB4KTsgLy8gJHRvcGJhci1icmVha3BvaW50OiAje3VwcGVyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfTsgLy8gQ2hhbmdlIHRvIDk5OTlweCBmb3IgYWx3YXlzIG1vYmlsZSBsYXlvdXRcbi8vICR0b3BiYXItbWVkaWEtcXVlcnk6IFwib25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7dXBwZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9KVwiO1xuXG4vLyBEaXZpZGVyIFN0eWxlc1xuLy8gJHRvcGJhci1kaXZpZGVyLWJvcmRlci1ib3R0b206IHNvbGlkIDFweCAgc2NhbGUtY29sb3IoJHRvcGJhci1iZy1jb2xvciwgJGxpZ2h0bmVzczogMTMlKTtcbi8vICR0b3BiYXItZGl2aWRlci1ib3JkZXItdG9wOiBzb2xpZCAxcHggc2NhbGUtY29sb3IoJHRvcGJhci1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTUwJSk7XG5cbi8vIFN0aWNreSBDbGFzc1xuLy8gJHRvcGJhci1zdGlja3ktY2xhc3M6IFwiLnN0aWNreVwiO1xuLy8gJHRvcGJhci1hcnJvd3M6IHRydWU7IC8vU2V0IGZhbHNlIHRvIHJlbW92ZSB0aGUgdHJpYW5nbGUgaWNvbiBmcm9tIHRoZSBtZW51IGl0ZW1cblxuLy9cbi8vIFZJU0lCSUxJVFkgQ0xBU1NFU1xuLy9cblxuLy8gJGluY2x1ZGUtaHRtbC12aXNpYmlsaXR5LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1ncmlkLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcbiRpbmNsdWRlLXhsLWh0bWwtZ3JpZC1jbGFzc2VzOiBmYWxzZSAhZGVmYXVsdDtcblxuJHJvdy13aWR0aDogcmVtLWNhbGMoMTAwMCkgIWRlZmF1bHQ7XG4kdG90YWwtY29sdW1uczogMTIgIWRlZmF1bHQ7XG5cbiRsYXN0LWNoaWxkLWZsb2F0OiAkb3Bwb3NpdGUtZGlyZWN0aW9uICFkZWZhdWx0O1xuXG4vL1xuLy8gR3JpZCBGdW5jdGlvbnNcbi8vXG5cbi8vIERlcHJlY2F0ZWQ6IFdlJ2xsIGRyb3Agc3VwcG9ydCBmb3IgdGhpcyBpbiA1LjEsIHVzZSBncmlkLWNhbGMoKVxuQGZ1bmN0aW9uIGdyaWRDYWxjKCRjb2xOdW1iZXIsICR0b3RhbENvbHVtbnMpIHtcbiAgQHdhcm4gXCJncmlkQ2FsYygpIGlzIGRlcHJlY2F0ZWQsIHVzZSBncmlkLWNhbGMoKVwiO1xuICBAcmV0dXJuIGdyaWQtY2FsYygkY29sTnVtYmVyLCAkdG90YWxDb2x1bW5zKTtcbn1cblxuLy8gQEZVTkNUSU9OXG4vLyAkY29sTnVtYmVyIC0gRm91bmQgaW4gc2V0dGluZ3MgZmlsZVxuLy8gJHRvdGFsQ29sdW1ucyAtIEZvdW5kIGluIHNldHRpbmdzIGZpbGVcbkBmdW5jdGlvbiBncmlkLWNhbGMoJGNvbE51bWJlciwgJHRvdGFsQ29sdW1ucykge1xuICAkcmVzdWx0OiBwZXJjZW50YWdlKCgkY29sTnVtYmVyIC8gJHRvdGFsQ29sdW1ucykpO1xuICBAaWYgJHJlc3VsdCA9PSAwJSB7ICRyZXN1bHQ6IDA7IH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuLy8gRm9yIGNyZWF0aW5nIGNvbnRhaW5lciwgbmVzdGVkLCBhbmQgY29sbGFwc2VkIHJvd3MuXG4vL1xuLy9cbi8vICRiZWhhdmlvciAtIEFueSBzcGVjaWFsIGJlaGF2aW9yIGZvciB0aGlzIHJvdz8gRGVmYXVsdDogZmFsc2UuIE9wdGlvbnM6IG5lc3QsIGNvbGxhcHNlLCBuZXN0LWNvbGxhcHNlLCBmYWxzZS5cbkBtaXhpbiBncmlkLXJvdygkYmVoYXZpb3I6IGZhbHNlKSB7XG5cbiAgLy8gdXNlIEBpbmNsdWRlIGdyaWQtcm93KG5lc3QpOyB0byBpbmNsdWRlIGEgbmVzdGVkIHJvd1xuICBAaWYgJGJlaGF2aW9yID09IG5lc3Qge1xuICAgIG1hcmdpbjogMCAoLSgkY29sdW1uLWd1dHRlci8yKSk7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gdXNlIEBpbmNsdWRlIGdyaWQtcm93KGNvbGxhcHNlKTsgdG8gY29sbGFwc2VkIGEgY29udGFpbmVyIHJvdyBtYXJnaW5zXG4gIEBlbHNlIGlmICRiZWhhdmlvciA9PSBjb2xsYXBzZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogJHJvdy13aWR0aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdyhuZXN0LWNvbGxhcHNlKTsgdG8gY29sbGFwc2Ugb3V0ZXIgbWFyZ2lucyBvbiBhIG5lc3RlZCByb3dcbiAgQGVsc2UgaWYgJGJlaGF2aW9yID09IG5lc3QtY29sbGFwc2Uge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyB1c2UgQGluY2x1ZGUgZ3JpZC1yb3c7IHRvIHVzZSBhIGNvbnRhaW5lciByb3dcbiAgQGVsc2Uge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogJHJvdy13aWR0aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIENsZWFyZml4IGZvciBhbGwgcm93c1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4vLyBDcmVhdGVzIGEgY29sdW1uLCBzaG91bGQgYmUgdXNlZCBpbnNpZGUgb2YgYSBtZWRpYSBxdWVyeSB0byBjb250cm9sIGxheW91dHNcbi8vXG4vLyAkY29sdW1ucyAtIFRoZSBudW1iZXIgb2YgY29sdW1ucyB0aGlzIHNob3VsZCBiZVxuLy8gJGxhc3QtY29sdW1uIC0gSXMgdGhpcyB0aGUgbGFzdCBjb2x1bW4/IERlZmF1bHQ6IGZhbHNlLlxuLy8gJGNlbnRlciAtIENlbnRlciB0aGVzZSBjb2x1bW5zPyBEZWZhdWx0OiBmYWxzZS5cbi8vICRvZmZzZXQgLSAjIG9mIGNvbHVtbnMgdG8gb2Zmc2V0LiBEZWZhdWx0OiBmYWxzZS5cbi8vICRwdXNoIC0gIyBvZiBjb2x1bW5zIHRvIHB1c2guIERlZmF1bHQ6IGZhbHNlLlxuLy8gJHB1bGwgLSAjIG9mIGNvbHVtbnMgdG8gcHVsbC4gRGVmYXVsdDogZmFsc2UuXG4vLyAkY29sbGFwc2UgLSBHZXQgcmlkIG9mIGd1dHRlciBwYWRkaW5nIG9uIGNvbHVtbj8gRGVmYXVsdDogZmFsc2UuXG4vLyAkZmxvYXQgLSBTaG91bGQgdGhpcyBmbG9hdD8gRGVmYXVsdDogdHJ1ZS4gT3B0aW9uczogdHJ1ZSwgZmFsc2UsIGxlZnQsIHJpZ2h0LlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczpmYWxzZSxcbiAgJGxhc3QtY29sdW1uOmZhbHNlLFxuICAkY2VudGVyOmZhbHNlLFxuICAkb2Zmc2V0OmZhbHNlLFxuICAkcHVzaDpmYWxzZSxcbiAgJHB1bGw6ZmFsc2UsXG4gICRjb2xsYXBzZTpmYWxzZSxcbiAgJGZsb2F0OnRydWUsXG4gICRwb3NpdGlvbjpmYWxzZSkge1xuXG4gIC8vIElmIHBvc2l0aW9uZWQgZm9yIGRlZmF1bHQgLmNvbHVtbiwgaW5jbHVkZSByZWxhdGl2ZSBwb3NpdGlvblxuICAvLyBwdXNoIGFuZCBwdWxsIHJlcXVpcmUgcG9zaXRpb24gc2V0XG4gIEBpZiAkcG9zaXRpb24gb3IgJHB1c2ggb3IgJHB1bGwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC8vIElmIGNvbGxhcHNlZCwgZ2V0IHJpZCBvZiBndXR0ZXIgcGFkZGluZ1xuICBAaWYgJGNvbGxhcHNlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC8vIEd1dHRlciBwYWRkaW5nIHdoZW5ldmVyIGEgY29sdW1uIGlzbid0IHNldCB0byBjb2xsYXBzZVxuICAvLyAodXNlICRjb2xsYXBzZTpudWxsIHRvIGRvIG5vdGhpbmcpXG4gIEBlbHNlIGlmICRjb2xsYXBzZSA9PSBmYWxzZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAoJGNvbHVtbi1ndXR0ZXIgLyAyKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJGNvbHVtbi1ndXR0ZXIgLyAyKTtcbiAgfVxuXG4gIC8vIElmIGEgY29sdW1uIG51bWJlciBpcyBnaXZlbiwgY2FsY3VsYXRlIHdpZHRoXG4gIEBpZiAkY29sdW1ucyB7XG4gICAgd2lkdGg6IGdyaWQtY2FsYygkY29sdW1ucywgJHRvdGFsLWNvbHVtbnMpO1xuXG4gICAgLy8gSWYgbGFzdCBjb2x1bW4sIGZsb2F0IG5hdHVyYWxseSBpbnN0ZWFkIG9mIHRvIHRoZSByaWdodFxuICAgIEBpZiAkbGFzdC1jb2x1bW4geyBmbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbjsgfVxuICB9XG5cbiAgLy8gU291cmNlIE9yZGVyaW5nLCBhZGRzIGxlZnQvcmlnaHQgZGVwZW5kaW5nIG9uIHdoaWNoIHlvdSB1c2UuXG4gIEBpZiAkcHVzaCB7ICN7JGRlZmF1bHQtZmxvYXR9OiBncmlkLWNhbGMoJHB1c2gsICR0b3RhbC1jb2x1bW5zKTsgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bzsgfVxuICBAaWYgJHB1bGwgeyAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBncmlkLWNhbGMoJHB1bGwsICR0b3RhbC1jb2x1bW5zKTsgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87IH1cblxuICBAaWYgJGZsb2F0IGFuZCAkbGFzdC1jb2x1bW4gPT0gZmFsc2Uge1xuICAgIEBpZiAkZmxvYXQgPT0gbGVmdCBvciAkZmxvYXQgPT0gdHJ1ZSB7IGZsb2F0OiAkZGVmYXVsdC1mbG9hdDsgfVxuICAgIEBlbHNlIGlmICRmbG9hdCA9PSByaWdodCB7IGZsb2F0OiAkb3Bwb3NpdGUtZGlyZWN0aW9uOyB9XG4gICAgQGVsc2UgeyBmbG9hdDogbm9uZTsgfVxuICB9XG5cbiAgLy8gSWYgY2VudGVyZWQsIGdldCByaWQgb2YgZmxvYXQgYW5kIGFkZCBhcHByb3ByaWF0ZSBtYXJnaW5zXG4gIEBpZiAkY2VudGVyIHtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XG4gICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBJZiBvZmZzZXQsIGNhbGN1bGF0ZSBhcHByb3ByaWF0ZSBtYXJnaW5zXG4gIEBpZiAkb2Zmc2V0IHsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiBncmlkLWNhbGMoJG9mZnNldCwgJHRvdGFsLWNvbHVtbnMpICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vLyBDcmVhdGUgcHJlc2VudGF0aW9uYWwgY2xhc3NlcyBmb3IgZ3JpZFxuLy9cbi8vICRzaXplIC0gTmFtZSBvZiBjbGFzcyB0byB1c2UsIGkuZS4gXCJsYXJnZVwiIHdpbGwgZ2VuZXJhdGUgLmxhcmdlLTEsIC5sYXJnZS0yLCBldGMuXG5AbWl4aW4gZ3JpZC1odG1sLWNsYXNzZXMoJHNpemUpIHtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIC0gMSB7XG4gICAgLiN7JHNpemV9LXB1c2gtI3skaX0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1c2g6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xuICAgIH1cbiAgICAuI3skc2l6ZX0tcHVsbC0jeyRpfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVsbDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLmNvbHVtbixcbiAgLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczpmYWxzZSwgJHBvc2l0aW9uOnRydWUpOyB9XG5cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIHtcbiAgICAuI3skc2l6ZX0tI3skaX0geyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7IH1cbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMgLSAxIHtcbiAgICAuI3skc2l6ZX0tb2Zmc2V0LSN7JGl9IHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJG9mZnNldDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7IH1cbiAgfVxuXG4gIC4jeyRzaXplfS1yZXNldC1vcmRlciB7XG4gICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLmNvbHVtbi4jeyRzaXplfS1jZW50ZXJlZCxcbiAgLmNvbHVtbnMuI3skc2l6ZX0tY2VudGVyZWQgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY2VudGVyOnRydWUsICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpOyB9XG5cbiAgLmNvbHVtbi4jeyRzaXplfS11bmNlbnRlcmVkLFxuICAuY29sdW1ucy4jeyRzaXplfS11bmNlbnRlcmVkIHtcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICB9XG5cbiAgLy8gRmlnaHRpbmcgW2NsYXNzKj1cImNvbHVtblwiXSArIFtjbGFzcyo9XCJjb2x1bW5cIl06bGFzdC1jaGlsZFxuICAuY29sdW1uLiN7JHNpemV9LWNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLiN7JHNpemV9LWNlbnRlcmVkOmxhc3QtY2hpbGR7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBGaWdodGluZyAuY29sdW1uLjxwcmV2aW91cy1zaXplPi1jZW50ZXJlZDpsYXN0LWNoaWxkXG4gIC5jb2x1bW4uI3skc2l6ZX0tdW5jZW50ZXJlZDpsYXN0LWNoaWxkLFxuICAuY29sdW1ucy4jeyRzaXplfS11bmNlbnRlcmVkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgfVxuXG4gIC5jb2x1bW4uI3skc2l6ZX0tdW5jZW50ZXJlZC5vcHBvc2l0ZSxcbiAgLmNvbHVtbnMuI3skc2l6ZX0tdW5jZW50ZXJlZC5vcHBvc2l0ZSB7XG4gICAgZmxvYXQ6ICRvcHBvc2l0ZS1kaXJlY3Rpb247XG4gIH1cblxuICAucm93IHtcbiAgICAmLiN7JHNpemV9LWNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbixcbiAgICAgID4gLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sbGFwc2U6dHJ1ZSwgJGZsb2F0OmZhbHNlKTsgfVxuXG4gICAgICAucm93IHttYXJnaW4tbGVmdDowOyBtYXJnaW4tcmlnaHQ6MDt9XG4gICAgfVxuICAgICYuI3skc2l6ZX0tdW5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4sXG4gICAgICA+IC5jb2x1bW5zIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJncmlkXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtZ3JpZC1jbGFzc2VzIHtcbiAgICAucm93IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93O1xuXG4gICAgICAmLmNvbGxhcHNlIHtcbiAgICAgICAgID4gLmNvbHVtbixcbiAgICAgICAgID4gLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sbGFwc2U6dHJ1ZSwgJGZsb2F0OmZhbHNlKTsgfVxuXG4gICAgICAgIC5yb3cge21hcmdpbi1sZWZ0OjA7IG1hcmdpbi1yaWdodDowO31cbiAgICAgIH1cblxuICAgICAgLnJvdyB7IEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjpuZXN0KTtcbiAgICAgICAgJi5jb2xsYXBzZSB7IEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjpuZXN0LWNvbGxhcHNlKTsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2x1bW4sXG4gICAgLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczokdG90YWwtY29sdW1ucyk7IH1cblxuICAgIC5jb2x1bW4sXG4gICAgLmNvbHVtbnMge1xuICAgICAgJiArICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiAkbGFzdC1jaGlsZC1mbG9hdDtcbiAgICAgIH1cbiAgICAgICYgKyAmLmVuZCB7XG4gICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgI3skc21hbGwtdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnNtYWxsKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTptZWRpdW0pO1xuICAgICAgLy8gT2xkIHB1c2ggYW5kIHB1bGwgY2xhc3Nlc1xuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkdG90YWwtY29sdW1ucyAtIDEge1xuICAgICAgICAucHVzaC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1c2g6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIC5wdWxsLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVsbDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTpsYXJnZSk7XG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIC0gMSB7XG4gICAgICAgIC5wdXNoLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVzaDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgLnB1bGwtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdWxsOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJGluY2x1ZGUteGwtaHRtbC1ncmlkLWNsYXNzZXMge1xuICAgIEBtZWRpYSAjeyR4bGFyZ2UtdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnhsYXJnZSk7XG4gICAgfVxuICAgIEBtZWRpYSAjeyR4eGxhcmdlLXVwfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTp4eGxhcmdlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFRoaXMgaXMgdGhlIGRlZmF1bHQgaHRtbCBhbmQgYm9keSBmb250LXNpemUgZm9yIHRoZSBiYXNlIHJlbSB2YWx1ZS5cbiRyZW0tYmFzZTogMTZweCAhZGVmYXVsdDtcblxuLy8gSU1QT1JUIE9OQ0Vcbi8vIFdlIHVzZSB0aGlzIHRvIHByZXZlbnQgc3R5bGVzIGZyb20gYmVpbmcgbG9hZGVkIG11bHRpcGxlIHRpbWVzIGZvciBjb21wb25lbnRzIHRoYXQgcmVseSBvbiBvdGhlciBjb21wb25lbnRzLlxuJG1vZHVsZXM6ICgpICFkZWZhdWx0O1xuXG5AbWl4aW4gZXhwb3J0cygkbmFtZSkge1xuICAvLyBJbXBvcnQgZnJvbSBnbG9iYWwgc2NvcGVcbiAgJG1vZHVsZXM6ICRtb2R1bGVzICFnbG9iYWw7XG4gIC8vIENoZWNrIGlmIGEgbW9kdWxlIGlzIGFscmVhZHkgb24gdGhlIGxpc3RcbiAgJG1vZHVsZV9pbmRleDogaW5kZXgoJG1vZHVsZXMsICRuYW1lKTtcbiAgQGlmICgoJG1vZHVsZV9pbmRleCA9PSBudWxsKSBvciAoJG1vZHVsZV9pbmRleCA9PSBmYWxzZSkpIHtcbiAgICAkbW9kdWxlczogYXBwZW5kKCRtb2R1bGVzLCAkbmFtZSkgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vL1xuLy8gQGZ1bmN0aW9uc1xuLy9cblxuXG4vLyBSQU5HRVNcbi8vIFdlIHVzZSB0aGVzZSBmdW5jdGlvbnMgdG8gZGVmaW5lIHJhbmdlcyBmb3IgdmFyaW91cyB0aGluZ3MsIGxpa2UgbWVkaWEgcXVlcmllcy5cbkBmdW5jdGlvbiBsb3dlci1ib3VuZCgkcmFuZ2UpIHtcbiAgQGlmIGxlbmd0aCgkcmFuZ2UpIDw9IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAcmV0dXJuIG50aCgkcmFuZ2UsIDEpO1xufVxuXG5AZnVuY3Rpb24gdXBwZXItYm91bmQoJHJhbmdlKSB7XG4gIEBpZiBsZW5ndGgoJHJhbmdlKSA8IDIge1xuICAgIEByZXR1cm4gOTk5OTk5OTk5OTk5O1xuICB9XG4gIEByZXR1cm4gbnRoKCRyYW5nZSwgMik7XG59XG5cbi8vIFNUUklQIFVOSVRcbi8vIEl0IHN0cmlwcyB0aGUgdW5pdCBvZiBtZWFzdXJlIGFuZCByZXR1cm5zIGl0XG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLyBURVhUIElOUFVUIFRZUEVTXG5cbkBmdW5jdGlvbiB0ZXh0LWlucHV0cyggJHR5cGVzOiBhbGwsICRzZWxlY3RvcjogaW5wdXQgKSB7XG5cbiAgJHJldHVybjogKCk7XG5cbiAgJGFsbC10ZXh0LWlucHV0LXR5cGVzOlxuICAgIHRleHRcbiAgICBwYXNzd29yZFxuICAgIGRhdGVcbiAgICBkYXRldGltZVxuICAgIGRhdGV0aW1lLWxvY2FsXG4gICAgbW9udGhcbiAgICB3ZWVrXG4gICAgZW1haWxcbiAgICBudW1iZXJcbiAgICBzZWFyY2hcbiAgICB0ZWxcbiAgICB0aW1lXG4gICAgdXJsXG4gICAgY29sb3JcbiAgICB0ZXh0YXJlYTtcblxuICBAaWYgJHR5cGVzID09IGFsbCB7ICR0eXBlczogJGFsbC10ZXh0LWlucHV0LXR5cGVzOyB9XG5cbiAgQGVhY2ggJHR5cGUgaW4gJHR5cGVzIHtcbiAgICBAaWYgJHR5cGUgPT0gdGV4dGFyZWEge1xuICAgICAgQGlmICRzZWxlY3RvciA9PSBpbnB1dCB7XG4gICAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCcjeyR0eXBlfScpLCBjb21tYSlcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnI3skdHlwZX0jeyRzZWxlY3Rvcn0nKSwgY29tbWEpXG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnI3skc2VsZWN0b3J9W3R5cGU9XCIjeyR0eXBlfVwiXScpLCBjb21tYSlcbiAgICB9XG4gIH1cblxuICAgIEByZXR1cm4gJHJldHVybjtcblxufVxuXG4vLyBDT05WRVJUIFRPIFJFTVxuQGZ1bmN0aW9uIGNvbnZlcnQtdG8tcmVtKCR2YWx1ZSwgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSkge1xuICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UtdmFsdWUpICogMXJlbTtcbiAgQGlmICgkdmFsdWUgPT0gMHJlbSkgeyAkdmFsdWU6IDA7IH0gLy8gVHVybiAwcmVtIGludG8gMFxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIGRhdGEoJGF0dHIpIHtcbiAgQGlmICRuYW1lc3BhY2Uge1xuICAgIEByZXR1cm4gJ1tkYXRhLScgKyAkbmFtZXNwYWNlICsgJy0nICsgJGF0dHIgKyAnXSc7XG4gIH1cblxuICBAcmV0dXJuICdbZGF0YS0nICsgJGF0dHIgKyAnXSc7XG59XG5cbi8vIFJFTSBDQUxDXG5cbi8vIE5ldyBTeW50YXgsIGFsbG93cyB0byBvcHRpb25hbGx5IGNhbGN1bGF0ZSBvbiBhIGRpZmZlcmVudCBiYXNlIHZhbHVlIHRvIGNvdW50ZXIgY29tcG91bmRpbmcgZWZmZWN0IG9mIHJlbSdzLlxuLy8gQ2FsbCB3aXRoIDEsIDIsIDMgb3IgNCBwYXJhbWV0ZXJzLCAncHgnIGlzIG5vdCByZXF1aXJlZCBidXQgc3VwcG9ydGVkOlxuLy9cbi8vICAgcmVtLWNhbGMoMTAgMjAgMzBweCA0MCk7XG4vL1xuLy8gU3BhY2UgZGVsaW1pdGVkLCBpZiB5b3Ugd2FudCB0byBkZWxpbWl0IHVzaW5nIGNvbW1hJ3MsIHdyYXAgaXQgaW4gYW5vdGhlciBwYWlyIG9mIGJyYWNrZXRzXG4vL1xuLy8gICByZW0tY2FsYygoMTAsIDIwLCAzMCwgNDBweCkpO1xuLy9cbi8vIE9wdGlvbmFsbHkgY2FsbCB3aXRoIGEgZGlmZmVyZW50IGJhc2UgKGVnOiA4cHgpIHRvIGNhbGN1bGF0ZSByZW0uXG4vL1xuLy8gICByZW0tY2FsYygxNnB4IDMycHggNDhweCwgOHB4KTtcbi8vXG4vLyBJZiB5b3UgcmVxdWlyZSB0byBjb21tYSBzZXBhcmF0ZSB5b3VyIGxpc3Rcbi8vXG4vLyAgIHJlbS1jYWxjKCgxNnB4LCAzMnB4LCA0OCksIDhweCk7XG5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XG4gICRtYXg6IGxlbmd0aCgkdmFsdWVzKTtcblxuICBAaWYgJG1heCA9PSAxIHsgQHJldHVybiBjb252ZXJ0LXRvLXJlbShudGgoJHZhbHVlcywgMSksICRiYXNlLXZhbHVlKTsgfVxuXG4gICRyZW1WYWx1ZXM6ICgpO1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xuICAgICRyZW1WYWx1ZXM6IGFwcGVuZCgkcmVtVmFsdWVzLCBjb252ZXJ0LXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZS12YWx1ZSkpO1xuICB9XG4gIEByZXR1cm4gJHJlbVZhbHVlcztcbn1cblxuXG5AZnVuY3Rpb24gZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XG4gICRyZW1WYWx1ZXM6IHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpO1xuXG4gICRtYXg6IGxlbmd0aCgkcmVtVmFsdWVzKTtcblxuICBAaWYgJG1heCA9PSAxIHsgQHJldHVybiBzdHJpcC11bml0KG50aCgkcmVtVmFsdWVzLCAxKSkgKiAxZW07IH1cblxuICAkZW1WYWx1ZXM6ICgpO1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xuICAgICRlbVZhbHVlczogYXBwZW5kKCRlbVZhbHVlcywgc3RyaXAtdW5pdChudGgoJHJlbVZhbHVlcywgJGkpKSAqIDFlbSk7XG4gIH1cbiAgQHJldHVybiAkZW1WYWx1ZXM7XG59XG5cblxuLy8gRGVwcmVjYXRlZDogT0xEIEVNIENBTENcbkBmdW5jdGlvbiBlbUNhbGMoJHZhbHVlcykge1xuICBAcmV0dXJuIGVtLWNhbGMoJHZhbHVlcyk7XG59XG4iLCJAaW1wb3J0IHVybChodHRwOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1JbmNvbnNvbGF0YXxSb2JvdG98T3N3YWxkKTtcbm1ldGEuZm91bmRhdGlvbi12ZXJzaW9uIHtcbiAgZm9udC1mYW1pbHk6IFwiLzUuNS4zL1wiO1xufVxuXG5tZXRhLmZvdW5kYXRpb24tbXEtc21hbGwge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4vXCI7XG4gIHdpZHRoOiAwO1xufVxuXG5tZXRhLmZvdW5kYXRpb24tbXEtc21hbGwtb25seSB7XG4gIGZvbnQtZmFtaWx5OiBcIi9vbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkvXCI7XG4gIHdpZHRoOiAwO1xufVxuXG5tZXRhLmZvdW5kYXRpb24tbXEtbWVkaXVtIHtcbiAgZm9udC1mYW1pbHk6IFwiL29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjQwLjA2MjVlbSkvXCI7XG4gIHdpZHRoOiA0MC4wNjI1ZW07XG59XG5cbm1ldGEuZm91bmRhdGlvbi1tcS1tZWRpdW0tb25seSB7XG4gIGZvbnQtZmFtaWx5OiBcIi9vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo0MC4wNjI1ZW0pIGFuZCAobWF4LXdpZHRoOjY0ZW0pL1wiO1xuICB3aWR0aDogNDAuMDYyNWVtO1xufVxuXG5tZXRhLmZvdW5kYXRpb24tbXEtbGFyZ2Uge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjQuMDYyNWVtKS9cIjtcbiAgd2lkdGg6IDY0LjA2MjVlbTtcbn1cblxubWV0YS5mb3VuZGF0aW9uLW1xLWxhcmdlLW9ubHkge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjQuMDYyNWVtKSBhbmQgKG1heC13aWR0aDo5MGVtKS9cIjtcbiAgd2lkdGg6IDY0LjA2MjVlbTtcbn1cblxubWV0YS5mb3VuZGF0aW9uLW1xLXhsYXJnZSB7XG4gIGZvbnQtZmFtaWx5OiBcIi9vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo5MC4wNjI1ZW0pL1wiO1xuICB3aWR0aDogOTAuMDYyNWVtO1xufVxuXG5tZXRhLmZvdW5kYXRpb24tbXEteGxhcmdlLW9ubHkge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6OTAuMDYyNWVtKSBhbmQgKG1heC13aWR0aDoxMjBlbSkvXCI7XG4gIHdpZHRoOiA5MC4wNjI1ZW07XG59XG5cbm1ldGEuZm91bmRhdGlvbi1tcS14eGxhcmdlIHtcbiAgZm9udC1mYW1pbHk6IFwiL29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEyMC4wNjI1ZW0pL1wiO1xuICB3aWR0aDogMTIwLjA2MjVlbTtcbn1cblxubWV0YS5mb3VuZGF0aW9uLWRhdGEtYXR0cmlidXRlLW5hbWVzcGFjZSB7XG4gIGZvbnQtZmFtaWx5OiBmYWxzZTtcbn1cblxuaHRtbCwgYm9keSB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sLFxuYm9keSB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbn1cblxuYm9keSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjMUUyNTI4O1xuICBjdXJzb3I6IGF1dG87XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5hOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuaW1nIHtcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbn1cblxuI21hcF9jYW52YXMgaW1nLFxuI21hcF9jYW52YXMgZW1iZWQsXG4jbWFwX2NhbnZhcyBvYmplY3QsXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi5jbGVhcmZpeDpiZWZvcmUsIC5jbGVhcmZpeDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLmNsZWFyZml4OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmFudGlhbGlhc2VkIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG59XG5cbnNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucm93IHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogNjIuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5yb3c6YmVmb3JlLCAucm93OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4ucm93OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5yb3cuY29sbGFwc2UgPiAuY29sdW1uLFxuLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4ucm93LmNvbGxhcHNlIC5yb3cge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ucm93IC5yb3cge1xuICBtYXJnaW46IDAgLTAuOTM3NXJlbTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICB3aWR0aDogYXV0bztcbn1cblxuLnJvdyAucm93OmJlZm9yZSwgLnJvdyAucm93OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4ucm93IC5yb3c6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLnJvdyAucm93LmNvbGxhcHNlIHtcbiAgbWFyZ2luOiAwO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4ucm93IC5yb3cuY29sbGFwc2U6YmVmb3JlLCAucm93IC5yb3cuY29sbGFwc2U6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi5yb3cgLnJvdy5jb2xsYXBzZTphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY29sdW1uLFxuLmNvbHVtbnMge1xuICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5jb2x1bW4gKyAuY29sdW1uOmxhc3QtY2hpbGQsXG4uY29sdW1ucyArIC5jb2x1bW46bGFzdC1jaGlsZCwgLmNvbHVtbiArXG4uY29sdW1uczpsYXN0LWNoaWxkLFxuLmNvbHVtbnMgK1xuLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLmNvbHVtbiArIC5jb2x1bW4uZW5kLFxuLmNvbHVtbnMgKyAuY29sdW1uLmVuZCwgLmNvbHVtbiArXG4uY29sdW1ucy5lbmQsXG4uY29sdW1ucyArXG4uY29sdW1ucy5lbmQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIHtcbiAgLnNtYWxsLXB1c2gtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnNtYWxsLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnNtYWxsLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnNtYWxsLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnNtYWxsLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY2NjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5zbWFsbC1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMTYuNjY2NjY2NjY2NyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuc21hbGwtcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5zbWFsbC1wdWxsLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMjUlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnNtYWxsLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5zbWFsbC1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMzMuMzMzMzMzMzMzMyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuc21hbGwtcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjY2NjY2NyU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnNtYWxsLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA0MS42NjY2NjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5zbWFsbC1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnNtYWxsLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuc21hbGwtcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMzMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnNtYWxsLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA1OC4zMzMzMzMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5zbWFsbC1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAuc21hbGwtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDY2LjY2NjY2NjY2NjclO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnNtYWxsLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAuc21hbGwtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDc1JTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5zbWFsbC1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMzMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnNtYWxsLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogODMuMzMzMzMzMzMzMyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuc21hbGwtcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY2NjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5zbWFsbC1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDkxLjY2NjY2NjY2NjclO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmNvbHVtbixcbiAgLmNvbHVtbnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5zbWFsbC1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyUgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSUgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJSAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JSAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJSAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JSAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1yZXNldC1vcmRlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLmNvbHVtbi5zbWFsbC1jZW50ZXJlZCxcbiAgLmNvbHVtbnMuc21hbGwtY2VudGVyZWQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuICAuY29sdW1uLnNtYWxsLXVuY2VudGVyZWQsXG4gIC5jb2x1bW5zLnNtYWxsLXVuY2VudGVyZWQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAuY29sdW1uLnNtYWxsLWNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLnNtYWxsLWNlbnRlcmVkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG4gIC5jb2x1bW4uc21hbGwtdW5jZW50ZXJlZDpsYXN0LWNoaWxkLFxuICAuY29sdW1ucy5zbWFsbC11bmNlbnRlcmVkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5jb2x1bW4uc21hbGwtdW5jZW50ZXJlZC5vcHBvc2l0ZSxcbiAgLmNvbHVtbnMuc21hbGwtdW5jZW50ZXJlZC5vcHBvc2l0ZSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG4gIC5yb3cuc21hbGwtY29sbGFwc2UgPiAuY29sdW1uLFxuICAucm93LnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG4gIC5yb3cuc21hbGwtY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC5yb3cuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW4sXG4gIC5yb3cuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLm1lZGl1bS1wdXNoLTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5tZWRpdW0tcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAubWVkaXVtLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLm1lZGl1bS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5tZWRpdW0tcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjY2NjY2NyU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLm1lZGl1bS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMTYuNjY2NjY2NjY2NyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAubWVkaXVtLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAubWVkaXVtLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAyNSU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAubWVkaXVtLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5tZWRpdW0tcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDMzLjMzMzMzMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLm1lZGl1bS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NjY2NjY3JTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAubWVkaXVtLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA0MS42NjY2NjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5tZWRpdW0tcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5tZWRpdW0tcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5tZWRpdW0tcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMzMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLm1lZGl1bS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNTguMzMzMzMzMzMzMyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAubWVkaXVtLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5tZWRpdW0tcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDY2LjY2NjY2NjY2NjclO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLm1lZGl1bS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLm1lZGl1bS1wdWxsLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNzUlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLm1lZGl1bS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMzMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLm1lZGl1bS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDgzLjMzMzMzMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLm1lZGl1bS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjY2NjY2NyU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLm1lZGl1bS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDkxLjY2NjY2NjY2NjclO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmNvbHVtbixcbiAgLmNvbHVtbnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyUgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSUgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcmVzZXQtb3JkZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5jb2x1bW4ubWVkaXVtLWNlbnRlcmVkLFxuICAuY29sdW1ucy5tZWRpdW0tY2VudGVyZWQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuICAuY29sdW1uLm1lZGl1bS11bmNlbnRlcmVkLFxuICAuY29sdW1ucy5tZWRpdW0tdW5jZW50ZXJlZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC5jb2x1bW4ubWVkaXVtLWNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLm1lZGl1bS1jZW50ZXJlZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuICAuY29sdW1uLm1lZGl1bS11bmNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLm1lZGl1bS11bmNlbnRlcmVkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5jb2x1bW4ubWVkaXVtLXVuY2VudGVyZWQub3Bwb3NpdGUsXG4gIC5jb2x1bW5zLm1lZGl1bS11bmNlbnRlcmVkLm9wcG9zaXRlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgLnJvdy5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uLFxuICAucm93Lm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICAucm93Lm1lZGl1bS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLnJvdy5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW4sXG4gIC5yb3cubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5wdXNoLTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5wdWxsLTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAucHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDE2LjY2NjY2NjY2NjclO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAucHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDI1JTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAucHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDMzLjMzMzMzMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY2NjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNDEuNjY2NjY2NjY2NyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAucHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5wdWxsLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNTAlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNTguMzMzMzMzMzMzMyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAucHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjY2NjY2NyU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA2Ni42NjY2NjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA3NSU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAucHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDgzLjMzMzMzMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NjY2NjY3JTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAucHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA5MS42NjY2NjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZS1wdXNoLTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5sYXJnZS1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5sYXJnZS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5sYXJnZS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5sYXJnZS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAubGFyZ2UtcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDE2LjY2NjY2NjY2NjclO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmxhcmdlLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAubGFyZ2UtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDI1JTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5sYXJnZS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAubGFyZ2UtcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDMzLjMzMzMzMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmxhcmdlLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY2NjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5sYXJnZS1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNDEuNjY2NjY2NjY2NyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAubGFyZ2UtcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5sYXJnZS1wdWxsLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNTAlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmxhcmdlLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5sYXJnZS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNTguMzMzMzMzMzMzMyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAubGFyZ2UtcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjY2NjY2NyU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLmxhcmdlLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA2Ni42NjY2NjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5sYXJnZS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLmxhcmdlLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA3NSU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAubGFyZ2UtcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5sYXJnZS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDgzLjMzMzMzMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmxhcmdlLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NjY2NjY3JTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAubGFyZ2UtcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA5MS42NjY2NjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5jb2x1bW4sXG4gIC5jb2x1bW5zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJSAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JSAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyUgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSUgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyUgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcmVzZXQtb3JkZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5jb2x1bW4ubGFyZ2UtY2VudGVyZWQsXG4gIC5jb2x1bW5zLmxhcmdlLWNlbnRlcmVkIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbiAgLmNvbHVtbi5sYXJnZS11bmNlbnRlcmVkLFxuICAuY29sdW1ucy5sYXJnZS11bmNlbnRlcmVkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLmNvbHVtbi5sYXJnZS1jZW50ZXJlZDpsYXN0LWNoaWxkLFxuICAuY29sdW1ucy5sYXJnZS1jZW50ZXJlZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuICAuY29sdW1uLmxhcmdlLXVuY2VudGVyZWQ6bGFzdC1jaGlsZCxcbiAgLmNvbHVtbnMubGFyZ2UtdW5jZW50ZXJlZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuY29sdW1uLmxhcmdlLXVuY2VudGVyZWQub3Bwb3NpdGUsXG4gIC5jb2x1bW5zLmxhcmdlLXVuY2VudGVyZWQub3Bwb3NpdGUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuICAucm93LmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbixcbiAgLnJvdy5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICAucm93LmxhcmdlLWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAucm93LmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLFxuICAucm93LmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5wdXNoLTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5wdWxsLTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAucHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDE2LjY2NjY2NjY2NjclO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAucHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDI1JTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAucHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDMzLjMzMzMzMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY2NjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNDEuNjY2NjY2NjY2NyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAucHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5wdWxsLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNTAlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNTguMzMzMzMzMzMzMyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAucHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjY2NjY2NyU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA2Ni42NjY2NjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA3NSU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAucHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDgzLjMzMzMzMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NjY2NjY3JTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAucHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA5MS42NjY2NjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG5cbi8qIHNtYWxsIGRpc3BsYXlzICovXG5AbWVkaWEgb25seSBzY3JlZW4ge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSwgLnNob3ctZm9yLXNtYWxsLXVwLCAuc2hvdy1mb3Itc21hbGwsIC5zaG93LWZvci1zbWFsbC1kb3duLCAuaGlkZS1mb3ItbWVkaXVtLW9ubHksIC5oaWRlLWZvci1tZWRpdW0tdXAsIC5oaWRlLWZvci1tZWRpdW0sIC5zaG93LWZvci1tZWRpdW0tZG93biwgLmhpZGUtZm9yLWxhcmdlLW9ubHksIC5oaWRlLWZvci1sYXJnZS11cCwgLmhpZGUtZm9yLWxhcmdlLCAuc2hvdy1mb3ItbGFyZ2UtZG93biwgLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCAuaGlkZS1mb3IteGxhcmdlLXVwLCAuaGlkZS1mb3IteGxhcmdlLCAuc2hvdy1mb3IteGxhcmdlLWRvd24sIC5oaWRlLWZvci14eGxhcmdlLW9ubHksIC5oaWRlLWZvci14eGxhcmdlLXVwLCAuaGlkZS1mb3IteHhsYXJnZSwgLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICB9XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5LCAuaGlkZS1mb3Itc21hbGwtdXAsIC5oaWRlLWZvci1zbWFsbCwgLmhpZGUtZm9yLXNtYWxsLWRvd24sIC5zaG93LWZvci1tZWRpdW0tb25seSwgLnNob3ctZm9yLW1lZGl1bS11cCwgLnNob3ctZm9yLW1lZGl1bSwgLmhpZGUtZm9yLW1lZGl1bS1kb3duLCAuc2hvdy1mb3ItbGFyZ2Utb25seSwgLnNob3ctZm9yLWxhcmdlLXVwLCAuc2hvdy1mb3ItbGFyZ2UsIC5oaWRlLWZvci1sYXJnZS1kb3duLCAuc2hvdy1mb3IteGxhcmdlLW9ubHksIC5zaG93LWZvci14bGFyZ2UtdXAsIC5zaG93LWZvci14bGFyZ2UsIC5oaWRlLWZvci14bGFyZ2UtZG93biwgLnNob3ctZm9yLXh4bGFyZ2Utb25seSwgLnNob3ctZm9yLXh4bGFyZ2UtdXAsIC5zaG93LWZvci14eGxhcmdlLCAuaGlkZS1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnZpc2libGUtZm9yLXNtYWxsLW9ubHksIC52aXNpYmxlLWZvci1zbWFsbC11cCwgLnZpc2libGUtZm9yLXNtYWxsLCAudmlzaWJsZS1mb3Itc21hbGwtZG93biwgLmhpZGRlbi1mb3ItbWVkaXVtLW9ubHksIC5oaWRkZW4tZm9yLW1lZGl1bS11cCwgLmhpZGRlbi1mb3ItbWVkaXVtLCAudmlzaWJsZS1mb3ItbWVkaXVtLWRvd24sIC5oaWRkZW4tZm9yLWxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLWxhcmdlLXVwLCAuaGlkZGVuLWZvci1sYXJnZSwgLnZpc2libGUtZm9yLWxhcmdlLWRvd24sIC5oaWRkZW4tZm9yLXhsYXJnZS1vbmx5LCAuaGlkZGVuLWZvci14bGFyZ2UtdXAsIC5oaWRkZW4tZm9yLXhsYXJnZSwgLnZpc2libGUtZm9yLXhsYXJnZS1kb3duLCAuaGlkZGVuLWZvci14eGxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLXh4bGFyZ2UtdXAsIC5oaWRkZW4tZm9yLXh4bGFyZ2UsIC52aXNpYmxlLWZvci14eGxhcmdlLWRvd24ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgfVxuICAuaGlkZGVuLWZvci1zbWFsbC1vbmx5LCAuaGlkZGVuLWZvci1zbWFsbC11cCwgLmhpZGRlbi1mb3Itc21hbGwsIC5oaWRkZW4tZm9yLXNtYWxsLWRvd24sIC52aXNpYmxlLWZvci1tZWRpdW0tb25seSwgLnZpc2libGUtZm9yLW1lZGl1bS11cCwgLnZpc2libGUtZm9yLW1lZGl1bSwgLmhpZGRlbi1mb3ItbWVkaXVtLWRvd24sIC52aXNpYmxlLWZvci1sYXJnZS1vbmx5LCAudmlzaWJsZS1mb3ItbGFyZ2UtdXAsIC52aXNpYmxlLWZvci1sYXJnZSwgLmhpZGRlbi1mb3ItbGFyZ2UtZG93biwgLnZpc2libGUtZm9yLXhsYXJnZS1vbmx5LCAudmlzaWJsZS1mb3IteGxhcmdlLXVwLCAudmlzaWJsZS1mb3IteGxhcmdlLCAuaGlkZGVuLWZvci14bGFyZ2UtZG93biwgLnZpc2libGUtZm9yLXh4bGFyZ2Utb25seSwgLnZpc2libGUtZm9yLXh4bGFyZ2UtdXAsIC52aXNpYmxlLWZvci14eGxhcmdlLCAuaGlkZGVuLWZvci14eGxhcmdlLWRvd24ge1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHg7XG4gIH1cbiAgdGFibGUuc2hvdy1mb3Itc21hbGwtb25seSwgdGFibGUuc2hvdy1mb3Itc21hbGwtdXAsIHRhYmxlLnNob3ctZm9yLXNtYWxsLCB0YWJsZS5zaG93LWZvci1zbWFsbC1kb3duLCB0YWJsZS5oaWRlLWZvci1tZWRpdW0tb25seSwgdGFibGUuaGlkZS1mb3ItbWVkaXVtLXVwLCB0YWJsZS5oaWRlLWZvci1tZWRpdW0sIHRhYmxlLnNob3ctZm9yLW1lZGl1bS1kb3duLCB0YWJsZS5oaWRlLWZvci1sYXJnZS1vbmx5LCB0YWJsZS5oaWRlLWZvci1sYXJnZS11cCwgdGFibGUuaGlkZS1mb3ItbGFyZ2UsIHRhYmxlLnNob3ctZm9yLWxhcmdlLWRvd24sIHRhYmxlLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0YWJsZS5oaWRlLWZvci14bGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLXhsYXJnZSwgdGFibGUuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGFibGUuaGlkZS1mb3IteHhsYXJnZS11cCwgdGFibGUuaGlkZS1mb3IteHhsYXJnZSwgdGFibGUuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIHRoZWFkLnNob3ctZm9yLXNtYWxsLW9ubHksIHRoZWFkLnNob3ctZm9yLXNtYWxsLXVwLCB0aGVhZC5zaG93LWZvci1zbWFsbCwgdGhlYWQuc2hvdy1mb3Itc21hbGwtZG93biwgdGhlYWQuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRoZWFkLmhpZGUtZm9yLW1lZGl1bS11cCwgdGhlYWQuaGlkZS1mb3ItbWVkaXVtLCB0aGVhZC5zaG93LWZvci1tZWRpdW0tZG93biwgdGhlYWQuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGhlYWQuaGlkZS1mb3ItbGFyZ2UtdXAsIHRoZWFkLmhpZGUtZm9yLWxhcmdlLCB0aGVhZC5zaG93LWZvci1sYXJnZS1kb3duLCB0aGVhZC5oaWRlLWZvci14bGFyZ2Utb25seSwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci14bGFyZ2UsIHRoZWFkLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRoZWFkLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRoZWFkLmhpZGUtZm9yLXh4bGFyZ2UsIHRoZWFkLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGJvZHkuc2hvdy1mb3Itc21hbGwtb25seSwgdGJvZHkuc2hvdy1mb3Itc21hbGwtdXAsIHRib2R5LnNob3ctZm9yLXNtYWxsLCB0Ym9keS5zaG93LWZvci1zbWFsbC1kb3duLCB0Ym9keS5oaWRlLWZvci1tZWRpdW0tb25seSwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLXVwLCB0Ym9keS5oaWRlLWZvci1tZWRpdW0sIHRib2R5LnNob3ctZm9yLW1lZGl1bS1kb3duLCB0Ym9keS5oaWRlLWZvci1sYXJnZS1vbmx5LCB0Ym9keS5oaWRlLWZvci1sYXJnZS11cCwgdGJvZHkuaGlkZS1mb3ItbGFyZ2UsIHRib2R5LnNob3ctZm9yLWxhcmdlLWRvd24sIHRib2R5LmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0Ym9keS5oaWRlLWZvci14bGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLXhsYXJnZSwgdGJvZHkuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3IteHhsYXJnZS11cCwgdGJvZHkuaGlkZS1mb3IteHhsYXJnZSwgdGJvZHkuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDtcbiAgfVxuICB0ci5zaG93LWZvci1zbWFsbC1vbmx5LCB0ci5zaG93LWZvci1zbWFsbC11cCwgdHIuc2hvdy1mb3Itc21hbGwsIHRyLnNob3ctZm9yLXNtYWxsLWRvd24sIHRyLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0ci5oaWRlLWZvci1tZWRpdW0tdXAsIHRyLmhpZGUtZm9yLW1lZGl1bSwgdHIuc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRyLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRyLmhpZGUtZm9yLWxhcmdlLXVwLCB0ci5oaWRlLWZvci1sYXJnZSwgdHIuc2hvdy1mb3ItbGFyZ2UtZG93biwgdHIuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRyLmhpZGUtZm9yLXhsYXJnZS11cCwgdHIuaGlkZS1mb3IteGxhcmdlLCB0ci5zaG93LWZvci14bGFyZ2UtZG93biwgdHIuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0ci5oaWRlLWZvci14eGxhcmdlLXVwLCB0ci5oaWRlLWZvci14eGxhcmdlLCB0ci5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgfVxuICB0aC5zaG93LWZvci1zbWFsbC1vbmx5LCB0ZC5zaG93LWZvci1zbWFsbC1vbmx5LCB0aC5zaG93LWZvci1zbWFsbC11cCwgdGQuc2hvdy1mb3Itc21hbGwtdXAsIHRoLnNob3ctZm9yLXNtYWxsLCB0ZC5zaG93LWZvci1zbWFsbCwgdGguc2hvdy1mb3Itc21hbGwtZG93biwgdGQuc2hvdy1mb3Itc21hbGwtZG93biwgdGguaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRkLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0aC5oaWRlLWZvci1tZWRpdW0tdXAsIHRkLmhpZGUtZm9yLW1lZGl1bS11cCwgdGguaGlkZS1mb3ItbWVkaXVtLCB0ZC5oaWRlLWZvci1tZWRpdW0sIHRoLnNob3ctZm9yLW1lZGl1bS1kb3duLCB0ZC5zaG93LWZvci1tZWRpdW0tZG93biwgdGguaGlkZS1mb3ItbGFyZ2Utb25seSwgdGQuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGguaGlkZS1mb3ItbGFyZ2UtdXAsIHRkLmhpZGUtZm9yLWxhcmdlLXVwLCB0aC5oaWRlLWZvci1sYXJnZSwgdGQuaGlkZS1mb3ItbGFyZ2UsIHRoLnNob3ctZm9yLWxhcmdlLWRvd24sIHRkLnNob3ctZm9yLWxhcmdlLWRvd24sIHRoLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0ZC5oaWRlLWZvci14bGFyZ2Utb25seSwgdGguaGlkZS1mb3IteGxhcmdlLXVwLCB0ZC5oaWRlLWZvci14bGFyZ2UtdXAsIHRoLmhpZGUtZm9yLXhsYXJnZSwgdGQuaGlkZS1mb3IteGxhcmdlLCB0aC5zaG93LWZvci14bGFyZ2UtZG93biwgdGQuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRoLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGQuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0aC5oaWRlLWZvci14eGxhcmdlLXVwLCB0ZC5oaWRlLWZvci14eGxhcmdlLXVwLCB0aC5oaWRlLWZvci14eGxhcmdlLCB0ZC5oaWRlLWZvci14eGxhcmdlLCB0aC5zaG93LWZvci14eGxhcmdlLWRvd24sIHRkLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIG1lZGl1bSBkaXNwbGF5cyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHksIC5zaG93LWZvci1zbWFsbC11cCwgLmhpZGUtZm9yLXNtYWxsLCAuaGlkZS1mb3Itc21hbGwtZG93biwgLnNob3ctZm9yLW1lZGl1bS1vbmx5LCAuc2hvdy1mb3ItbWVkaXVtLXVwLCAuc2hvdy1mb3ItbWVkaXVtLCAuc2hvdy1mb3ItbWVkaXVtLWRvd24sIC5oaWRlLWZvci1sYXJnZS1vbmx5LCAuaGlkZS1mb3ItbGFyZ2UtdXAsIC5oaWRlLWZvci1sYXJnZSwgLnNob3ctZm9yLWxhcmdlLWRvd24sIC5oaWRlLWZvci14bGFyZ2Utb25seSwgLmhpZGUtZm9yLXhsYXJnZS11cCwgLmhpZGUtZm9yLXhsYXJnZSwgLnNob3ctZm9yLXhsYXJnZS1kb3duLCAuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZS1mb3IteHhsYXJnZS11cCwgLmhpZGUtZm9yLXh4bGFyZ2UsIC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgfVxuICAuc2hvdy1mb3Itc21hbGwtb25seSwgLmhpZGUtZm9yLXNtYWxsLXVwLCAuc2hvdy1mb3Itc21hbGwsIC5zaG93LWZvci1zbWFsbC1kb3duLCAuaGlkZS1mb3ItbWVkaXVtLW9ubHksIC5oaWRlLWZvci1tZWRpdW0tdXAsIC5oaWRlLWZvci1tZWRpdW0sIC5oaWRlLWZvci1tZWRpdW0tZG93biwgLnNob3ctZm9yLWxhcmdlLW9ubHksIC5zaG93LWZvci1sYXJnZS11cCwgLnNob3ctZm9yLWxhcmdlLCAuaGlkZS1mb3ItbGFyZ2UtZG93biwgLnNob3ctZm9yLXhsYXJnZS1vbmx5LCAuc2hvdy1mb3IteGxhcmdlLXVwLCAuc2hvdy1mb3IteGxhcmdlLCAuaGlkZS1mb3IteGxhcmdlLWRvd24sIC5zaG93LWZvci14eGxhcmdlLW9ubHksIC5zaG93LWZvci14eGxhcmdlLXVwLCAuc2hvdy1mb3IteHhsYXJnZSwgLmhpZGUtZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5oaWRkZW4tZm9yLXNtYWxsLW9ubHksIC52aXNpYmxlLWZvci1zbWFsbC11cCwgLmhpZGRlbi1mb3Itc21hbGwsIC5oaWRkZW4tZm9yLXNtYWxsLWRvd24sIC52aXNpYmxlLWZvci1tZWRpdW0tb25seSwgLnZpc2libGUtZm9yLW1lZGl1bS11cCwgLnZpc2libGUtZm9yLW1lZGl1bSwgLnZpc2libGUtZm9yLW1lZGl1bS1kb3duLCAuaGlkZGVuLWZvci1sYXJnZS1vbmx5LCAuaGlkZGVuLWZvci1sYXJnZS11cCwgLmhpZGRlbi1mb3ItbGFyZ2UsIC52aXNpYmxlLWZvci1sYXJnZS1kb3duLCAuaGlkZGVuLWZvci14bGFyZ2Utb25seSwgLmhpZGRlbi1mb3IteGxhcmdlLXVwLCAuaGlkZGVuLWZvci14bGFyZ2UsIC52aXNpYmxlLWZvci14bGFyZ2UtZG93biwgLmhpZGRlbi1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZGVuLWZvci14eGxhcmdlLXVwLCAuaGlkZGVuLWZvci14eGxhcmdlLCAudmlzaWJsZS1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gIH1cbiAgLnZpc2libGUtZm9yLXNtYWxsLW9ubHksIC5oaWRkZW4tZm9yLXNtYWxsLXVwLCAudmlzaWJsZS1mb3Itc21hbGwsIC52aXNpYmxlLWZvci1zbWFsbC1kb3duLCAuaGlkZGVuLWZvci1tZWRpdW0tb25seSwgLmhpZGRlbi1mb3ItbWVkaXVtLXVwLCAuaGlkZGVuLWZvci1tZWRpdW0sIC5oaWRkZW4tZm9yLW1lZGl1bS1kb3duLCAudmlzaWJsZS1mb3ItbGFyZ2Utb25seSwgLnZpc2libGUtZm9yLWxhcmdlLXVwLCAudmlzaWJsZS1mb3ItbGFyZ2UsIC5oaWRkZW4tZm9yLWxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14bGFyZ2Utb25seSwgLnZpc2libGUtZm9yLXhsYXJnZS11cCwgLnZpc2libGUtZm9yLXhsYXJnZSwgLmhpZGRlbi1mb3IteGxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14eGxhcmdlLW9ubHksIC52aXNpYmxlLWZvci14eGxhcmdlLXVwLCAudmlzaWJsZS1mb3IteHhsYXJnZSwgLmhpZGRlbi1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4O1xuICB9XG4gIHRhYmxlLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRhYmxlLnNob3ctZm9yLXNtYWxsLXVwLCB0YWJsZS5oaWRlLWZvci1zbWFsbCwgdGFibGUuaGlkZS1mb3Itc21hbGwtZG93biwgdGFibGUuc2hvdy1mb3ItbWVkaXVtLW9ubHksIHRhYmxlLnNob3ctZm9yLW1lZGl1bS11cCwgdGFibGUuc2hvdy1mb3ItbWVkaXVtLCB0YWJsZS5zaG93LWZvci1tZWRpdW0tZG93biwgdGFibGUuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGFibGUuaGlkZS1mb3ItbGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLWxhcmdlLCB0YWJsZS5zaG93LWZvci1sYXJnZS1kb3duLCB0YWJsZS5oaWRlLWZvci14bGFyZ2Utb25seSwgdGFibGUuaGlkZS1mb3IteGxhcmdlLXVwLCB0YWJsZS5oaWRlLWZvci14bGFyZ2UsIHRhYmxlLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0YWJsZS5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2UsIHRhYmxlLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICB0aGVhZC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0aGVhZC5zaG93LWZvci1zbWFsbC11cCwgdGhlYWQuaGlkZS1mb3Itc21hbGwsIHRoZWFkLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRoZWFkLnNob3ctZm9yLW1lZGl1bS1vbmx5LCB0aGVhZC5zaG93LWZvci1tZWRpdW0tdXAsIHRoZWFkLnNob3ctZm9yLW1lZGl1bSwgdGhlYWQuc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRoZWFkLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRoZWFkLmhpZGUtZm9yLWxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci1sYXJnZSwgdGhlYWQuc2hvdy1mb3ItbGFyZ2UtZG93biwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRoZWFkLmhpZGUtZm9yLXhsYXJnZS11cCwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLCB0aGVhZC5zaG93LWZvci14bGFyZ2UtZG93biwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLCB0aGVhZC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50O1xuICB9XG4gIHRib2R5LmhpZGUtZm9yLXNtYWxsLW9ubHksIHRib2R5LnNob3ctZm9yLXNtYWxsLXVwLCB0Ym9keS5oaWRlLWZvci1zbWFsbCwgdGJvZHkuaGlkZS1mb3Itc21hbGwtZG93biwgdGJvZHkuc2hvdy1mb3ItbWVkaXVtLW9ubHksIHRib2R5LnNob3ctZm9yLW1lZGl1bS11cCwgdGJvZHkuc2hvdy1mb3ItbWVkaXVtLCB0Ym9keS5zaG93LWZvci1tZWRpdW0tZG93biwgdGJvZHkuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3ItbGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLWxhcmdlLCB0Ym9keS5zaG93LWZvci1sYXJnZS1kb3duLCB0Ym9keS5oaWRlLWZvci14bGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci14bGFyZ2UsIHRib2R5LnNob3ctZm9yLXhsYXJnZS1kb3duLCB0Ym9keS5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2UsIHRib2R5LnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7XG4gIH1cbiAgdHIuaGlkZS1mb3Itc21hbGwtb25seSwgdHIuc2hvdy1mb3Itc21hbGwtdXAsIHRyLmhpZGUtZm9yLXNtYWxsLCB0ci5oaWRlLWZvci1zbWFsbC1kb3duLCB0ci5zaG93LWZvci1tZWRpdW0tb25seSwgdHIuc2hvdy1mb3ItbWVkaXVtLXVwLCB0ci5zaG93LWZvci1tZWRpdW0sIHRyLnNob3ctZm9yLW1lZGl1bS1kb3duLCB0ci5oaWRlLWZvci1sYXJnZS1vbmx5LCB0ci5oaWRlLWZvci1sYXJnZS11cCwgdHIuaGlkZS1mb3ItbGFyZ2UsIHRyLnNob3ctZm9yLWxhcmdlLWRvd24sIHRyLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0ci5oaWRlLWZvci14bGFyZ2UtdXAsIHRyLmhpZGUtZm9yLXhsYXJnZSwgdHIuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRyLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdHIuaGlkZS1mb3IteHhsYXJnZS11cCwgdHIuaGlkZS1mb3IteHhsYXJnZSwgdHIuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gIH1cbiAgdGguaGlkZS1mb3Itc21hbGwtb25seSwgdGQuaGlkZS1mb3Itc21hbGwtb25seSwgdGguc2hvdy1mb3Itc21hbGwtdXAsIHRkLnNob3ctZm9yLXNtYWxsLXVwLCB0aC5oaWRlLWZvci1zbWFsbCwgdGQuaGlkZS1mb3Itc21hbGwsIHRoLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRkLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRoLnNob3ctZm9yLW1lZGl1bS1vbmx5LCB0ZC5zaG93LWZvci1tZWRpdW0tb25seSwgdGguc2hvdy1mb3ItbWVkaXVtLXVwLCB0ZC5zaG93LWZvci1tZWRpdW0tdXAsIHRoLnNob3ctZm9yLW1lZGl1bSwgdGQuc2hvdy1mb3ItbWVkaXVtLCB0aC5zaG93LWZvci1tZWRpdW0tZG93biwgdGQuc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRoLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRoLmhpZGUtZm9yLWxhcmdlLXVwLCB0ZC5oaWRlLWZvci1sYXJnZS11cCwgdGguaGlkZS1mb3ItbGFyZ2UsIHRkLmhpZGUtZm9yLWxhcmdlLCB0aC5zaG93LWZvci1sYXJnZS1kb3duLCB0ZC5zaG93LWZvci1sYXJnZS1kb3duLCB0aC5oaWRlLWZvci14bGFyZ2Utb25seSwgdGQuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRoLmhpZGUtZm9yLXhsYXJnZS11cCwgdGQuaGlkZS1mb3IteGxhcmdlLXVwLCB0aC5oaWRlLWZvci14bGFyZ2UsIHRkLmhpZGUtZm9yLXhsYXJnZSwgdGguc2hvdy1mb3IteGxhcmdlLWRvd24sIHRkLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0aC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGguaGlkZS1mb3IteHhsYXJnZS11cCwgdGQuaGlkZS1mb3IteHhsYXJnZS11cCwgdGguaGlkZS1mb3IteHhsYXJnZSwgdGQuaGlkZS1mb3IteHhsYXJnZSwgdGguc2hvdy1mb3IteHhsYXJnZS1kb3duLCB0ZC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBsYXJnZSBkaXNwbGF5cyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHksIC5zaG93LWZvci1zbWFsbC11cCwgLmhpZGUtZm9yLXNtYWxsLCAuaGlkZS1mb3Itc21hbGwtZG93biwgLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCAuc2hvdy1mb3ItbWVkaXVtLXVwLCAuaGlkZS1mb3ItbWVkaXVtLCAuaGlkZS1mb3ItbWVkaXVtLWRvd24sIC5zaG93LWZvci1sYXJnZS1vbmx5LCAuc2hvdy1mb3ItbGFyZ2UtdXAsIC5zaG93LWZvci1sYXJnZSwgLnNob3ctZm9yLWxhcmdlLWRvd24sIC5oaWRlLWZvci14bGFyZ2Utb25seSwgLmhpZGUtZm9yLXhsYXJnZS11cCwgLmhpZGUtZm9yLXhsYXJnZSwgLnNob3ctZm9yLXhsYXJnZS1kb3duLCAuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZS1mb3IteHhsYXJnZS11cCwgLmhpZGUtZm9yLXh4bGFyZ2UsIC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgfVxuICAuc2hvdy1mb3Itc21hbGwtb25seSwgLmhpZGUtZm9yLXNtYWxsLXVwLCAuc2hvdy1mb3Itc21hbGwsIC5zaG93LWZvci1zbWFsbC1kb3duLCAuc2hvdy1mb3ItbWVkaXVtLW9ubHksIC5oaWRlLWZvci1tZWRpdW0tdXAsIC5zaG93LWZvci1tZWRpdW0sIC5zaG93LWZvci1tZWRpdW0tZG93biwgLmhpZGUtZm9yLWxhcmdlLW9ubHksIC5oaWRlLWZvci1sYXJnZS11cCwgLmhpZGUtZm9yLWxhcmdlLCAuaGlkZS1mb3ItbGFyZ2UtZG93biwgLnNob3ctZm9yLXhsYXJnZS1vbmx5LCAuc2hvdy1mb3IteGxhcmdlLXVwLCAuc2hvdy1mb3IteGxhcmdlLCAuaGlkZS1mb3IteGxhcmdlLWRvd24sIC5zaG93LWZvci14eGxhcmdlLW9ubHksIC5zaG93LWZvci14eGxhcmdlLXVwLCAuc2hvdy1mb3IteHhsYXJnZSwgLmhpZGUtZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5oaWRkZW4tZm9yLXNtYWxsLW9ubHksIC52aXNpYmxlLWZvci1zbWFsbC11cCwgLmhpZGRlbi1mb3Itc21hbGwsIC5oaWRkZW4tZm9yLXNtYWxsLWRvd24sIC5oaWRkZW4tZm9yLW1lZGl1bS1vbmx5LCAudmlzaWJsZS1mb3ItbWVkaXVtLXVwLCAuaGlkZGVuLWZvci1tZWRpdW0sIC5oaWRkZW4tZm9yLW1lZGl1bS1kb3duLCAudmlzaWJsZS1mb3ItbGFyZ2Utb25seSwgLnZpc2libGUtZm9yLWxhcmdlLXVwLCAudmlzaWJsZS1mb3ItbGFyZ2UsIC52aXNpYmxlLWZvci1sYXJnZS1kb3duLCAuaGlkZGVuLWZvci14bGFyZ2Utb25seSwgLmhpZGRlbi1mb3IteGxhcmdlLXVwLCAuaGlkZGVuLWZvci14bGFyZ2UsIC52aXNpYmxlLWZvci14bGFyZ2UtZG93biwgLmhpZGRlbi1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZGVuLWZvci14eGxhcmdlLXVwLCAuaGlkZGVuLWZvci14eGxhcmdlLCAudmlzaWJsZS1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gIH1cbiAgLnZpc2libGUtZm9yLXNtYWxsLW9ubHksIC5oaWRkZW4tZm9yLXNtYWxsLXVwLCAudmlzaWJsZS1mb3Itc21hbGwsIC52aXNpYmxlLWZvci1zbWFsbC1kb3duLCAudmlzaWJsZS1mb3ItbWVkaXVtLW9ubHksIC5oaWRkZW4tZm9yLW1lZGl1bS11cCwgLnZpc2libGUtZm9yLW1lZGl1bSwgLnZpc2libGUtZm9yLW1lZGl1bS1kb3duLCAuaGlkZGVuLWZvci1sYXJnZS1vbmx5LCAuaGlkZGVuLWZvci1sYXJnZS11cCwgLmhpZGRlbi1mb3ItbGFyZ2UsIC5oaWRkZW4tZm9yLWxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14bGFyZ2Utb25seSwgLnZpc2libGUtZm9yLXhsYXJnZS11cCwgLnZpc2libGUtZm9yLXhsYXJnZSwgLmhpZGRlbi1mb3IteGxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14eGxhcmdlLW9ubHksIC52aXNpYmxlLWZvci14eGxhcmdlLXVwLCAudmlzaWJsZS1mb3IteHhsYXJnZSwgLmhpZGRlbi1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4O1xuICB9XG4gIHRhYmxlLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRhYmxlLnNob3ctZm9yLXNtYWxsLXVwLCB0YWJsZS5oaWRlLWZvci1zbWFsbCwgdGFibGUuaGlkZS1mb3Itc21hbGwtZG93biwgdGFibGUuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRhYmxlLnNob3ctZm9yLW1lZGl1bS11cCwgdGFibGUuaGlkZS1mb3ItbWVkaXVtLCB0YWJsZS5oaWRlLWZvci1tZWRpdW0tZG93biwgdGFibGUuc2hvdy1mb3ItbGFyZ2Utb25seSwgdGFibGUuc2hvdy1mb3ItbGFyZ2UtdXAsIHRhYmxlLnNob3ctZm9yLWxhcmdlLCB0YWJsZS5zaG93LWZvci1sYXJnZS1kb3duLCB0YWJsZS5oaWRlLWZvci14bGFyZ2Utb25seSwgdGFibGUuaGlkZS1mb3IteGxhcmdlLXVwLCB0YWJsZS5oaWRlLWZvci14bGFyZ2UsIHRhYmxlLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0YWJsZS5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2UsIHRhYmxlLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICB0aGVhZC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0aGVhZC5zaG93LWZvci1zbWFsbC11cCwgdGhlYWQuaGlkZS1mb3Itc21hbGwsIHRoZWFkLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRoZWFkLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0aGVhZC5zaG93LWZvci1tZWRpdW0tdXAsIHRoZWFkLmhpZGUtZm9yLW1lZGl1bSwgdGhlYWQuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRoZWFkLnNob3ctZm9yLWxhcmdlLW9ubHksIHRoZWFkLnNob3ctZm9yLWxhcmdlLXVwLCB0aGVhZC5zaG93LWZvci1sYXJnZSwgdGhlYWQuc2hvdy1mb3ItbGFyZ2UtZG93biwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRoZWFkLmhpZGUtZm9yLXhsYXJnZS11cCwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLCB0aGVhZC5zaG93LWZvci14bGFyZ2UtZG93biwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLCB0aGVhZC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50O1xuICB9XG4gIHRib2R5LmhpZGUtZm9yLXNtYWxsLW9ubHksIHRib2R5LnNob3ctZm9yLXNtYWxsLXVwLCB0Ym9keS5oaWRlLWZvci1zbWFsbCwgdGJvZHkuaGlkZS1mb3Itc21hbGwtZG93biwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRib2R5LnNob3ctZm9yLW1lZGl1bS11cCwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLCB0Ym9keS5oaWRlLWZvci1tZWRpdW0tZG93biwgdGJvZHkuc2hvdy1mb3ItbGFyZ2Utb25seSwgdGJvZHkuc2hvdy1mb3ItbGFyZ2UtdXAsIHRib2R5LnNob3ctZm9yLWxhcmdlLCB0Ym9keS5zaG93LWZvci1sYXJnZS1kb3duLCB0Ym9keS5oaWRlLWZvci14bGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci14bGFyZ2UsIHRib2R5LnNob3ctZm9yLXhsYXJnZS1kb3duLCB0Ym9keS5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2UsIHRib2R5LnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7XG4gIH1cbiAgdHIuaGlkZS1mb3Itc21hbGwtb25seSwgdHIuc2hvdy1mb3Itc21hbGwtdXAsIHRyLmhpZGUtZm9yLXNtYWxsLCB0ci5oaWRlLWZvci1zbWFsbC1kb3duLCB0ci5oaWRlLWZvci1tZWRpdW0tb25seSwgdHIuc2hvdy1mb3ItbWVkaXVtLXVwLCB0ci5oaWRlLWZvci1tZWRpdW0sIHRyLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0ci5zaG93LWZvci1sYXJnZS1vbmx5LCB0ci5zaG93LWZvci1sYXJnZS11cCwgdHIuc2hvdy1mb3ItbGFyZ2UsIHRyLnNob3ctZm9yLWxhcmdlLWRvd24sIHRyLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0ci5oaWRlLWZvci14bGFyZ2UtdXAsIHRyLmhpZGUtZm9yLXhsYXJnZSwgdHIuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRyLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdHIuaGlkZS1mb3IteHhsYXJnZS11cCwgdHIuaGlkZS1mb3IteHhsYXJnZSwgdHIuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gIH1cbiAgdGguaGlkZS1mb3Itc21hbGwtb25seSwgdGQuaGlkZS1mb3Itc21hbGwtb25seSwgdGguc2hvdy1mb3Itc21hbGwtdXAsIHRkLnNob3ctZm9yLXNtYWxsLXVwLCB0aC5oaWRlLWZvci1zbWFsbCwgdGQuaGlkZS1mb3Itc21hbGwsIHRoLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRkLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRoLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0ZC5oaWRlLWZvci1tZWRpdW0tb25seSwgdGguc2hvdy1mb3ItbWVkaXVtLXVwLCB0ZC5zaG93LWZvci1tZWRpdW0tdXAsIHRoLmhpZGUtZm9yLW1lZGl1bSwgdGQuaGlkZS1mb3ItbWVkaXVtLCB0aC5oaWRlLWZvci1tZWRpdW0tZG93biwgdGQuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRoLnNob3ctZm9yLWxhcmdlLW9ubHksIHRkLnNob3ctZm9yLWxhcmdlLW9ubHksIHRoLnNob3ctZm9yLWxhcmdlLXVwLCB0ZC5zaG93LWZvci1sYXJnZS11cCwgdGguc2hvdy1mb3ItbGFyZ2UsIHRkLnNob3ctZm9yLWxhcmdlLCB0aC5zaG93LWZvci1sYXJnZS1kb3duLCB0ZC5zaG93LWZvci1sYXJnZS1kb3duLCB0aC5oaWRlLWZvci14bGFyZ2Utb25seSwgdGQuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRoLmhpZGUtZm9yLXhsYXJnZS11cCwgdGQuaGlkZS1mb3IteGxhcmdlLXVwLCB0aC5oaWRlLWZvci14bGFyZ2UsIHRkLmhpZGUtZm9yLXhsYXJnZSwgdGguc2hvdy1mb3IteGxhcmdlLWRvd24sIHRkLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0aC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGguaGlkZS1mb3IteHhsYXJnZS11cCwgdGQuaGlkZS1mb3IteHhsYXJnZS11cCwgdGguaGlkZS1mb3IteHhsYXJnZSwgdGQuaGlkZS1mb3IteHhsYXJnZSwgdGguc2hvdy1mb3IteHhsYXJnZS1kb3duLCB0ZC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiB4bGFyZ2UgZGlzcGxheXMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAuMDYyNWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5LCAuc2hvdy1mb3Itc21hbGwtdXAsIC5oaWRlLWZvci1zbWFsbCwgLmhpZGUtZm9yLXNtYWxsLWRvd24sIC5oaWRlLWZvci1tZWRpdW0tb25seSwgLnNob3ctZm9yLW1lZGl1bS11cCwgLmhpZGUtZm9yLW1lZGl1bSwgLmhpZGUtZm9yLW1lZGl1bS1kb3duLCAuaGlkZS1mb3ItbGFyZ2Utb25seSwgLnNob3ctZm9yLWxhcmdlLXVwLCAuaGlkZS1mb3ItbGFyZ2UsIC5oaWRlLWZvci1sYXJnZS1kb3duLCAuc2hvdy1mb3IteGxhcmdlLW9ubHksIC5zaG93LWZvci14bGFyZ2UtdXAsIC5zaG93LWZvci14bGFyZ2UsIC5zaG93LWZvci14bGFyZ2UtZG93biwgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIC5oaWRlLWZvci14eGxhcmdlLCAuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNob3ctZm9yLXNtYWxsLW9ubHksIC5oaWRlLWZvci1zbWFsbC11cCwgLnNob3ctZm9yLXNtYWxsLCAuc2hvdy1mb3Itc21hbGwtZG93biwgLnNob3ctZm9yLW1lZGl1bS1vbmx5LCAuaGlkZS1mb3ItbWVkaXVtLXVwLCAuc2hvdy1mb3ItbWVkaXVtLCAuc2hvdy1mb3ItbWVkaXVtLWRvd24sIC5zaG93LWZvci1sYXJnZS1vbmx5LCAuaGlkZS1mb3ItbGFyZ2UtdXAsIC5zaG93LWZvci1sYXJnZSwgLnNob3ctZm9yLWxhcmdlLWRvd24sIC5oaWRlLWZvci14bGFyZ2Utb25seSwgLmhpZGUtZm9yLXhsYXJnZS11cCwgLmhpZGUtZm9yLXhsYXJnZSwgLmhpZGUtZm9yLXhsYXJnZS1kb3duLCAuc2hvdy1mb3IteHhsYXJnZS1vbmx5LCAuc2hvdy1mb3IteHhsYXJnZS11cCwgLnNob3ctZm9yLXh4bGFyZ2UsIC5oaWRlLWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuaGlkZGVuLWZvci1zbWFsbC1vbmx5LCAudmlzaWJsZS1mb3Itc21hbGwtdXAsIC5oaWRkZW4tZm9yLXNtYWxsLCAuaGlkZGVuLWZvci1zbWFsbC1kb3duLCAuaGlkZGVuLWZvci1tZWRpdW0tb25seSwgLnZpc2libGUtZm9yLW1lZGl1bS11cCwgLmhpZGRlbi1mb3ItbWVkaXVtLCAuaGlkZGVuLWZvci1tZWRpdW0tZG93biwgLmhpZGRlbi1mb3ItbGFyZ2Utb25seSwgLnZpc2libGUtZm9yLWxhcmdlLXVwLCAuaGlkZGVuLWZvci1sYXJnZSwgLmhpZGRlbi1mb3ItbGFyZ2UtZG93biwgLnZpc2libGUtZm9yLXhsYXJnZS1vbmx5LCAudmlzaWJsZS1mb3IteGxhcmdlLXVwLCAudmlzaWJsZS1mb3IteGxhcmdlLCAudmlzaWJsZS1mb3IteGxhcmdlLWRvd24sIC5oaWRkZW4tZm9yLXh4bGFyZ2Utb25seSwgLmhpZGRlbi1mb3IteHhsYXJnZS11cCwgLmhpZGRlbi1mb3IteHhsYXJnZSwgLnZpc2libGUtZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICB9XG4gIC52aXNpYmxlLWZvci1zbWFsbC1vbmx5LCAuaGlkZGVuLWZvci1zbWFsbC11cCwgLnZpc2libGUtZm9yLXNtYWxsLCAudmlzaWJsZS1mb3Itc21hbGwtZG93biwgLnZpc2libGUtZm9yLW1lZGl1bS1vbmx5LCAuaGlkZGVuLWZvci1tZWRpdW0tdXAsIC52aXNpYmxlLWZvci1tZWRpdW0sIC52aXNpYmxlLWZvci1tZWRpdW0tZG93biwgLnZpc2libGUtZm9yLWxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLWxhcmdlLXVwLCAudmlzaWJsZS1mb3ItbGFyZ2UsIC52aXNpYmxlLWZvci1sYXJnZS1kb3duLCAuaGlkZGVuLWZvci14bGFyZ2Utb25seSwgLmhpZGRlbi1mb3IteGxhcmdlLXVwLCAuaGlkZGVuLWZvci14bGFyZ2UsIC5oaWRkZW4tZm9yLXhsYXJnZS1kb3duLCAudmlzaWJsZS1mb3IteHhsYXJnZS1vbmx5LCAudmlzaWJsZS1mb3IteHhsYXJnZS11cCwgLnZpc2libGUtZm9yLXh4bGFyZ2UsIC5oaWRkZW4tZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweDtcbiAgfVxuICB0YWJsZS5oaWRlLWZvci1zbWFsbC1vbmx5LCB0YWJsZS5zaG93LWZvci1zbWFsbC11cCwgdGFibGUuaGlkZS1mb3Itc21hbGwsIHRhYmxlLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRhYmxlLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0YWJsZS5zaG93LWZvci1tZWRpdW0tdXAsIHRhYmxlLmhpZGUtZm9yLW1lZGl1bSwgdGFibGUuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRhYmxlLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRhYmxlLnNob3ctZm9yLWxhcmdlLXVwLCB0YWJsZS5oaWRlLWZvci1sYXJnZSwgdGFibGUuaGlkZS1mb3ItbGFyZ2UtZG93biwgdGFibGUuc2hvdy1mb3IteGxhcmdlLW9ubHksIHRhYmxlLnNob3ctZm9yLXhsYXJnZS11cCwgdGFibGUuc2hvdy1mb3IteGxhcmdlLCB0YWJsZS5zaG93LWZvci14bGFyZ2UtZG93biwgdGFibGUuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0YWJsZS5oaWRlLWZvci14eGxhcmdlLXVwLCB0YWJsZS5oaWRlLWZvci14eGxhcmdlLCB0YWJsZS5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGhlYWQuaGlkZS1mb3Itc21hbGwtb25seSwgdGhlYWQuc2hvdy1mb3Itc21hbGwtdXAsIHRoZWFkLmhpZGUtZm9yLXNtYWxsLCB0aGVhZC5oaWRlLWZvci1zbWFsbC1kb3duLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0tb25seSwgdGhlYWQuc2hvdy1mb3ItbWVkaXVtLXVwLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0sIHRoZWFkLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0aGVhZC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0aGVhZC5zaG93LWZvci1sYXJnZS11cCwgdGhlYWQuaGlkZS1mb3ItbGFyZ2UsIHRoZWFkLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRoZWFkLnNob3ctZm9yLXhsYXJnZS1vbmx5LCB0aGVhZC5zaG93LWZvci14bGFyZ2UtdXAsIHRoZWFkLnNob3ctZm9yLXhsYXJnZSwgdGhlYWQuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRoZWFkLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZS11cCwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZSwgdGhlYWQuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDtcbiAgfVxuICB0Ym9keS5oaWRlLWZvci1zbWFsbC1vbmx5LCB0Ym9keS5zaG93LWZvci1zbWFsbC11cCwgdGJvZHkuaGlkZS1mb3Itc21hbGwsIHRib2R5LmhpZGUtZm9yLXNtYWxsLWRvd24sIHRib2R5LmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0Ym9keS5zaG93LWZvci1tZWRpdW0tdXAsIHRib2R5LmhpZGUtZm9yLW1lZGl1bSwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRib2R5LmhpZGUtZm9yLWxhcmdlLW9ubHksIHRib2R5LnNob3ctZm9yLWxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci1sYXJnZSwgdGJvZHkuaGlkZS1mb3ItbGFyZ2UtZG93biwgdGJvZHkuc2hvdy1mb3IteGxhcmdlLW9ubHksIHRib2R5LnNob3ctZm9yLXhsYXJnZS11cCwgdGJvZHkuc2hvdy1mb3IteGxhcmdlLCB0Ym9keS5zaG93LWZvci14bGFyZ2UtZG93biwgdGJvZHkuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0Ym9keS5oaWRlLWZvci14eGxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci14eGxhcmdlLCB0Ym9keS5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50O1xuICB9XG4gIHRyLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRyLnNob3ctZm9yLXNtYWxsLXVwLCB0ci5oaWRlLWZvci1zbWFsbCwgdHIuaGlkZS1mb3Itc21hbGwtZG93biwgdHIuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRyLnNob3ctZm9yLW1lZGl1bS11cCwgdHIuaGlkZS1mb3ItbWVkaXVtLCB0ci5oaWRlLWZvci1tZWRpdW0tZG93biwgdHIuaGlkZS1mb3ItbGFyZ2Utb25seSwgdHIuc2hvdy1mb3ItbGFyZ2UtdXAsIHRyLmhpZGUtZm9yLWxhcmdlLCB0ci5oaWRlLWZvci1sYXJnZS1kb3duLCB0ci5zaG93LWZvci14bGFyZ2Utb25seSwgdHIuc2hvdy1mb3IteGxhcmdlLXVwLCB0ci5zaG93LWZvci14bGFyZ2UsIHRyLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0ci5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRyLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRyLmhpZGUtZm9yLXh4bGFyZ2UsIHRyLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtcm93O1xuICB9XG4gIHRoLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRkLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRoLnNob3ctZm9yLXNtYWxsLXVwLCB0ZC5zaG93LWZvci1zbWFsbC11cCwgdGguaGlkZS1mb3Itc21hbGwsIHRkLmhpZGUtZm9yLXNtYWxsLCB0aC5oaWRlLWZvci1zbWFsbC1kb3duLCB0ZC5oaWRlLWZvci1zbWFsbC1kb3duLCB0aC5oaWRlLWZvci1tZWRpdW0tb25seSwgdGQuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRoLnNob3ctZm9yLW1lZGl1bS11cCwgdGQuc2hvdy1mb3ItbWVkaXVtLXVwLCB0aC5oaWRlLWZvci1tZWRpdW0sIHRkLmhpZGUtZm9yLW1lZGl1bSwgdGguaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRkLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0aC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0ZC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0aC5zaG93LWZvci1sYXJnZS11cCwgdGQuc2hvdy1mb3ItbGFyZ2UtdXAsIHRoLmhpZGUtZm9yLWxhcmdlLCB0ZC5oaWRlLWZvci1sYXJnZSwgdGguaGlkZS1mb3ItbGFyZ2UtZG93biwgdGQuaGlkZS1mb3ItbGFyZ2UtZG93biwgdGguc2hvdy1mb3IteGxhcmdlLW9ubHksIHRkLnNob3ctZm9yLXhsYXJnZS1vbmx5LCB0aC5zaG93LWZvci14bGFyZ2UtdXAsIHRkLnNob3ctZm9yLXhsYXJnZS11cCwgdGguc2hvdy1mb3IteGxhcmdlLCB0ZC5zaG93LWZvci14bGFyZ2UsIHRoLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0ZC5zaG93LWZvci14bGFyZ2UtZG93biwgdGguaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0ZC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRoLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRkLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRoLmhpZGUtZm9yLXh4bGFyZ2UsIHRkLmhpZGUtZm9yLXh4bGFyZ2UsIHRoLnNob3ctZm9yLXh4bGFyZ2UtZG93biwgdGQuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogeHhsYXJnZSBkaXNwbGF5cyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5LCAuc2hvdy1mb3Itc21hbGwtdXAsIC5oaWRlLWZvci1zbWFsbCwgLmhpZGUtZm9yLXNtYWxsLWRvd24sIC5oaWRlLWZvci1tZWRpdW0tb25seSwgLnNob3ctZm9yLW1lZGl1bS11cCwgLmhpZGUtZm9yLW1lZGl1bSwgLmhpZGUtZm9yLW1lZGl1bS1kb3duLCAuaGlkZS1mb3ItbGFyZ2Utb25seSwgLnNob3ctZm9yLWxhcmdlLXVwLCAuaGlkZS1mb3ItbGFyZ2UsIC5oaWRlLWZvci1sYXJnZS1kb3duLCAuaGlkZS1mb3IteGxhcmdlLW9ubHksIC5zaG93LWZvci14bGFyZ2UtdXAsIC5oaWRlLWZvci14bGFyZ2UsIC5oaWRlLWZvci14bGFyZ2UtZG93biwgLnNob3ctZm9yLXh4bGFyZ2Utb25seSwgLnNob3ctZm9yLXh4bGFyZ2UtdXAsIC5zaG93LWZvci14eGxhcmdlLCAuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNob3ctZm9yLXNtYWxsLW9ubHksIC5oaWRlLWZvci1zbWFsbC11cCwgLnNob3ctZm9yLXNtYWxsLCAuc2hvdy1mb3Itc21hbGwtZG93biwgLnNob3ctZm9yLW1lZGl1bS1vbmx5LCAuaGlkZS1mb3ItbWVkaXVtLXVwLCAuc2hvdy1mb3ItbWVkaXVtLCAuc2hvdy1mb3ItbWVkaXVtLWRvd24sIC5zaG93LWZvci1sYXJnZS1vbmx5LCAuaGlkZS1mb3ItbGFyZ2UtdXAsIC5zaG93LWZvci1sYXJnZSwgLnNob3ctZm9yLWxhcmdlLWRvd24sIC5zaG93LWZvci14bGFyZ2Utb25seSwgLmhpZGUtZm9yLXhsYXJnZS11cCwgLnNob3ctZm9yLXhsYXJnZSwgLnNob3ctZm9yLXhsYXJnZS1kb3duLCAuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZS1mb3IteHhsYXJnZS11cCwgLmhpZGUtZm9yLXh4bGFyZ2UsIC5oaWRlLWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuaGlkZGVuLWZvci1zbWFsbC1vbmx5LCAudmlzaWJsZS1mb3Itc21hbGwtdXAsIC5oaWRkZW4tZm9yLXNtYWxsLCAuaGlkZGVuLWZvci1zbWFsbC1kb3duLCAuaGlkZGVuLWZvci1tZWRpdW0tb25seSwgLnZpc2libGUtZm9yLW1lZGl1bS11cCwgLmhpZGRlbi1mb3ItbWVkaXVtLCAuaGlkZGVuLWZvci1tZWRpdW0tZG93biwgLmhpZGRlbi1mb3ItbGFyZ2Utb25seSwgLnZpc2libGUtZm9yLWxhcmdlLXVwLCAuaGlkZGVuLWZvci1sYXJnZSwgLmhpZGRlbi1mb3ItbGFyZ2UtZG93biwgLmhpZGRlbi1mb3IteGxhcmdlLW9ubHksIC52aXNpYmxlLWZvci14bGFyZ2UtdXAsIC5oaWRkZW4tZm9yLXhsYXJnZSwgLmhpZGRlbi1mb3IteGxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14eGxhcmdlLW9ubHksIC52aXNpYmxlLWZvci14eGxhcmdlLXVwLCAudmlzaWJsZS1mb3IteHhsYXJnZSwgLnZpc2libGUtZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICB9XG4gIC52aXNpYmxlLWZvci1zbWFsbC1vbmx5LCAuaGlkZGVuLWZvci1zbWFsbC11cCwgLnZpc2libGUtZm9yLXNtYWxsLCAudmlzaWJsZS1mb3Itc21hbGwtZG93biwgLnZpc2libGUtZm9yLW1lZGl1bS1vbmx5LCAuaGlkZGVuLWZvci1tZWRpdW0tdXAsIC52aXNpYmxlLWZvci1tZWRpdW0sIC52aXNpYmxlLWZvci1tZWRpdW0tZG93biwgLnZpc2libGUtZm9yLWxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLWxhcmdlLXVwLCAudmlzaWJsZS1mb3ItbGFyZ2UsIC52aXNpYmxlLWZvci1sYXJnZS1kb3duLCAudmlzaWJsZS1mb3IteGxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLXhsYXJnZS11cCwgLnZpc2libGUtZm9yLXhsYXJnZSwgLnZpc2libGUtZm9yLXhsYXJnZS1kb3duLCAuaGlkZGVuLWZvci14eGxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLXh4bGFyZ2UtdXAsIC5oaWRkZW4tZm9yLXh4bGFyZ2UsIC5oaWRkZW4tZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweDtcbiAgfVxuICB0YWJsZS5oaWRlLWZvci1zbWFsbC1vbmx5LCB0YWJsZS5zaG93LWZvci1zbWFsbC11cCwgdGFibGUuaGlkZS1mb3Itc21hbGwsIHRhYmxlLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRhYmxlLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0YWJsZS5zaG93LWZvci1tZWRpdW0tdXAsIHRhYmxlLmhpZGUtZm9yLW1lZGl1bSwgdGFibGUuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRhYmxlLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRhYmxlLnNob3ctZm9yLWxhcmdlLXVwLCB0YWJsZS5oaWRlLWZvci1sYXJnZSwgdGFibGUuaGlkZS1mb3ItbGFyZ2UtZG93biwgdGFibGUuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRhYmxlLnNob3ctZm9yLXhsYXJnZS11cCwgdGFibGUuaGlkZS1mb3IteGxhcmdlLCB0YWJsZS5oaWRlLWZvci14bGFyZ2UtZG93biwgdGFibGUuc2hvdy1mb3IteHhsYXJnZS1vbmx5LCB0YWJsZS5zaG93LWZvci14eGxhcmdlLXVwLCB0YWJsZS5zaG93LWZvci14eGxhcmdlLCB0YWJsZS5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGhlYWQuaGlkZS1mb3Itc21hbGwtb25seSwgdGhlYWQuc2hvdy1mb3Itc21hbGwtdXAsIHRoZWFkLmhpZGUtZm9yLXNtYWxsLCB0aGVhZC5oaWRlLWZvci1zbWFsbC1kb3duLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0tb25seSwgdGhlYWQuc2hvdy1mb3ItbWVkaXVtLXVwLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0sIHRoZWFkLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0aGVhZC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0aGVhZC5zaG93LWZvci1sYXJnZS11cCwgdGhlYWQuaGlkZS1mb3ItbGFyZ2UsIHRoZWFkLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRoZWFkLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0aGVhZC5zaG93LWZvci14bGFyZ2UtdXAsIHRoZWFkLmhpZGUtZm9yLXhsYXJnZSwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLWRvd24sIHRoZWFkLnNob3ctZm9yLXh4bGFyZ2Utb25seSwgdGhlYWQuc2hvdy1mb3IteHhsYXJnZS11cCwgdGhlYWQuc2hvdy1mb3IteHhsYXJnZSwgdGhlYWQuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDtcbiAgfVxuICB0Ym9keS5oaWRlLWZvci1zbWFsbC1vbmx5LCB0Ym9keS5zaG93LWZvci1zbWFsbC11cCwgdGJvZHkuaGlkZS1mb3Itc21hbGwsIHRib2R5LmhpZGUtZm9yLXNtYWxsLWRvd24sIHRib2R5LmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0Ym9keS5zaG93LWZvci1tZWRpdW0tdXAsIHRib2R5LmhpZGUtZm9yLW1lZGl1bSwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRib2R5LmhpZGUtZm9yLWxhcmdlLW9ubHksIHRib2R5LnNob3ctZm9yLWxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci1sYXJnZSwgdGJvZHkuaGlkZS1mb3ItbGFyZ2UtZG93biwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRib2R5LnNob3ctZm9yLXhsYXJnZS11cCwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLCB0Ym9keS5oaWRlLWZvci14bGFyZ2UtZG93biwgdGJvZHkuc2hvdy1mb3IteHhsYXJnZS1vbmx5LCB0Ym9keS5zaG93LWZvci14eGxhcmdlLXVwLCB0Ym9keS5zaG93LWZvci14eGxhcmdlLCB0Ym9keS5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50O1xuICB9XG4gIHRyLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRyLnNob3ctZm9yLXNtYWxsLXVwLCB0ci5oaWRlLWZvci1zbWFsbCwgdHIuaGlkZS1mb3Itc21hbGwtZG93biwgdHIuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRyLnNob3ctZm9yLW1lZGl1bS11cCwgdHIuaGlkZS1mb3ItbWVkaXVtLCB0ci5oaWRlLWZvci1tZWRpdW0tZG93biwgdHIuaGlkZS1mb3ItbGFyZ2Utb25seSwgdHIuc2hvdy1mb3ItbGFyZ2UtdXAsIHRyLmhpZGUtZm9yLWxhcmdlLCB0ci5oaWRlLWZvci1sYXJnZS1kb3duLCB0ci5oaWRlLWZvci14bGFyZ2Utb25seSwgdHIuc2hvdy1mb3IteGxhcmdlLXVwLCB0ci5oaWRlLWZvci14bGFyZ2UsIHRyLmhpZGUtZm9yLXhsYXJnZS1kb3duLCB0ci5zaG93LWZvci14eGxhcmdlLW9ubHksIHRyLnNob3ctZm9yLXh4bGFyZ2UtdXAsIHRyLnNob3ctZm9yLXh4bGFyZ2UsIHRyLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtcm93O1xuICB9XG4gIHRoLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRkLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRoLnNob3ctZm9yLXNtYWxsLXVwLCB0ZC5zaG93LWZvci1zbWFsbC11cCwgdGguaGlkZS1mb3Itc21hbGwsIHRkLmhpZGUtZm9yLXNtYWxsLCB0aC5oaWRlLWZvci1zbWFsbC1kb3duLCB0ZC5oaWRlLWZvci1zbWFsbC1kb3duLCB0aC5oaWRlLWZvci1tZWRpdW0tb25seSwgdGQuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRoLnNob3ctZm9yLW1lZGl1bS11cCwgdGQuc2hvdy1mb3ItbWVkaXVtLXVwLCB0aC5oaWRlLWZvci1tZWRpdW0sIHRkLmhpZGUtZm9yLW1lZGl1bSwgdGguaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRkLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0aC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0ZC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0aC5zaG93LWZvci1sYXJnZS11cCwgdGQuc2hvdy1mb3ItbGFyZ2UtdXAsIHRoLmhpZGUtZm9yLWxhcmdlLCB0ZC5oaWRlLWZvci1sYXJnZSwgdGguaGlkZS1mb3ItbGFyZ2UtZG93biwgdGQuaGlkZS1mb3ItbGFyZ2UtZG93biwgdGguaGlkZS1mb3IteGxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0aC5zaG93LWZvci14bGFyZ2UtdXAsIHRkLnNob3ctZm9yLXhsYXJnZS11cCwgdGguaGlkZS1mb3IteGxhcmdlLCB0ZC5oaWRlLWZvci14bGFyZ2UsIHRoLmhpZGUtZm9yLXhsYXJnZS1kb3duLCB0ZC5oaWRlLWZvci14bGFyZ2UtZG93biwgdGguc2hvdy1mb3IteHhsYXJnZS1vbmx5LCB0ZC5zaG93LWZvci14eGxhcmdlLW9ubHksIHRoLnNob3ctZm9yLXh4bGFyZ2UtdXAsIHRkLnNob3ctZm9yLXh4bGFyZ2UtdXAsIHRoLnNob3ctZm9yLXh4bGFyZ2UsIHRkLnNob3ctZm9yLXh4bGFyZ2UsIHRoLnNob3ctZm9yLXh4bGFyZ2UtZG93biwgdGQuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogT3JpZW50YXRpb24gdGFyZ2V0aW5nICovXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50O1xufVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cbnRhYmxlLmhpZGUtZm9yLWxhbmRzY2FwZSwgdGFibGUuc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xufVxuXG50aGVhZC5oaWRlLWZvci1sYW5kc2NhcGUsIHRoZWFkLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7XG59XG5cbnRib2R5LmhpZGUtZm9yLWxhbmRzY2FwZSwgdGJvZHkuc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDtcbn1cblxudHIuaGlkZS1mb3ItbGFuZHNjYXBlLCB0ci5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xufVxuXG50ZC5oaWRlLWZvci1sYW5kc2NhcGUsIHRkLnNob3ctZm9yLXBvcnRyYWl0LFxudGguaGlkZS1mb3ItbGFuZHNjYXBlLFxudGguc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovXG4gIHRhYmxlLnNob3ctZm9yLWxhbmRzY2FwZSwgdGFibGUuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGhlYWQuc2hvdy1mb3ItbGFuZHNjYXBlLCB0aGVhZC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGJvZHkuc2hvdy1mb3ItbGFuZHNjYXBlLCB0Ym9keS5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7XG4gIH1cbiAgdHIuc2hvdy1mb3ItbGFuZHNjYXBlLCB0ci5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGQuc2hvdy1mb3ItbGFuZHNjYXBlLCB0ZC5oaWRlLWZvci1wb3J0cmFpdCxcbiAgdGguc2hvdy1mb3ItbGFuZHNjYXBlLFxuICB0aC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAuc2hvdy1mb3ItcG9ydHJhaXQsXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUge1xuICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgfVxuICAuaGlkZS1mb3ItcG9ydHJhaXQsXG4gIC5zaG93LWZvci1sYW5kc2NhcGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAvKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cbiAgdGFibGUuc2hvdy1mb3ItcG9ydHJhaXQsIHRhYmxlLmhpZGUtZm9yLWxhbmRzY2FwZSB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICB0aGVhZC5zaG93LWZvci1wb3J0cmFpdCwgdGhlYWQuaGlkZS1mb3ItbGFuZHNjYXBlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDtcbiAgfVxuICB0Ym9keS5zaG93LWZvci1wb3J0cmFpdCwgdGJvZHkuaGlkZS1mb3ItbGFuZHNjYXBlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDtcbiAgfVxuICB0ci5zaG93LWZvci1wb3J0cmFpdCwgdHIuaGlkZS1mb3ItbGFuZHNjYXBlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICB0ZC5zaG93LWZvci1wb3J0cmFpdCwgdGQuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICB0aC5zaG93LWZvci1wb3J0cmFpdCxcbiAgdGguaGlkZS1mb3ItbGFuZHNjYXBlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogVG91Y2gtZW5hYmxlZCBkZXZpY2UgdGFyZ2V0aW5nICovXG4uc2hvdy1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5oaWRlLWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cblxuLnRvdWNoIC5zaG93LWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cblxuLnRvdWNoIC5oaWRlLWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovXG50YWJsZS5oaWRlLWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG59XG5cbi50b3VjaCB0YWJsZS5zaG93LWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG59XG5cbnRoZWFkLmhpZGUtZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7XG59XG5cbi50b3VjaCB0aGVhZC5zaG93LWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50O1xufVxuXG50Ym9keS5oaWRlLWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50O1xufVxuXG4udG91Y2ggdGJvZHkuc2hvdy1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDtcbn1cblxudHIuaGlkZS1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbn1cblxuLnRvdWNoIHRyLnNob3ctZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG59XG5cbnRkLmhpZGUtZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xufVxuXG4udG91Y2ggdGQuc2hvdy1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG59XG5cbnRoLmhpZGUtZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xufVxuXG4udG91Y2ggdGguc2hvdy1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG59XG5cbi8qIFNjcmVlbiByZWFkZXItc3BlY2lmaWMgY2xhc3NlcyAqL1xuLnNob3ctZm9yLXNyIHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi5zaG93LW9uLWZvY3VzIHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi5zaG93LW9uLWZvY3VzOmZvY3VzLCAuc2hvdy1vbi1mb2N1czphY3RpdmUge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4vKiBQcmludCB2aXNpYmlsaXR5ICovXG4ucHJpbnQtb25seSxcbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgLnByaW50LW9ubHksXG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuaGlkZS1vbi1wcmludCxcbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50O1xuICB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDtcbiAgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG59XG5cbltjbGFzcyo9XCJibG9jay1ncmlkLVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgLTAuNjI1cmVtO1xufVxuXG5bY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl06YmVmb3JlLCBbY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl06YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbltjbGFzcyo9XCJibG9jay1ncmlkLVwiXTphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG5bY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl0gPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAwIDAuNjI1cmVtIDEuMjVyZW07XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiB7XG4gIC5zbWFsbC1ibG9jay1ncmlkLTEgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuc21hbGwtYmxvY2stZ3JpZC0xID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAuc21hbGwtYmxvY2stZ3JpZC0xID4gbGk6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTIgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTIgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTIgPiBsaTpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtMyA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtYmxvY2stZ3JpZC0zID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAuc21hbGwtYmxvY2stZ3JpZC0zID4gbGk6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTQgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTQgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTQgPiBsaTpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtNSA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtNSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtNSA+IGxpOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAuc21hbGwtYmxvY2stZ3JpZC02ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTYgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTYgPiBsaTpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtNyA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxNC4yODU3MTQyODU3JTtcbiAgfVxuICAuc21hbGwtYmxvY2stZ3JpZC03ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAuc21hbGwtYmxvY2stZ3JpZC03ID4gbGk6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTggPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTIuNSU7XG4gIH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtOCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtOCA+IGxpOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAuc21hbGwtYmxvY2stZ3JpZC05ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDExLjExMTExMTExMTElO1xuICB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTkgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTkgPiBsaTpudGgtb2YtdHlwZSg5bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtMTAgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTAlO1xuICB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTEwID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAuc21hbGwtYmxvY2stZ3JpZC0xMCA+IGxpOm50aC1vZi10eXBlKDEwbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtMTEgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogOS4wOTA5MDkwOTA5JTtcbiAgfVxuICAuc21hbGwtYmxvY2stZ3JpZC0xMSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtMTEgPiBsaTpudGgtb2YtdHlwZSgxMW4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTEyID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtMTIgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTEyID4gbGk6bnRoLW9mLXR5cGUoMTJuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAubWVkaXVtLWJsb2NrLWdyaWQtMSA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC0xID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtMSA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtMiA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLm1lZGl1bS1ibG9jay1ncmlkLTIgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC0yID4gbGk6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC0zID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC0zID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtMyA+IGxpOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtNCA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLm1lZGl1bS1ibG9jay1ncmlkLTQgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC00ID4gbGk6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC01ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtNSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLm1lZGl1bS1ibG9jay1ncmlkLTUgPiBsaTpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLm1lZGl1bS1ibG9jay1ncmlkLTYgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1ibG9jay1ncmlkLTYgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC02ID4gbGk6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC03ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDE0LjI4NTcxNDI4NTclO1xuICB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC03ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtNyA+IGxpOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtOCA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxMi41JTtcbiAgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtOCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLm1lZGl1bS1ibG9jay1ncmlkLTggPiBsaTpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLm1lZGl1bS1ibG9jay1ncmlkLTkgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTEuMTExMTExMTExMSU7XG4gIH1cbiAgLm1lZGl1bS1ibG9jay1ncmlkLTkgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC05ID4gbGk6bnRoLW9mLXR5cGUoOW4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC0xMCA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxMCU7XG4gIH1cbiAgLm1lZGl1bS1ibG9jay1ncmlkLTEwID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtMTAgPiBsaTpudGgtb2YtdHlwZSgxMG4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC0xMSA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiA5LjA5MDkwOTA5MDklO1xuICB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC0xMSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLm1lZGl1bS1ibG9jay1ncmlkLTExID4gbGk6bnRoLW9mLXR5cGUoMTFuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtMTIgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtMTIgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC0xMiA+IGxpOm50aC1vZi10eXBlKDEybisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmxhcmdlLWJsb2NrLWdyaWQtMSA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTEgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTEgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtMiA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtMiA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtMiA+IGxpOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC0zID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTMgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTMgPiBsaTpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtNCA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtNCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtNCA+IGxpOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC01ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC01ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC01ID4gbGk6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTYgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtNiA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtNiA+IGxpOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC03ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDE0LjI4NTcxNDI4NTclO1xuICB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTcgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTcgPiBsaTpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtOCA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxMi41JTtcbiAgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC04ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC04ID4gbGk6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTkgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTEuMTExMTExMTExMSU7XG4gIH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtOSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtOSA+IGxpOm50aC1vZi10eXBlKDluKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC0xMCA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxMCU7XG4gIH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtMTAgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTEwID4gbGk6bnRoLW9mLXR5cGUoMTBuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC0xMSA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiA5LjA5MDkwOTA5MDklO1xuICB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTExID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC0xMSA+IGxpOm50aC1vZi10eXBlKDExbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtMTIgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC0xMiA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtMTIgPiBsaTpudGgtb2YtdHlwZSgxMm4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAuc21hbGwtb25seS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4ge1xuICAuc21hbGwtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIC5tZWRpdW0tb25seS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSBhbmQgKG1heC13aWR0aDogOTBlbSkge1xuICAubGFyZ2Utb25seS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2Utb25seS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1vbmx5LXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2Utb25seS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MC4wNjI1ZW0pIGFuZCAobWF4LXdpZHRoOiAxMjBlbSkge1xuICAueGxhcmdlLW9ubHktdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnhsYXJnZS1vbmx5LXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnhsYXJnZS1vbmx5LXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAueGxhcmdlLW9ubHktdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MC4wNjI1ZW0pIHtcbiAgLnhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAueGxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMC4wNjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA2MjQ5OTk5LjkzNzVlbSkge1xuICAueHhsYXJnZS1vbmx5LXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC54eGxhcmdlLW9ubHktdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAueHhsYXJnZS1vbmx5LXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAueHhsYXJnZS1vbmx5LXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAueHhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAueHhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC54eGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAueHhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBUeXBvZ3JhcGh5IHJlc2V0cyAqL1xuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyogRGVmYXVsdCBMaW5rIFN0eWxlcyAqL1xuYSB7XG4gIGNvbG9yOiAjMDA5NDVEO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5hOmhvdmVyLCBhOmZvY3VzIHtcbiAgY29sb3I6ICMwMDdmNTA7XG59XG5cbmEgaW1nIHtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4vKiBEZWZhdWx0IHBhcmFncmFwaCBzdHlsZXMgKi9cbnAge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuXG5wLmxlYWQge1xuICBmb250LXNpemU6IDEuMjE4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbnAgYXNpZGUge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiAxLjM1O1xufVxuXG4vKiBEZWZhdWx0IGhlYWRlciBzdHlsZXMgKi9cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBjb2xvcjogIzIyMjIyMjtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG5cbmgxIHNtYWxsLCBoMiBzbWFsbCwgaDMgc21hbGwsIGg0IHNtYWxsLCBoNSBzbWFsbCwgaDYgc21hbGwge1xuICBjb2xvcjogIzZmNmY2ZjtcbiAgZm9udC1zaXplOiA2MCU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMi4xMjVyZW07XG59XG5cbmgyIHtcbiAgZm9udC1zaXplOiAxLjY4NzVyZW07XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbn1cblxuaDQge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xufVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG59XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4uc3ViaGVhZGVyIHtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM2ZjZmNmY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5ociB7XG4gIGJvcmRlcjogc29saWQgI0RERERERDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICBjbGVhcjogYm90aDtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gMCAxLjE4NzVyZW07XG59XG5cbi8qIEhlbHBmdWwgVHlwb2dyYXBoeSBEZWZhdWx0cyAqL1xuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDYwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmNvZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDNlMGRiO1xuICBib3JkZXItY29sb3I6ICNiYWNlYzc7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBjb2xvcjogIzMzMzMzMztcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07XG59XG5cbi8qIExpc3RzICovXG51bCxcbm9sLFxuZGwge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjFyZW07XG59XG5cbi8qIFVub3JkZXJlZCBMaXN0cyAqL1xudWwgbGkgdWwsXG51bCBsaSBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG51bC5zcXVhcmUgbGkgdWwsIHVsLmNpcmNsZSBsaSB1bCwgdWwuZGlzYyBsaSB1bCB7XG4gIGxpc3Qtc3R5bGU6IGluaGVyaXQ7XG59XG5cbnVsLnNxdWFyZSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlO1xuICBtYXJnaW4tbGVmdDogMS4xcmVtO1xufVxuXG51bC5jaXJjbGUge1xuICBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTtcbiAgbWFyZ2luLWxlZnQ6IDEuMXJlbTtcbn1cblxudWwuZGlzYyB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgbWFyZ2luLWxlZnQ6IDEuMXJlbTtcbn1cblxuLyogT3JkZXJlZCBMaXN0cyAqL1xub2wge1xuICBtYXJnaW4tbGVmdDogMS40cmVtO1xufVxuXG5vbCBsaSB1bCxcbm9sIGxpIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5uby1idWxsZXQge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ubm8tYnVsbGV0IGxpIHVsLFxuLm5vLWJ1bGxldCBsaSBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKiBEZWZpbml0aW9uIExpc3RzICovXG5kbCBkdCB7XG4gIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmRsIGRkIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbn1cblxuLyogQWJicmV2aWF0aW9ucyAqL1xuYWJicixcbmFjcm9ueW0ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6ICMxRTI1Mjg7XG4gIGN1cnNvcjogaGVscDtcbn1cblxuYWJiciB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgI0RERERERDtcbn1cblxuLyogQmxvY2txdW90ZXMgKi9cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjREREREREO1xufVxuXG5ibG9ja3F1b3RlIGNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjNTU1NTU1O1xufVxuXG5ibG9ja3F1b3RlIGNpdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIwMTQgXFwwMDIwXCI7XG59XG5cbmJsb2NrcXVvdGUgY2l0ZSBhLFxuYmxvY2txdW90ZSBjaXRlIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjNTU1NTU1O1xufVxuXG5ibG9ja3F1b3RlLFxuYmxvY2txdW90ZSBwIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICM2ZjZmNmY7XG59XG5cbi8qIE1pY3JvZm9ybWF0cyAqL1xuLnZjYXJkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMCAxLjI1cmVtIDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEREREREQ7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDAuNzVyZW07XG59XG5cbi52Y2FyZCBsaSB7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi52Y2FyZCAuZm4ge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG59XG5cbi52ZXZlbnQgLnN1bW1hcnkge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnZldmVudCBhYmJyIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDAgMC4wNjI1cmVtO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDIuNzVyZW07XG4gIH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMi4zMTI1cmVtO1xuICB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuNjg3NXJlbTtcbiAgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjQzNzVyZW07XG4gIH1cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIH1cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuXG4vKlxuICAgICAgICogUHJpbnQgc3R5bGVzLlxuICAgICAgICpcbiAgICAgICAqIElubGluZWQgdG8gYXZvaWQgcmVxdWlyZWQgSFRUUCBjb25uZWN0aW9uOiB3d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuICAgICAgICogQ3JlZGl0IHRvIFBhdWwgSXJpc2ggYW5kIEhUTUw1IEJvaWxlcnBsYXRlIChodG1sNWJvaWxlcnBsYXRlLmNvbSlcbiAgICAgICovXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgLyogQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vcyAqL1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gIH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuICBhW2hyZWZePVwiI1wiXTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk5OTk7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gICAgLyogaDVicC5jb20vdCAqL1xuICB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuMzRpbjtcbiAgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzO1xuICB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gIH1cbn1cblxuYnV0dG9uLCAuYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAxcmVtIDJyZW0gMS4wNjI1cmVtIDJyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTQ1RDtcbiAgYm9yZGVyLWNvbG9yOiAjMDA3NjRhO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyBlYXNlLW91dDtcbn1cblxuYnV0dG9uOmhvdmVyLCBidXR0b246Zm9jdXMsIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3NjRhO1xufVxuXG5idXR0b246aG92ZXIsIGJ1dHRvbjpmb2N1cywgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG5idXR0b24uc2Vjb25kYXJ5LCAuYnV0dG9uLnNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2RDk3ODg7XG4gIGJvcmRlci1jb2xvcjogIzU3Nzk2ZDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIGJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1Nzc5NmQ7XG59XG5cbmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIGJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG5idXR0b24uc3VjY2VzcywgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQzQUM2QTtcbiAgYm9yZGVyLWNvbG9yOiAjMzY4YTU1O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIGJ1dHRvbi5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNjhhNTU7XG59XG5cbmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCBidXR0b24uc3VjY2Vzczpmb2N1cywgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLmFsZXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0JGMEEwRDtcbiAgYm9yZGVyLWNvbG9yOiAjOTkwODBhO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuYnV0dG9uLmFsZXJ0OmhvdmVyLCBidXR0b24uYWxlcnQ6Zm9jdXMsIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTkwODBhO1xufVxuXG5idXR0b24uYWxlcnQ6aG92ZXIsIGJ1dHRvbi5hbGVydDpmb2N1cywgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG5idXR0b24ud2FybmluZywgLmJ1dHRvbi53YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwOGEyNDtcbiAgYm9yZGVyLWNvbG9yOiAjY2Y2ZTBlO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuYnV0dG9uLndhcm5pbmc6aG92ZXIsIGJ1dHRvbi53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZjZlMGU7XG59XG5cbmJ1dHRvbi53YXJuaW5nOmhvdmVyLCBidXR0b24ud2FybmluZzpmb2N1cywgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuYnV0dG9uLmluZm8sIC5idXR0b24uaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMGQzZTg7XG4gIGJvcmRlci1jb2xvcjogIzYxYjZkOTtcbiAgY29sb3I6ICMzMzMzMzM7XG59XG5cbmJ1dHRvbi5pbmZvOmhvdmVyLCBidXR0b24uaW5mbzpmb2N1cywgLmJ1dHRvbi5pbmZvOmhvdmVyLCAuYnV0dG9uLmluZm86Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjFiNmQ5O1xufVxuXG5idXR0b24uaW5mbzpob3ZlciwgYnV0dG9uLmluZm86Zm9jdXMsIC5idXR0b24uaW5mbzpob3ZlciwgLmJ1dHRvbi5pbmZvOmZvY3VzIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbmJ1dHRvbi5sYXJnZSwgLmJ1dHRvbi5sYXJnZSB7XG4gIHBhZGRpbmc6IDEuMTI1cmVtIDIuMjVyZW0gMS4xODc1cmVtIDIuMjVyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cblxuYnV0dG9uLnNtYWxsLCAuYnV0dG9uLnNtYWxsIHtcbiAgcGFkZGluZzogMC44NzVyZW0gMS43NXJlbSAwLjkzNzVyZW0gMS43NXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG59XG5cbmJ1dHRvbi50aW55LCAuYnV0dG9uLnRpbnkge1xuICBwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtIDAuNjg3NXJlbSAxLjI1cmVtO1xuICBmb250LXNpemU6IDAuNjg3NXJlbTtcbn1cblxuYnV0dG9uLmV4cGFuZCwgLmJ1dHRvbi5leHBhbmQge1xuICBwYWRkaW5nOiAxcmVtIDJyZW0gMS4wNjI1cmVtIDJyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuMDYyNXJlbTtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmJ1dHRvbi5sZWZ0LWFsaWduLCAuYnV0dG9uLmxlZnQtYWxpZ24ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWluZGVudDogMC43NXJlbTtcbn1cblxuYnV0dG9uLnJpZ2h0LWFsaWduLCAuYnV0dG9uLnJpZ2h0LWFsaWduIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG59XG5cbmJ1dHRvbi5yYWRpdXMsIC5idXR0b24ucmFkaXVzIHtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xufVxuXG5idXR0b24ucm91bmQsIC5idXR0b24ucm91bmQge1xuICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XG59XG5cbmJ1dHRvbi5kaXNhYmxlZCwgYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NDVEO1xuICBib3JkZXItY29sb3I6ICMwMDc2NGE7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDc2NGE7XG59XG5cbmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk0NUQ7XG59XG5cbmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIGJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZEOTc4ODtcbiAgYm9yZGVyLWNvbG9yOiAjNTc3OTZkO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBvcGFjaXR5OiAwLjc7XG59XG5cbmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1Nzc5NmQ7XG59XG5cbmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkQ5Nzg4O1xufVxuXG5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDNBQzZBO1xuICBib3JkZXItY29sb3I6ICMzNjhhNTU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzY4YTU1O1xufVxuXG5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0M0FDNkE7XG59XG5cbmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkYwQTBEO1xuICBib3JkZXItY29sb3I6ICM5OTA4MGE7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCBidXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTA4MGE7XG59XG5cbmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCBidXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCRjBBMEQ7XG59XG5cbmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCBidXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMDhhMjQ7XG4gIGJvcmRlci1jb2xvcjogI2NmNmUwZTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgb3BhY2l0eTogMC43O1xufVxuXG5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZjZlMGU7XG59XG5cbmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCBidXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCBidXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwOGEyNDtcbn1cblxuYnV0dG9uLmRpc2FibGVkLmluZm8sIGJ1dHRvbltkaXNhYmxlZF0uaW5mbywgLmJ1dHRvbi5kaXNhYmxlZC5pbmZvLCAuYnV0dG9uW2Rpc2FibGVkXS5pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EwZDNlODtcbiAgYm9yZGVyLWNvbG9yOiAjNjFiNmQ5O1xuICBjb2xvcjogIzMzMzMzMztcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBvcGFjaXR5OiAwLjc7XG59XG5cbmJ1dHRvbi5kaXNhYmxlZC5pbmZvOmhvdmVyLCBidXR0b24uZGlzYWJsZWQuaW5mbzpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS5pbmZvOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLmluZm86Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuaW5mbzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5pbmZvOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5pbmZvOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5pbmZvOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYxYjZkOTtcbn1cblxuYnV0dG9uLmRpc2FibGVkLmluZm86aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZC5pbmZvOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLmluZm86aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uaW5mbzpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC5pbmZvOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmluZm86Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmluZm86aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmluZm86Zm9jdXMge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuYnV0dG9uLmRpc2FibGVkLmluZm86aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZC5pbmZvOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLmluZm86aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uaW5mbzpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC5pbmZvOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmluZm86Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmluZm86aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmluZm86Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTBkM2U4O1xufVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8qIFN0YW5kYXJkIEZvcm1zICovXG5mb3JtIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuLyogVXNpbmcgZm9ybXMgd2l0aGluIHJvd3MsIHdlIG5lZWQgdG8gc2V0IHNvbWUgZGVmYXVsdHMgKi9cbmZvcm0gLnJvdyAucm93IHtcbiAgbWFyZ2luOiAwIC0wLjVyZW07XG59XG5cbmZvcm0gLnJvdyAucm93IC5jb2x1bW4sXG5mb3JtIC5yb3cgLnJvdyAuY29sdW1ucyB7XG4gIHBhZGRpbmc6IDAgMC41cmVtO1xufVxuXG5mb3JtIC5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuZm9ybSAucm93IC5yb3cuY29sbGFwc2UgLmNvbHVtbixcbmZvcm0gLnJvdyAucm93LmNvbGxhcHNlIC5jb2x1bW5zIHtcbiAgcGFkZGluZzogMDtcbn1cblxuZm9ybSAucm93IC5yb3cuY29sbGFwc2UgaW5wdXQge1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59XG5cbmZvcm0gLnJvdyBpbnB1dC5jb2x1bW4sXG5mb3JtIC5yb3cgaW5wdXQuY29sdW1ucyxcbmZvcm0gLnJvdyB0ZXh0YXJlYS5jb2x1bW4sXG5mb3JtIC5yb3cgdGV4dGFyZWEuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xufVxuXG4vKiBMYWJlbCBTdHlsZXMgKi9cbmxhYmVsIHtcbiAgY29sb3I6ICM0ZDRkNGQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIC8qIFN0eWxlcyBmb3IgcmVxdWlyZWQgaW5wdXRzICovXG59XG5cbmxhYmVsLnJpZ2h0IHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbmxhYmVsLmlubGluZSB7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMC41NjI1cmVtIDA7XG59XG5cbmxhYmVsIHNtYWxsIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIGNvbG9yOiAjNjc2NzY3O1xufVxuXG4vKiBBdHRhY2ggZWxlbWVudHMgdG8gdGhlIGJlZ2lubmluZyBvciBlbmQgb2YgYW4gaW5wdXQgKi9cbi5wcmVmaXgsXG4ucG9zdGZpeCB7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgaGVpZ2h0OiAyLjE4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjE4NzVyZW07XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjtcbn1cblxuLyogQWRqdXN0IHBhZGRpbmcsIGFsaWdubWVudCBhbmQgcmFkaXVzIGlmIHByZS9wb3N0IGVsZW1lbnQgaXMgYSBidXR0b24gKi9cbi5wb3N0Zml4LmJ1dHRvbiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnByZWZpeC5idXR0b24ge1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wcmVmaXguYnV0dG9uLnJhZGl1cyB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4O1xuICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG59XG5cbi5wb3N0Zml4LmJ1dHRvbi5yYWRpdXMge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcbn1cblxuLnByZWZpeC5idXR0b24ucm91bmQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4O1xufVxuXG4ucG9zdGZpeC5idXR0b24ucm91bmQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwMDBweDtcbn1cblxuLyogU2VwYXJhdGUgcHJlZml4IGFuZCBwb3N0Zml4IHN0eWxlcyB3aGVuIG9uIHNwYW4gb3IgbGFiZWwgc28gYnV0dG9ucyBrZWVwIHRoZWlyIG93biAqL1xuc3Bhbi5wcmVmaXgsIGxhYmVsLnByZWZpeCB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGJvcmRlci1jb2xvcjogI2NjY2NjYztcbn1cblxuc3Bhbi5wb3N0Zml4LCBsYWJlbC5wb3N0Zml4IHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBib3JkZXItY29sb3I6ICNjY2NjY2M7XG59XG5cbi8qIFdlIHVzZSB0aGlzIHRvIGdldCBiYXNpYyBzdHlsaW5nIG9uIGFsbCBiYXNpYyBmb3JtIGVsZW1lbnRzICovXG5pbnB1dDpub3QoW3R5cGVdKSwgaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgaW5wdXRbdHlwZT1cImRhdGVcIl0sIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXSwgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLCBpbnB1dFt0eXBlPVwibW9udGhcIl0sIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sIGlucHV0W3R5cGU9XCJ0ZWxcIl0sIGlucHV0W3R5cGU9XCJ0aW1lXCJdLCBpbnB1dFt0eXBlPVwidXJsXCJdLCBpbnB1dFt0eXBlPVwiY29sb3JcIl0sIHRleHRhcmVhIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItY29sb3I6ICNjY2NjY2M7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzUpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgaGVpZ2h0OiAyLjE4NzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMC41cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGxpbmVhciwgYmFja2dyb3VuZCAwLjE1cyBsaW5lYXI7XG4gIC1tb3otdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGxpbmVhciwgYmFja2dyb3VuZCAwLjE1cyBsaW5lYXI7XG4gIC1tcy10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgbGluZWFyLCBiYWNrZ3JvdW5kIDAuMTVzIGxpbmVhcjtcbiAgLW8tdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGxpbmVhciwgYmFja2dyb3VuZCAwLjE1cyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQgMC4xNXMgbGluZWFyO1xufVxuXG5pbnB1dDpub3QoW3R5cGVdKTpmb2N1cywgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cywgaW5wdXRbdHlwZT1cImRhdGVcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpmb2N1cywgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwibW9udGhcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsIHRleHRhcmVhOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2ZhZmFmYTtcbiAgYm9yZGVyLWNvbG9yOiAjOTk5OTk5O1xuICBvdXRsaW5lOiBub25lO1xufVxuXG5pbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cInRleHRcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cImRhdGVcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwibW9udGhcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwiZW1haWxcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJudW1iZXJcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJ0ZWxcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwidXJsXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwiY29sb3JcIl06ZGlzYWJsZWQsIHRleHRhcmVhOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RERERERDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5pbnB1dDpub3QoW3R5cGVdKVtkaXNhYmxlZF0sIGlucHV0Om5vdChbdHlwZV0pW3JlYWRvbmx5XSxcbmZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dDpub3QoW3R5cGVdKSwgaW5wdXRbdHlwZT1cInRleHRcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwidGV4dFwiXVtyZWFkb25seV0sXG5maWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVtyZWFkb25seV0sXG5maWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZVwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJkYXRlXCJdW3JlYWRvbmx5XSxcbmZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwiZGF0ZVwiXSwgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdW3JlYWRvbmx5XSxcbmZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXVtyZWFkb25seV0sXG5maWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLCBpbnB1dFt0eXBlPVwibW9udGhcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwibW9udGhcIl1bcmVhZG9ubHldLFxuZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJtb250aFwiXSwgaW5wdXRbdHlwZT1cIndlZWtcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwid2Vla1wiXVtyZWFkb25seV0sXG5maWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cIndlZWtcIl0sIGlucHV0W3R5cGU9XCJlbWFpbFwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJlbWFpbFwiXVtyZWFkb25seV0sXG5maWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT1cIm51bWJlclwiXVtyZWFkb25seV0sXG5maWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cIm51bWJlclwiXSwgaW5wdXRbdHlwZT1cInNlYXJjaFwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJzZWFyY2hcIl1bcmVhZG9ubHldLFxuZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sIGlucHV0W3R5cGU9XCJ0ZWxcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwidGVsXCJdW3JlYWRvbmx5XSxcbmZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwidGVsXCJdLCBpbnB1dFt0eXBlPVwidGltZVwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJ0aW1lXCJdW3JlYWRvbmx5XSxcbmZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwidGltZVwiXSwgaW5wdXRbdHlwZT1cInVybFwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJ1cmxcIl1bcmVhZG9ubHldLFxuZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJ1cmxcIl0sIGlucHV0W3R5cGU9XCJjb2xvclwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJjb2xvclwiXVtyZWFkb25seV0sXG5maWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cImNvbG9yXCJdLCB0ZXh0YXJlYVtkaXNhYmxlZF0sIHRleHRhcmVhW3JlYWRvbmx5XSxcbmZpZWxkc2V0W2Rpc2FibGVkXSB0ZXh0YXJlYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEREREREQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuaW5wdXQ6bm90KFt0eXBlXSkucmFkaXVzLCBpbnB1dFt0eXBlPVwidGV4dFwiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJkYXRlXCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cIndlZWtcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwiZW1haWxcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cInNlYXJjaFwiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJ0ZWxcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwidGltZVwiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJ1cmxcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwiY29sb3JcIl0ucmFkaXVzLCB0ZXh0YXJlYS5yYWRpdXMge1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG59XG5cbmZvcm0gLnJvdyAucHJlZml4LXJhZGl1cy5yb3cuY29sbGFwc2UgaW5wdXQsXG5mb3JtIC5yb3cgLnByZWZpeC1yYWRpdXMucm93LmNvbGxhcHNlIHRleHRhcmVhLFxuZm9ybSAucm93IC5wcmVmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSBzZWxlY3QsXG5mb3JtIC5yb3cgLnByZWZpeC1yYWRpdXMucm93LmNvbGxhcHNlIGJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMHB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xufVxuXG5mb3JtIC5yb3cgLnByZWZpeC1yYWRpdXMucm93LmNvbGxhcHNlIC5wcmVmaXgge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4O1xufVxuXG5mb3JtIC5yb3cgLnBvc3RmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSBpbnB1dCxcbmZvcm0gLnJvdyAucG9zdGZpeC1yYWRpdXMucm93LmNvbGxhcHNlIHRleHRhcmVhLFxuZm9ybSAucm93IC5wb3N0Zml4LXJhZGl1cy5yb3cuY29sbGFwc2Ugc2VsZWN0LFxuZm9ybSAucm93IC5wb3N0Zml4LXJhZGl1cy5yb3cuY29sbGFwc2UgYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBweDtcbn1cblxuZm9ybSAucm93IC5wb3N0Zml4LXJhZGl1cy5yb3cuY29sbGFwc2UgLnBvc3RmaXgge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcbn1cblxuZm9ybSAucm93IC5wcmVmaXgtcm91bmQucm93LmNvbGxhcHNlIGlucHV0LFxuZm9ybSAucm93IC5wcmVmaXgtcm91bmQucm93LmNvbGxhcHNlIHRleHRhcmVhLFxuZm9ybSAucm93IC5wcmVmaXgtcm91bmQucm93LmNvbGxhcHNlIHNlbGVjdCxcbmZvcm0gLnJvdyAucHJlZml4LXJvdW5kLnJvdy5jb2xsYXBzZSBidXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwMDBweDtcbn1cblxuZm9ybSAucm93IC5wcmVmaXgtcm91bmQucm93LmNvbGxhcHNlIC5wcmVmaXgge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4O1xufVxuXG5mb3JtIC5yb3cgLnBvc3RmaXgtcm91bmQucm93LmNvbGxhcHNlIGlucHV0LFxuZm9ybSAucm93IC5wb3N0Zml4LXJvdW5kLnJvdy5jb2xsYXBzZSB0ZXh0YXJlYSxcbmZvcm0gLnJvdyAucG9zdGZpeC1yb3VuZC5yb3cuY29sbGFwc2Ugc2VsZWN0LFxuZm9ybSAucm93IC5wb3N0Zml4LXJvdW5kLnJvdy5jb2xsYXBzZSBidXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4O1xufVxuXG5mb3JtIC5yb3cgLnBvc3RmaXgtcm91bmQucm93LmNvbGxhcHNlIC5wb3N0Zml4IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xuICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG59XG5cbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLyogUmVzcGVjdCBlbmZvcmNlZCBhbW91bnQgb2Ygcm93cyBmb3IgdGV4dGFyZWEgKi9cbnRleHRhcmVhW3Jvd3NdIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKiBOb3QgYWxsb3cgcmVzaXplIG91dCBvZiBwYXJlbnQgKi9cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzY2NjY2Njtcbn1cblxuOi1tb3otcGxhY2Vob2xkZXIge1xuICAvKiBGaXJlZm94IDE4LSAqL1xuICBjb2xvcjogIzY2NjY2Njtcbn1cblxuOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgLyogRmlyZWZveCAxOSsgKi9cbiAgY29sb3I6ICM2NjY2NjY7XG59XG5cbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzY2NjY2Njtcbn1cblxuLyogQWRkIGhlaWdodCB2YWx1ZSBmb3Igc2VsZWN0IGVsZW1lbnRzIHRvIG1hdGNoIHRleHQgaW5wdXQgaGVpZ2h0ICovXG5zZWxlY3Qge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWmxjbk5wYjI0OUlqRXVNU0lnZUQwaU1USndlQ0lnZVQwaU1IQjRJaUIzYVdSMGFEMGlNalJ3ZUNJZ2FHVnBaMmgwUFNJemNIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBMklETWlJR1Z1WVdKc1pTMWlZV05yWjNKdmRXNWtQU0p1WlhjZ01DQXdJRFlnTXlJZ2VHMXNPbk53WVdObFBTSndjbVZ6WlhKMlpTSStQSEJ2YkhsbmIyNGdjRzlwYm5SelBTSTFMams1TWl3d0lESXVPVGt5TERNZ0xUQXVNREE0TERBZ0lpOCtQQzl6ZG1jK1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItY29sb3I6ICNjY2NjY2M7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzUpO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGhlaWdodDogMi4xODc1cmVtO1xufVxuXG5zZWxlY3Q6Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5zZWxlY3QucmFkaXVzIHtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xufVxuXG5zZWxlY3Q6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICBib3JkZXItY29sb3I6ICM5OTk5OTk7XG59XG5cbnNlbGVjdDpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEREREREQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuc2VsZWN0W211bHRpcGxlXSB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyogQWRqdXN0IG1hcmdpbiBmb3IgZm9ybSBlbGVtZW50cyBiZWxvdyAqL1xuaW5wdXRbdHlwZT1cImZpbGVcIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5zZWxlY3Qge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKiBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aCAqL1xuaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogSFRNTDUgTnVtYmVyIHNwaW5uZXJzIHNldHRpbmdzICovXG4vKiBXZSBhZGQgYmFzaWMgZmllbGRzZXQgc3R5bGluZyAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjREREREREO1xuICBtYXJnaW46IDEuMTI1cmVtIDA7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG59XG5cbmZpZWxkc2V0IGxlZ2VuZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtO1xuICBwYWRkaW5nOiAwIDAuMTg3NXJlbTtcbn1cblxuLyogRXJyb3IgSGFuZGxpbmcgKi9cbltkYXRhLWFiaWRlXSAuZXJyb3Igc21hbGwuZXJyb3IsIFtkYXRhLWFiaWRlXSAuZXJyb3Igc3Bhbi5lcnJvciwgW2RhdGEtYWJpZGVdIHNwYW4uZXJyb3IsIFtkYXRhLWFiaWRlXSBzbWFsbC5lcnJvciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC41NjI1cmVtIDAuNTYyNXJlbTtcbiAgYmFja2dyb3VuZDogI0JGMEEwRDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbltkYXRhLWFiaWRlXSBzcGFuLmVycm9yLCBbZGF0YS1hYmlkZV0gc21hbGwuZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5zcGFuLmVycm9yLCBzbWFsbC5lcnJvciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC41NjI1cmVtIDAuNTYyNXJlbTtcbiAgYmFja2dyb3VuZDogI0JGMEEwRDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5lcnJvciBpbnB1dCxcbi5lcnJvciB0ZXh0YXJlYSxcbi5lcnJvciBzZWxlY3Qge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZXJyb3IgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuLmVycm9yIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5lcnJvciBsYWJlbCxcbi5lcnJvciBsYWJlbC5lcnJvciB7XG4gIGNvbG9yOiAjQkYwQTBEO1xufVxuXG4uZXJyb3Igc21hbGwuZXJyb3Ige1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNTYyNXJlbSAwLjU2MjVyZW07XG4gIGJhY2tncm91bmQ6ICNCRjBBMEQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uZXJyb3IgPiBsYWJlbCA+IHNtYWxsIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjNjc2NzY3O1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZvbnQtc2l6ZTogNjAlO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG5cbi5lcnJvciBzcGFuLmVycm9yLW1lc3NhZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuaW5wdXQuZXJyb3IsXG50ZXh0YXJlYS5lcnJvcixcbnNlbGVjdC5lcnJvciB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmxhYmVsLmVycm9yIHtcbiAgY29sb3I6ICNCRjBBMEQ7XG59XG5cbi5hbGVydC1ib3gge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBwYWRkaW5nOiAwLjg3NXJlbSAxLjVyZW0gMC44NzVyZW0gMC44NzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBlYXNlLW91dDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTQ1RDtcbiAgYm9yZGVyLWNvbG9yOiAjMDA3ZjUwO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmFsZXJ0LWJveCAuY2xvc2Uge1xuICByaWdodDogMC4yNXJlbTtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAuOTtcbiAgbWFyZ2luLXRvcDogLTAuNjg3NXJlbTtcbiAgb3BhY2l0eTogMC4zO1xuICBwYWRkaW5nOiAwIDZweCA0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG59XG5cbi5hbGVydC1ib3ggLmNsb3NlOmhvdmVyLCAuYWxlcnQtYm94IC5jbG9zZTpmb2N1cyB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLmFsZXJ0LWJveC5yYWRpdXMge1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG59XG5cbi5hbGVydC1ib3gucm91bmQge1xuICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XG59XG5cbi5hbGVydC1ib3guc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0M0FDNkE7XG4gIGJvcmRlci1jb2xvcjogIzNhOTQ1YjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5hbGVydC1ib3guYWxlcnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkYwQTBEO1xuICBib3JkZXItY29sb3I6ICNhNDA5MGI7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uYWxlcnQtYm94LnNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2RDk3ODg7XG4gIGJvcmRlci1jb2xvcjogIzVkODM3NTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5hbGVydC1ib3gud2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMDhhMjQ7XG4gIGJvcmRlci1jb2xvcjogI2RlNzcwZjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5hbGVydC1ib3guaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMGQzZTg7XG4gIGJvcmRlci1jb2xvcjogIzc0YmZkZDtcbiAgY29sb3I6ICMyNTM0MmU7XG59XG5cbi5hbGVydC1ib3guYWxlcnQtY2xvc2Uge1xuICBvcGFjaXR5OiAwO1xufVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW0gMC4yNXJlbTtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk0NUQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4ubGFiZWwucmFkaXVzIHtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xufVxuXG4ubGFiZWwucm91bmQge1xuICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XG59XG5cbi5sYWJlbC5hbGVydCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCRjBBMEQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4ubGFiZWwud2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMDhhMjQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4ubGFiZWwuc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0M0FDNkE7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4ubGFiZWwuc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZEOTc4ODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5sYWJlbC5pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EwZDNlODtcbiAgY29sb3I6ICMzMzMzMzM7XG59XG5cbi5pbmxpbmUtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuMDYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjM3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uaW5saW5lLWxpc3QgPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDEuMzc1cmVtO1xufVxuXG4uaW5saW5lLWxpc3QgPiBsaSA+ICoge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogUGFuZWxzICovXG4ucGFuZWwge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLWNvbG9yOiAjZDhkOGQ4O1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBjb2xvcjogIzMzMzMzMztcbn1cblxuLnBhbmVsID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnBhbmVsID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucGFuZWwgaDEsIC5wYW5lbCBoMiwgLnBhbmVsIGgzLCAucGFuZWwgaDQsIC5wYW5lbCBoNSwgLnBhbmVsIGg2LCAucGFuZWwgcCwgLnBhbmVsIGxpLCAucGFuZWwgZGwge1xuICBjb2xvcjogIzMzMzMzMztcbn1cblxuLnBhbmVsIGgxLCAucGFuZWwgaDIsIC5wYW5lbCBoMywgLnBhbmVsIGg0LCAucGFuZWwgaDUsIC5wYW5lbCBoNiB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbn1cblxuLnBhbmVsIGgxLnN1YmhlYWRlciwgLnBhbmVsIGgyLnN1YmhlYWRlciwgLnBhbmVsIGgzLnN1YmhlYWRlciwgLnBhbmVsIGg0LnN1YmhlYWRlciwgLnBhbmVsIGg1LnN1YmhlYWRlciwgLnBhbmVsIGg2LnN1YmhlYWRlciB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5wYW5lbC5jYWxsb3V0IHtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1jb2xvcjogI2Q4ZDhkODtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYmFja2dyb3VuZDogI2U5ZmZmNztcbiAgY29sb3I6ICMzMzMzMzM7XG59XG5cbi5wYW5lbC5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnBhbmVsLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5wYW5lbC5jYWxsb3V0IGgxLCAucGFuZWwuY2FsbG91dCBoMiwgLnBhbmVsLmNhbGxvdXQgaDMsIC5wYW5lbC5jYWxsb3V0IGg0LCAucGFuZWwuY2FsbG91dCBoNSwgLnBhbmVsLmNhbGxvdXQgaDYsIC5wYW5lbC5jYWxsb3V0IHAsIC5wYW5lbC5jYWxsb3V0IGxpLCAucGFuZWwuY2FsbG91dCBkbCB7XG4gIGNvbG9yOiAjMzMzMzMzO1xufVxuXG4ucGFuZWwuY2FsbG91dCBoMSwgLnBhbmVsLmNhbGxvdXQgaDIsIC5wYW5lbC5jYWxsb3V0IGgzLCAucGFuZWwuY2FsbG91dCBoNCwgLnBhbmVsLmNhbGxvdXQgaDUsIC5wYW5lbC5jYWxsb3V0IGg2IHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xufVxuXG4ucGFuZWwuY2FsbG91dCBoMS5zdWJoZWFkZXIsIC5wYW5lbC5jYWxsb3V0IGgyLnN1YmhlYWRlciwgLnBhbmVsLmNhbGxvdXQgaDMuc3ViaGVhZGVyLCAucGFuZWwuY2FsbG91dCBoNC5zdWJoZWFkZXIsIC5wYW5lbC5jYWxsb3V0IGg1LnN1YmhlYWRlciwgLnBhbmVsLmNhbGxvdXQgaDYuc3ViaGVhZGVyIHtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLnBhbmVsLmNhbGxvdXQgYTpub3QoLmJ1dHRvbikge1xuICBjb2xvcjogIzAwOTQ1RDtcbn1cblxuLnBhbmVsLmNhbGxvdXQgYTpub3QoLmJ1dHRvbik6aG92ZXIsIC5wYW5lbC5jYWxsb3V0IGE6bm90KC5idXR0b24pOmZvY3VzIHtcbiAgY29sb3I6ICMwMDdmNTA7XG59XG5cbi5wYW5lbC5yYWRpdXMge1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG59XG5cbnVsLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IC0wLjMxMjVyZW07XG4gIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbn1cblxudWwucGFnaW5hdGlvbiBsaSB7XG4gIGNvbG9yOiAjMjIyMjIyO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbn1cblxudWwucGFnaW5hdGlvbiBsaSBhLCB1bC5wYWdpbmF0aW9uIGxpIGJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyBlYXNlLW91dDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6ICM5OTk5OTk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDAuMDYyNXJlbSAwLjYyNXJlbSAwLjA2MjVyZW07XG59XG5cbnVsLnBhZ2luYXRpb24gbGk6aG92ZXIgYSxcbnVsLnBhZ2luYXRpb24gbGkgYTpmb2N1cyxcbnVsLnBhZ2luYXRpb24gbGk6aG92ZXIgYnV0dG9uLFxudWwucGFnaW5hdGlvbiBsaSBidXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xufVxuXG51bC5wYWdpbmF0aW9uIGxpLnVuYXZhaWxhYmxlIGEsIHVsLnBhZ2luYXRpb24gbGkudW5hdmFpbGFibGUgYnV0dG9uIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBjb2xvcjogIzk5OTk5OTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbnVsLnBhZ2luYXRpb24gbGkudW5hdmFpbGFibGU6aG92ZXIgYSxcbnVsLnBhZ2luYXRpb24gbGkudW5hdmFpbGFibGUgYTpmb2N1cyxcbnVsLnBhZ2luYXRpb24gbGkudW5hdmFpbGFibGU6aG92ZXIgYnV0dG9uLFxudWwucGFnaW5hdGlvbiBsaS51bmF2YWlsYWJsZSBidXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxudWwucGFnaW5hdGlvbiBsaS5jdXJyZW50IGEsIHVsLnBhZ2luYXRpb24gbGkuY3VycmVudCBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjMDA5NDVEO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxudWwucGFnaW5hdGlvbiBsaS5jdXJyZW50IGE6aG92ZXIsIHVsLnBhZ2luYXRpb24gbGkuY3VycmVudCBhOmZvY3VzLCB1bC5wYWdpbmF0aW9uIGxpLmN1cnJlbnQgYnV0dG9uOmhvdmVyLCB1bC5wYWdpbmF0aW9uIGxpLmN1cnJlbnQgYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogIzAwOTQ1RDtcbn1cblxudWwucGFnaW5hdGlvbiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLyogUGFnaW5hdGlvbiBjZW50cmVkIHdyYXBwZXIgKi9cbi5wYWdpbmF0aW9uLWNlbnRlcmVkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucGFnaW5hdGlvbi1jZW50ZXJlZCB1bC5wYWdpbmF0aW9uIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbm9uZTtcbn1cblxuLyogUHJvZ3Jlc3MgQmFyICovXG4ucHJvZ3Jlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjZGNkY2O1xuICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcbiAgaGVpZ2h0OiAxLjU2MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICBwYWRkaW5nOiAwLjEyNXJlbTtcbn1cblxuLnByb2dyZXNzIC5tZXRlciB7XG4gIGJhY2tncm91bmQ6ICMwMDk0NUQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMCU7XG59XG5cbi5wcm9ncmVzcyAubWV0ZXIuc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogIzZEOTc4ODtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAwJTtcbn1cblxuLnByb2dyZXNzIC5tZXRlci5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZDogIzQzQUM2QTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAwJTtcbn1cblxuLnByb2dyZXNzIC5tZXRlci5hbGVydCB7XG4gIGJhY2tncm91bmQ6ICNCRjBBMEQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMCU7XG59XG5cbi5wcm9ncmVzcy5zZWNvbmRhcnkgLm1ldGVyIHtcbiAgYmFja2dyb3VuZDogIzZEOTc4ODtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAwJTtcbn1cblxuLnByb2dyZXNzLnN1Y2Nlc3MgLm1ldGVyIHtcbiAgYmFja2dyb3VuZDogIzQzQUM2QTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAwJTtcbn1cblxuLnByb2dyZXNzLmFsZXJ0IC5tZXRlciB7XG4gIGJhY2tncm91bmQ6ICNCRjBBMEQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMCU7XG59XG5cbi5wcm9ncmVzcy5yYWRpdXMge1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG59XG5cbi5wcm9ncmVzcy5yYWRpdXMgLm1ldGVyIHtcbiAgYm9yZGVyLXJhZGl1czogLTFweDtcbn1cblxuLnByb2dyZXNzLnJvdW5kIHtcbiAgYm9yZGVyLXJhZGl1czogMTAwMHB4O1xufVxuXG4ucHJvZ3Jlc3Mucm91bmQgLm1ldGVyIHtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG59XG5cbi5yZXZlYWwtbW9kYWwtYmcge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwNDtcbiAgbGVmdDogMDtcbn1cblxuLnJldmVhbC1tb2RhbCB7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIHBhZGRpbmc6IDEuODc1cmVtO1xuICBib3JkZXI6IHNvbGlkIDFweCAjNjY2NjY2O1xuICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsLW1vZGFsIHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgfVxufVxuXG4ucmV2ZWFsLW1vZGFsIC5jb2x1bW4sIC5yZXZlYWwtbW9kYWwgLmNvbHVtbnMge1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5yZXZlYWwtbW9kYWwgPiA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ucmV2ZWFsLW1vZGFsID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAucmV2ZWFsLW1vZGFsIHtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogNjIuNXJlbTtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogODAlO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5yZXZlYWwtbW9kYWwge1xuICAgIHRvcDogNi4yNXJlbTtcbiAgfVxufVxuXG4ucmV2ZWFsLW1vZGFsLnJhZGl1cyB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbn1cblxuLnJldmVhbC1tb2RhbC5yb3VuZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDEwMDBweDtcbn1cblxuLnJldmVhbC1tb2RhbC5jb2xsYXBzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5yZXZlYWwtbW9kYWwudGlueSB7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDYyLjVyZW07XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDMwJTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAucmV2ZWFsLW1vZGFsLnNtYWxsIHtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogNjIuNXJlbTtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogNDAlO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5yZXZlYWwtbW9kYWwubWVkaXVtIHtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogNjIuNXJlbTtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogNjAlO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5yZXZlYWwtbW9kYWwubGFyZ2Uge1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiA2Mi41cmVtO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiA3MCU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLnJldmVhbC1tb2RhbC54bGFyZ2Uge1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiA2Mi41cmVtO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiA5NSU7XG4gIH1cbn1cblxuLnJldmVhbC1tb2RhbC5mdWxsIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIHRvcDogMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLnJldmVhbC1tb2RhbC5mdWxsIHtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogNjIuNXJlbTtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ucmV2ZWFsLW1vZGFsLnRvYmFjayB7XG4gIHotaW5kZXg6IDEwMDM7XG59XG5cbi5yZXZlYWwtbW9kYWwgLmNsb3NlLXJldmVhbC1tb2RhbCB7XG4gIGNvbG9yOiAjQUFBQUFBO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjYyNXJlbTtcbiAgcmlnaHQ6IDEuMzc1cmVtO1xufVxuXG4udGFicyB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi50YWJzOmJlZm9yZSwgLnRhYnM6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi50YWJzOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi50YWJzIGRkLFxuLnRhYnMgLnRhYi10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRhYnMgZGQgPiBhLFxuLnRhYnMgLnRhYi10aXRsZSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U2RTFDMjtcbiAgY29sb3I6ICMyMjIyMjI7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFyZW07XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS41cmVtO1xufVxuXG4udGFicyBkZCA+IGE6aG92ZXIsXG4udGFicyAudGFiLXRpdGxlID4gYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZmQ4YjA7XG59XG5cbi50YWJzIGRkLmFjdGl2ZSA+IGEsXG4udGFicyAudGFiLXRpdGxlLmFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmM2U2O1xuICBjb2xvcjogIzIyMjIyMjtcbn1cblxuLnRhYnMucmFkaXVzIGRkOmZpcnN0LWNoaWxkIGEsXG4udGFicy5yYWRpdXMgLnRhYjpmaXJzdC1jaGlsZCBhIHtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBweDtcbn1cblxuLnRhYnMucmFkaXVzIGRkOmxhc3QtY2hpbGQgYSxcbi50YWJzLnJhZGl1cyAudGFiOmxhc3QtY2hpbGQgYSB7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMHB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xufVxuXG4udGFicy52ZXJ0aWNhbCBkZCxcbi50YWJzLnZlcnRpY2FsIC50YWItdGl0bGUge1xuICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IGF1dG87XG59XG5cbi50YWJzLWNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udGFicy1jb250ZW50OmJlZm9yZSwgLnRhYnMtY29udGVudDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnRhYnMtY29udGVudDphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4udGFicy1jb250ZW50ID4gLmNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMC45Mzc1cmVtIDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udGFicy1jb250ZW50ID4gLmNvbnRlbnQuYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xufVxuXG4udGFicy1jb250ZW50ID4gLmNvbnRlbnQuY29udGFpbmVkIHtcbiAgcGFkZGluZzogMC45Mzc1cmVtO1xufVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwgPiAuY29udGVudCB7XG4gIHBhZGRpbmc6IDAgMC45Mzc1cmVtO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDIwJTtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIG1heC13aWR0aDogODAlO1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICB3aWR0aDogODAlO1xuICB9XG59XG5cbi5uby1qcyAudGFicy1jb250ZW50ID4gLmNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG59XG5cbm1ldGEuZm91bmRhdGlvbi1tcS10b3BiYXIge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NDYuNTYyNWVtKS9cIjtcbiAgd2lkdGg6IDQ2LjU2MjVlbTtcbn1cblxuLyogV3JhcHBlZCBhcm91bmQgLnRvcC1iYXIgdG8gY29udGFpbiB0byBncmlkIHdpZHRoICovXG4uY29udGFpbi10by1ncmlkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMxRTI1Mjg7XG59XG5cbi5jb250YWluLXRvLWdyaWQgLnRvcC1iYXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5O1xuICBsZWZ0OiAwO1xufVxuXG4uZml4ZWQuZXhwYW5kZWQ6bm90KC50b3AtYmFyKSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5maXhlZC5leHBhbmRlZDpub3QoLnRvcC1iYXIpIC50aXRsZS1hcmVhIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTk7XG59XG5cbi5maXhlZC5leHBhbmRlZDpub3QoLnRvcC1iYXIpIC50b3AtYmFyLXNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiAyLjgxMjVyZW07XG4gIHotaW5kZXg6IDk4O1xufVxuXG4udG9wLWJhciB7XG4gIGJhY2tncm91bmQ6ICMxRTI1Mjg7XG4gIGhlaWdodDogMi44MTI1cmVtO1xuICBsaW5lLWhlaWdodDogMi44MTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50b3AtYmFyIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnRvcC1iYXIgLnJvdyB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLnRvcC1iYXIgZm9ybSxcbi50b3AtYmFyIGlucHV0LFxuLnRvcC1iYXIgc2VsZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnRvcC1iYXIgaW5wdXQsXG4udG9wLWJhciBzZWxlY3Qge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGhlaWdodDogMS43NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IC4zNXJlbTtcbiAgcGFkZGluZy10b3A6IC4zNXJlbTtcbn1cblxuLnRvcC1iYXIgLmJ1dHRvbiwgLnRvcC1iYXIgYnV0dG9uIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMC40MTI1cmVtO1xuICBwYWRkaW5nLXRvcDogMC40MTI1cmVtO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgLnRvcC1iYXIgLmJ1dHRvbiwgLnRvcC1iYXIgYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMXB4O1xuICB9XG59XG5cbi50b3AtYmFyIC50aXRsZS1hcmVhIHtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50b3AtYmFyIC5uYW1lIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBoZWlnaHQ6IDIuODEyNXJlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG4udG9wLWJhciAubmFtZSBoMSwgLnRvcC1iYXIgLm5hbWUgaDIsIC50b3AtYmFyIC5uYW1lIGgzLCAudG9wLWJhciAubmFtZSBoNCwgLnRvcC1iYXIgLm5hbWUgcCwgLnRvcC1iYXIgLm5hbWUgc3BhbiB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMi44MTI1cmVtO1xuICBtYXJnaW46IDA7XG59XG5cbi50b3AtYmFyIC5uYW1lIGgxIGEsIC50b3AtYmFyIC5uYW1lIGgyIGEsIC50b3AtYmFyIC5uYW1lIGgzIGEsIC50b3AtYmFyIC5uYW1lIGg0IGEsIC50b3AtYmFyIC5uYW1lIHAgYSwgLnRvcC1iYXIgLm5hbWUgc3BhbiBhIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDAuOTM3NXJlbTtcbiAgd2lkdGg6IDc1JTtcbn1cblxuLnRvcC1iYXIgLnRvZ2dsZS10b3BiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG59XG5cbi50b3AtYmFyIC50b2dnbGUtdG9wYmFyIGEge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjgxMjVyZW07XG4gIHBhZGRpbmc6IDAgMC45Mzc1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi50b3AtYmFyIC50b2dnbGUtdG9wYmFyLm1lbnUtaWNvbiB7XG4gIG1hcmdpbi10b3A6IC0xNnB4O1xuICB0b3A6IDUwJTtcbn1cblxuLnRvcC1iYXIgLnRvZ2dsZS10b3BiYXIubWVudS1pY29uIGEge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgaGVpZ2h0OiAzNHB4O1xuICBsaW5lLWhlaWdodDogMzNweDtcbiAgcGFkZGluZzogMCAyLjVyZW0gMCAwLjkzNzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRvcC1iYXIgLnRvZ2dsZS10b3BiYXIubWVudS1pY29uIGEgc3Bhbjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6IC04cHg7XG4gIHRvcDogNTAlO1xuICByaWdodDogMC45Mzc1cmVtO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI0ZGRkZGRiwgMCA3cHggMCAxcHggI0ZGRkZGRiwgMCAxNHB4IDAgMXB4ICNGRkZGRkY7XG4gIHdpZHRoOiAxNnB4O1xufVxuXG4udG9wLWJhciAudG9nZ2xlLXRvcGJhci5tZW51LWljb24gYSBzcGFuOmhvdmVyOmFmdGVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IFwiXCIsIDAgN3B4IDAgMXB4IFwiXCIsIDAgMTRweCAwIDFweCBcIlwiO1xufVxuXG4udG9wLWJhci5leHBhbmRlZCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi50b3AtYmFyLmV4cGFuZGVkIC50aXRsZS1hcmVhIHtcbiAgYmFja2dyb3VuZDogIzFFMjUyODtcbn1cblxuLnRvcC1iYXIuZXhwYW5kZWQgLnRvZ2dsZS10b3BiYXIgYSB7XG4gIGNvbG9yOiAjODg4ODg4O1xufVxuXG4udG9wLWJhci5leHBhbmRlZCAudG9nZ2xlLXRvcGJhciBhIHNwYW46OmFmdGVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM4ODg4ODgsIDAgN3B4IDAgMXB4ICM4ODg4ODgsIDAgMTRweCAwIDFweCAjODg4ODg4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7XG4gIC50b3AtYmFyLmV4cGFuZGVkIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93bi5tb3ZlZCA+IC5kcm9wZG93bixcbiAgLnRvcC1iYXIuZXhwYW5kZWQgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24ge1xuICAgIGNsaXA6IGluaXRpYWw7XG4gIH1cbiAgLnRvcC1iYXIuZXhwYW5kZWQgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duOm5vdCgubW92ZWQpID4gdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLnRvcC1iYXItc2VjdGlvbiB7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIHRyYW5zaXRpb246IGxlZnQgMzAwbXMgZWFzZS1vdXQ7XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gdWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gLmRpdmlkZXIsXG4udG9wLWJhci1zZWN0aW9uIFtyb2xlPVwic2VwYXJhdG9yXCJdIHtcbiAgYm9yZGVyLXRvcDogc29saWQgMXB4ICMwZjEzMTQ7XG4gIGNsZWFyOiBib3RoO1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gdWwgbGkge1xuICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xufVxuXG4udG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYSB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgcGFkZGluZzogMTJweCAwIDEycHggMC45Mzc1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NDVEO1xuICBib3JkZXItY29sb3I6ICMwMDc2NGE7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4udG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b246aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDc2NGE7XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbjpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uOmZvY3VzIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkQ5Nzg4O1xuICBib3JkZXItY29sb3I6ICM1Nzc5NmQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4udG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU3Nzk2ZDtcbn1cblxuLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4udG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0M0FDNkE7XG4gIGJvcmRlci1jb2xvcjogIzM2OGE1NTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNjhhNTU7XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4udG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uYWxlcnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkYwQTBEO1xuICBib3JkZXItY29sb3I6ICM5OTA4MGE7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4udG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uYWxlcnQ6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTA4MGE7XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5hbGVydDpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi53YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwOGEyNDtcbiAgYm9yZGVyLWNvbG9yOiAjY2Y2ZTBlO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NmNmUwZTtcbn1cblxuLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EwZDNlODtcbiAgYm9yZGVyLWNvbG9yOiAjNjFiNmQ5O1xuICBjb2xvcjogIzMzMzMzMztcbn1cblxuLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLmluZm86aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5pbmZvOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYxYjZkOTtcbn1cblxuLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLmluZm86aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5pbmZvOmZvY3VzIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24ge1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTQ1RDtcbiAgYm9yZGVyLWNvbG9yOiAjMDA3NjRhO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbjpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDc2NGE7XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b246aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b246Zm9jdXMge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkQ5Nzg4O1xuICBib3JkZXItY29sb3I6ICM1Nzc5NmQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4udG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTc3OTZkO1xufVxuXG4udG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQzQUM2QTtcbiAgYm9yZGVyLWNvbG9yOiAjMzY4YTU1O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzY4YTU1O1xufVxuXG4udG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4udG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLmFsZXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0JGMEEwRDtcbiAgYm9yZGVyLWNvbG9yOiAjOTkwODBhO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5hbGVydDpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTA4MGE7XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uYWxlcnQ6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uYWxlcnQ6Zm9jdXMge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi53YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwOGEyNDtcbiAgYm9yZGVyLWNvbG9yOiAjY2Y2ZTBlO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi53YXJuaW5nOmhvdmVyLCAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2Y2ZTBlO1xufVxuXG4udG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLndhcm5pbmc6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24ud2FybmluZzpmb2N1cyB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4udG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLmluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTBkM2U4O1xuICBib3JkZXItY29sb3I6ICM2MWI2ZDk7XG4gIGNvbG9yOiAjMzMzMzMzO1xufVxuXG4udG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLmluZm86aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uaW5mbzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2MWI2ZDk7XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uaW5mbzpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5pbmZvOmZvY3VzIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gdWwgbGk6aG92ZXI6bm90KC5oYXMtZm9ybSkgPiBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTU1NTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQ6ICMyMjIyMjI7XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gdWwgbGkuYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6ICMwMDk0NUQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4udG9wLWJhci1zZWN0aW9uIHVsIGxpLmFjdGl2ZSA+IGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMDA3ZjUwO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnRvcC1iYXItc2VjdGlvbiAuaGFzLWZvcm0ge1xuICBwYWRkaW5nOiAwLjkzNzVyZW07XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duID4gYTphZnRlciB7XG4gIGJvcmRlcjogaW5zZXQgNXB4O1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gIG1hcmdpbi10b3A6IC00LjVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDA7XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93bi5tb3ZlZCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93bi5tb3ZlZCA+IC5kcm9wZG93biB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93bi5tb3ZlZCA+IGE6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDk5O1xuICBsZWZ0OiAxMDAlO1xufVxuXG4udG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsaSB7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpIGEge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiA4cHggMC45Mzc1cmVtO1xufVxuXG4udG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsaSBhLnBhcmVudC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkudGl0bGUgaDUsIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpLnBhcmVudC1saW5rIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbn1cblxuLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkudGl0bGUgaDUgYSwgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkucGFyZW50LWxpbmsgYSB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkudGl0bGUgaDUgYTpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkucGFyZW50LWxpbmsgYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpLmhhcy1mb3JtIHtcbiAgcGFkZGluZzogOHB4IDAuOTM3NXJlbTtcbn1cblxuLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkgLmJ1dHRvbixcbi50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpIGJ1dHRvbiB7XG4gIHRvcDogYXV0bztcbn1cblxuLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGFiZWwge1xuICBjb2xvcjogIzc3Nzc3NztcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDhweCAwLjkzNzVyZW0gMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uanMtZ2VuZXJhdGVkIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDYuNTYyNWVtKSB7XG4gIC50b3AtYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMUUyNTI4O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG4gIC50b3AtYmFyOmJlZm9yZSwgLnRvcC1iYXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG4gIC50b3AtYmFyOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAudG9wLWJhciAudG9nZ2xlLXRvcGJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAudG9wLWJhciAudGl0bGUtYXJlYSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLnRvcC1iYXIgLm5hbWUgaDEgYSxcbiAgLnRvcC1iYXIgLm5hbWUgaDIgYSxcbiAgLnRvcC1iYXIgLm5hbWUgaDMgYSxcbiAgLnRvcC1iYXIgLm5hbWUgaDQgYSxcbiAgLnRvcC1iYXIgLm5hbWUgaDUgYSxcbiAgLnRvcC1iYXIgLm5hbWUgaDYgYSB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLnRvcC1iYXIgaW5wdXQsXG4gIC50b3AtYmFyIHNlbGVjdCxcbiAgLnRvcC1iYXIgLmJ1dHRvbixcbiAgLnRvcC1iYXIgYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjUzMTI1cmVtO1xuICB9XG4gIC50b3AtYmFyIC5oYXMtZm9ybSA+IC5idXR0b24sXG4gIC50b3AtYmFyIC5oYXMtZm9ybSA+IGJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC41MzEyNXJlbTtcbiAgfVxuICAudG9wLWJhci5leHBhbmRlZCB7XG4gICAgYmFja2dyb3VuZDogIzFFMjUyODtcbiAgfVxuICAuY29udGFpbi10by1ncmlkIC50b3AtYmFyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1heC13aWR0aDogNjIuNXJlbTtcbiAgfVxuICAudG9wLWJhci1zZWN0aW9uIHtcbiAgICB0cmFuc2l0aW9uOiBub25lIDAgMDtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRvcC1iYXItc2VjdGlvbiB1bCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgLmpzLWdlbmVyYXRlZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAudG9wLWJhci1zZWN0aW9uIGxpLmhvdmVyID4gYTpub3QoLmJ1dHRvbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTU1NTU7XG4gICAgYmFja2dyb3VuZDogIzIyMjIyMjtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgfVxuICAudG9wLWJhci1zZWN0aW9uIGxpOm5vdCguaGFzLWZvcm0pIGE6bm90KC5idXR0b24pIHtcbiAgICBiYWNrZ3JvdW5kOiAjMUUyNTI4O1xuICAgIGxpbmUtaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgcGFkZGluZzogMCAwLjkzNzVyZW07XG4gIH1cbiAgLnRvcC1iYXItc2VjdGlvbiBsaTpub3QoLmhhcy1mb3JtKSBhOm5vdCguYnV0dG9uKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTU1NTtcbiAgICBiYWNrZ3JvdW5kOiAjMjIyMjIyO1xuICB9XG4gIC50b3AtYmFyLXNlY3Rpb24gbGkuYWN0aXZlOm5vdCguaGFzLWZvcm0pIGE6bm90KC5idXR0b24pIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA5NDVEO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgcGFkZGluZzogMCAwLjkzNzVyZW07XG4gIH1cbiAgLnRvcC1iYXItc2VjdGlvbiBsaS5hY3RpdmU6bm90KC5oYXMtZm9ybSkgYTpub3QoLmJ1dHRvbik6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwMDdmNTA7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gIH1cbiAgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMi4xODc1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duID4gYTphZnRlciB7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgbWFyZ2luLXRvcDogLTIuNXB4O1xuICAgIHRvcDogMS40MDYyNXJlbTtcbiAgfVxuICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24ubW92ZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24ubW92ZWQgPiAuZHJvcGRvd24ge1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duLmhvdmVyID4gLmRyb3Bkb3duLCAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24ubm90LWNsaWNrOmhvdmVyID4gLmRyb3Bkb3duIHtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duID4gYTpmb2N1cyArIC5kcm9wZG93biB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB9XG4gIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93biAuZHJvcGRvd24gbGkuaGFzLWRyb3Bkb3duID4gYTphZnRlciB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXFwwMGJiXCI7XG4gICAgdG9wOiAwLjE4NzVyZW07XG4gICAgcmlnaHQ6IDVweDtcbiAgfVxuICAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biB7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG4gIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpIGEge1xuICAgIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgbGluZS1oZWlnaHQ6IDIuODEyNXJlbTtcbiAgICBwYWRkaW5nOiAxMnB4IDAuOTM3NXJlbTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpOm5vdCguaGFzLWZvcm0pOm5vdCguYWN0aXZlKSA+IGE6bm90KC5idXR0b24pIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICB9XG4gIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpOm5vdCguaGFzLWZvcm0pOm5vdCguYWN0aXZlKTpob3ZlciA+IGE6bm90KC5idXR0b24pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1NTU1O1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGJhY2tncm91bmQ6ICMyMjIyMjI7XG4gIH1cbiAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkgbGFiZWwge1xuICAgIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsaSAuZHJvcGRvd24ge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICB9XG4gIC50b3AtYmFyLXNlY3Rpb24gPiB1bCA+IC5kaXZpZGVyLFxuICAudG9wLWJhci1zZWN0aW9uID4gdWwgPiBbcm9sZT1cInNlcGFyYXRvclwiXSB7XG4gICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggIzM3NDM0OTtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgY2xlYXI6IG5vbmU7XG4gICAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgd2lkdGg6IDA7XG4gIH1cbiAgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWZvcm0ge1xuICAgIGJhY2tncm91bmQ6ICMxRTI1Mjg7XG4gICAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgcGFkZGluZzogMCAwLjkzNzVyZW07XG4gIH1cbiAgLnRvcC1iYXItc2VjdGlvbiAucmlnaHQgbGkgLmRyb3Bkb3duIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIC50b3AtYmFyLXNlY3Rpb24gLnJpZ2h0IGxpIC5kcm9wZG93biBsaSAuZHJvcGRvd24ge1xuICAgIHJpZ2h0OiAxMDAlO1xuICB9XG4gIC50b3AtYmFyLXNlY3Rpb24gLmxlZnQgbGkgLmRyb3Bkb3duIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC50b3AtYmFyLXNlY3Rpb24gLmxlZnQgbGkgLmRyb3Bkb3duIGxpIC5kcm9wZG93biB7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICAubm8tanMgLnRvcC1iYXItc2VjdGlvbiB1bCBsaTpob3ZlciA+IGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTU1NTU7XG4gICAgYmFja2dyb3VuZDogIzIyMjIyMjtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgfVxuICAubm8tanMgLnRvcC1iYXItc2VjdGlvbiB1bCBsaTphY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA5NDVEO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICB9XG4gIC5uby1qcyAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd246aG92ZXIgPiAuZHJvcGRvd24ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgfVxuICAubm8tanMgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duID4gYTpmb2N1cyArIC5kcm9wZG93biB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zaWRlLW5hdiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuODc1cmVtIDA7XG59XG5cbi5zaWRlLW5hdiBsaSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbjogMCAwIDAuNDM3NXJlbSAwO1xufVxuXG4uc2lkZS1uYXYgbGkgYTpub3QoLmJ1dHRvbikge1xuICBjb2xvcjogIzAwOTQ1RDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC40Mzc1cmVtIDAuODc1cmVtO1xufVxuXG4uc2lkZS1uYXYgbGkgYTpub3QoLmJ1dHRvbik6aG92ZXIsIC5zaWRlLW5hdiBsaSBhOm5vdCguYnV0dG9uKTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMjUpO1xuICBjb2xvcjogIzAyZmZhMTtcbn1cblxuLnNpZGUtbmF2IGxpIGE6bm90KC5idXR0b24pOmFjdGl2ZSB7XG4gIGNvbG9yOiAjMDJmZmExO1xufVxuXG4uc2lkZS1uYXYgbGkuYWN0aXZlID4gYTpmaXJzdC1jaGlsZDpub3QoLmJ1dHRvbikge1xuICBjb2xvcjogIzAyZmZhMTtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5zaWRlLW5hdiBsaS5kaXZpZGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICBoZWlnaHQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci10b3AtY29sb3I6ICNlNmU2ZTY7XG59XG5cbi5zaWRlLW5hdiBsaS5oZWFkaW5nIHtcbiAgY29sb3I6ICMwMDk0NUQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uc3ViLW5hdiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IC0wLjI1cmVtIDAgMS4xMjVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuICB3aWR0aDogYXV0bztcbn1cblxuLnN1Yi1uYXYgZHQge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uc3ViLW5hdiBkdCxcbi5zdWItbmF2IGRkLFxuLnN1Yi1uYXYgbGkge1xuICBjb2xvcjogIzk5OTk5OTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnN1Yi1uYXYgZHQgYSxcbi5zdWItbmF2IGRkIGEsXG4uc3ViLW5hdiBsaSBhIHtcbiAgY29sb3I6ICM5OTk5OTk7XG4gIHBhZGRpbmc6IDAuMTg3NXJlbSAxcmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zdWItbmF2IGR0IGE6aG92ZXIsXG4uc3ViLW5hdiBkZCBhOmhvdmVyLFxuLnN1Yi1uYXYgbGkgYTpob3ZlciB7XG4gIGNvbG9yOiAjNzM3MzczO1xufVxuXG4uc3ViLW5hdiBkdC5hY3RpdmUgYSxcbi5zdWItbmF2IGRkLmFjdGl2ZSBhLFxuLnN1Yi1uYXYgbGkuYWN0aXZlIGEge1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQ6ICMwMDk0NUQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAuMTg3NXJlbSAxcmVtO1xufVxuXG4uc3ViLW5hdiBkdC5hY3RpdmUgYTpob3Zlcixcbi5zdWItbmF2IGRkLmFjdGl2ZSBhOmhvdmVyLFxuLnN1Yi1uYXYgbGkuYWN0aXZlIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMDA3ZjUwO1xufVxuXG4uc3dpdGNoIHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIG91dGxpbmU6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnN3aXRjaCBsYWJlbCB7XG4gIGJhY2tncm91bmQ6ICNEREREREQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWluZGVudDogMTAwJTtcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgdHJhbnNpdGlvbjogbGVmdCAwLjE1cyBlYXNlLW91dDtcbn1cblxuLnN3aXRjaCBpbnB1dCB7XG4gIGxlZnQ6IDEwcHg7XG4gIG9wYWNpdHk6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA5cHg7XG59XG5cbi5zd2l0Y2ggaW5wdXQgKyBsYWJlbCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5zd2l0Y2ggbGFiZWw6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIGxlZnQ6IC4yNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC4yNXJlbTtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0IDAuMTVzIGVhc2Utb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGxlZnQgMC4xNXMgZWFzZS1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2l0aW9uOiBsZWZ0IDAuMTVzIGVhc2Utb3V0O1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIHtcbiAgYmFja2dyb3VuZDogIzAwOTQ1RDtcbn1cblxuLnN3aXRjaCBpbnB1dDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICBsZWZ0OiAyLjI1cmVtO1xufVxuXG4uc3dpdGNoIGxhYmVsIHtcbiAgaGVpZ2h0OiAycmVtO1xuICB3aWR0aDogNHJlbTtcbn1cblxuLnN3aXRjaCBsYWJlbDphZnRlciB7XG4gIGhlaWdodDogMS41cmVtO1xuICB3aWR0aDogMS41cmVtO1xufVxuXG4uc3dpdGNoIGlucHV0OmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gIGxlZnQ6IDIuMjVyZW07XG59XG5cbi5zd2l0Y2ggbGFiZWwge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6ICNEREREREQ7XG59XG5cbi5zd2l0Y2ggbGFiZWw6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuXG4uc3dpdGNoIGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gIGJhY2tncm91bmQ6ICMwMDk0NUQ7XG59XG5cbi5zd2l0Y2gubGFyZ2UgbGFiZWwge1xuICBoZWlnaHQ6IDIuNXJlbTtcbiAgd2lkdGg6IDVyZW07XG59XG5cbi5zd2l0Y2gubGFyZ2UgbGFiZWw6YWZ0ZXIge1xuICBoZWlnaHQ6IDJyZW07XG4gIHdpZHRoOiAycmVtO1xufVxuXG4uc3dpdGNoLmxhcmdlIGlucHV0OmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gIGxlZnQ6IDIuNzVyZW07XG59XG5cbi5zd2l0Y2guc21hbGwgbGFiZWwge1xuICBoZWlnaHQ6IDEuNzVyZW07XG4gIHdpZHRoOiAzLjVyZW07XG59XG5cbi5zd2l0Y2guc21hbGwgbGFiZWw6YWZ0ZXIge1xuICBoZWlnaHQ6IDEuMjVyZW07XG4gIHdpZHRoOiAxLjI1cmVtO1xufVxuXG4uc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gIGxlZnQ6IDJyZW07XG59XG5cbi5zd2l0Y2gudGlueSBsYWJlbCB7XG4gIGhlaWdodDogMS41cmVtO1xuICB3aWR0aDogM3JlbTtcbn1cblxuLnN3aXRjaC50aW55IGxhYmVsOmFmdGVyIHtcbiAgaGVpZ2h0OiAxcmVtO1xuICB3aWR0aDogMXJlbTtcbn1cblxuLnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gIGxlZnQ6IDEuNzVyZW07XG59XG5cbi5zd2l0Y2gucmFkaXVzIGxhYmVsIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uc3dpdGNoLnJhZGl1cyBsYWJlbDphZnRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuLnN3aXRjaC5yb3VuZCB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMDBweDtcbn1cblxuLnN3aXRjaC5yb3VuZCBsYWJlbCB7XG4gIGJvcmRlci1yYWRpdXM6IDJyZW07XG59XG5cbi5zd2l0Y2gucm91bmQgbGFiZWw6YWZ0ZXIge1xuICBib3JkZXItcmFkaXVzOiAycmVtO1xufVxuXG4uYnJlYWRjcnVtYnMge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMC44NzVyZW0gMC41NjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRkMGM5O1xuICBib3JkZXItY29sb3I6ICNhNmMwYjc7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbn1cblxuLmJyZWFkY3J1bWJzID4gKiB7XG4gIGNvbG9yOiAjMDA5NDVEO1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjY4NzVyZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJyZWFkY3J1bWJzID4gKjpob3ZlciBhLCAuYnJlYWRjcnVtYnMgPiAqOmZvY3VzIGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmJyZWFkY3J1bWJzID4gKiBhIHtcbiAgY29sb3I6ICMwMDk0NUQ7XG59XG5cbi5icmVhZGNydW1icyA+ICouY3VycmVudCB7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5icmVhZGNydW1icyA+ICouY3VycmVudCBhIHtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLmJyZWFkY3J1bWJzID4gKi5jdXJyZW50OmhvdmVyLCAuYnJlYWRjcnVtYnMgPiAqLmN1cnJlbnQ6aG92ZXIgYSwgLmJyZWFkY3J1bWJzID4gKi5jdXJyZW50OmZvY3VzLCAuYnJlYWRjcnVtYnMgPiAqLmN1cnJlbnQ6Zm9jdXMgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmJyZWFkY3J1bWJzID4gKi51bmF2YWlsYWJsZSB7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4uYnJlYWRjcnVtYnMgPiAqLnVuYXZhaWxhYmxlIGEge1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLmJyZWFkY3J1bWJzID4gKi51bmF2YWlsYWJsZTpob3Zlcixcbi5icmVhZGNydW1icyA+ICoudW5hdmFpbGFibGU6aG92ZXIgYSwgLmJyZWFkY3J1bWJzID4gKi51bmF2YWlsYWJsZTpmb2N1cyxcbi5icmVhZGNydW1icyA+ICoudW5hdmFpbGFibGUgYTpmb2N1cyB7XG4gIGNvbG9yOiAjOTk5OTk5O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5icmVhZGNydW1icyA+ICo6YmVmb3JlIHtcbiAgY29sb3I6ICNBQUFBQUE7XG4gIGNvbnRlbnQ6IFwiL1wiO1xuICBtYXJnaW46IDAgMC43NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDFweDtcbn1cblxuLmJyZWFkY3J1bWJzID4gKjpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICBjb250ZW50OiBcIiBcIjtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBBY2Nlc3NpYmlsaXR5IC0gaGlkZXMgdGhlIGZvcndhcmQgc2xhc2ggKi9cblthcmlhLWxhYmVsPVwiYnJlYWRjcnVtYnNcIl0gW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiL1wiO1xufVxuXG4vKiBGb3VuZGF0aW9uIERyb3Bkb3ducyAqL1xuLmYtZHJvcGRvd24ge1xuICBkaXNwbGF5OiBub25lO1xuICBsZWZ0OiAtOTk5OXB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IHNvbGlkIDFweCAjY2NjY2NjO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA4OTtcbiAgbWFyZ2luLXRvcDogMnB4O1xuICBtYXgtd2lkdGg6IDIwMHB4O1xufVxuXG4uZi1kcm9wZG93bi5vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5mLWRyb3Bkb3duID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5mLWRyb3Bkb3duID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmYtZHJvcGRvd246YmVmb3JlIHtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNGRkZGRkYgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTEycHg7XG4gIGxlZnQ6IDEwcHg7XG4gIHotaW5kZXg6IDg5O1xufVxuXG4uZi1kcm9wZG93bjphZnRlciB7XG4gIGJvcmRlcjogaW5zZXQgN3B4O1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjY2NjY2NjIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xNHB4O1xuICBsZWZ0OiA5cHg7XG4gIHotaW5kZXg6IDg4O1xufVxuXG4uZi1kcm9wZG93bi5yaWdodDpiZWZvcmUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTBweDtcbn1cblxuLmYtZHJvcGRvd24ucmlnaHQ6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogOXB4O1xufVxuXG4uZi1kcm9wZG93bi5kcm9wLXJpZ2h0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogLTk5OTlweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2NjY2NjYztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogODk7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIG1heC13aWR0aDogMjAwcHg7XG59XG5cbi5mLWRyb3Bkb3duLmRyb3AtcmlnaHQub3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZi1kcm9wZG93bi5kcm9wLXJpZ2h0ID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5mLWRyb3Bkb3duLmRyb3AtcmlnaHQgPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZi1kcm9wZG93bi5kcm9wLXJpZ2h0OmJlZm9yZSB7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgbGVmdDogLTEycHg7XG4gIHotaW5kZXg6IDg5O1xufVxuXG4uZi1kcm9wZG93bi5kcm9wLXJpZ2h0OmFmdGVyIHtcbiAgYm9yZGVyOiBpbnNldCA3cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNjY2NjY2MgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA5cHg7XG4gIGxlZnQ6IC0xNHB4O1xuICB6LWluZGV4OiA4ODtcbn1cblxuLmYtZHJvcGRvd24uZHJvcC1sZWZ0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogLTk5OTlweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2NjY2NjYztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogODk7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICBtYXgtd2lkdGg6IDIwMHB4O1xufVxuXG4uZi1kcm9wZG93bi5kcm9wLWxlZnQub3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZi1kcm9wZG93bi5kcm9wLWxlZnQgPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmYtZHJvcGRvd24uZHJvcC1sZWZ0ID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmYtZHJvcGRvd24uZHJvcC1sZWZ0OmJlZm9yZSB7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjRkZGRkZGO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICByaWdodDogLTEycHg7XG4gIGxlZnQ6IGF1dG87XG4gIHotaW5kZXg6IDg5O1xufVxuXG4uZi1kcm9wZG93bi5kcm9wLWxlZnQ6YWZ0ZXIge1xuICBib3JkZXI6IGluc2V0IDdweDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2NjY2NjYztcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOXB4O1xuICByaWdodDogLTE0cHg7XG4gIGxlZnQ6IGF1dG87XG4gIHotaW5kZXg6IDg4O1xufVxuXG4uZi1kcm9wZG93bi5kcm9wLXRvcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGxlZnQ6IC05OTk5cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogc29saWQgMXB4ICNjY2NjY2M7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDg5O1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogLTJweDtcbiAgbWF4LXdpZHRoOiAyMDBweDtcbn1cblxuLmYtZHJvcGRvd24uZHJvcC10b3Aub3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZi1kcm9wZG93bi5kcm9wLXRvcCA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uZi1kcm9wZG93bi5kcm9wLXRvcCA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5mLWRyb3Bkb3duLmRyb3AtdG9wOmJlZm9yZSB7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm90dG9tOiAtMTJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IDEwcHg7XG4gIHJpZ2h0OiBhdXRvO1xuICB6LWluZGV4OiA4OTtcbn1cblxuLmYtZHJvcGRvd24uZHJvcC10b3A6YWZ0ZXIge1xuICBib3JkZXI6IGluc2V0IDdweDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogI2NjY2NjYyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvdHRvbTogLTE0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiA5cHg7XG4gIHJpZ2h0OiBhdXRvO1xuICB6LWluZGV4OiA4ODtcbn1cblxuLmYtZHJvcGRvd24gbGkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uZi1kcm9wZG93biBsaTpob3ZlciwgLmYtZHJvcGRvd24gbGk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjRUVFRUVFO1xufVxuXG4uZi1kcm9wZG93biBsaSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgY29sb3I6ICM1NTU1NTU7XG59XG5cbi5mLWRyb3Bkb3duLmNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBsZWZ0OiAtOTk5OXB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IHNvbGlkIDFweCAjY2NjY2NjO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA4OTtcbiAgbWF4LXdpZHRoOiAyMDBweDtcbn1cblxuLmYtZHJvcGRvd24uY29udGVudC5vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5mLWRyb3Bkb3duLmNvbnRlbnQgPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmYtZHJvcGRvd24uY29udGVudCA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5mLWRyb3Bkb3duLnJhZGl1cyB7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbn1cblxuLmYtZHJvcGRvd24udGlueSB7XG4gIG1heC13aWR0aDogMjAwcHg7XG59XG5cbi5mLWRyb3Bkb3duLnNtYWxsIHtcbiAgbWF4LXdpZHRoOiAzMDBweDtcbn1cblxuLmYtZHJvcGRvd24ubWVkaXVtIHtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbn1cblxuLmYtZHJvcGRvd24ubGFyZ2Uge1xuICBtYXgtd2lkdGg6IDgwMHB4O1xufVxuXG4uZi1kcm9wZG93bi5tZWdhIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5mLWRyb3Bkb3duLm1lZ2Eub3BlbiB7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLmRyb3Bkb3duLmJ1dHRvbiwgYnV0dG9uLmRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAzLjU2MjVyZW07XG59XG5cbi5kcm9wZG93bi5idXR0b246OmFmdGVyLCBidXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMDtcbn1cblxuLmRyb3Bkb3duLmJ1dHRvbjo6YWZ0ZXIsIGJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICBib3JkZXItd2lkdGg6IDAuMzc1cmVtO1xuICByaWdodDogMS40MDYyNXJlbTtcbiAgbWFyZ2luLXRvcDogLTAuMTU2MjVyZW07XG59XG5cbi5kcm9wZG93bi5idXR0b246OmFmdGVyLCBidXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuXG4uZHJvcGRvd24uYnV0dG9uLnRpbnksIGJ1dHRvbi5kcm9wZG93bi50aW55IHtcbiAgcGFkZGluZy1yaWdodDogMi42MjVyZW07XG59XG5cbi5kcm9wZG93bi5idXR0b24udGlueTphZnRlciwgYnV0dG9uLmRyb3Bkb3duLnRpbnk6YWZ0ZXIge1xuICBib3JkZXItd2lkdGg6IDAuMzc1cmVtO1xuICByaWdodDogMS4xMjVyZW07XG4gIG1hcmdpbi10b3A6IC0wLjEyNXJlbTtcbn1cblxuLmRyb3Bkb3duLmJ1dHRvbi50aW55OjphZnRlciwgYnV0dG9uLmRyb3Bkb3duLnRpbnk6OmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuXG4uZHJvcGRvd24uYnV0dG9uLnNtYWxsLCBidXR0b24uZHJvcGRvd24uc21hbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAzLjA2MjVyZW07XG59XG5cbi5kcm9wZG93bi5idXR0b24uc21hbGw6OmFmdGVyLCBidXR0b24uZHJvcGRvd24uc21hbGw6OmFmdGVyIHtcbiAgYm9yZGVyLXdpZHRoOiAwLjQzNzVyZW07XG4gIHJpZ2h0OiAxLjMxMjVyZW07XG4gIG1hcmdpbi10b3A6IC0wLjE1NjI1cmVtO1xufVxuXG4uZHJvcGRvd24uYnV0dG9uLnNtYWxsOjphZnRlciwgYnV0dG9uLmRyb3Bkb3duLnNtYWxsOjphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbn1cblxuLmRyb3Bkb3duLmJ1dHRvbi5sYXJnZSwgYnV0dG9uLmRyb3Bkb3duLmxhcmdlIHtcbiAgcGFkZGluZy1yaWdodDogMy42MjVyZW07XG59XG5cbi5kcm9wZG93bi5idXR0b24ubGFyZ2U6OmFmdGVyLCBidXR0b24uZHJvcGRvd24ubGFyZ2U6OmFmdGVyIHtcbiAgYm9yZGVyLXdpZHRoOiAwLjMxMjVyZW07XG4gIHJpZ2h0OiAxLjcxODc1cmVtO1xuICBtYXJnaW4tdG9wOiAtMC4xNTYyNXJlbTtcbn1cblxuLmRyb3Bkb3duLmJ1dHRvbi5sYXJnZTo6YWZ0ZXIsIGJ1dHRvbi5kcm9wZG93bi5sYXJnZTo6YWZ0ZXIge1xuICBib3JkZXItY29sb3I6ICNGRkZGRkYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG59XG5cbi5kcm9wZG93bi5idXR0b24uc2Vjb25kYXJ5OmFmdGVyLCBidXR0b24uZHJvcGRvd24uc2Vjb25kYXJ5OmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMzMzMzMzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuXG4vKltkYXRhLXBpZS1pZF0sIFtkYXRhLWJhci1pZF0sIFtkYXRhLWxpbmUtaWRdIHtcbiAgQGluY2x1ZGUgZGFya2VuZWQtY2hpbGRyZW4oNywgJHBpZS1jb2xvcik7XG59Ki9cbi50b29sdGlwIHtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgcGFkZGluZzogNXB4O1xufVxuXG4vKnN2ZyB0ZXh0IHtcbiAgZmlsbDogJGxhYmVsLWNvbG9yO1xufSovXG4uY2hhcnQgZGl2LmRpYWdyYW0ge1xuICBoZWlnaHQ6IDIwMHB4O1xufVxuXG4uY2hhcnQgc3ZnIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zO1xufVxuXG4uY2hhcnQgdWwuZGF0YSB7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiAxLjc1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgdGV4dC1zaGFkb3c6IDAuMDNlbSAwLjAzZW0gMC4wM2VtIHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBmb250LWZhbWlseTogXCJPc3dhbGRcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuaDIge1xuICBmb250LXNpemU6IDEuMjVlbTtcbn1cblxuaDMge1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuaDQge1xuICBmb250LXNpemU6IDAuNzVlbTtcbn1cblxuYm9keS5wYXVsdXMge1xuICBiYWNrZ3JvdW5kOiAjZmZmIHVybCguLi9pbWcvZG9nZS5wbmcpIGZpeGVkIGJvdHRvbSByaWdodCBuby1yZXBlYXQ7XG59XG5cbi5jb2x1bW5zIHtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zO1xufVxuXG4jY29udGVudCB7XG4gIHBhZGRpbmctYm90dG9tOiAyZW07XG59XG5cbi5kZWFkbGluZS1idWRnZXQge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kZWFkbGluZS1idWRnZXQgZGl2LnByb2dyZXNzIHtcbiAgb3BhY2l0eTogMC42NjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmRlYWRsaW5lLWJ1ZGdldCBkaXYucHJvZ3Jlc3M6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uZGVhZGxpbmUtYnVkZ2V0IGRpdi5kZWFkbGluZSB7XG4gIHRvcDogMCU7XG4gIGJvdHRvbTogNTAlO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG59XG5cbi5kZWFkbGluZS1idWRnZXQgZGl2LmJ1ZGdldCB7XG4gIHRvcDogNTAlO1xuICBib3R0b206IDAlO1xufVxuXG5kaXYucHJvZ3Jlc3Mge1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBoZWlnaHQ6IDIuNWVtO1xufVxuXG5kaXYucHJvZ3Jlc3MgLm1ldGVyIHtcbiAgdHJhbnNpdGlvbjogd2lkdGggZWFzZS1pbi1vdXQgNTAwbXM7XG59XG5cbmRpdi5wcm9ncmVzcyBpIHtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1sZWZ0OiAwLjNlbTtcbiAgZm9udC1zaXplOiAxLjRlbTtcbn1cblxuLmZvcm0gLmVycm9yTWVzc2FnZSB7XG4gIGZvbnQtc2l6ZTogMC42ZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNjNjBmMTM7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgcGFkZGluZzogMC41ZW07XG59XG5cbi5mb3JtIHNwYW4ucmVxdWlyZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZm9ybSBsYWJlbC5yZXF1aXJlZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZm9ybSBpbnB1dC5ocnMge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmZvcm0gaW5wdXQuZml4ZWQtd2lkdGgge1xuICBmb250LWZhbWlseTogJ0luY29uc29sYXRhJywgbW9ub3NwYWNlO1xufVxuXG4uZm9ybSB0ZXh0YXJlYSB7XG4gIGhlaWdodDogNmVtO1xufVxuXG4uZm9ybSB0ZXh0YXJlYS5hdXRvRXhwYW5kIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uZm9ybSBzbWFsbC5oZWxwZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogLTEuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjJlbTtcbiAgY29sb3I6ICM5OTk7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5mb3JtIC5idXR0b25zIGlucHV0IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAxcmVtIDJyZW0gMS4wNjI1cmVtIDJyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTQ1RDtcbiAgYm9yZGVyLWNvbG9yOiAjMDA3NjRhO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyBlYXNlLW91dDtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uZm9ybSAuYnV0dG9ucyBpbnB1dDpob3ZlciwgLmZvcm0gLmJ1dHRvbnMgaW5wdXQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3NjRhO1xufVxuXG4uZm9ybSAuYnV0dG9ucyBpbnB1dDpob3ZlciwgLmZvcm0gLmJ1dHRvbnMgaW5wdXQ6Zm9jdXMge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmZvcm0gbGVnZW5kIGlucHV0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmZvcm0gLmNvbHVtbnMuYWN0aXZlIGZpZWxkc2V0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkREMDtcbn1cblxuLmZvcm0gLnBvc3RmaXguYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxudGFibGUge1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBkb3R0ZWQgI2VlZTtcbn1cblxudGFibGUgdGQsIHRhYmxlIHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgcGFkZGluZzogMC42ZW0gMC40ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xufVxuXG50YWJsZSB0aGVhZCB0ZCwgdGFibGUgdGhlYWQgdGgge1xuICBmb250LXNpemU6IDAuN2VtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4OSwgMjA4LCAyMDEsIDAuMik7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbnRhYmxlIHRoZWFkIHRyLmZpbHRlcnMgdGQge1xuICBwYWRkaW5nOiAwO1xufVxuXG50YWJsZSB0aGVhZCB0ci5maWx0ZXJzIGlucHV0LCB0YWJsZSB0aGVhZCB0ci5maWx0ZXJzIHNlbGVjdCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbnRhYmxlIHRib2R5IHRoLCB0YWJsZSB0Ym9keSB0ZCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xuICBib3JkZXItcmlnaHQ6IDFweCBkb3R0ZWQgI2VlZTtcbn1cblxudGFibGUgdGJvZHkgdGgge1xuICB3aWR0aDogMTJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggZG90dGVkICNlZWU7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG50YWJsZSB0ZC5pZCwgdGFibGUgdGQuaHJzLCB0YWJsZSB0ZC5wcmljZSwgdGFibGUgdGQuY29kZSB7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG4gIGZvbnQtZmFtaWx5OiAnSW5jb25zb2xhdGEnLCBtb25vc3BhY2U7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG50YWJsZSB0ZC5tb25vLCB0YWJsZSB0ci5tb25vIHRkIHtcbiAgZm9udC1mYW1pbHk6ICdJbmNvbnNvbGF0YScsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAwLjllbTtcbn1cblxudGFibGUgdGQuaWNvbiB7XG4gIHdpZHRoOiAxZW07XG59XG5cbnRhYmxlIHRkLmlkIHtcbiAgd2lkdGg6IDNlbTtcbn1cblxudGFibGUgdGQuY29kZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdpZHRoOiA2ZW07XG59XG5cbnRhYmxlIHRkLnByaWNlIHtcbiAgd2lkdGg6IDdlbTtcbn1cblxudGFibGUgdGQuaHJzIHtcbiAgd2lkdGg6IDVlbTtcbn1cblxudGFibGUgdGQuZGF0ZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB3aWR0aDogN2VtO1xufVxuXG50YWJsZSB0ZC5zdGF0dXMge1xuICBmb250LXNpemU6IDAuN2VtO1xuICB3aWR0aDogMTBlbTtcbn1cblxudGFibGUgdGQuYmlsbGluZyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxudGFibGUgdGQucGhvbmUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG50YWJsZSB0ZC5kZWFkbGluZS1idWRnZXQgZGl2LnByb2dyZXNzIHtcbiAgb3BhY2l0eTogMC4zMztcbn1cblxudGFibGUgdGQuZGVhZGxpbmUtYnVkZ2V0IGRpdi5wcm9ncmVzcyBpIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxudGFibGUgdHI6aG92ZXIgZGl2LnByb2dyZXNzIHtcbiAgb3BhY2l0eTogMC42Njtcbn1cblxudGFibGUgLmFzc2lnbmVkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG50YWJsZSAuYXNzaWduZWQgZW0ge1xuICBjb2xvcjogI2YwMDtcbn1cblxudGFibGUgaS5maS1jaGVjayB7XG4gIGNvbG9yOiAjNDNBQzZBO1xufVxuXG50YWJsZSBpLmZpLW1pbnVzIHtcbiAgY29sb3I6ICNjY2M7XG59XG5cbi50YWJsZS1mb290ZXIge1xuICBtYXJnaW4tdG9wOiAtMmVtO1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIG1hcmdpbi1sZWZ0OiAxZW07XG4gIGZvbnQtc2l6ZTogMC43ZW07XG59XG5cbi5ncmlkLXZpZXcge1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG59XG5cbi5ncmlkLXZpZXcgdGFibGUgdGJvZHkgdGQge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEwMG1zO1xufVxuXG4uZ3JpZC12aWV3IHRhYmxlIHRib2R5IHRyOmhvdmVyIHRkIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xufVxuXG50YWJsZS5kZXRhaWwtdmlldyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG59XG5cbi5wYW5lbCAub3BlcmF0aW9ucyB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ucGFuZWwgdGFibGUgdGhlYWQgdGgsIC5wYW5lbCB0YWJsZSB0aGVhZCB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG59XG5cbi5hbGVydC1ib3gge1xuICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xufVxuXG4uYWxlcnQtYm94IC5jbG9zZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDAgMC4yZW0gMCAwO1xufVxuXG4uYWxlcnQtYm94OmhvdmVyIC5jbG9zZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucHJvamVjdC1zdGF0dXMgdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi5wcm9qZWN0LXN0YXR1cyB1bCBsaSB7XG4gIHBhZGRpbmc6IDAuNWVtIDAuNWVtO1xufVxuXG4ucHJvamVjdC1zdGF0dXMgdWwgbGkuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTQ1RDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5wcm9qZWN0LXN0YXR1cyB1bCBsaS5hY3RpdmUgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucHJvamVjdC1zdGF0dXMgdWwgbGkuYWN0aXZlIGEgc3BhbiB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi5wcm9qZWN0LXN0YXR1cyB1bCBsaS5hY3RpdmUucGVuZGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxRTI1Mjg7XG59XG5cbi5wcm9qZWN0LXN0YXR1cyB1bCBsaS5hY3RpdmUuaW5wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk0NUQ7XG59XG5cbi5wcm9qZWN0LXN0YXR1cyB1bCBsaS5hY3RpdmUub25ob2xkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0JGMEEwRDtcbn1cblxuLnByb2plY3Qtc3RhdHVzIHVsIGxpLmFjdGl2ZS5hcHByb3ZhbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDODY3MjE7XG59XG5cbi5wcm9qZWN0LXN0YXR1cyB1bCBsaS5hY3RpdmUuY29tcGxldGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDNBQzZBO1xufVxuXG4ucHJvamVjdC1zdGF0dXMgdWwgbGkuYWN0aXZlLmludm9pY2VkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFFMjUyODtcbn1cblxuLnByb2plY3Qtc3RhdHVzIHVsIGxpLmFjdGl2ZS5jYW5jZWxsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUUyNTI4O1xufVxuXG5zcGFuLnN0YXR1cyB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbnNwYW4uc3RhdHVzLnBlbmRpbmcge1xuICBjb2xvcjogIzFFMjUyODtcbn1cblxuc3Bhbi5zdGF0dXMuaW5wcm9ncmVzcyB7XG4gIGNvbG9yOiAjMDA5NDVEO1xufVxuXG5zcGFuLnN0YXR1cy5vbmhvbGQge1xuICBjb2xvcjogI0JGMEEwRDtcbn1cblxuc3Bhbi5zdGF0dXMuYXBwcm92YWwge1xuICBjb2xvcjogI0M4NjcyMTtcbn1cblxuc3Bhbi5zdGF0dXMuY29tcGxldGUge1xuICBjb2xvcjogIzQzQUM2QTtcbn1cblxuc3Bhbi5zdGF0dXMuaW52b2ljZWQge1xuICBjb2xvcjogIzFFMjUyODtcbn1cblxuc3Bhbi5zdGF0dXMuY2FuY2VsbGVkIHtcbiAgY29sb3I6ICMxRTI1Mjg7XG59XG5cbi5wcmlvcml0eS5sb3cge1xuICBjb2xvcjogIzQzQUM2QTtcbn1cblxuLnByaW9yaXR5Lm1lZCB7XG4gIGNvbG9yOiAjQzg2NzIxO1xufVxuXG4ucHJpb3JpdHkuaGlnaCB7XG4gIGNvbG9yOiAjQkYwQTBEO1xufVxuXG4ucHJvamVjdC1wcmlvcml0eSB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLnByb2plY3QtcHJpb3JpdHkgdWwgbGkge1xuICBwYWRkaW5nOiAwLjVlbSAwLjVlbTtcbn1cblxuLnByb2plY3QtcHJpb3JpdHkgdWwgbGkubG93IGEge1xuICBjb2xvcjogIzQzQUM2QTtcbn1cblxuLnByb2plY3QtcHJpb3JpdHkgdWwgbGkubWVkIGEge1xuICBjb2xvcjogI0M4NjcyMTtcbn1cblxuLnByb2plY3QtcHJpb3JpdHkgdWwgbGkuaGlnaCBhIHtcbiAgY29sb3I6ICNCRjBBMEQ7XG59XG5cbi5wcm9qZWN0LXByaW9yaXR5IHVsIGxpLmFjdGl2ZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ucHJvamVjdC1wcmlvcml0eSB1bCBsaS5hY3RpdmUgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnByb2plY3QtcHJpb3JpdHkgdWwgbGkuYWN0aXZlLmxvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0M0FDNkE7XG59XG5cbi5wcm9qZWN0LXByaW9yaXR5IHVsIGxpLmFjdGl2ZS5tZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzg2NzIxO1xufVxuXG4ucHJvamVjdC1wcmlvcml0eSB1bCBsaS5hY3RpdmUuaGlnaCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCRjBBMEQ7XG59XG5cbi5wcm9qZWN0LXVzZXJzIHVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4uYWN0aXZpdHktbG9nIHtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgZm9udC1zaXplOiAwLjdlbTtcbn1cblxuLmFjdGl2aXR5LWxvZyBkaXYge1xuICBwYWRkaW5nOiAwIDAgMWVtO1xufVxuXG4uYWN0aXZpdHktbG9nIHRpbWUge1xuICBjb2xvcjogI2NjYztcbiAgZm9udC1zaXplOiAwLjg1ZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmFjdGl2aXR5LWxvZyBkaXY6aG92ZXIgdGltZSB7XG4gIGNvbG9yOiAjNmY2ZjZmO1xufVxuXG4uYWN0aXZpdHktbG9nIC5maWVsZCB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmFjdGl2aXR5LWxvZyAubnVsbCB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmFjdGl2aXR5LWxvZyAudmFsdWUge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmFzc2lnbi11c2VycyB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLmFzc2lnbi11c2VycyB1bCBhIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wYW5lbC5jYWxsb3V0IGEge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG51bC51aS1hdXRvY29tcGxldGUge1xuICB6LWluZGV4OiA5ICFpbXBvcnRhbnQ7XG59XG5cbnVsLnVpLWF1dG9jb21wbGV0ZSBsaSB7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG59XG5cbi5wYWdlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogLTAuMzEyNXJlbTtcbiAgbWluLWhlaWdodDogMS41cmVtO1xuICBmb250LXNpemU6IDAuOGVtO1xuICBwYWRkaW5nLXRvcDogMWVtO1xufVxuXG4ucGFnZXIgbGkge1xuICBjb2xvcjogIzIyMjIyMjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjMxMjVyZW07XG59XG5cbi5wYWdlciBsaSBhLCAucGFnZXIgbGkgYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDMwMG1zIGVhc2Utb3V0O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogIzk5OTk5OTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgcGFkZGluZzogMC4wNjI1cmVtIDAuNjI1cmVtIDAuMDYyNXJlbTtcbn1cblxuLnBhZ2VyIGxpOmhvdmVyIGEsXG4ucGFnZXIgbGkgYTpmb2N1cyxcbi5wYWdlciBsaTpob3ZlciBidXR0b24sXG4ucGFnZXIgbGkgYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbn1cblxuLnBhZ2VyIGxpLnVuYXZhaWxhYmxlIGEsIC5wYWdlciBsaS51bmF2YWlsYWJsZSBidXR0b24ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGNvbG9yOiAjOTk5OTk5O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnBhZ2VyIGxpLnVuYXZhaWxhYmxlOmhvdmVyIGEsXG4ucGFnZXIgbGkudW5hdmFpbGFibGUgYTpmb2N1cyxcbi5wYWdlciBsaS51bmF2YWlsYWJsZTpob3ZlciBidXR0b24sXG4ucGFnZXIgbGkudW5hdmFpbGFibGUgYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5wYWdlciBsaS5jdXJyZW50IGEsIC5wYWdlciBsaS5jdXJyZW50IGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICMwMDk0NUQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ucGFnZXIgbGkuY3VycmVudCBhOmhvdmVyLCAucGFnZXIgbGkuY3VycmVudCBhOmZvY3VzLCAucGFnZXIgbGkuY3VycmVudCBidXR0b246aG92ZXIsIC5wYWdlciBsaS5jdXJyZW50IGJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICMwMDk0NUQ7XG59XG5cbi5wYWdlciBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnBhZ2VyIC5zZWxlY3RlZCBhLCAucGFnZXIgLnNlbGVjdGVkIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICMwMDk0NUQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ucGFnZXIgLnNlbGVjdGVkIGE6aG92ZXIsIC5wYWdlciAuc2VsZWN0ZWQgYTpmb2N1cywgLnBhZ2VyIC5zZWxlY3RlZCBidXR0b246aG92ZXIsIC5wYWdlciAuc2VsZWN0ZWQgYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogIzAwOTQ1RDtcbn1cblxuLnBvcnRsZXQge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLWNvbG9yOiAjZDhkOGQ4O1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBjb2xvcjogIzMzMzMzMztcbiAgZm9udC1zaXplOiAwLjllbTtcbn1cblxuLnBvcnRsZXQgPiA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ucG9ydGxldCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnBvcnRsZXQgaDEsIC5wb3J0bGV0IGgyLCAucG9ydGxldCBoMywgLnBvcnRsZXQgaDQsIC5wb3J0bGV0IGg1LCAucG9ydGxldCBoNiwgLnBvcnRsZXQgcCwgLnBvcnRsZXQgbGksIC5wb3J0bGV0IGRsIHtcbiAgY29sb3I6ICMzMzMzMzM7XG59XG5cbi5wb3J0bGV0IGgxLCAucG9ydGxldCBoMiwgLnBvcnRsZXQgaDMsIC5wb3J0bGV0IGg0LCAucG9ydGxldCBoNSwgLnBvcnRsZXQgaDYge1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG59XG5cbi5wb3J0bGV0IGgxLnN1YmhlYWRlciwgLnBvcnRsZXQgaDIuc3ViaGVhZGVyLCAucG9ydGxldCBoMy5zdWJoZWFkZXIsIC5wb3J0bGV0IGg0LnN1YmhlYWRlciwgLnBvcnRsZXQgaDUuc3ViaGVhZGVyLCAucG9ydGxldCBoNi5zdWJoZWFkZXIge1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4ucG9ydGxldCAucG9ydGxldC10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ucG9ydGxldCAub3BlcmF0aW9ucyB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5wb3J0bGV0IC5vcGVyYXRpb25zIGEge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuODc1cmVtIDEuNzVyZW0gMC45Mzc1cmVtIDEuNzVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtO1xuICBwYWRkaW5nLXRvcDogMC44NzVyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk0NUQ7XG4gIGJvcmRlci1jb2xvcjogIzAwNzY0YTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMzAwbXMgZWFzZS1vdXQ7XG59XG5cbi5wb3J0bGV0IC5vcGVyYXRpb25zIGE6aG92ZXIsIC5wb3J0bGV0IC5vcGVyYXRpb25zIGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3NjRhO1xufVxuXG4ucG9ydGxldCAub3BlcmF0aW9ucyBhOmhvdmVyLCAucG9ydGxldCAub3BlcmF0aW9ucyBhOmZvY3VzIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5wb3J0bGV0IC5vcGVyYXRpb25zIGEuYWxlcnQge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuODc1cmVtIDEuNzVyZW0gMC45Mzc1cmVtIDEuNzVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtO1xuICBwYWRkaW5nLXRvcDogMC44NzVyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCRjBBMEQ7XG4gIGJvcmRlci1jb2xvcjogIzk5MDgwYTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMzAwbXMgZWFzZS1vdXQ7XG59XG5cbi5wb3J0bGV0IC5vcGVyYXRpb25zIGEuYWxlcnQ6aG92ZXIsIC5wb3J0bGV0IC5vcGVyYXRpb25zIGEuYWxlcnQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTkwODBhO1xufVxuXG4ucG9ydGxldCAub3BlcmF0aW9ucyBhLmFsZXJ0OmhvdmVyLCAucG9ydGxldCAub3BlcmF0aW9ucyBhLmFsZXJ0OmZvY3VzIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5zdW1tYXJ5LCAubm90ZSB7XG4gIGZvbnQtc2l6ZTogNjAlO1xuICBwYWRkaW5nOiAwIDAgMWVtO1xuICBvcGFjaXR5OiAwLjc7XG59XG5cbi50b3AtYmFyIC50aXRsZS1hcmVhIGgxIHtcbiAgd2lkdGg6IDEyZW07XG59XG5cbi5wYWdlciBsaSB7XG4gIGZvbnQtc2l6ZTogMC43ZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ucGFnZXIgbGkgYSB7XG4gIHBhZGRpbmctbGVmdDogMC41ZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xufVxuXG4ucm93LmRhc2hib2FyZCB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLnJvdy5kYXNoYm9hcmQgdGFibGUge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnJvdy5kYXNoYm9hcmQgdGFibGUgLnVzZXJzLCAucm93LmRhc2hib2FyZCB0YWJsZSAuY2xpZW50IHtcbiAgZm9udC1zaXplOiAwLjdlbTtcbn1cblxuLnJvdy5kYXNoYm9hcmQgdGFibGUgLmNsaWVudCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5kZWFkbGluZS1saXN0IGgzIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5kZWFkbGluZS1saXN0IHRkLnRpdGxlIHtcbiAgZm9udC1zaXplOiAwLjZlbTtcbn1cblxuLmRlYWRsaW5lLWxpc3QgdGQuZGF0ZSwgLmRlYWRsaW5lLWxpc3QgdGQuY29kZSB7XG4gIGZvbnQtc2l6ZTogMC43ZW07XG59XG5cbi5kZWFkbGluZS1saXN0Lm92ZXJkdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkYwQTBEO1xuICBhbmltYXRpb246IG92ZXJkdWUgMXMgZWFzZS1pbiAwIDI7XG59XG5cbkBrZXlmcmFtZXMgb3ZlcmR1ZSB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkYwQTBEO1xuICB9XG4gIDUwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkYwQTBEO1xuICB9XG59XG5cbi5kZWFkbGluZS1saXN0LnRoaXN3ZWVrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0M4NjcyMTtcbn1cblxuLmRlYWRsaW5lLWxpc3QubmV4dHdlZWsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDNBQzZBO1xufVxuXG4uam9iLWxpc3Qge1xuICBwYWRkaW5nOiAwLjVlbSAwO1xufVxuXG4uam9iLWxpc3QgdGFibGUge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmpvYi1saXN0IHRhYmxlIHRkLmRlYWRsaW5lLWJ1ZGdldCB7XG4gIHdpZHRoOiA4ZW07XG59XG5cbi50YXNrLWxpc3QgLnRhc2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xuICBwYWRkaW5nOiAwLjVlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4udGFzay1saXN0IC50YXNrIGkuc29ydCwgLnRhc2stbGlzdCAudGFzayAuY2hlY2ssIC50YXNrLWxpc3QgLnRhc2sgLnVuY2hlY2ssIC50YXNrLWxpc3QgLnRhc2sgYS5yZW1vdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMC40NWVtO1xuICBmb250LXNpemU6IDEuMmVtO1xufVxuXG4udGFzay1saXN0IC50YXNrIGkuc29ydCB7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50YXNrLWxpc3QgLnRhc2sgaS5zb3J0OmhvdmVyIHtcbiAgY29sb3I6ICMwMDk0NUQ7XG59XG5cbi50YXNrLWxpc3QgLnRhc2sgYS5yZW1vdmUge1xuICByaWdodDogMDtcbiAgY29sb3I6ICMyMjI7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50YXNrLWxpc3QgLnRhc2sgYS5yZW1vdmU6aG92ZXIge1xuICBjb2xvcjogIzAwOTQ1RDtcbn1cblxuLnRhc2stbGlzdCAudGFzayAuY2hlY2ssIC50YXNrLWxpc3QgLnRhc2sgLnVuY2hlY2sge1xuICBsZWZ0OiAxLjJlbTtcbn1cblxuLnRhc2stbGlzdCAudGFzayBhLmNoZWNrLCAudGFzay1saXN0IC50YXNrIGEudW5jaGVjayB7XG4gIGNvbG9yOiAjMjIyO1xufVxuXG4udGFzay1saXN0IC50YXNrIGEuY2hlY2s6aG92ZXIge1xuICBjb2xvcjogIzAwOTQ1RDtcbn1cblxuLnRhc2stbGlzdCAudGFzayAudGV4dHdyYXAge1xuICBtYXJnaW4tbGVmdDogM2VtO1xuICBtYXJnaW4tcmlnaHQ6IDJlbTtcbn1cblxuLnRhc2stbGlzdCAudGFzayB0ZXh0YXJlYSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogMS4yZW07XG4gIGJvcmRlci13aWR0aDogMDtcbiAgcmVzaXplOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDAuOGVtO1xufVxuXG4udGFzay1saXN0IC50YXNrIHRleHRhcmVhOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLnRhc2stbGlzdCAudGFzazpob3ZlciBpLnNvcnQsIC50YXNrLWxpc3QgLnRhc2s6aG92ZXIgYS5yZW1vdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRhc2stbGlzdCAuZG9uZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICBjb2xvcjogI2FhYTtcbn1cblxuLnRhc2stbGlzdCAuZG9uZSB0ZXh0YXJlYSwgLnRhc2stbGlzdCAuZG9uZSBhLmNoZWNrLCAudGFzay1saXN0IC5kb25lIGEudW5jaGVjaywgLnRhc2stbGlzdCAuZG9uZSBhLnJlbW92ZSB7XG4gIGNvbG9yOiAjYWFhO1xufVxuXG4udGFzay1saXN0IC5tb3JlIHtcbiAgcGFkZGluZy10b3A6IDAuNWVtO1xuICBmb250LXNpemU6IDAuOGVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLm92ZXJsYXkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuI2ZhY2Vib29rRyB7XG4gIHdpZHRoOiA3MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zNXB4O1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTI1cHg7XG59XG5cbiNmYWNlYm9va0cgLmZhY2Vib29rX2Jsb2NrRyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCOEI4Qjg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM3NTc1NzU7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDQ5cHg7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG4gIHdpZHRoOiAxM3B4O1xuICBvcGFjaXR5OiAwLjE7XG4gIC1tb3otYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUc7XG4gIC1tb3otYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjRzO1xuICAtbW96LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAtbW96LWFuaW1hdGlvbi1kaXJlY3Rpb246IGxpbmVhcjtcbiAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDAuNyk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUc7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjRzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IGxpbmVhcjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNyk7XG4gIC1tcy1hbmltYXRpb24tbmFtZTogYm91bmNlRztcbiAgLW1zLWFuaW1hdGlvbi1kdXJhdGlvbjogMS40cztcbiAgLW1zLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAtbXMtYW5pbWF0aW9uLWRpcmVjdGlvbjogbGluZWFyO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjcpO1xuICAtby1hbmltYXRpb24tbmFtZTogYm91bmNlRztcbiAgLW8tYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjRzO1xuICAtby1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgLW8tYW5pbWF0aW9uLWRpcmVjdGlvbjogbGluZWFyO1xuICAtby10cmFuc2Zvcm06IHNjYWxlKDAuNyk7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VHO1xuICBhbmltYXRpb24tZHVyYXRpb246IDEuNHM7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBhbmltYXRpb24tZGlyZWN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC43KTtcbn1cblxuI2ZhY2Vib29rRyAjYmxvY2tHXzEge1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMC40MTk5OTk5OTk5OTk5OTk5M3M7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjQxOTk5OTk5OTk5OTk5OTkzcztcbiAgLW1zLWFuaW1hdGlvbi1kZWxheTogMC40MTk5OTk5OTk5OTk5OTk5M3M7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMC40MTk5OTk5OTk5OTk5OTk5M3M7XG4gIGFuaW1hdGlvbi1kZWxheTogMC40MTk5OTk5OTk5OTk5OTk5M3M7XG59XG5cbiNmYWNlYm9va0cgI2Jsb2NrR18yIHtcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDAuNTU5OTk5OTk5OTk5OTk5OXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjU1OTk5OTk5OTk5OTk5OTlzO1xuICAtbXMtYW5pbWF0aW9uLWRlbGF5OiAwLjU1OTk5OTk5OTk5OTk5OTlzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDAuNTU5OTk5OTk5OTk5OTk5OXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMC41NTk5OTk5OTk5OTk5OTk5cztcbn1cblxuI2ZhY2Vib29rRyAjYmxvY2tHXzMge1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMC43cztcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuN3M7XG4gIC1tcy1hbmltYXRpb24tZGVsYXk6IDAuN3M7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMC43cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjdzO1xufVxuXG5ALW1vei1rZXlmcmFtZXMgYm91bmNlRyB7XG4gIDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlRyB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgfVxufVxuXG5ALW1zLWtleWZyYW1lcyBib3VuY2VHIHtcbiAgMCUge1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgfVxufVxuXG5ALW8ta2V5ZnJhbWVzIGJvdW5jZUcge1xuICAwJSB7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUcge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgfVxufVxuXG4jZnVsbHNjcmVlbiB7XG4gIHBhZGRpbmc6IDAgMmVtO1xufVxuXG4ucm93LmZ1bGxzY3JlZW4ge1xuICBwYWRkaW5nOiAwIDJlbTtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG5pLmZpLWxvb3Age1xuICBkaXNwbGF5OiBibG9jaztcbiAgYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciAwIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuXG4jbm90aWZ5LW5hdi51bnJlYWQgYSB7XG4gIGFuaW1hdGlvbjogbm90aWZ5IDFzIGVhc2UtaW4tb3V0IDAgaW5maW5pdGU7XG59XG5cbiNub3RpZnktbmF2LnVucmVhZCBhOmhvdmVyIHtcbiAgYW5pbWF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMjIyO1xufVxuXG5Aa2V5ZnJhbWVzIG5vdGlmeSB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUUyNTI4O1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG4gIDUwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQzQUM2QTtcbiAgICBjb2xvcjogIzFFMjUyODtcbiAgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUUyNTI4O1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG59XG5cbiNub3RpZmljYXRpb25zIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDRlbTtcbiAgbGVmdDogMTYuN2VtO1xuICB3aWR0aDogMzJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFFMjUyODtcbiAgZm9udC1zaXplOiAwLjdlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICB6LWluZGV4OiA5OTtcbn1cblxuI25vdGlmaWNhdGlvbnMgYSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMzc0MzQ5O1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNzVlbTtcbn1cblxuI25vdGlmaWNhdGlvbnMgYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMjIyMjIgIWltcG9ydGFudDtcbn1cblxuI25vdGlmaWNhdGlvbnMgbGkudW5yZWFkIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzEzYzQxO1xufVxuXG4jbm90aWZpY2F0aW9ucyB0aW1lIHtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjODE5N2ExO1xufVxuXG4jbm90aWZpY2F0aW9ucyBzcGFuLnN0YXR1cy5pbnZvaWNlZCB7XG4gIGNvbG9yOiAjY2NjO1xufVxuXG4jdGltZXNoZWV0UGFuZWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zaXRpb246IGhlaWdodCAyNTBtcztcbiAgb3BhY2l0eTogMC45O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUUyNTI4O1xuICBmb250LXNpemU6IDAuOGVtO1xuICB3aWR0aDogMzBlbTtcbiAgei1pbmRleDogOTk7XG59XG5cbiN0aW1lc2hlZXRQYW5lbCB1bCB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuI3RpbWVzaGVldFBhbmVsIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzM3NDM0OTtcbn1cblxuI3RpbWVzaGVldFBhbmVsIGxpOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjIyMjtcbn1cblxuI3RpbWVzaGVldFBhbmVsIGxpLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNTg3NTM7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNTViZDdjO1xufVxuXG4jdGltZXNoZWV0UGFuZWwgbGkuYWN0aXZlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQzQUM2QTtcbn1cblxuI3RpbWVzaGVldFBhbmVsIGxpLmNsb3NlIHtcbiAgY29sb3I6ICM5OTk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuI3RpbWVzaGVldFBhbmVsIGxpLmNsb3NlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbiN0aW1lc2hlZXRQYW5lbCBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG59XG5cbiN0aW1lc2hlZXRQYW5lbCBhLnB1bmNoIHtcbiAgd2lkdGg6IDJlbTtcbiAgbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jdGltZXNoZWV0UGFuZWwgYS5wdW5jaDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0M0FDNkE7XG59XG5cbiN0aW1lc2hlZXRQYW5lbCBhLnRpdGxlIHtcbiAgbGVmdDogMmVtO1xuICByaWdodDogNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4jdGltZXNoZWV0UGFuZWwgYS50aXRsZSBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbiN0aW1lc2hlZXRQYW5lbCBhLnRpbWUge1xuICB3aWR0aDogNWVtO1xuICByaWdodDogMDtcbiAgcGFkZGluZy1yaWdodDogMWVtO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZm9udC1mYW1pbHk6ICdJbmNvbnNvbGF0YScsIG1vbm9zcGFjZTtcbn1cblxuI3RpbWVzaGVldFBhbmVsLmNvbGxhcHNlZCB7XG4gIGhlaWdodDogMmVtO1xufVxuXG4jdGltZXNoZWV0UGFuZWw6aG92ZXIge1xuICBvcGFjaXR5OiAuOTU7XG59XG5cbiN0aW1lc2hlZXRQYW5lbC5leHBhbmRlZCB7XG4gIGhlaWdodDogMThlbTtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbmRpdi5wcm9ncmVzcy5tZWRpdW0tYWxlcnQgLm1ldGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0M4NjcyMTtcbn1cblxuI3VzZXItZGFzaCB7XG4gIG1heC13aWR0aDogODBlbTtcbn1cblxuI3VzZXItZGFzaCAubm90ZUxpc3RGb3JtIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbiN1c2VyLWRhc2ggLm5vdGVMaXN0Rm9ybSAucm93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcbn1cblxuI3VzZXItZGFzaCAubm90ZUxpc3RGb3JtIC5mb3JtLXJvdyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiN1c2VyLWRhc2ggLnN1bW1hcnkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jdXNlci1kYXNoIC5hY3RpdmUtcHJvamVjdHMgYS5jbGllbnQge1xuICBjb2xvcjogIzFFMjUyODtcbn1cblxuI3VzZXItZGFzaCAuYWN0aXZlLXByb2plY3RzIGEuY2xpZW50OmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxRTI1Mjg7XG59XG5cbiN1c2VyLWRhc2ggLnByb2plY3QtbGlzdCAudGl0bGUge1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4jdXNlci1kYXNoIC5wcm9qZWN0LWxpc3QgLnN0YXR1cywgI3VzZXItZGFzaCAucHJvamVjdC1saXN0IC5wcmlvcml0eSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmb250LXNpemU6IDAuOWVtO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbiN1c2VyLWRhc2ggLnByb2plY3QtbGlzdCAudGFzay1saXN0IHtcbiAgZm9udC1zaXplOiAwLjg1ZW07XG59XG5cbiN1c2VyLWRhc2ggLnByb2plY3QtbGlzdCAudGFzay1saXN0IC50YXNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbiN1c2VyLWRhc2ggLnByb2plY3QtbGlzdCAudGFzay1saXN0IC50YXNrIHRleHRhcmVhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbiN1c2VyLWRhc2ggLnByb2plY3QtbGlzdCAuZGVhZGxpbmUtYnVkZ2V0IHtcbiAgaGVpZ2h0OiAzLjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4jdXNlci1kYXNoIC5wcm9qZWN0LWxpc3QgLmRlYWRsaW5lLWJ1ZGdldCAucHJvZ3Jlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xufVxuXG4jdXNlci1kYXNoIC5wcm9qZWN0LWxpc3QgLmRlYWRsaW5lLWJ1ZGdldCBpIHtcbiAgZm9udC1zaXplOiAxLjNlbTtcbn1cblxuI3VzZXItZGFzaCAuY2hhcnQudGltZXNoZWV0IHtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xufVxuXG4jdXNlci1kYXNoIC5jaGFydC50aW1lc2hlZXQgdWwuZGF0YSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiN1c2VyLWRhc2ggLmNoYXJ0LnRhc2tzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jdXNlci1kYXNoIC5jaGFydC50YXNrcyB1bC5kYXRhIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDI7XG59XG5cbiN1c2VyLWRhc2ggLmNoYXJ0LnRhc2tzIHVsLmRhdGEgbGkge1xuICBmb250LXNpemU6IDAuODVlbTtcbn1cblxuI3VzZXItZGFzaCAuY2hhcnQudGFza3MgLnRvZG8ge1xuICBjb2xvcjogI2NjY2NjYztcbn1cblxuI3VzZXItZGFzaCAuY2hhcnQudGFza3MgLmNvbXBsZXRlZCB7XG4gIGNvbG9yOiAjNDNBQzZBO1xufVxuXG4jdXNlci1kYXNoIC5jaGFydC50YXNrcyAuZGlhZ3JhbSB7XG4gIGhlaWdodDogMTUwcHg7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG59XG5cbiN1c2VyLWRhc2ggLmNoYXJ0LnRpbWVzaGVldCB1bCBsaSB7XG4gIGNvbG9yOiAjMDA5NDVEO1xufVxuXG4jdXNlci1kYXNoIC5jbGllbnQgLnBob25lLCAjdXNlci1kYXNoIC5jbGllbnQgLmFkZHJlc3MsICN1c2VyLWRhc2ggLmNsaWVudCAuY29kZSB7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLnJlbWluZGVyTGlzdCAucmVtaW5kZXIge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG59XG5cbi5yZW1pbmRlckxpc3QgLnJlbWluZC5tZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCRjBBMEQ7XG59XG5cbi5yZW1pbmRlckxpc3QgLnJlbWluZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxRTI1Mjg7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAwLjJlbSAwLjVlbTtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4ICMwMDA7XG59XG5cbi5yZW1pbmRlckxpc3QgLmVudGl0eSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiZGQwYzk7XG4gIHBhZGRpbmc6IDAuMmVtIDAuNWVtO1xuICBmb250LXNpemU6IDAuOGVtO1xufVxuXG4ucmVtaW5kZXJMaXN0IC5lbnRpdHkgYSB7XG4gIGNvbG9yOiAjMUUyNTI4O1xufVxuXG4ucmVtaW5kZXJMaXN0IC50ZXh0IHtcbiAgZm9udC1zaXplOiAwLjdlbTtcbiAgcGFkZGluZzogMWVtO1xufVxuXG4ucmVtaW5kZXJMaXN0IC5hdXRob3Ige1xuICBmb250LXNpemU6IDAuNmVtO1xuICBvcGFjaXR5OiAwLjc7XG4gIHBhZGRpbmc6IDAuNWVtO1xufVxuXG4ucmVtaW5kZXJMaXN0IC5kb25lIC5idXR0b24ge1xuICBvcGFjaXR5OiAwLjU7XG4gIHBhZGRpbmc6IDAuNWVtIDAuNzVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG59XG5cbi5yZW1pbmRlckxpc3QgLmRvbmUgLmJ1dHRvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5yZWNvbmNpbGUtdmlydHVhbG1pbiB0YWJsZS50b3RhbHMge1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG59XG5cbi5yZWNvbmNpbGUtdmlydHVhbG1pbiB0YWJsZS50b3RhbHMgLnRvdGFsIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5yZWNvbmNpbGUtdmlydHVhbG1pbiB0YWJsZS50b3RhbHMgdGJvZHkgdHIudG90YWwgdGQge1xuICBib3JkZXItdG9wLXN0eWxlOiBkb3VibGU7XG59XG5cbi5yZWNvbmNpbGUtdmlydHVhbG1pbiB0YWJsZS50b3RhbHMgdGJvZHkgdGQudG90YWwge1xuICBib3JkZXItbGVmdC1zdHlsZTogZG91YmxlO1xufVxuXG4ucmVjb25jaWxlLXZpcnR1YWxtaW4gdGFibGUudG90YWxzIHRyLmRpc2FibGVkIHRkLCAucmVjb25jaWxlLXZpcnR1YWxtaW4gdGFibGUudG90YWxzIHRyLmRpc2FibGVkIHRoIHtcbiAgY29sb3I6ICNCRjBBMEQ7XG59XG5cbi5yZWNvbmNpbGUtdmlydHVhbG1pbiB0YWJsZS50b3RhbHMgdHIuaXAtbWlzbWF0Y2ggdGQsIC5yZWNvbmNpbGUtdmlydHVhbG1pbiB0YWJsZS50b3RhbHMgdHIuaXAtbWlzbWF0Y2ggdGgge1xuICBjb2xvcjogI2YwOGEyNDtcbn1cblxuLnJlY29uY2lsZS12aXJ0dWFsbWluICNyZWNvbmNpbGUtZ3JpZCB7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG59XG5cbi5yZWNvbmNpbGUtdmlydHVhbG1pbiAjcmVjb25jaWxlLWdyaWQgdHIuZGlzYWJsZWQgdGQsIC5yZWNvbmNpbGUtdmlydHVhbG1pbiAjcmVjb25jaWxlLWdyaWQgdHIuZGlzYWJsZWQgdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmE5YjlkO1xufVxuXG4ucmVjb25jaWxlLXZpcnR1YWxtaW4gI3JlY29uY2lsZS1ncmlkIHRyLmlwLW1pc21hdGNoIHRkLCAucmVjb25jaWxlLXZpcnR1YWxtaW4gI3JlY29uY2lsZS1ncmlkIHRyLmlwLW1pc21hdGNoIHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZTNjYjtcbn1cblxuLnJlY29uY2lsZS12aXJ0dWFsbWluICNyZWNvbmNpbGUtZ3JpZCAuc2VsZWN0IHtcbiAgcGFkZGluZzogMDtcbn1cblxuLnJlY29uY2lsZS12aXJ0dWFsbWluICNyZWNvbmNpbGUtZ3JpZCAuc2VsZWN0IGEge1xuICBwYWRkaW5nOiAwLjJlbSAwLjVlbTtcbn1cblxuLnJlY29uY2lsZS12aXJ0dWFsbWluICNyZWNvbmNpbGUtZ3JpZCAuY2hlY2tib3gge1xuICBwYWRkaW5nOiAwO1xufVxuXG4ucmVjb25jaWxlLXZpcnR1YWxtaW4gI3JlY29uY2lsZS1ncmlkIC5jaGVja2JveCBpbnB1dCB7XG4gIG1hcmdpbi10b3A6IDAuNWVtO1xufVxuXG4ucmVjb25jaWxlLXZpcnR1YWxtaW4gI3JlY29uY2lsZS1ncmlkIGlucHV0LCAucmVjb25jaWxlLXZpcnR1YWxtaW4gI3JlY29uY2lsZS1ncmlkIHNlbGVjdCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDAuMWVtIDAuM2VtO1xufVxuXG4ucmVjb25jaWxlLXZpcnR1YWxtaW4gI3JlY29uY2lsZS1ncmlkIC5iaWxsaW5nUHJpY2VDdXN0b20gaW5wdXQge1xuICB3aWR0aDogOGVtO1xufVxuXG4ucmVjb25jaWxlLXZpcnR1YWxtaW4gI3JlY29uY2lsZS1ncmlkIHNlbGVjdCB7XG4gIGhlaWdodDogMmVtO1xufVxuXG4ucmVjb25jaWxlLXZpcnR1YWxtaW4gLmhhc05vdGVzIHtcbiAgY29sb3I6ICNCRjBBMEQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ubm90ZUxpc3RGb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xufVxuXG4ubm90ZUxpc3RGb3JtIGZvcm0ge1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC8qIGlPUyBTYWZhcmkgKi9cbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLyogQ2hyb21lL1NhZmFyaS9PcGVyYSAqL1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC8qIEtvbnF1ZXJvciAqL1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAvKiBGaXJlZm94ICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgLyogSW50ZXJuZXQgRXhwbG9yZXIvRWRnZSAqL1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLyogTm9uLXByZWZpeGVkIHZlcnNpb24sIGN1cnJlbnRseVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90IHN1cHBvcnRlZCBieSBhbnkgYnJvd3NlciAqL1xufVxuXG4ubm90ZUxpc3RGb3JtIHRleHRhcmVhIHtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG59XG5cbi5ub3RlTGlzdEZvcm0gLm5vdGUtbGlzdCB7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ubm90ZUxpc3RGb3JtIC5ub3RlLWxpc3QgLnJvdyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWRlYWQ0O1xufVxuXG4ubm90ZUxpc3RGb3JtIC5ub3RlLWxpc3QgLmNvbHVtbnMge1xuICBwYWRkaW5nLWJvdHRvbTogNGVtO1xuICBwYWRkaW5nLXRvcDogNGVtO1xufVxuXG4ubm90ZUxpc3RGb3JtIC5ub3RlLWxpc3QgLmRhdGUge1xuICBjb2xvcjogIzk5OTtcbiAgZm9udC1zaXplOiAwLjhlbTtcbn1cblxuLm5vdGVMaXN0Rm9ybSAubm90ZS1saXN0IC5sZWFkIHtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxLjVlbTtcbiAgdG9wOiAyZW07XG4gIGNvbG9yOiAjNDNBQzZBO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubm90ZUxpc3RGb3JtIC5ub3RlLWxpc3QgLnR5cGUge1xuICBmb250LXNpemU6IDAuOGVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyZW07XG4gIHRvcDogMmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLm5vdGVMaXN0Rm9ybSAubm90ZS1saXN0IC5yZW1pbmRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMS41ZW07XG4gIGJvdHRvbTogMS43ZW07XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIG9wYWNpdHk6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5ub3RlTGlzdEZvcm0gLm5vdGUtbGlzdCAucmVtaW5kZXIgLmJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDAuNGVtIDAuNGVtIDAuNGVtIDAuNGVtO1xufVxuXG4ubm90ZUxpc3RGb3JtIC5ub3RlLWxpc3QgLnJlbWluZGVyIC5yZW1pbmRlckxhYmVsIHtcbiAgbWFyZ2luLXJpZ2h0OiAxZW07XG59XG5cbi5ub3RlTGlzdEZvcm0gLm5vdGUtbGlzdCAucmVtaW5kZXIuZG9uZSAucmVtaW5kZXJMYWJlbCB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLm5vdGVMaXN0Rm9ybSAubm90ZS1saXN0IC5yZW1pbmRlci5kb25lIC5mYS1jaGVjayB7XG4gIGNvbG9yOiAjNDNBQzZBO1xuICBmb250LXNpemU6IDEuNWVtO1xufVxuXG4ubm90ZUxpc3RGb3JtIC5ub3RlLWxpc3QgLnJhdGluZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDJlbTtcbiAgYm90dG9tOiAxLjdlbTtcbiAgZm9udC1zaXplOiAwLjhlbTtcbn1cblxuLm5vdGVMaXN0Rm9ybSAubm90ZS1saXN0IC5yYXRpbmcgaSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5ub3RlTGlzdEZvcm0gLm5vdGUtbGlzdCAucmF0aW5nLnJhdGUxLFxuLm5vdGVMaXN0Rm9ybSAubm90ZS1saXN0IC5yYXRpbmcucmF0ZTIge1xuICBjb2xvcjogI0JGMEEwRDtcbn1cblxuLm5vdGVMaXN0Rm9ybSAubm90ZS1saXN0IC5yYXRpbmcucmF0ZTMge1xuICBjb2xvcjogI2YwOGEyNDtcbn1cblxuLm5vdGVMaXN0Rm9ybSAubm90ZS1saXN0IC5yYXRpbmcucmF0ZTQsXG4ubm90ZUxpc3RGb3JtIC5ub3RlLWxpc3QgLnJhdGluZy5yYXRlNSB7XG4gIGNvbG9yOiAjNDNBQzZBO1xufVxuXG4ubm90ZUxpc3RGb3JtIC5mb3JtLXJvdyB7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIHBhZGRpbmctdG9wOiA0ZW07XG59XG5cbi5ub3RlTGlzdEZvcm0gLmZhIHtcbiAgZm9udC1zaXplOiAxLjFlbTtcbn1cblxuLm5vdGVMaXN0Rm9ybSAucmVtaW5kZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLm5vdGVMaXN0Rm9ybSAucmVtaW5kZXIgLmZhIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubm90ZUxpc3RGb3JtIC5yZW1pbmRlciBpbnB1dCB7XG4gIG1hcmdpbi1sZWZ0OiAxZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGhlaWdodDogMS41ZW07XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5ub3RlTGlzdEZvcm0gLnJlbWluZGVyIHNlbGVjdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwIDJlbSAwIDAuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBoZWlnaHQ6IDEuNWVtO1xufVxuXG4ubm90ZUxpc3RGb3JtIC5yZW1pbmRlcjpob3ZlciwgLm5vdGVMaXN0Rm9ybSAucmVtaW5kZXIuYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm5vdGVMaXN0Rm9ybSAucmVtaW5kZXIuYWN0aXZlIHNlbGVjdCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLm5vdGVMaXN0Rm9ybSAudHlwZSB7XG4gIHBhZGRpbmctYm90dG9tOiAwZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbn1cblxuLm5vdGVMaXN0Rm9ybSAudHlwZSBhLmRyb3Bkb3duIHtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4ubm90ZUxpc3RGb3JtIC50eXBlIGEuZHJvcGRvd246aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubm90ZUxpc3RGb3JtIC50eXBlIGlucHV0IHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMGVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBoZWlnaHQ6IDFlbTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLm5vdGVMaXN0Rm9ybSAudHlwZS5hY3RpdmUgYS5kcm9wZG93biB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5ub3RlTGlzdEZvcm0gLnR5cGUuYWN0aXZlIGlucHV0IHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4ubm90ZUxpc3RGb3JtIC5sZWFkIHtcbiAgb3BhY2l0eTogMC41O1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLm5vdGVMaXN0Rm9ybSAubGVhZCBsYWJlbC50ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMDA5NDVEO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDAuOGVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG59XG5cbi5ub3RlTGlzdEZvcm0gLmxlYWQgaW5wdXQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubm90ZUxpc3RGb3JtIC5sZWFkIC5zd2l0Y2gge1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ubm90ZUxpc3RGb3JtIC5sZWFkIC5zd2l0Y2ggbGFiZWwge1xuICBoZWlnaHQ6IDAuOGVtO1xuICB3aWR0aDogMmVtO1xufVxuXG4ubm90ZUxpc3RGb3JtIC5sZWFkIC5zd2l0Y2ggbGFiZWw6YWZ0ZXIge1xuICBoZWlnaHQ6IDAuNWVtO1xuICB3aWR0aDogMC42ZW07XG4gIHRvcDogMC4xZW07XG59XG5cbi5ub3RlTGlzdEZvcm0gLmxlYWQgLnN3aXRjaCBpbnB1dDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICBsZWZ0OiAxLjFlbTtcbn1cblxuLm5vdGVMaXN0Rm9ybSAubGVhZCAuc3dpdGNoIGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0M0FDNkE7XG59XG5cbi5ub3RlTGlzdEZvcm0gLmxlYWQ6aG92ZXIsIC5ub3RlTGlzdEZvcm0gLmxlYWQuYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm5vdGVMaXN0Rm9ybS5kaXItZG93biAubm90ZS1saXN0IC5yb3cge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2VkZWFkNDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLm5vdGVMaXN0Rm9ybS5kaXItZG93biAuZm9ybS1yb3cge1xuICBwYWRkaW5nLXRvcDogNGVtO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLnJhdGluZyB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5yYXRpbmcgaSB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgZm9udC1zaXplOiAxLjNlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucmF0aW5nIC5hdmcge1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG59XG5cbi5yYXRpbmcgc3Bhbjpob3ZlciA+IGkge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ucmF0aW5nIHNwYW46aG92ZXIgPiBpLnJhdGUxIHtcbiAgY29sb3I6ICNCRjBBMEQ7XG59XG5cbi5yYXRpbmcgc3Bhbjpob3ZlciA+IGkucmF0ZTIge1xuICBjb2xvcjogI2YwOGEyNDtcbn1cblxuLnJhdGluZyBzcGFuOmhvdmVyID4gaS5yYXRlMyB7XG4gIGNvbG9yOiAjZjA4YTI0O1xufVxuXG4ucmF0aW5nIHNwYW46aG92ZXIgPiBpLnJhdGU0IHtcbiAgY29sb3I6ICM0M0FDNkE7XG59XG5cbi5yYXRpbmcgc3Bhbjpob3ZlciA+IGkucmF0ZTUge1xuICBjb2xvcjogIzQzQUM2QTtcbn1cblxuLnJhdGluZy5hY3RpdmUxIGkucmF0ZTEge1xuICBjb2xvcjogI0JGMEEwRDtcbiAgb3BhY2l0eTogMTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5yYXRpbmcuYWN0aXZlMiBpLnJhdGUxIHtcbiAgY29sb3I6ICNCRjBBMEQ7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5yYXRpbmcuYWN0aXZlMiBpLnJhdGUyIHtcbiAgY29sb3I6ICNmMDhhMjQ7XG4gIG9wYWNpdHk6IDE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ucmF0aW5nLmFjdGl2ZTMgaS5yYXRlMSB7XG4gIGNvbG9yOiAjQkYwQTBEO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ucmF0aW5nLmFjdGl2ZTMgaS5yYXRlMiB7XG4gIGNvbG9yOiAjZjA4YTI0O1xuICBvcGFjaXR5OiAxO1xufVxuXG4ucmF0aW5nLmFjdGl2ZTMgaS5yYXRlMyB7XG4gIGNvbG9yOiAjZjA4YTI0O1xuICBvcGFjaXR5OiAxO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnJhdGluZy5hY3RpdmU0IGkucmF0ZTEge1xuICBjb2xvcjogI0JGMEEwRDtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnJhdGluZy5hY3RpdmU0IGkucmF0ZTIge1xuICBjb2xvcjogI2YwOGEyNDtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnJhdGluZy5hY3RpdmU0IGkucmF0ZTMge1xuICBjb2xvcjogI2YwOGEyNDtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnJhdGluZy5hY3RpdmU0IGkucmF0ZTQge1xuICBjb2xvcjogIzQzQUM2QTtcbiAgb3BhY2l0eTogMTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5yYXRpbmcuYWN0aXZlNSBpLnJhdGUxIHtcbiAgY29sb3I6ICNCRjBBMEQ7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5yYXRpbmcuYWN0aXZlNSBpLnJhdGUyIHtcbiAgY29sb3I6ICNmMDhhMjQ7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5yYXRpbmcuYWN0aXZlNSBpLnJhdGUzIHtcbiAgY29sb3I6ICNmMDhhMjQ7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5yYXRpbmcuYWN0aXZlNSBpLnJhdGU0IHtcbiAgY29sb3I6ICM0M0FDNkE7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5yYXRpbmcuYWN0aXZlNSBpLnJhdGU1IHtcbiAgY29sb3I6ICM0M0FDNkE7XG4gIG9wYWNpdHk6IDE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udGFicy1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjNlNjtcbiAgcGFkZGluZzogMWVtO1xufVxuXG4udGFicy1jb250ZW50IHRhYmxlIHRib2R5IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuXG4udGFicy1jb250ZW50IC5ub3RlTGlzdEZvcm0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5cbi50YWJzIGRkID4gYSwgLnRhYnMgLnRhYi10aXRsZSA+IGEge1xuICBwYWRkaW5nOiAwLjVlbSAxLjVlbTtcbiAgb3V0bGluZTogbm9uZTtcbiAgZm9udC1zaXplOiAwLjllbTtcbn1cblxuZGwudGFicyBkZCBhIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2Q3Y2Y5ZTtcbn1cblxuZGwudGFicyBkZCAuY291bnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMC4yZW07XG4gIHJpZ2h0OiAwLjZlbTtcbiAgZm9udC1zaXplOiAwLjZlbTtcbiAgb3BhY2l0eTogMC40O1xufVxuXG5kbC50YWJzIGRkLmFjdGl2ZSBhIHtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4jcHJvamVjdC1ncmlkIHRkIHtcbiAgZm9udC1zaXplOiAwLjc1ZW07XG59XG5cbiNjbGllbnRfbm90ZXMgaDIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG51bC5zdWItbWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IC0wLjI1cmVtIDAgMS4xMjVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuICB3aWR0aDogYXV0bztcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBmbG9hdDogcmlnaHQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG51bC5zdWItbWVudSBkdCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbnVsLnN1Yi1tZW51IGR0LFxudWwuc3ViLW1lbnUgZGQsXG51bC5zdWItbWVudSBsaSB7XG4gIGNvbG9yOiAjOTk5OTk5O1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG51bC5zdWItbWVudSBkdCBhLFxudWwuc3ViLW1lbnUgZGQgYSxcbnVsLnN1Yi1tZW51IGxpIGEge1xuICBjb2xvcjogIzk5OTk5OTtcbiAgcGFkZGluZzogMC4xODc1cmVtIDFyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxudWwuc3ViLW1lbnUgZHQgYTpob3ZlcixcbnVsLnN1Yi1tZW51IGRkIGE6aG92ZXIsXG51bC5zdWItbWVudSBsaSBhOmhvdmVyIHtcbiAgY29sb3I6ICM3MzczNzM7XG59XG5cbnVsLnN1Yi1tZW51IGR0LmFjdGl2ZSBhLFxudWwuc3ViLW1lbnUgZGQuYWN0aXZlIGEsXG51bC5zdWItbWVudSBsaS5hY3RpdmUgYSB7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZDogIzAwOTQ1RDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMC4xODc1cmVtIDFyZW07XG59XG5cbnVsLnN1Yi1tZW51IGR0LmFjdGl2ZSBhOmhvdmVyLFxudWwuc3ViLW1lbnUgZGQuYWN0aXZlIGE6aG92ZXIsXG51bC5zdWItbWVudSBsaS5hY3RpdmUgYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMwMDdmNTA7XG59XG5cbnVsLnN1Yi1tZW51IGxpIHtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG51bC5zdWItbWVudSBsaSBhIHtcbiAgcGFkZGluZzogMC41ZW0gMWVtO1xuICBjb2xvcjogIzAwOTQ1RDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNDgsIDkzLCAwLjEpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDE0OCwgOTMsIDAuMik7XG59XG5cbnVsLnN1Yi1tZW51IGxpIGE6aG92ZXIge1xuICBjb2xvcjogIzAwOTQ1RDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNDgsIDkzLCAwLjIpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDE0OCwgOTMsIDAuMyk7XG59XG5cbnVsLnN1Yi1tZW51IGEuYWxlcnQge1xuICBjb2xvcjogI0JGMEEwRDtcbn1cblxuLmNsaWVudC52aWV3IC50b3AtaW5mbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyLjVlbTtcbiAgcmlnaHQ6IDFlbTtcbn1cblxuI2NsaWVudF9kYXNoYm9hcmQgLnN1bW1hcnkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jY2xpZW50X2Rhc2hib2FyZCB0YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jY2xpZW50X2Rhc2hib2FyZCB0ZCB7XG4gIGZvbnQtc2l6ZTogMC44ZW0gIWltcG9ydGFudDtcbn1cblxuI2NsaWVudF9kYXNoYm9hcmQgLm5vdGVMaXN0Rm9ybSB7XG4gIHBhZGRpbmc6IDAgMWVtO1xufVxuXG4jY2xpZW50X2Rhc2hib2FyZCAubm90ZUxpc3RGb3JtIGgyLFxuI2NsaWVudF9kYXNoYm9hcmQgLm5vdGVMaXN0Rm9ybSAuZm9ybS1yb3cge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jY2xpZW50X25vdGVzIC5ub3RlTGlzdEZvcm0ge1xuICBwYWRkaW5nOiAwIDJlbTtcbn1cblxuI2NsaWVudF9jb250YWN0cyB0YWJsZSB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG5jYW52YXMuY2hhcnQge1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gRm91bmRhdGlvbiBWaXNpYmlsaXR5IENsYXNzZXNcbi8vXG4kaW5jbHVkZS1odG1sLXZpc2liaWxpdHktY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuJGluY2x1ZGUtYWNjZXNzaWJpbGl0eS1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xuJGluY2x1ZGUtdGFibGUtdmlzaWJpbGl0eS1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xuJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDtcblxuLy9cbi8vIE1lZGlhIENsYXNzIE5hbWVzXG4vL1xuLy8gVmlzaWJpbGl0eSBCcmVha3BvaW50c1xuJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplczpcbiAgc21hbGwsXG4gIG1lZGl1bSxcbiAgbGFyZ2UsXG4gIHhsYXJnZSxcbiAgeHhsYXJnZTtcblxuJHZpc2liaWxpdHktYnJlYWtwb2ludC1xdWVyaWVzOlxuICB1bnF1b3RlKCRzbWFsbC11cCksXG4gIHVucXVvdGUoJG1lZGl1bS11cCksXG4gIHVucXVvdGUoJGxhcmdlLXVwKSxcbiAgdW5xdW90ZSgkeGxhcmdlLXVwKSxcbiAgdW5xdW90ZSgkeHhsYXJnZS11cCk7XG5cbkBtaXhpbiB2aXNpYmlsaXR5LWxvb3Age1xuICBAZWFjaCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQgaW4gJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcyB7XG4gICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6ICgpO1xuXG4gICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogKCk7XG5cbiAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogKCk7XG4gICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6ICgpO1xuICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6ICgpO1xuXG4gICAgQGVhY2ggJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50IGluICR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMge1xuICAgICAgQGlmIGluZGV4KCR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMsICR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludCkgPCBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgLy8gU21hbGxlciB0aGFuIGN1cnJlbnQgYnJlYWtwb2ludFxuXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG5cbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgIH1cblxuICAgICAgfSBAZWxzZSBpZiBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQpID4gaW5kZXgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcywgJGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50KSB7XG4gICAgICAgIC8vIExhcmdlciB0aGFuIGN1cnJlbnQgYnJlYWtwb2ludFxuXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG5cbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgIH1cblxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEN1cnJlbnQgYnJlYWtwb2ludFxuXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG5cbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGguc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiAjeyRjdXJyZW50LXZpc2liaWxpdHktYnJlYWtwb2ludH0gZGlzcGxheXMgKi9cbiAgICBAbWVkaWEgI3tudGgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1xdWVyaWVzLCBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQpKX0ge1xuICAgICAgI3skdmlzaWJpbGl0eS1pbmhlcml0LWxpc3R9IHtcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgI3skdmlzaWJpbGl0eS1ub25lLWxpc3R9IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgQGlmICRpbmNsdWRlLWFjY2Vzc2liaWxpdHktY2xhc3NlcyAhPSBmYWxzZSB7XG4gICAgICAgICN7JHZpc2liaWxpdHktdmlzaWJsZS1saXN0fSB7XG4gICAgICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktaGlkZGVuLWxpc3R9IHtcbiAgICAgICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGlmICRpbmNsdWRlLXRhYmxlLXZpc2liaWxpdHktY2xhc3NlcyAhPSBmYWxzZSB7XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtbGlzdH0ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgI3skdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdH0ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3R9IHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAjeyR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0fSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0fSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ2aXNpYmlsaXR5XCIpe1xuICBAaWYgJGluY2x1ZGUtaHRtbC12aXNpYmlsaXR5LWNsYXNzZXMgIT0gZmFsc2Uge1xuXG4gIEBpbmNsdWRlIHZpc2liaWxpdHktbG9vcDtcblxuICAvKiBPcmllbnRhdGlvbiB0YXJnZXRpbmcgKi9cbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xuICB0YWJsZSB7XG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgJi5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgfVxuICB0aGVhZCB7XG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgJi5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIH1cbiAgdGJvZHkge1xuICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB9XG4gIHRyIHtcbiAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAmLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgfVxuICB0ZCxcbiAgdGgge1xuICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgfVxuXG4gIEBtZWRpYSAjeyRsYW5kc2NhcGV9IHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAvKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cbiAgICB0YWJsZSB7XG4gICAgICAmLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAgICYuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRoZWFkIHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRib2R5IHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRyIHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRkLFxuICAgIHRoIHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAjeyRwb3J0cmFpdH0ge1xuICAgIC5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0LFxuICAgIC5zaG93LWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xuICAgIHRhYmxlIHtcbiAgICAgICYuc2hvdy1mb3ItcG9ydHJhaXQsXG4gICAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGhlYWQge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGJvZHkge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdHIge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGQsXG4gICAgdGgge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgLyogVG91Y2gtZW5hYmxlZCBkZXZpY2UgdGFyZ2V0aW5nICovXG4gIC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAudG91Y2ggLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovXG4gIHRhYmxlLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGFibGUuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIHRoZWFkLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGJvZHkuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCB0ci5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCB0ZC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGguc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAvKiBTY3JlZW4gcmVhZGVyLXNwZWNpZmljIGNsYXNzZXMgKi9cbiAgLnNob3ctZm9yLXNyIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvKiBQcmludCB2aXNpYmlsaXR5ICovXG4gIEBpZiAkaW5jbHVkZS1wcmludC1zdHlsZXMge1xuICAgIC5wcmludC1vbmx5LFxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAucHJpbnQtb25seSxcbiAgICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5oaWRlLW9uLXByaW50LFxuICAgICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBCbG9jayBHcmlkIFZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtYmxvY2stZ3JpZC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG4kaW5jbHVkZS14bC1odG1sLWJsb2NrLWdyaWQtY2xhc3NlczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIG1heGltdW0gbnVtYmVyIG9mIGJsb2NrIGdyaWQgZWxlbWVudHMgcGVyIHJvd1xuJGJsb2NrLWdyaWQtZWxlbWVudHM6IDEyICFkZWZhdWx0O1xuJGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbiRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQ6IGZhbHNlICFkZWZhdWx0O1xuQGlmICRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQge1xuICAkYmxvY2stZ3JpZC1kZWZhdWx0LXNwYWNpbmc6ICRjb2x1bW4tZ3V0dGVyO1xufVxuXG4vLyBFbmFibGVzIG1lZGlhIHF1ZXJpZXMgZm9yIGJsb2NrLWdyaWQgY2xhc3Nlcy4gU2V0IHRvIGZhbHNlIGlmIHdyaXRpbmcgc2VtYW50aWMgSFRNTC5cbiRibG9jay1ncmlkLW1lZGlhLXF1ZXJpZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vXG4vLyBCbG9jayBHcmlkIE1peGluc1xuLy9cblxuLy8gQ3JlYXRlIGEgY3VzdG9tIGJsb2NrIGdyaWRcbi8vXG4vLyAkcGVyLXJvdyAtICMgb2YgaXRlbXMgdG8gZGlzcGxheSBwZXIgcm93LiBEZWZhdWx0OiBmYWxzZS5cbi8vICRzcGFjaW5nIC0gIyBvZiBlbXMgdG8gdXNlIGFzIHBhZGRpbmcgb24gZWFjaCBibG9jayBpdGVtLiBEZWZhdWx0OiByZW0tY2FsYygyMCkuXG4vLyAkaW5jbHVkZS1zcGFjaW5nIC0gQWRkcyBwYWRkaW5nIHRvIG91ciBsaXN0IGl0ZW0uIERlZmF1bHQ6IHRydWUuXG4vLyAkYmFzZS1zdHlsZSAtIEFwcGx5IGEgYmFzZSBzdHlsZSB0byBibG9jayBncmlkLiBEZWZhdWx0OiB0cnVlLlxuQG1peGluIGJsb2NrLWdyaWQoXG4gICRwZXItcm93OmZhbHNlLFxuICAkc3BhY2luZzokYmxvY2stZ3JpZC1kZWZhdWx0LXNwYWNpbmcsXG4gICRpbmNsdWRlLXNwYWNpbmc6dHJ1ZSxcbiAgJGJhc2Utc3R5bGU6dHJ1ZSkge1xuXG4gIEBpZiAkYmFzZS1zdHlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaWYgJGFsaWduLWJsb2NrLWdyaWQtdG8tZ3JpZCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW46IDAgKC0kc3BhY2luZy8yKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgQGlmICRpbmNsdWRlLXNwYWNpbmcge1xuICAgICAgICBwYWRkaW5nOiAwICgkc3BhY2luZy8yKSAkc3BhY2luZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJHBlci1yb3cge1xuICAgID4gbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIEBpZiAkaW5jbHVkZS1zcGFjaW5nIHtcbiAgICAgICAgcGFkZGluZzogMCAoJHNwYWNpbmcvMikgJHNwYWNpbmc7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJS8kcGVyLXJvdztcblxuICAgICAgJjpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuICAgICAgJjpudGgtb2YtdHlwZSgjeyRwZXItcm93fW4rMSkgeyBjbGVhcjogYm90aDsgfVxuICAgICAgQGlmICRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQge1xuICAgICAgICBAaW5jbHVkZSBibG9jay1ncmlkLWFsaWduZWQoJHBlci1yb3csICRzcGFjaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJsb2NrLWdyaWQtYWxpZ25lZCgkcGVyLXJvdywgJHNwYWNpbmcpIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1lbGVtZW50cyB7XG4gICAgQGlmICRwZXItcm93ID49ICRpIHtcbiAgICAgICRncmlkLWNvbHVtbjogJysnICsgJGk7XG4gICAgICBAaWYgJHBlci1yb3cgPT0gJGkge1xuICAgICAgICAkZ3JpZC1jb2x1bW46ICcnO1xuICAgICAgfVxuICAgICAgJjpudGgtb2YtdHlwZSgjeyRwZXItcm93fW4je3VucXVvdGUoJGdyaWQtY29sdW1uKX0pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAoJHNwYWNpbmcgLSAoKCRzcGFjaW5nIC8gJHBlci1yb3cpICogKCRwZXItcm93IC0gKCRpIC0gMSkpKSk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICgkc3BhY2luZyAtICgoJHNwYWNpbmcgLyAkcGVyLXJvdykgKiAkaSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSBwcmVzZW50YXRpb25hbCBtYXJrdXAgZm9yIGJsb2NrIGdyaWQuXG4vL1xuLy8gJHNpemUgLSBOYW1lIG9mIGNsYXNzIHRvIHVzZSwgaS5lLiBcImxhcmdlXCIgd2lsbCBnZW5lcmF0ZSAubGFyZ2UtYmxvY2stZ3JpZC0xLCAubGFyZ2UtYmxvY2stZ3JpZC0yLCBldGMuXG5AbWl4aW4gYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemUsICRpbmNsdWRlLXNwYWNpbmcpIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1lbGVtZW50cyB7XG4gICAgLiN7JHNpemV9LWJsb2NrLWdyaWQtI3soJGkpfSB7XG4gICAgICBAaW5jbHVkZSBibG9jay1ncmlkKCRpLCAkYmxvY2stZ3JpZC1kZWZhdWx0LXNwYWNpbmcsICRpbmNsdWRlLXNwYWNpbmcsIGZhbHNlKTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImJsb2NrLWdyaWRcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1ibG9jay1ncmlkLWNsYXNzZXMge1xuXG4gICAgW2NsYXNzKj1cImJsb2NrLWdyaWQtXCJdIHsgQGluY2x1ZGUgYmxvY2stZ3JpZDsgfVxuXG4gICAgQGlmICRibG9jay1ncmlkLW1lZGlhLXF1ZXJpZXMge1xuICAgICAgQG1lZGlhICN7JHNtYWxsLXVwfSB7XG4gICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnNtYWxsLCAkaW5jbHVkZS1zcGFjaW5nOmZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICBAaW5jbHVkZSBibG9jay1ncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTptZWRpdW0sICRpbmNsdWRlLXNwYWNpbmc6ZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6bGFyZ2UsICRpbmNsdWRlLXNwYWNpbmc6ZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGluY2x1ZGUteGwtaHRtbC1ibG9jay1ncmlkLWNsYXNzZXMge1xuICAgICAgICBAbWVkaWEgI3skeGxhcmdlLXVwfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6eGxhcmdlLCAkaW5jbHVkZS1zcGFjaW5nOmZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAjeyR4eGxhcmdlLXVwfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6eHhsYXJnZSwgJGluY2x1ZGUtc3BhY2luZzpmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbiRpbmNsdWRlLWh0bWwtdHlwZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBmb250IHN0eWxlc1xuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG4kaGVhZGVyLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4kaGVhZGVyLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kaGVhZGVyLXRvcC1tYXJnaW46IC4ycmVtICFkZWZhdWx0O1xuJGhlYWRlci1ib3R0b20tbWFyZ2luOiAuNXJlbSAhZGVmYXVsdDtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIGZvbnQgc2l6ZXNcbiRoMS1mb250LXNpemU6IHJlbS1jYWxjKDQ0KSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IHJlbS1jYWxjKDM3KSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IHJlbS1jYWxjKDI3KSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IHJlbS1jYWxjKDIzKSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBzaXplIHJlZHVjdGlvbiBvbiBzbWFsbCBzY3JlZW5zXG4kaDEtZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiRoMi1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJGgzLWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYyg1KSAhZGVmYXVsdDtcbiRoNC1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XG4kaDUtZm9udC1yZWR1Y3Rpb246IDAgIWRlZmF1bHQ7XG4kaDYtZm9udC1yZWR1Y3Rpb246IDAgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgaG93IHN1YmhlYWRlcnMgYXJlIHN0eWxlZC5cbiRzdWJoZWFkZXItbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRzdWJoZWFkZXItZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpICFkZWZhdWx0O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRzdWJoZWFkZXItdG9wLW1hcmdpbjogLjJyZW0gIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLWJvdHRvbS1tYXJnaW46IC41cmVtICFkZWZhdWx0O1xuXG4vLyBBIGdlbmVyYWwgPHNtYWxsPiBzdHlsaW5nXG4kc21hbGwtZm9udC1zaXplOiA2MCUgIWRlZmF1bHQ7XG4kc21hbGwtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgcGFyYWdyYXBoc1xuJHBhcmFncmFwaC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ6IDEuNiAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJHBhcmFncmFwaC1hc2lkZS1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtYXNpZGUtbGluZS1oZWlnaHQ6IDEuMzUgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWFzaWRlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIDxjb2RlPiB0YWdzXG4kY29kZS1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kY29kZS1iYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA3MCUpICFkZWZhdWx0O1xuJGNvZGUtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRjb2RlLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kY29kZS1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRjb2RlLWJhY2tncm91bmQtY29sb3IsICRsaWdodG5lc3M6IC0xMCUpICFkZWZhdWx0O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMikgcmVtLWNhbGMoNSkgcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBhbmNob3JzXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuJGFuY2hvci1mb250LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRhbmNob3ItZm9udC1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSA8aHI+IGVsZW1lbnRcbiRoci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRoci1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGhyLWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGxpc3RzXG4kbGlzdC1mb250LWZhbWlseTogJHBhcmFncmFwaC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRsaXN0LWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbGlzdC1saW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMXJlbSAhZGVmYXVsdDtcbiRsaXN0LW9yZGVyZWQtc2lkZS1tYXJnaW46IDEuNHJlbSAhZGVmYXVsdDtcbiRsaXN0LXNpZGUtbWFyZ2luLW5vLWJ1bGxldDogMCAhZGVmYXVsdDtcbiRsaXN0LW5lc3RlZC1tYXJnaW46IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcbiRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kZGVmaW5pdGlvbi1saXN0LWhlYWRlci1tYXJnaW4tYm90dG9tOiAuM3JlbSAhZGVmYXVsdDtcbiRkZWZpbml0aW9uLWxpc3QtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgYmxvY2txdW90ZXNcbiRibG9ja3F1b3RlLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMzUlKSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkZ2FpbnNib3JvICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWNpdGUtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAyMyUpICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtY2l0ZS1saW5rLWNvbG9yOiAkYmxvY2txdW90ZS1jaXRlLWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vIEFjcm9ueW0gc3R5bGVzXG4kYWNyb255bS11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGdhaW5zYm9ybyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgcGFkZGluZyBhbmQgbWFyZ2luXG4kbWljcm9mb3JtYXQtcGFkZGluZzogcmVtLWNhbGMoMTAgMTIpICFkZWZhdWx0O1xuJG1pY3JvZm9ybWF0LW1hcmdpbjogcmVtLWNhbGMoMCAwIDIwIDApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYm9yZGVyIHN0eWxlc1xuJG1pY3JvZm9ybWF0LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJG1pY3JvZm9ybWF0LWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kbWljcm9mb3JtYXQtYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBmdWxsIG5hbWUgZm9udCBzdHlsZXNcbiRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kbWljcm9mb3JtYXQtZnVsbG5hbWUtZm9udC1zaXplOiByZW0tY2FsYygxNSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIHN1bW1hcnkgZm9udCBzdHlsZXNcbiRtaWNyb2Zvcm1hdC1zdW1tYXJ5LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhYmJyIHBhZGRpbmdcbiRtaWNyb2Zvcm1hdC1hYmJyLXBhZGRpbmc6IHJlbS1jYWxjKDAgMSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYWJiciBmb250IHN0eWxlc1xuJG1pY3JvZm9ybWF0LWFiYnItZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJG1pY3JvZm9ybWF0LWFiYnItZm9udC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLyBDb250cm9scyB0aGUgcGFnZSBtYXJnaW4gd2hlbiBwcmludGluZyB0aGUgd2Vic2l0ZVxuJHByaW50LW1hcmdpbjogMC4zNGluICFkZWZhdWx0O1xuXG4vLyBUZXh0IGFsaWdubWVudCBjbGFzcyBuYW1lc1xuJGFsaWduLWNsYXNzLW5hbWVzOlxuICBzbWFsbC1vbmx5LFxuICBzbWFsbCxcbiAgbWVkaXVtLW9ubHksXG4gIG1lZGl1bSxcbiAgbGFyZ2Utb25seSxcbiAgbGFyZ2UsXG4gIHhsYXJnZS1vbmx5LFxuICB4bGFyZ2UsXG4gIHh4bGFyZ2Utb25seSxcbiAgeHhsYXJnZTtcblxuLy8gVGV4dCBhbGlnbm1lbnQgYnJlYWtwb2ludHNcbiRhbGlnbi1jbGFzcy1icmVha3BvaW50czpcbiAgJHNtYWxsLW9ubHksXG4gICRzbWFsbC11cCxcbiAgJG1lZGl1bS1vbmx5LFxuICAkbWVkaXVtLXVwLFxuICAkbGFyZ2Utb25seSxcbiAgJGxhcmdlLXVwLFxuICAkeGxhcmdlLW9ubHksXG4gICR4bGFyZ2UtdXAsXG4gICR4eGxhcmdlLW9ubHksXG4gICR4eGxhcmdlLXVwO1xuXG4vLyBHZW5lcmF0ZXMgdGV4dCBhbGlnbiBhbmQganVzdGlmeSBjbGFzc2VzXG5AbWl4aW4gYWxpZ24tY2xhc3Nlc3tcbiAgLnRleHQtbGVmdCAgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAudGV4dC1yaWdodCAgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAudGV4dC1jZW50ZXIgIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLnRleHQtanVzdGlmeSB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRhbGlnbi1jbGFzcy1uYW1lcykge1xuICAgIEBtZWRpYSAjeyhudGgoJGFsaWduLWNsYXNzLWJyZWFrcG9pbnRzLCAkaSkpfSB7XG4gICAgICAuI3sobnRoKCRhbGlnbi1jbGFzcy1uYW1lcywgJGkpKX0tdGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgICAuI3sobnRoKCRhbGlnbi1jbGFzcy1uYW1lcywgJGkpKX0tdGV4dC1yaWdodCAgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgICAgLiN7KG50aCgkYWxpZ24tY2xhc3MtbmFtZXMsICRpKSl9LXRleHQtY2VudGVyICB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgICAuI3sobnRoKCRhbGlnbi1jbGFzcy1uYW1lcywgJGkpKX0tdGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBUeXBvZ3JhcGh5IFBsYWNlaG9sZGVyc1xuLy9cblxuLy8gVGhlc2Ugd2lsbCB0aHJvdyBhIGRlcHJlY2F0aW9uIHdhcm5pbmcgaWYgdXNlZCB3aXRoaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBsZWFkIHtcbiAgZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIHJlbS1jYWxjKDMuNSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbkBtaXhpbiBzdWJoZWFkZXIge1xuICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRzdWJoZWFkZXItZm9udC1jb2xvcjtcbiAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItdG9wLW1hcmdpbjtcbiAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1ib3R0b20tbWFyZ2luO1xufVxuQGluY2x1ZGUgZXhwb3J0cyhcInR5cGVcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC10eXBlLWNsYXNzZXMge1xuICAgIC8vIFJlc3BvbnNpdmUgVGV4dCBhbGlnbm1lbnRcbiAgICBAaW5jbHVkZSBhbGlnbi1jbGFzc2VzO1xuXG4gICAgLyogVHlwb2dyYXBoeSByZXNldHMgKi9cbiAgICBkaXYsXG4gICAgZGwsXG4gICAgZHQsXG4gICAgZGQsXG4gICAgdWwsXG4gICAgb2wsXG4gICAgbGksXG4gICAgaDEsXG4gICAgaDIsXG4gICAgaDMsXG4gICAgaDQsXG4gICAgaDUsXG4gICAgaDYsXG4gICAgcHJlLFxuICAgIGZvcm0sXG4gICAgcCxcbiAgICBibG9ja3F1b3RlLFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIG1hcmdpbjowO1xuICAgICAgcGFkZGluZzowO1xuICAgIH1cblxuICAgIC8qIERlZmF1bHQgTGluayBTdHlsZXMgKi9cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWZvbnQtY29sb3I7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRhbmNob3ItZm9udC1jb2xvci1ob3ZlcjtcbiAgICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgXHR0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGltZyB7IGJvcmRlcjpub25lOyB9XG4gICAgfVxuXG4gICAgLyogRGVmYXVsdCBwYXJhZ3JhcGggc3R5bGVzICovXG4gICAgcCB7XG4gICAgICBmb250LWZhbWlseTogJHBhcmFncmFwaC1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemU7XG4gICAgICBmb250LXdlaWdodDogJHBhcmFncmFwaC1mb250LXdlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmUtaGVpZ2h0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG5cbiAgICAgICYubGVhZCB7IEBpbmNsdWRlIGxlYWQ7IH1cblxuICAgICAgJiBhc2lkZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHBhcmFncmFwaC1hc2lkZS1mb250LXNpemU7XG4gICAgICAgIGZvbnQtc3R5bGU6ICRwYXJhZ3JhcGgtYXNpZGUtZm9udC1zdHlsZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtYXNpZGUtbGluZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogRGVmYXVsdCBoZWFkZXIgc3R5bGVzICovXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICBjb2xvcjogJGhlYWRlci1mb250LWNvbG9yO1xuICAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmUtaGVpZ2h0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGhlYWRlci1ib3R0b20tbWFyZ2luO1xuICAgICAgbWFyZ2luLXRvcDogJGhlYWRlci10b3AtbWFyZ2luO1xuICAgICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICAgIHNtYWxsIHtcbiAgICAgICAgY29sb3I6ICRzbWFsbC1mb250LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgxIHsgZm9udC1zaXplOiAkaDEtZm9udC1zaXplIC0gJGgxLWZvbnQtcmVkdWN0aW9uOyB9XG4gICAgaDIgeyBmb250LXNpemU6ICRoMi1mb250LXNpemUgLSAkaDItZm9udC1yZWR1Y3Rpb247IH1cbiAgICBoMyB7IGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZSAtICRoMy1mb250LXJlZHVjdGlvbjsgfVxuICAgIGg0IHsgZm9udC1zaXplOiAkaDQtZm9udC1zaXplIC0gJGg0LWZvbnQtcmVkdWN0aW9uOyB9XG4gICAgaDUgeyBmb250LXNpemU6ICRoNS1mb250LXNpemUgLSAkaDUtZm9udC1yZWR1Y3Rpb247IH1cbiAgICBoNiB7IGZvbnQtc2l6ZTogJGg2LWZvbnQtc2l6ZSAtICRoNi1mb250LXJlZHVjdGlvbjsgfVxuXG4gICAgLnN1YmhlYWRlciB7IEBpbmNsdWRlIHN1YmhlYWRlcjsgfVxuXG4gICAgaHIge1xuICAgICAgYm9yZGVyOiAkaHItYm9yZGVyLXN0eWxlICRoci1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6ICRoci1ib3JkZXItd2lkdGggMCAwO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW46ICRoci1tYXJnaW4gMCAoJGhyLW1hcmdpbiAtIHJlbS1jYWxjKCRoci1ib3JkZXItd2lkdGgpKTtcbiAgICB9XG5cbiAgICAvKiBIZWxwZnVsIFR5cG9ncmFwaHkgRGVmYXVsdHMgKi9cbiAgICBlbSxcbiAgICBpIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIHN0cm9uZyxcbiAgICBiIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIGNvZGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvZGUtYm9yZGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLXN0eWxlOiAkY29kZS1ib3JkZXItc3R5bGU7XG4gICAgICBib3JkZXItd2lkdGg6ICRjb2RlLWJvcmRlci1zaXplO1xuICAgICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICAgICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvKiBMaXN0cyAqL1xuICAgIHVsLFxuICAgIG9sLFxuICAgIGRsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkbGlzdC1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtc2l6ZTogJGxpc3QtZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmUtaGVpZ2h0O1xuICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgfVxuXG4gICAgLyogVW5vcmRlcmVkIExpc3RzICovXG4gICAgdWwge1xuICAgICAgbGkge1xuICAgICAgICB1bCxcbiAgICAgICAgb2wge1xuICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3QtbmVzdGVkLW1hcmdpbjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnNxdWFyZSxcbiAgICAgICYuY2lyY2xlLFxuICAgICAgJi5kaXNjIHtcbiAgICAgICAgbGkgdWwgeyBsaXN0LXN0eWxlOiBpbmhlcml0OyB9XG4gICAgICB9XG5cbiAgICAgICYuc3F1YXJlIHsgbGlzdC1zdHlsZS10eXBlOiBzcXVhcmU7IG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtc2lkZS1tYXJnaW47fVxuICAgICAgJi5jaXJjbGUgeyBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbjt9XG4gICAgICAmLmRpc2MgeyBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtc2lkZS1tYXJnaW47fVxuICAgIH1cblxuICAgIC8qIE9yZGVyZWQgTGlzdHMgKi9cbiAgICBvbCB7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LW9yZGVyZWQtc2lkZS1tYXJnaW47XG4gICAgICBsaSB7XG4gICAgICAgIHVsLFxuICAgICAgICBvbCB7XG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1uZXN0ZWQtbWFyZ2luO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMaXN0cyB3aXRob3V0IGJ1bGxldHNcbiAgICAubm8tYnVsbGV0IHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtc2lkZS1tYXJnaW4tbm8tYnVsbGV0O1xuICAgICAgXG4gICAgICBsaSB7XG4gICAgICAgIHVsLFxuICAgICAgICBvbCB7XG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1uZXN0ZWQtbWFyZ2luO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qIERlZmluaXRpb24gTGlzdHMgKi9cbiAgICBkbCB7XG4gICAgICBkdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmaW5pdGlvbi1saXN0LWhlYWRlci13ZWlnaHQ7XG4gICAgICB9XG4gICAgICBkZCB7IG1hcmdpbi1ib3R0b206ICRkZWZpbml0aW9uLWxpc3QtbWFyZ2luLWJvdHRvbTsgfVxuICAgIH1cblxuICAgIC8qIEFiYnJldmlhdGlvbnMgKi9cbiAgICBhYmJyLFxuICAgIGFjcm9ueW0ge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItaGVscC12YWx1ZTtcbiAgICB9XG4gICAgYWJiciB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICZbdGl0bGVdIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGFjcm9ueW0tdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIEJsb2NrcXVvdGVzICovXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAgIGNpdGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAkYmxvY2txdW90ZS1jaXRlLWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNpdGUtZm9udC1jb2xvcjtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDE0IFxcMDAyMFwiO1xuICAgICAgICB9XG5cbiAgICAgICAgYSxcbiAgICAgICAgYTp2aXNpdGVkIHtcbiAgICAgICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY2l0ZS1saW5rLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGJsb2NrcXVvdGUsXG4gICAgYmxvY2txdW90ZSBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmUtaGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWZvbnQtY29sb3I7XG4gICAgfVxuXG4gICAgLyogTWljcm9mb3JtYXRzICovXG4gICAgLnZjYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogJG1pY3JvZm9ybWF0LW1hcmdpbjtcbiAgICAgIGJvcmRlcjogJG1pY3JvZm9ybWF0LWJvcmRlci13aWR0aCAkbWljcm9mb3JtYXQtYm9yZGVyLXN0eWxlICRtaWNyb2Zvcm1hdC1ib3JkZXItY29sb3I7XG4gICAgICBwYWRkaW5nOiAkbWljcm9mb3JtYXQtcGFkZGluZztcblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLmZuIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXdlaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAkbWljcm9mb3JtYXQtZnVsbG5hbWUtZm9udC1zaXplO1xuICAgICAgfVxuICAgIH1cblxuICAgIC52ZXZlbnQge1xuICAgICAgLnN1bW1hcnkgeyBmb250LXdlaWdodDogJG1pY3JvZm9ybWF0LXN1bW1hcnktZm9udC13ZWlnaHQ7IH1cblxuICAgICAgYWJiciB7XG4gICAgICAgIGN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRtaWNyb2Zvcm1hdC1hYmJyLWZvbnQtZGVjb3JhdGlvbjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtaWNyb2Zvcm1hdC1hYmJyLWZvbnQtd2VpZ2h0O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6ICRtaWNyb2Zvcm1hdC1hYmJyLXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsgbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZS1oZWlnaHQ7IH1cbiAgICAgIGgxIHsgZm9udC1zaXplOiAkaDEtZm9udC1zaXplOyB9XG4gICAgICBoMiB7IGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZTsgfVxuICAgICAgaDMgeyBmb250LXNpemU6ICRoMy1mb250LXNpemU7IH1cbiAgICAgIGg0IHsgZm9udC1zaXplOiAkaDQtZm9udC1zaXplOyB9XG4gICAgICBoNSB7IGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTsgfVxuICAgICAgaDYgeyBmb250LXNpemU6ICRoNi1mb250LXNpemU7IH1cbiAgICB9XG5cbiAgICAvLyBPbmx5IGluY2x1ZGUgdGhlc2Ugc3R5bGVzIGlmIHlvdSB3YW50IHRoZW0uXG4gICAgQGlmICRpbmNsdWRlLXByaW50LXN0eWxlcyB7XG4gICAgICAvKlxuICAgICAgICogUHJpbnQgc3R5bGVzLlxuICAgICAgICpcbiAgICAgICAqIElubGluZWQgdG8gYXZvaWQgcmVxdWlyZWQgSFRUUCBjb25uZWN0aW9uOiB3d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuICAgICAgICogQ3JlZGl0IHRvIFBhdWwgSXJpc2ggYW5kIEhUTUw1IEJvaWxlcnBsYXRlIChodG1sNWJvaWxlcnBsYXRlLmNvbSlcbiAgICAgICovXG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAqIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDsgLyogQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vcyAqL1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgYSxcbiAgICAgICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cblxuICAgICAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuXG4gICAgICAgIC8vIERvbid0IHNob3cgbGlua3MgZm9yIGltYWdlcywgb3IgamF2YXNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgICAgICAuaXIgYTphZnRlcixcbiAgICAgICAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuICAgICAgICBhW2hyZWZePVwiI1wiXTphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IH1cblxuICAgICAgICBwcmUsXG4gICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRhbHVtaW51bTtcbiAgICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgLyogaDVicC5jb20vdCAqLyB9XG5cbiAgICAgICAgdHIsXG4gICAgICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICAgICAgQHBhZ2UgeyBtYXJnaW46ICRwcmludC1tYXJnaW47IH1cblxuICAgICAgICBwLFxuICAgICAgICBoMixcbiAgICAgICAgaDMge1xuICAgICAgICAgIG9ycGhhbnM6IDM7XG4gICAgICAgICAgd2lkb3dzOiAzO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIsXG4gICAgICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBidWlsZCBwYWRkaW5nIGZvciBidXR0b25zLlxuJGJ1dHRvbi10bnk6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiRidXR0b24tc21sOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kYnV0dG9uLW1lZDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJGJ1dHRvbi1scmc6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgZGlzcGxheSBwcm9wZXJ0eS5cbiRidXR0b24tZGlzcGxheTogaW5saW5lLWJsb2NrICFkZWZhdWx0O1xuJGJ1dHRvbi1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJ1dHRvbiB0ZXh0IHN0eWxlcy5cbiRidXR0b24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtY29sb3ItYWx0OiAkb2lsICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXRueTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXNtbDogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LW1lZDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LWxyZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB2YXJpb3VzIGhvdmVyIGVmZmVjdHMuXG4kYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcjogLTIwJSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYnV0dG9uIGJvcmRlciBzdHlsZXMuXG4kYnV0dG9uLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcbiRidXR0b24tYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRidXR0b24tYmctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGJ1dHRvbi1ib3JkZXItY29sb3I6ICRidXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWJ1dHRvbi1iZy1jb2xvcjogJHNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3I6ICRzZWNvbmRhcnktYnV0dG9uLWJnLWhvdmVyICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYnV0dG9uLWJnLWNvbG9yOiAkc3VjY2Vzcy1jb2xvciAhZGVmYXVsdDtcbiRzdWNjZXNzLWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHN1Y2Nlc3MtY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRzdWNjZXNzLWJ1dHRvbi1ib3JkZXItY29sb3I6ICRzdWNjZXNzLWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcbiRhbGVydC1idXR0b24tYmctY29sb3I6ICRhbGVydC1jb2xvciAhZGVmYXVsdDtcbiRhbGVydC1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRhbGVydC1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGFsZXJ0LWJ1dHRvbi1ib3JkZXItY29sb3I6ICRhbGVydC1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG4kd2FybmluZy1idXR0b24tYmctY29sb3I6ICR3YXJuaW5nLWNvbG9yICFkZWZhdWx0O1xuJHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkd2FybmluZy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJHdhcm5pbmctYnV0dG9uLWJvcmRlci1jb2xvcjogJHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyICFkZWZhdWx0O1xuJGluZm8tYnV0dG9uLWJnLWNvbG9yOiAkaW5mby1jb2xvciAhZGVmYXVsdDtcbiRpbmZvLWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJGluZm8tY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRpbmZvLWJ1dHRvbi1ib3JkZXItY29sb3I6ICRpbmZvLWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBkZWZhdWx0IHJhZGl1cyB1c2VkIHRocm91Z2hvdXQgdGhlIGNvcmUuXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kYnV0dG9uLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCBkZWZhdWx0IG9wYWNpdHkgYW5kIGN1cnNvciBmb3IgZGlzYWJsZWQgYnV0dG9ucy5cbiRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTogLjcgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYSBkZWZhdWx0IGJ1dHRvbiBiYXNlLlxuLy9cbi8vICRzdHlsZSAtIFNldHMgYmFzZSBzdHlsZXMuIENhbiBiZSBzZXQgdG8gZmFsc2UuIERlZmF1bHQ6IHRydWUuXG4vLyAkZGlzcGxheSAtIFVzZWQgdG8gY29udHJvbCBkaXNwbGF5IHByb3BlcnR5LiBEZWZhdWx0OiAkYnV0dG9uLWRpc3BsYXkgfHwgaW5saW5lLWJsb2NrXG5cbkBtaXhpbiBidXR0b24tYmFzZSgkc3R5bGU6dHJ1ZSwgJGRpc3BsYXk6JGJ1dHRvbi1kaXNwbGF5KSB7XG4gIEBpZiAkc3R5bGUge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czowO1xuICAgIGJvcmRlci1zdHlsZTogJGJ1dHRvbi1ib3JkZXItc3R5bGU7XG4gICAgYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWJvcmRlci13aWR0aDtcbiAgICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcbiAgICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGJ1dHRvbi1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbjogMCAwICRidXR0b24tbWFyZ2luLWJvdHRvbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogJGJ1dHRvbi1mb250LWFsaWduO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICBAaWYgJGRpc3BsYXkgeyBkaXNwbGF5OiAkZGlzcGxheTsgfVxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgYnV0dG9uIHNpemUgc3R5bGVzXG4vL1xuLy8gJHBhZGRpbmcgLSBVc2VkIHRvIGJ1aWxkIHBhZGRpbmcgZm9yIGJ1dHRvbnMgRGVmYXVsdDogJGJ1dHRvbi1tZWQgfHw9IHJlbS1jYWxjKDEyKVxuLy8gJGZ1bGwtd2lkdGggLSBXZSBjYW4gc2V0ICRmdWxsLXdpZHRoOnRydWUgdG8gcmVtb3ZlIHNpZGUgcGFkZGluZyBleHRlbmQgd2lkdGggLSBEZWZhdWx0OiBmYWxzZVxuXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmc6JGJ1dHRvbi1tZWQsICRmdWxsLXdpZHRoOmZhbHNlKSB7XG5cbiAgLy8gV2UgY29udHJvbCB3aGljaCBwYWRkaW5nIHN0eWxlcyBjb21lIHRocm91Z2gsXG4gIC8vIHRoZXNlIGNhbiBiZSB0dXJuZWQgb2ZmIGJ5IHNldHRpbmcgJHBhZGRpbmc6ZmFsc2VcbiAgQGlmICRwYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZyAoJHBhZGRpbmcgKiAyKSAoJHBhZGRpbmcgKyByZW0tY2FsYygxKSkgKCRwYWRkaW5nICogMik7XG4gICAgLy8gV2UgY29udHJvbCB0aGUgZm9udC1zaXplIGJhc2VkIG9uIG1peGluIGlucHV0LlxuICAgIEBpZiAgICAgICRwYWRkaW5nID09ICRidXR0b24tbWVkIHsgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtbWVkOyB9XG4gICAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gJGJ1dHRvbi10bnkgeyBmb250LXNpemU6ICRidXR0b24tZm9udC10bnk7IH1cbiAgICBAZWxzZSBpZiAkcGFkZGluZyA9PSAkYnV0dG9uLXNtbCB7IGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LXNtbDsgfVxuICAgIEBlbHNlIGlmICRwYWRkaW5nID09ICRidXR0b24tbHJnIHsgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtbHJnOyB9XG4gIH1cblxuICAvLyBXZSBjYW4gc2V0ICRmdWxsLXdpZHRoOnRydWUgdG8gcmVtb3ZlIHNpZGUgcGFkZGluZyBleHRlbmQgd2lkdGguXG4gIEBpZiAkZnVsbC13aWR0aCB7XG4gICAgLy8gV2Ugc3RpbGwgbmVlZCB0byBjaGVjayBpZiAkcGFkZGluZyBpcyBzZXQuXG4gICAgQGlmICRwYWRkaW5nIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZyArIHJlbS1jYWxjKDEpO1xuICAgICAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICAgIH0gQGVsc2UgaWYgJHBhZGRpbmcgPT0gZmFsc2Uge1xuICAgICAgcGFkZGluZy1ib3R0b206MDtcbiAgICAgIHBhZGRpbmctdG9wOjA7XG4gICAgfVxuICAgIHBhZGRpbmctbGVmdDogJGJ1dHRvbi1tZWQ7XG4gICAgcGFkZGluZy1yaWdodDogJGJ1dHRvbi1tZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gd2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBidXR0b24gaG92ZXIgYW5kIGJvcmRlciBjb2xvcnNcblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGJ1dHRvbiBjb2xvciBzdHlsZXNcbi8vXG4vLyAkYmcgLSBCYWNrZ3JvdW5kIGNvbG9yLiBXZSBjYW4gc2V0ICRiZzpmYWxzZSBmb3IgYSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kLiBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvci5cbi8vICRyYWRpdXMgLSBJZiB0cnVlLCBzZXQgdG8gYnV0dG9uIHJhZGl1cyB3aGljaCBpcyAkYnV0dG9uLXJhZGl1cyB8fCBleHBsaWNpdGx5IHNldCByYWRpdXMgYW1vdW50IGluIHB4IChleC4gJHJhZGl1czoxMHB4KS4gRGVmYXVsdDogZmFsc2Vcbi8vICRkaXNhYmxlZCAtIFdlIGNhbiBzZXQgJGRpc2FibGVkOnRydWUgdG8gY3JlYXRlIGEgZGlzYWJsZWQgdHJhbnNwYXJlbnQgYnV0dG9uLiBEZWZhdWx0OiBmYWxzZVxuLy8gJGJnLWhvdmVyIC0gQnV0dG9uIEhvdmVyIEJhY2tncm91bmQgQ29sb3IuIERlZmF1bHQ6ICRidXR0b24tYmctaG92ZXJcbi8vICRib3JkZXItY29sb3IgLSBCdXR0b24gQm9yZGVyIENvbG9yLiBEZWZhdWx0OiAkYnV0dG9uLWJvcmRlci1jb2xvclxuQG1peGluIGJ1dHRvbi1zdHlsZSgkYmc6JGJ1dHRvbi1iZy1jb2xvciwgJHJhZGl1czpmYWxzZSwgJGRpc2FibGVkOmZhbHNlLCAkYmctaG92ZXI6bnVsbCwgJGJvcmRlci1jb2xvcjpudWxsKSB7XG5cbiAgLy8gV2UgY29udHJvbCB3aGljaCBiYWNrZ3JvdW5kIHN0eWxlcyBhcmUgdXNlZCxcbiAgLy8gdGhlc2UgY2FuIGJlIHJlbW92ZWQgYnkgc2V0dGluZyAkYmc6ZmFsc2VcbiAgQGlmICRiZyB7XG5cbiAgICBAaWYgJGJnLWhvdmVyID09IG51bGwge1xuICAgICAgJGJnLWhvdmVyOiBpZigkYmcgPT0gJGJ1dHRvbi1iZy1jb2xvciwgJGJ1dHRvbi1iZy1ob3Zlciwgc2NhbGUtY29sb3IoJGJnLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikpO1xuICAgIH1cblxuICAgIEBpZiAkYm9yZGVyLWNvbG9yID09IG51bGwge1xuICAgICAgJGJvcmRlci1jb2xvcjogaWYoJGJnID09ICRidXR0b24tYmctY29sb3IsICRidXR0b24tYm9yZGVyLWNvbG9yLCBzY2FsZS1jb2xvcigkYmcsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSk7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBmaW5kIHRoZSBsaWdodG5lc3MgcGVyY2VudGFnZSBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcbiAgICAkYmctaG92ZXItbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnLWhvdmVyKTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogJGJnLWhvdmVyOyB9XG5cbiAgICAvLyBXZSBjb250cm9sIHRoZSB0ZXh0IGNvbG9yIGZvciB5b3UgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4gICAgY29sb3I6IGlmKCRiZy1saWdodG5lc3MgPiA3MCUsICRidXR0b24tZm9udC1jb2xvci1hbHQsICRidXR0b24tZm9udC1jb2xvcik7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IGlmKCRiZy1ob3Zlci1saWdodG5lc3MgPiA3MCUsICRidXR0b24tZm9udC1jb2xvci1hbHQsICRidXR0b24tZm9udC1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgLy8gV2UgY2FuIHNldCAkZGlzYWJsZWQ6dHJ1ZSB0byBjcmVhdGUgYSBkaXNhYmxlZCB0cmFuc3BhcmVudCBidXR0b24uXG4gIEBpZiAkZGlzYWJsZWQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY3Vyc29yOiAkYnV0dG9uLWRpc2FibGVkLWN1cnNvcjtcbiAgICBvcGFjaXR5OiAkYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogJGJnOyB9XG4gIH1cblxuICAvLyBXZSBjYW4gY29udHJvbCBob3cgbXVjaCBidXR0b24gcmFkaXVzIGlzIHVzZWQuXG4gIEBpZiAkcmFkaXVzID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJGJ1dHRvbi1yYWRpdXMpOyB9XG4gIEBlbHNlIGlmICRyYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHJhZGl1cyk7IH1cblxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBxdWlja2x5IGNyZWF0ZSBidXR0b25zIHdpdGggYSBzaW5nbGUgbWl4aW4uIEFzIEBqYXJlZGhhcmR5IHB1dHMgaXQsIFwidGhlIGtpdGNoZW4gc2luayBtaXhpblwiXG4vL1xuLy8gJHBhZGRpbmcgLSBVc2VkIHRvIGJ1aWxkIHBhZGRpbmcgZm9yIGJ1dHRvbnMgRGVmYXVsdDogJGJ1dHRvbi1tZWQgfHw9IHJlbS1jYWxjKDEyKVxuLy8gJGJnIC0gUHJpbWFyeSBjb2xvciBzZXQgaW4gc2V0dGluZ3MgZmlsZS4gRGVmYXVsdDogJGJ1dHRvbi1iZy5cbi8vICRyYWRpdXMgLSBJZiB0cnVlLCBzZXQgdG8gYnV0dG9uIHJhZGl1cyB3aGljaCBpcyAkZ2xvYmFsLXJhZGl1cyB8fCBleHBsaWNpdGx5IHNldCByYWRpdXMgYW1vdW50IGluIHB4IChleC4gJHJhZGl1czoxMHB4KS4gRGVmYXVsdDpmYWxzZS5cbi8vICRmdWxsLXdpZHRoIC0gV2UgY2FuIHNldCAkZnVsbC13aWR0aDp0cnVlIHRvIHJlbW92ZSBzaWRlIHBhZGRpbmcgZXh0ZW5kIHdpZHRoLiBEZWZhdWx0OmZhbHNlLlxuLy8gJGRpc2FibGVkIC0gV2UgY2FuIHNldCAkZGlzYWJsZWQ6dHJ1ZSB0byBjcmVhdGUgYSBkaXNhYmxlZCB0cmFuc3BhcmVudCBidXR0b24uIERlZmF1bHQ6ZmFsc2UuXG4vLyAkaXMtcHJlZml4IC0gTm90IHVzZWQ/IERlZmF1bHQ6ZmFsc2UuXG4vLyAkYmctaG92ZXIgLSBCdXR0b24gSG92ZXIgQ29sb3IgLSBEZWZhdWx0IG51bGwgLSBzZWUgYnV0dG9uLXN0eWxlIG1peGluXG4vLyAkYm9yZGVyLWNvbG9yIC0gQnV0dG9uIEJvcmRlciBDb2xvciAtIERlZmF1bHQgbnVsbCAtIHNlZSBidXR0b24tc3R5bGUgbWl4aW5cbi8vICR0cmFuc2l0aW9uIC0gV2UgY2FuIGNvbnRyb2wgd2hldGhlciBvciBub3QgdG8gaW5jbHVkZSB0aGUgYmFja2dyb3VuZC1jb2xvciB0cmFuc2l0aW9uIHByb3BlcnR5IC0gRGVmYXVsdDp0cnVlLlxuQG1peGluIGJ1dHRvbigkcGFkZGluZzokYnV0dG9uLW1lZCwgJGJnOiRidXR0b24tYmctY29sb3IsICRyYWRpdXM6ZmFsc2UsICRmdWxsLXdpZHRoOmZhbHNlLCAkZGlzYWJsZWQ6ZmFsc2UsICRpcy1wcmVmaXg6ZmFsc2UsICRiZy1ob3ZlcjpudWxsLCAkYm9yZGVyLWNvbG9yOm51bGwsICR0cmFuc2l0aW9uOiB0cnVlKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZywgJGZ1bGwtd2lkdGgpO1xuICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnLCAkcmFkaXVzLCAkZGlzYWJsZWQsICRiZy1ob3ZlciwgJGJvcmRlci1jb2xvcik7XG5cbiAgQGlmICR0cmFuc2l0aW9uIHtcbiAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgfVxufVxuXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJidXR0b25cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlcyB7XG5cbiAgICAvLyBEZWZhdWx0IHN0eWxlcyBhcHBsaWVkIG91dHNpZGUgb2YgbWVkaWEgcXVlcnlcbiAgICBidXR0b24sIC5idXR0b24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gICAgICBAaW5jbHVkZSBidXR0b24tc2l6ZTtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZTtcblxuICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc2Vjb25kYXJ5LWJ1dHRvbi1iZy1jb2xvciwgJGJnLWhvdmVyOiRzZWNvbmRhcnktYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICYuc3VjY2VzcyAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc3VjY2Vzcy1idXR0b24tYmctY29sb3IsICRiZy1ob3Zlcjokc3VjY2Vzcy1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHN1Y2Nlc3MtYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICYuYWxlcnQgICAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokYWxlcnQtYnV0dG9uLWJnLWNvbG9yLCAkYmctaG92ZXI6JGFsZXJ0LWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokYWxlcnQtYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICYud2FybmluZyAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokd2FybmluZy1idXR0b24tYmctY29sb3IsICRiZy1ob3Zlcjokd2FybmluZy1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHdhcm5pbmctYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICYuaW5mbyAgICAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokaW5mby1idXR0b24tYmctY29sb3IsICRiZy1ob3ZlcjokaW5mby1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGluZm8tYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cblxuICAgICAgJi5sYXJnZSAgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLWxyZyk7IH1cbiAgICAgICYuc21hbGwgIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmc6JGJ1dHRvbi1zbWwpOyB9XG4gICAgICAmLnRpbnkgICB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nOiRidXR0b24tdG55KTsgfVxuICAgICAgJi5leHBhbmQgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkZnVsbC13aWR0aDp0cnVlKTsgfVxuXG4gICAgICAmLmxlZnQtYWxpZ24gIHsgdGV4dC1hbGlnbjogbGVmdDsgdGV4dC1pbmRlbnQ6IHJlbS1jYWxjKDEyKTsgfVxuICAgICAgJi5yaWdodC1hbGlnbiB7IHRleHQtYWxpZ246IHJpZ2h0OyBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMik7IH1cblxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOmZhbHNlLCAkcmFkaXVzOnRydWUpOyB9XG4gICAgICAmLnJvdW5kICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6ZmFsc2UsICRyYWRpdXM6JGJ1dHRvbi1yb3VuZCk7IH1cblxuICAgICAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0geyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRidXR0b24tYmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JGJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokYnV0dG9uLWJvcmRlci1jb2xvcik7XG4gICAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc2Vjb25kYXJ5LWJ1dHRvbi1iZy1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3Zlcjokc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAgICYuc3VjY2VzcyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHN1Y2Nlc3MtYnV0dG9uLWJnLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRzdWNjZXNzLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgICAmLmFsZXJ0IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokYWxlcnQtYnV0dG9uLWJnLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRhbGVydC1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGFsZXJ0LWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAgICYud2FybmluZyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHdhcm5pbmctYnV0dG9uLWJnLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiR3YXJuaW5nLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokd2FybmluZy1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgICAmLmluZm8geyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRpbmZvLWJ1dHRvbi1iZy1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3ZlcjokaW5mby1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGluZm8tYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvL2ZpcmVmb3ggMnB4IGZpeFxuICAgIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7Ym9yZGVyOjA7IHBhZGRpbmc6MDt9XG5cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBidXR0b24sIC5idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tYmFzZSgkc3R5bGU6ZmFsc2UsICRkaXNwbGF5OmlubGluZS1ibG9jayk7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nOmZhbHNlLCAkZnVsbC13aWR0aDpmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnYnV0dG9ucyc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBiYXNlIGZvciBsb3RzIG9mIGZvcm0gc3BhY2luZyBhbmQgcG9zaXRpb25pbmcgc3R5bGVzXG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGFiZWxzIGluIGRpZmZlcmVudCB3YXlzXG4kZm9ybS1sYWJlbC1wb2ludGVyOiBwb2ludGVyICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkYmxhY2ssICRsaWdodG5lc3M6IDMwJSkgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1zbWFsbC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1ib3R0b20tbWFyZ2luOiAwICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtY29sb3I6IHJnYmEoMCwwLDAsMC43NSkgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcjogJHN0ZWVsICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGlucHV0LWJnLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYmctY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIlKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIwJSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC00MCUpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWUgIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4xKSAhZGVmYXVsdDtcbiRpbnB1dC1pbmNsdWRlLWdsb3dpbmctZWZmZWN0OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBmaWVsZHNldCBib3JkZXIgYW5kIHNwYWNpbmcuXG4kZmllbGRzZXQtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRmaWVsZHNldC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRmaWVsZHNldC1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGVnZW5kcyB3aGVuIHlvdSB1c2UgdGhlbVxuJGxlZ2VuZC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgcHJlZml4IGFuZCBwb3N0Zml4IGlucHV0IGVsZW1lbnRzXG4kaW5wdXQtcHJlZml4LWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMjAlKSAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyLXR5cGU6IHNvbGlkICFkZWZhdWx0O1xuJGlucHV0LXByZWZpeC1vdmVyZmxvdzogdmlzaWJsZSAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtZm9udC1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtZm9udC1jb2xvci1hbHQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgc2V0dGluZyB0byB0dXJuIG9uL29mZiBIVE1MNSBudW1iZXIgc3Bpbm5lcnMgKHRoZSB1cC9kb3duIGFycm93cylcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgZXJyb3Igc3RhdGVzIGZvciBpbnB1dHMgYW5kIGxhYmVsc1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtcGFkZGluZzogcmVtLWNhbGMoNiA5IDkpICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtdG9wOiAtMXB4ICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWJnLWNvbG9yOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yLWFsdDogJG9pbCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIGdsb3dpbmcgZWZmZWN0IG9mIGlucHV0cyB3aGVuIGZvY3VzZWRcbiRnbG93aW5nLWVmZmVjdC1mYWRlLXRpbWU6IC40NXMgIWRlZmF1bHQ7XG4kZ2xvd2luZy1lZmZlY3QtY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSB0cmFuc2l0aW9uIHdoZW4gaW5wdXRzIGFyZSBmb2N1c2VkIGFuZCB3aGVuIHRoZSBnbG93aW5nIGVmZmVjdCBpcyBkaXNhYmxlZC5cbiRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZTogMC4xNXMgIWRlZmF1bHQ7XG4kaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFkZWZhdWx0O1xuXG4vLyBTZWxlY3QgdmFyaWFibGVzXG4kc2VsZWN0LWJnLWNvbG9yOiAkZ2hvc3QgIWRlZmF1bHQ7XG4kc2VsZWN0LWhvdmVyLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkc2VsZWN0LWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtMyUpICFkZWZhdWx0O1xuXG4vL1xuLy8gQE1JWElOU1xuLy9cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gZ2l2ZSB1cyBmb3JtIHN0eWxlcyBmb3Igcm93cyBpbnNpZGUgb2YgZm9ybXNcbkBtaXhpbiBmb3JtLXJvdy1iYXNlIHtcbiAgLnJvdyB7IG1hcmdpbjogMCAoKC0kZm9ybS1zcGFjaW5nKSAvIDIpO1xuXG4gICAgLmNvbHVtbixcbiAgICAuY29sdW1ucyB7IHBhZGRpbmc6IDAgKCRmb3JtLXNwYWNpbmcgLyAyKTsgfVxuXG4gICAgLy8gVXNlIHRoaXMgdG8gY29sbGFwc2UgdGhlIG1hcmdpbnMgb2YgYSBmb3JtIHJvd1xuICAgICYuY29sbGFwc2UgeyBtYXJnaW46IDA7XG5cbiAgICAgIC5jb2x1bW4sXG4gICAgICAuY29sdW1ucyB7IHBhZGRpbmc6IDA7IH1cbiAgICAgIGlucHV0IHtcbiAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgMCk7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbiAgaW5wdXQuY29sdW1uLFxuICBpbnB1dC5jb2x1bW5zLFxuICB0ZXh0YXJlYS5jb2x1bW4sXG4gIHRleHRhcmVhLmNvbHVtbnMgeyBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAoJGZvcm0tc3BhY2luZyAvIDIpOyB9XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGdpdmUgYWxsIGJhc2ljIGZvcm0gZWxlbWVudHMgdGhlaXIgc3R5bGVcbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmctY29sb3I7XG4gIGJvcmRlcjoge1xuICAgIHN0eWxlOiAkaW5wdXQtYm9yZGVyLXN0eWxlO1xuICAgIHdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIGNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICB9XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93O1xuICBjb2xvcjogJGlucHV0LWZvbnQtY29sb3I7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmcgMDtcbiAgcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4gIHdpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICBAaWYgJGlucHV0LWluY2x1ZGUtZ2xvd2luZy1lZmZlY3Qge1xuICAgIEBpbmNsdWRlIGJsb2NrLWdsb3dpbmctZWZmZWN0KGZvY3VzLCAkZ2xvd2luZy1lZmZlY3QtZmFkZS10aW1lLCAkZ2xvd2luZy1lZmZlY3QtY29sb3IpO1xuICB9XG4gIC8vIEJhc2ljIGZvY3VzIHN0eWxlc1xuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtZm9jdXMtYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbiAgLy8gRGlzYWJsZWQgU3R5bGVzXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICBjdXJzb3I6ICRpbnB1dC1kaXNhYmxlZC1jdXJzb3I7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBiYWNrZ3JvdW5kIGlucHV0IGJhY2tncm91bmQgY29sb3JcbiAgJltkaXNhYmxlZF0sXG4gICZbcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIGN1cnNvcjogJGlucHV0LWRpc2FibGVkLWN1cnNvcjtcbiAgfVxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgZm9ybSBsYWJlbHNcbi8vXG4vLyAkYWxpZ25tZW50IC0gQWxpZ25tZW50IG9wdGlvbnMuIERlZmF1bHQ6IGZhbHNlLiBPcHRpb25zOiBbcmlnaHQsIGlubGluZSwgZmFsc2VdXG4vLyAkYmFzZS1zdHlsZSAtIENvbnRyb2wgd2hldGhlciBvciBub3QgdGhlIGJhc2Ugc3R5bGVzIGNvbWUgdGhyb3VnaC4gRGVmYXVsdDogdHJ1ZS5cbkBtaXhpbiBmb3JtLWxhYmVsKCRhbGlnbm1lbnQ6ZmFsc2UsICRiYXNlLXN0eWxlOnRydWUpIHtcblxuICAvLyBDb250cm9sIHdoZXRoZXIgb3Igbm90IHRoZSBiYXNlIHN0eWxlcyBjb21lIHRocm91Z2guXG4gIEBpZiAkYmFzZS1zdHlsZSB7XG4gICAgY29sb3I6ICRmb3JtLWxhYmVsLWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiAkZm9ybS1sYWJlbC1wb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tbGFiZWwtYm90dG9tLW1hcmdpbjtcbiAgfVxuXG4gIC8vIEFsaWdubWVudCBvcHRpb25zXG4gIEBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gaW5saW5lIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nIDA7XG4gICAgcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSAwO1xuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBwb3N0Zml4L3ByZWZpeCBmb3JtIExhYmVsc1xuQG1peGluIHByZWZpeC1wb3N0Zml4LWJhc2Uge1xuICBib3JkZXItc3R5bGU6ICRpbnB1dC1wcmVmaXgtYm9yZGVyLXR5cGU7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LXByZWZpeC1ib3JkZXItc2l6ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuICBsaW5lLWhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG4gIG92ZXJmbG93OiAkaW5wdXQtcHJlZml4LW92ZXJmbG93O1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjtcbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHByZWZpeCBsYWJlbCBzdHlsZXNcbi8vICRiZyAtIERlZmF1bHQ6JGlucHV0LXByZWZpeC1iZyB8fCBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XG4vLyAkaXMtYnV0dG9uIC0gVG9nZ2xlIHBvc2l0aW9uIHNldHRpbmdzIGlmIHByZWZpeCBpcyBhIGJ1dHRvbi4gRGVmYXVsdDpmYWxzZVxuLy9cbkBtaXhpbiBwcmVmaXgoJGJnOiRpbnB1dC1wcmVmaXgtYmcsICRib3JkZXI6JGlucHV0LXByZWZpeC1ib3JkZXItY29sb3IsICRpcy1idXR0b246ZmFsc2UpIHtcblxuICBAaWYgJGJnIHtcbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcbiAgICBiYWNrZ3JvdW5kOiAkYmc7XG4gICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IG5vbmU7XG5cbiAgICAvLyBDb250cm9sIHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIGJhY2tncm91bmQgYnJpZ2h0bmVzc1xuICAgIEBpZiAkYmctbGlnaHRuZXNzID4gNzAlIG9yICRiZyA9PSB5ZWxsb3cgeyBjb2xvcjogJGlucHV0LXByZWZpeC1mb250LWNvbG9yOyB9XG4gICAgQGVsc2UgeyBjb2xvcjogJGlucHV0LXByZWZpeC1mb250LWNvbG9yLWFsdDsgfVxuICB9XG5cbiAgQGlmICRib3JkZXIge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgfVxuXG4gIEBpZiAkaXMtYnV0dG9uIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHBvc3RmaXggbGFiZWwgc3R5bGVzXG4vLyAkYmcgLSBEZWZhdWx0OiRpbnB1dC1wcmVmaXgtYmcgfHwgc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xuLy8gJGlzLWJ1dHRvbiAtIFRvZ2dsZSBwb3NpdGlvbiBzZXR0aW5ncyBpZiBwcmVmaXggaXMgYSBidXR0b24uIERlZmF1bHQ6IGZhbHNlXG5AbWl4aW4gcG9zdGZpeCgkYmc6JGlucHV0LXByZWZpeC1iZywgJGJvcmRlci1sZWZ0LWhpZGRlbjp0cnVlLCAkYm9yZGVyOiRpbnB1dC1wcmVmaXgtYm9yZGVyLWNvbG9yLCAkaXMtYnV0dG9uOmZhbHNlKSB7XG5cbiAgQGlmICRiZyB7XG4gICAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG4gICAgYmFja2dyb3VuZDogJGJnO1xuICAgIEBpZiAkYm9yZGVyLWxlZnQtaGlkZGVuIHtcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBDb250cm9sIHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIGJhY2tncm91bmQgYnJpZ2h0bmVzc1xuICAgIEBpZiAkYmctbGlnaHRuZXNzID4gNzAlICBvciAkYmcgPT0geWVsbG93IHsgY29sb3I6ICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvcjsgfVxuICAgIEBlbHNlIHsgY29sb3I6ICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvci1hbHQ7IH1cbiAgfVxuXG4gIEBpZiAkYm9yZGVyIHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIH1cblxuICBAaWYgJGlzLWJ1dHRvbiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHN0eWxlIGZpZWxkc2V0c1xuQG1peGluIGZpZWxkc2V0IHtcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyLXdpZHRoICRmaWVsZHNldC1ib3JkZXItc3R5bGUgJGZpZWxkc2V0LWJvcmRlci1jb2xvcjtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcblxuICAvLyBhbmQgbGVnZW5kIHN0eWxlc1xuICBsZWdlbmQge1xuICAgIGZvbnQtd2VpZ2h0OiAkbGVnZW5kLWZvbnQtd2VpZ2h0O1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY29udHJvbCBib3JkZXIgYW5kIGJhY2tncm91bmQgY29sb3Igb2YgZXJyb3IgaW5wdXRzXG4vLyAkY29sb3IgLSBEZWZhdWx0OiAkYWxlcnQtY29sb3IgKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG5AbWl4aW4gZm9ybS1lcnJvci1jb2xvcigkY29sb3I6JGFsZXJ0LWNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAuMSk7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gIC8vIEdvIGJhY2sgdG8gbm9ybWFsIG9uIGZvY3VzXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1mb2N1cy1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgc2ltcGxlIG1peGluIHRvIHN0eWxlIGxhYmVscyBmb3IgZXJyb3IgaW5wdXRzXG4vLyAkY29sb3IgLSBEZWZhdWx0OiRhbGVydC1jb2xvci4gRm91bmQgaW4gc2V0dGluZ3MgZmlsZVxuQG1peGluIGZvcm0tbGFiZWwtZXJyb3ItY29sb3IoJGNvbG9yOiRhbGVydC1jb2xvcikgeyBjb2xvcjogJGNvbG9yOyB9XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBlcnJvciBtZXNzYWdlIHN0eWxlc1xuLy8gJGJnIC0gRGVmYXVsdDogJGFsZXJ0LWNvbG9yIChGb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxuQG1peGluIGZvcm0tZXJyb3ItbWVzc2FnZSgkYmc6JGlucHV0LWVycm9yLW1lc3NhZ2UtYmctY29sb3IpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zaXplO1xuICBmb250LXN0eWxlOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC13ZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG4gIG1hcmdpbi10b3A6ICRpbnB1dC1lcnJvci1tZXNzYWdlLXRvcDtcbiAgcGFkZGluZzogJGlucHV0LWVycm9yLW1lc3NhZ2UtcGFkZGluZztcblxuICAvLyBXZSBjYW4gY29udHJvbCB0aGUgdGV4dCBjb2xvciBiYXNlZCBvbiB0aGUgYnJpZ2h0bmVzcyBvZiB0aGUgYmFja2dyb3VuZC5cbiAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG4gIGJhY2tncm91bmQ6ICRiZztcbiAgQGlmICRiZy1saWdodG5lc3MgPCA3MCUgb3IgJGJnID09IHllbGxvdyB7IGNvbG9yOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yOyB9XG4gIEBlbHNlIHsgY29sb3I6ICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3ItYWx0OyB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHN0eWxlIHNlbGVjdCBlbGVtZW50c1xuQG1peGluIGZvcm0tc2VsZWN0ICB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iZy1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMDtcblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gVGhlIGN1c3RvbSBhcnJvdyBoYXMgc29tZSBmYWtlIGhvcml6b250YWwgcGFkZGluZyBzbyB3ZSBjYW4gYWxpZ24gaXRcbiAgLy8gZnJvbSB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgZWxlbWVudCB3aXRob3V0IHJlbHlpbmcgb24gQ1NTM1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWmxjbk5wYjI0OUlqRXVNU0lnZUQwaU1USndlQ0lnZVQwaU1IQjRJaUIzYVdSMGFEMGlNalJ3ZUNJZ2FHVnBaMmgwUFNJemNIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBMklETWlJR1Z1WVdKc1pTMWlZV05yWjNKdmRXNWtQU0p1WlhjZ01DQXdJRFlnTXlJZ2VHMXNPbk53WVdObFBTSndjbVZ6WlhKMlpTSStQSEJ2YkhsbmIyNGdjRzlwYm5SelBTSTFMams1TWl3d0lESXVPVGt5TERNZ0xUQXVNREE0TERBZ0lpOCtQQzl6ZG1jKycpO1xuXG4gIC8vIFdlIGNhbiBzYWZlbHkgdXNlIGxlZnRtb3N0IGFuZCByaWdodG1vc3Qgbm93XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSAncnRsJywgMCUsIDEwMCUpIGNlbnRlcjtcblxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBib3JkZXI6IHtcbiAgICBzdHlsZTogJGlucHV0LWJvcmRlci1zdHlsZTtcbiAgICB3aWR0aDogJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICBjb2xvcjogJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgfVxuICBjb2xvcjogJGlucHV0LWZvbnQtY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyKTtcbiAgQGluY2x1ZGUgcmFkaXVzKDApO1xuICAmLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkZ2xvYmFsLXJhZGl1cyk7IH1cbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1ob3Zlci1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cbiAgLy8gRGlzYWJsZWQgU3R5bGVzXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICBjdXJzb3I6ICRpbnB1dC1kaXNhYmxlZC1jdXJzb3I7XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gdHVybiBvbi9vZmYgSFRNTDUgbnVtYmVyIHNwaW5uZXJzXG5AbWl4aW4gaHRtbDVudW1iZXIoJGJyb3dzZXIsICRvbjogdHJ1ZSkge1xuICBAaWYgJG9uID09IGZhbHNlIHtcbiAgICAgIEBpZiAkYnJvd3NlciA9PSB3ZWJraXQge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH0gQGVsc2UgaWYgJGJyb3dzZXIgPT0gbW96IHtcbiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImZvcm1cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXMge1xuICAgIC8qIFN0YW5kYXJkIEZvcm1zICovXG4gICAgZm9ybSB7IG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7IH1cblxuICAgIC8qIFVzaW5nIGZvcm1zIHdpdGhpbiByb3dzLCB3ZSBuZWVkIHRvIHNldCBzb21lIGRlZmF1bHRzICovXG4gICAgZm9ybSAucm93IHsgQGluY2x1ZGUgZm9ybS1yb3ctYmFzZTsgfVxuXG4gICAgLyogTGFiZWwgU3R5bGVzICovXG4gICAgbGFiZWwgeyBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuICAgICAgJi5yaWdodCB7IEBpbmNsdWRlIGZvcm0tbGFiZWwocmlnaHQsIGZhbHNlKTsgfVxuICAgICAgJi5pbmxpbmUgeyBAaW5jbHVkZSBmb3JtLWxhYmVsKGlubGluZSwgZmFsc2UpOyB9XG4gICAgICAvKiBTdHlsZXMgZm9yIHJlcXVpcmVkIGlucHV0cyAqL1xuICAgICAgc21hbGwge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvcm0tbGFiZWwtc21hbGwtdHJhbnNmb3JtO1xuICAgICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGZvcm0tbGFiZWwtZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMTUlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBBdHRhY2ggZWxlbWVudHMgdG8gdGhlIGJlZ2lubmluZyBvciBlbmQgb2YgYW4gaW5wdXQgKi9cbiAgICAucHJlZml4LFxuICAgIC5wb3N0Zml4IHsgQGluY2x1ZGUgcHJlZml4LXBvc3RmaXgtYmFzZTsgfVxuXG4gICAgLyogQWRqdXN0IHBhZGRpbmcsIGFsaWdubWVudCBhbmQgcmFkaXVzIGlmIHByZS9wb3N0IGVsZW1lbnQgaXMgYSBidXR0b24gKi9cbiAgICAucG9zdGZpeC5idXR0b24geyBAaW5jbHVkZSBidXR0b24tc2l6ZShmYWxzZSwgZmFsc2UpOyBAaW5jbHVkZSBwb3N0Zml4KGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUpOyB9XG4gICAgLnByZWZpeC5idXR0b24geyBAaW5jbHVkZSBidXR0b24tc2l6ZShmYWxzZSwgZmFsc2UpOyBAaW5jbHVkZSBwcmVmaXgoZmFsc2UsIGZhbHNlLCB0cnVlKTsgfVxuXG4gICAgLnByZWZpeC5idXR0b24ucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgLnBvc3RmaXguYnV0dG9uLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgLnByZWZpeC5idXR0b24ucm91bmQgeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJvdW5kKTsgfVxuICAgIC5wb3N0Zml4LmJ1dHRvbi5yb3VuZCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yb3VuZCk7IH1cblxuICAgIC8qIFNlcGFyYXRlIHByZWZpeCBhbmQgcG9zdGZpeCBzdHlsZXMgd2hlbiBvbiBzcGFuIG9yIGxhYmVsIHNvIGJ1dHRvbnMga2VlcCB0aGVpciBvd24gKi9cbiAgICBzcGFuLnByZWZpeCwgbGFiZWwucHJlZml4IHsgQGluY2x1ZGUgcHJlZml4KCk7IH1cbiAgICBzcGFuLnBvc3RmaXgsIGxhYmVsLnBvc3RmaXggeyBAaW5jbHVkZSBwb3N0Zml4KCk7IH1cblxuICAgIC8qIFdlIHVzZSB0aGlzIHRvIGdldCBiYXNpYyBzdHlsaW5nIG9uIGFsbCBiYXNpYyBmb3JtIGVsZW1lbnRzICovXG4gICAgaW5wdXQ6bm90KFt0eXBlXSksICN7dGV4dC1pbnB1dHMoYWxsLCAnaW5wdXQnKX0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICAgIEBpZiAkaW5wdXQtaW5jbHVkZS1nbG93aW5nLWVmZmVjdCA9PSBmYWxzZSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uLCBiYWNrZ3JvdW5kICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb24sIGJhY2tncm91bmQgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgfVxuICAgICAgJi5yYWRpdXMge1xuICAgICAgICBAaW5jbHVkZSByYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvcm0ge1xuICAgICAgLnJvdyB7XG4gICAgICAgIC5wcmVmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSB7XG4gICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgdGV4dGFyZWEsXG4gICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgIGJ1dHRvbiB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgICAgICAgLnByZWZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcmFkaXVzKTsgfVxuICAgICAgICB9XG4gICAgICAgIC5wb3N0Zml4LXJhZGl1cy5yb3cuY29sbGFwc2Uge1xuICAgICAgICAgIGlucHV0LFxuICAgICAgICAgIHRleHRhcmVhLFxuICAgICAgICAgIHNlbGVjdCxcbiAgICAgICAgICBidXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJhZGl1cyk7IH1cbiAgICAgICAgICAucG9zdGZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgICAgIH1cbiAgICAgICAgLnByZWZpeC1yb3VuZC5yb3cuY29sbGFwc2Uge1xuICAgICAgICAgIGlucHV0LFxuICAgICAgICAgIHRleHRhcmVhLFxuICAgICAgICAgIHNlbGVjdCxcbiAgICAgICAgICBidXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcm91bmQpOyB9XG4gICAgICAgICAgLnByZWZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcm91bmQpOyB9XG4gICAgICAgIH1cbiAgICAgICAgLnBvc3RmaXgtcm91bmQucm93LmNvbGxhcHNlIHtcbiAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICB0ZXh0YXJlYSxcbiAgICAgICAgICBzZWxlY3QsXG4gICAgICAgICAgYnV0dG9uIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yb3VuZCk7IH1cbiAgICAgICAgICAucG9zdGZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yb3VuZCk7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAvKiBSZXNwZWN0IGVuZm9yY2VkIGFtb3VudCBvZiByb3dzIGZvciB0ZXh0YXJlYSAqL1xuICAgIHRleHRhcmVhW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvKiBOb3QgYWxsb3cgcmVzaXplIG91dCBvZiBwYXJlbnQgKi9cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gc3R5bGUgcGxhY2Vob2xkZXIgdGV4dCBjcm9zcyBicm93c2VyXG4gICAgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcjtcbiAgICB9XG5cbiAgICA6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTgtICovXG4gICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1mb250LWNvbG9yO1xuICAgIH1cblxuICAgIDo6LW1vei1wbGFjZWhvbGRlciB7ICAvKiBGaXJlZm94IDE5KyAqL1xuICAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcjtcbiAgICB9XG5cbiAgICA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtY29sb3I7XG4gICAgfVxuXG5cbiAgICAvKiBBZGQgaGVpZ2h0IHZhbHVlIGZvciBzZWxlY3QgZWxlbWVudHMgdG8gbWF0Y2ggdGV4dCBpbnB1dCBoZWlnaHQgKi9cbiAgICBzZWxlY3Qge1xuICAgICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gICAgICBoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuICAgICAgJlttdWx0aXBsZV0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogQWRqdXN0IG1hcmdpbiBmb3IgZm9ybSBlbGVtZW50cyBiZWxvdyAqL1xuICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgc2VsZWN0IHtcbiAgICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmcgMDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCxcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRmb3JtLXNwYWNpbmcgKiAuNTtcbiAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZm9ybS1zcGFjaW5nO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICAvKiBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aCAqL1xuICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgfVxuXG4gICAgLyogSFRNTDUgTnVtYmVyIHNwaW5uZXJzIHNldHRpbmdzICovXG4gICAgaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgICAgIEBpbmNsdWRlIGh0bWw1bnVtYmVyKG1veiwgJGlucHV0LW51bWJlci1zcGlubmVycylcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGh0bWw1bnVtYmVyKHdlYmtpdCwgJGlucHV0LW51bWJlci1zcGlubmVycyk7XG4gICAgfVxuXG4gICAgLyogV2UgYWRkIGJhc2ljIGZpZWxkc2V0IHN0eWxpbmcgKi9cbiAgICBmaWVsZHNldCB7XG4gICAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgICB9XG5cbiAgICAvKiBFcnJvciBIYW5kbGluZyAqL1xuXG4gICAgI3tkYXRhKCdhYmlkZScpfSB7XG4gICAgICAuZXJyb3Igc21hbGwuZXJyb3IsIC5lcnJvciBzcGFuLmVycm9yLCBzcGFuLmVycm9yLCBzbWFsbC5lcnJvciB7XG4gICAgICAgIEBpbmNsdWRlIGZvcm0tZXJyb3ItbWVzc2FnZTtcbiAgICAgIH1cbiAgICAgIHNwYW4uZXJyb3IsIHNtYWxsLmVycm9yIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cblxuICAgIHNwYW4uZXJyb3IsIHNtYWxsLmVycm9yIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tZXJyb3ItbWVzc2FnZTtcbiAgICB9XG5cbiAgICAuZXJyb3Ige1xuICAgICAgaW5wdXQsXG4gICAgICB0ZXh0YXJlYSxcbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmdcbiAgICAgIH1cblxuICAgICAgbGFiZWwsXG4gICAgICBsYWJlbC5lcnJvciB7XG4gICAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtZXJyb3ItY29sb3I7XG4gICAgICB9XG5cbiAgICAgIHNtYWxsLmVycm9yIHtcbiAgICAgICAgQGluY2x1ZGUgZm9ybS1lcnJvci1tZXNzYWdlO1xuICAgICAgfVxuXG4gICAgICA+IGxhYmVsIHtcbiAgICAgICAgPiBzbWFsbCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRmb3JtLWxhYmVsLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDE1JSk7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgIGZvbnQtc2l6ZTogNjAlO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvcm0tbGFiZWwtc21hbGwtdHJhbnNmb3JtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNwYW4uZXJyb3ItbWVzc2FnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0LmVycm9yLFxuICAgIHRleHRhcmVhLmVycm9yLFxuICAgIHNlbGVjdC5lcnJvciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICBsYWJlbC5lcnJvciB7IEBpbmNsdWRlIGZvcm0tbGFiZWwtZXJyb3ItY29sb3I7IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEFsZXJ0IEJveCBWYXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWFsZXJ0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhbGVydCBwYWRkaW5nLlxuJGFsZXJ0LXBhZGRpbmctdG9wOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy1kZWZhdWx0LWZsb2F0OiAkYWxlcnQtcGFkZGluZy10b3AgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy1vcHBvc2l0ZS1kaXJlY3Rpb246ICRhbGVydC1wYWRkaW5nLXRvcCArIHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLWJvdHRvbTogJGFsZXJ0LXBhZGRpbmctdG9wICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IHN0eWxlLlxuJGFsZXJ0LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGFsZXJ0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuJGFsZXJ0LWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRhbGVydC1mb250LWNvbG9yLWFsdDogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTY2JSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIGZvciBjbG9zZSBob3ZlciBlZmZlY3QuXG4kYWxlcnQtZnVuY3Rpb24tZmFjdG9yOiAtMTQlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzLlxuJGFsZXJ0LWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogJGFsZXJ0LWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kYWxlcnQtYm90dG9tLW1hcmdpbjogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGNsb3NlIGJ1dHRvbnNcbiRhbGVydC1jbG9zZS1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS10b3A6IDUwJSAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1wb3NpdGlvbjogcmVtLWNhbGMoNCkgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYygyMikgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2Utb3BhY2l0eTogLjMgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2Utb3BhY2l0eS1ob3ZlcjogLjUgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtcGFkZGluZzogMCA2cHggNHB4ICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLWJhY2tncm91bmQ6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYm9yZGVyIHJhZGl1c1xuJGFsZXJ0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRhbGVydC10cmFuc2l0aW9uLXNwZWVkOiAzMDBtcyAhZGVmYXVsdDtcbiRhbGVydC10cmFuc2l0aW9uLWVhc2U6IGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vL1xuLy8gQWxlcnQgTWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYSBkZWZhdWx0IGFsZXJ0IGJhc2UuXG5AbWl4aW4gYWxlcnQtYmFzZSB7XG4gIGJvcmRlci1zdHlsZTogJGFsZXJ0LWJvcmRlci1zdHlsZTtcbiAgYm9yZGVyLXdpZHRoOiAkYWxlcnQtYm9yZGVyLXdpZHRoO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAkYWxlcnQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGFsZXJ0LWZvbnQtd2VpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkYWxlcnQtYm90dG9tLW1hcmdpbjtcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmctdG9wICRhbGVydC1wYWRkaW5nLW9wcG9zaXRlLWRpcmVjdGlvbiAkYWxlcnQtcGFkZGluZy1ib3R0b20gJGFsZXJ0LXBhZGRpbmctZGVmYXVsdC1mbG9hdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihvcGFjaXR5LCAkYWxlcnQtdHJhbnNpdGlvbi1zcGVlZCwgJGFsZXJ0LXRyYW5zaXRpb24tZWFzZSlcbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGFsZXJ0IHN0eWxlc1xuLy9cbi8vICRiZyAtIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSBhbGVydC4gRGVmYXVsdDogJHByaW1hcnktY29sb3IuXG5AbWl4aW4gYWxlcnQtc3R5bGUoJGJnOiRwcmltYXJ5LWNvbG9yKSB7XG5cbiAgLy8gVGhpcyBmaW5kcyB0aGUgbGlnaHRuZXNzIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG4gICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggYmFja2dyb3VuZCBjb2xvciBhbmQgYm9yZGVyIGNvbWUgdGhyb3VnaC5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICBib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRiZywgJGxpZ2h0bmVzczogJGFsZXJ0LWZ1bmN0aW9uLWZhY3Rvcik7XG5cbiAgLy8gV2UgY29udHJvbCB0aGUgdGV4dCBjb2xvciBmb3IgeW91IGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICBAaWYgJGJnLWxpZ2h0bmVzcyA+IDcwJSB7IGNvbG9yOiAkYWxlcnQtZm9udC1jb2xvci1hbHQ7IH1cbiAgQGVsc2UgICAgICAgICAgICAgICAgICAgeyBjb2xvcjogJGFsZXJ0LWZvbnQtY29sb3I7IH1cblxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBhbGVydC1jbG9zZSB7XG4gICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRhbGVydC1jbG9zZS1wb3NpdGlvbjtcbiAgYmFja2dyb3VuZDogJGFsZXJ0LWNsb3NlLWJhY2tncm91bmQ7XG4gIGNvbG9yOiAkYWxlcnQtY2xvc2UtY29sb3I7XG4gIGZvbnQtc2l6ZTogJGFsZXJ0LWNsb3NlLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IC45O1xuICBtYXJnaW4tdG9wOiAtKCRhbGVydC1jbG9zZS1mb250LXNpemUgLyAyKTtcbiAgb3BhY2l0eTogJGFsZXJ0LWNsb3NlLW9wYWNpdHk7XG4gIHBhZGRpbmc6ICRhbGVydC1jbG9zZS1wYWRkaW5nO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJGFsZXJ0LWNsb3NlLXRvcDtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7IG9wYWNpdHk6ICRhbGVydC1jbG9zZS1vcGFjaXR5LWhvdmVyOyB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHF1aWNrbHkgY3JlYXRlIGFsZXJ0cyB3aXRoIGEgc2luZ2xlIG1peGluLlxuLy9cbi8vICRiZyAtIEJhY2tncm91bmQgb2YgYWxlcnQuIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yLlxuLy8gJHJhZGl1cyAtIFJhZGl1cyBvZiBhbGVydCBib3guIERlZmF1bHQ6IGZhbHNlLlxuQG1peGluIGFsZXJ0KCRiZzokcHJpbWFyeS1jb2xvciwgJHJhZGl1czpmYWxzZSkge1xuICBAaW5jbHVkZSBhbGVydC1iYXNlO1xuICBAaW5jbHVkZSBhbGVydC1zdHlsZSgkYmcpO1xuICBAaW5jbHVkZSByYWRpdXMoJHJhZGl1cyk7XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJhbGVydC1ib3hcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1hbGVydC1jbGFzc2VzIHtcbiAgICAuYWxlcnQtYm94IHtcbiAgICAgIEBpbmNsdWRlIGFsZXJ0O1xuXG4gICAgICAuY2xvc2UgICAgICB7IEBpbmNsdWRlIGFsZXJ0LWNsb3NlOyB9XG5cbiAgICAgICYucmFkaXVzICAgIHsgQGluY2x1ZGUgcmFkaXVzKCRhbGVydC1yYWRpdXMpOyB9XG4gICAgICAmLnJvdW5kICAgICB7IEBpbmNsdWRlIHJhZGl1cygkZ2xvYmFsLXJvdW5kZWQpOyB9XG5cbiAgICAgICYuc3VjY2VzcyAgIHsgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJHN1Y2Nlc3MtY29sb3IpOyB9XG4gICAgICAmLmFsZXJ0ICAgICB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCRhbGVydC1jb2xvcik7IH1cbiAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJHNlY29uZGFyeS1jb2xvcik7IH1cbiAgICAgICYud2FybmluZyB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCR3YXJuaW5nLWNvbG9yKTsgfVxuICAgICAgJi5pbmZvIHsgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJGluZm8tY29sb3IpOyB9XG4gICAgICAmLmFsZXJ0LWNsb3NlIHsgb3BhY2l0eTogMH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1sYWJlbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGFiZWxzXG4kbGFiZWwtcGFkZGluZzogcmVtLWNhbGMoNCA4IDQpICFkZWZhdWx0O1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGFiZWwgdGV4dFxuJGxhYmVsLWZvbnQtc2l6aW5nOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRsYWJlbC1mb250LWNvbG9yLWFsdDogJHdoaXRlICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYSBkZWZhdWx0IGxhYmVsIGJhc2UuXG5AbWl4aW4gbGFiZWwtYmFzZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICRsYWJlbC1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRsYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgbGFiZWwgc2l6ZSBzdHlsZXMuXG4vLyAkcGFkZGluZyAtIFVzZWQgdG8gZGV0ZXJtaW5lIGxhYmVsIHBhZGRpbmcuIERlZmF1bHQ6ICRsYWJlbC1wYWRkaW5nIHx8IHJlbS1jYWxjKDQgOCA0KSAhZGVmYXVsdFxuLy8gJHRleHQtc2l6ZSAtIFVzZWQgdG8gZGV0ZXJtaW5lIGxhYmVsIHRleHQtc2l6ZS4gRGVmYXVsdDogJHRleHQtc2l6ZSBmb3VuZCBpbiBzZXR0aW5nc1xuQG1peGluIGxhYmVsLXNpemUoJHBhZGRpbmc6JGxhYmVsLXBhZGRpbmcsICR0ZXh0LXNpemU6JGxhYmVsLWZvbnQtc2l6aW5nKSB7XG4gIEBpZiAkcGFkZGluZyB7IHBhZGRpbmc6ICRwYWRkaW5nOyB9XG4gIEBpZiAkdGV4dC1zaXplIHsgZm9udC1zaXplOiAkdGV4dC1zaXplOyB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgbGFiZWwgc3R5bGVzLlxuLy8gJGJnIC0gRGVmYXVsdDogJHByaW1hcnktY29sb3IgKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG4vLyAkcmFkaXVzIC0gRGVmYXVsdDogZmFsc2UsIE9wdGlvbnM6IHRydWUsIHNldHMgcmFkaXVzIHRvICRnbG9iYWwtcmFkaXVzIChmb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxuQG1peGluIGxhYmVsLXN0eWxlKCRiZzokcHJpbWFyeS1jb2xvciwgJHJhZGl1czpmYWxzZSkge1xuXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggYmFja2dyb3VuZCBjb2xvciBjb21lcyB0aHJvdWdoXG4gIEBpZiAkYmcge1xuXG4gICAgLy8gVGhpcyBmaW5kIHRoZSBsaWdodG5lc3MgcGVyY2VudGFnZSBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcblxuICAgIC8vIFdlIGNvbnRyb2wgdGhlIHRleHQgY29sb3IgZm9yIHlvdSBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgICBAaWYgJGJnLWxpZ2h0bmVzcyA8IDcwJSB7IGNvbG9yOiAkbGFiZWwtZm9udC1jb2xvci1hbHQ7IH1cbiAgICBAZWxzZSB7IGNvbG9yOiAkbGFiZWwtZm9udC1jb2xvcjsgfVxuICB9XG5cbiAgLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgcmFkaXVzIG9uIGxhYmVscy5cbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkbGFiZWwtcmFkaXVzKTsgfVxuICBAZWxzZSBpZiAkcmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRyYWRpdXMpOyB9XG5cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCBjbG9zZSBidXR0b25zIHRvIGFsZXJ0c1xuLy8gJHBhZGRpbmcgLSBEZWZhdWx0OiAkbGFiZWwtcGFkZGluZyxcbi8vICR0ZXh0LXNpemUgLSBEZWZhdWx0OiAkbGFiZWwtZm9udC1zaXppbmcsXG4vLyAkYmcgLSBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvcihmb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxuLy8gJHJhZGl1cyAtIERlZmF1bHQ6IGZhbHNlLCBPcHRpb25zOiB0cnVlIHdoaWNoIHNldHMgcmFkaXVzIHRvICRnbG9iYWwtcmFkaXVzIChmb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxuQG1peGluIGxhYmVsKCRwYWRkaW5nOiRsYWJlbC1wYWRkaW5nLCAkdGV4dC1zaXplOiRsYWJlbC1mb250LXNpemluZywgJGJnOiRwcmltYXJ5LWNvbG9yLCAkcmFkaXVzOmZhbHNlKSB7XG5cbiAgQGluY2x1ZGUgbGFiZWwtYmFzZTtcbiAgQGluY2x1ZGUgbGFiZWwtc2l6ZSgkcGFkZGluZywgJHRleHQtc2l6ZSk7XG4gIEBpbmNsdWRlIGxhYmVsLXN0eWxlKCRiZywgJHJhZGl1cyk7XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJsYWJlbFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWxhYmVsLWNsYXNzZXMge1xuICAgIC5sYWJlbCB7XG4gICAgICBAaW5jbHVkZSBsYWJlbC1iYXNlO1xuICAgICAgQGluY2x1ZGUgbGFiZWwtc2l6ZTtcbiAgICAgIEBpbmNsdWRlIGxhYmVsLXN0eWxlO1xuXG4gICAgICAmLnJhZGl1cyB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKGZhbHNlLCB0cnVlKTsgfVxuICAgICAgJi5yb3VuZCB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKGZhbHNlLCAkcmFkaXVzOjEwMDBweCk7IH1cblxuICAgICAgJi5hbGVydCAgICAgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkYWxlcnQtY29sb3IpOyB9XG4gICAgICAmLndhcm5pbmcgICB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKCR3YXJuaW5nLWNvbG9yKTsgfVxuICAgICAgJi5zdWNjZXNzICAgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkc3VjY2Vzcy1jb2xvcik7IH1cbiAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJHNlY29uZGFyeS1jb2xvcik7IH1cbiAgICAgICYuaW5mbyAgICAgIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJGluZm8tY29sb3IpOyB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtaW5saW5lLWxpc3QtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBtYXJnaW5zIGFuZCBwYWRkaW5nIG9mIHRoZSBpbmxpbmUgbGlzdC5cbiRpbmxpbmUtbGlzdC10b3AtbWFyZ2luOiAwICFkZWZhdWx0O1xuJGlubGluZS1saXN0LW9wcG9zaXRlLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRpbmxpbmUtbGlzdC1ib3R0b20tbWFyZ2luOiByZW0tY2FsYygxNykgIWRlZmF1bHQ7XG4kaW5saW5lLWxpc3QtZGVmYXVsdC1mbG9hdC1tYXJnaW46IHJlbS1jYWxjKC0yMikgIWRlZmF1bHQ7XG4kaW5saW5lLWxpc3QtZGVmYXVsdC1mbG9hdC1saXN0LW1hcmdpbjogcmVtLWNhbGMoMjIpICFkZWZhdWx0O1xuXG4kaW5saW5lLWxpc3QtcGFkZGluZzogMCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgb3ZlcmZsb3cgb2YgdGhlIGlubGluZSBsaXN0LlxuJGlubGluZS1saXN0LW92ZXJmbG93OiBoaWRkZW4gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGxpc3QgaXRlbXNcbiRpbmxpbmUtbGlzdC1kaXNwbGF5OiBibG9jayAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhbnkgZWxlbWVudHMgd2l0aGluIGxpc3QgaXRlbXNcbiRpbmxpbmUtbGlzdC1jaGlsZHJlbi1kaXNwbGF5OiBibG9jayAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgaW5saW5lIGxpc3RzXG5AbWl4aW4gaW5saW5lLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tdG9wOiAkaW5saW5lLWxpc3QtdG9wLW1hcmdpbjtcbiAgbWFyZ2luLWJvdHRvbTogJGlubGluZS1saXN0LWJvdHRvbS1tYXJnaW47XG4gIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGlubGluZS1saXN0LWRlZmF1bHQtZmxvYXQtbWFyZ2luO1xuICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGlubGluZS1saXN0LW9wcG9zaXRlLW1hcmdpbjtcbiAgb3ZlcmZsb3c6ICRpbmxpbmUtbGlzdC1vdmVyZmxvdztcbiAgcGFkZGluZzogJGlubGluZS1saXN0LXBhZGRpbmc7XG5cbiAgPiBsaSB7XG4gICAgZGlzcGxheTogJGlubGluZS1saXN0LWRpc3BsYXk7XG4gICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkaW5saW5lLWxpc3QtZGVmYXVsdC1mbG9hdC1saXN0LW1hcmdpbjtcbiAgICA+ICogeyBkaXNwbGF5OiAkaW5saW5lLWxpc3QtY2hpbGRyZW4tZGlzcGxheTsgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJpbmxpbmUtbGlzdFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWlubGluZS1saXN0LWNsYXNzZXMge1xuICAgIC5pbmxpbmUtbGlzdCB7XG4gICAgICBAaW5jbHVkZSBpbmxpbmUtbGlzdCgpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLXBhbmVsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBzdHlsZXNcbiRwYW5lbC1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xuJHBhbmVsLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kcGFuZWwtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRjYWxsb3V0LXBhbmVsLWJnOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogOTQlKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgJSB0byBjb250cm9sIGhvdyBtdWNoIHdlIGRhcmtlbiB0aGluZ3Mgb24gaG92ZXJcbiRwYW5lbC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRwYW5lbC1iZywgJGxpZ2h0bmVzczogLTExJSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgZGVmYXVsdCBpbm5lciBwYWRkaW5nIGFuZCBib3R0b20gbWFyZ2luXG4kcGFuZWwtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJHBhbmVsLXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCBkZWZhdWx0IGZvbnQgY29sb3JzXG4kcGFuZWwtZm9udC1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRwYW5lbC1mb250LWNvbG9yLWFsdDogJHdoaXRlICFkZWZhdWx0O1xuXG4kcGFuZWwtaGVhZGVyLWFkanVzdDogdHJ1ZSAhZGVmYXVsdDtcbiRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNhbGxvdXQtcGFuZWwtbGluay1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNhbGxvdXQtcGFuZWwtbGluay1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG4vL1xuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBwYW5lbHMuXG4vLyAkYmcgLSBTZXRzIHRoZSBwYW5lbCBiYWNrZ3JvdW5kIGNvbG9yLiBEZWZhdWx0OiAkcGFuZWwtcGcgfHwgc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0XG4vLyAkcGFkZGluZyAtIFNldHMgdGhlIHBhbmVsIHBhZGRpbmcgYW1vdW50LiBEZWZhdWx0OiAkcGFuZWwtcGFkZGluZyB8fCByZW0tY2FsYygyMClcbi8vICRhZGp1c3QgLSBTZXRzIHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIHRoZSBkYXJrbmVzcyBvZiB0aGUgYmcgJiByZXNldHMgaGVhZGVyIGxpbmUtaGVpZ2h0cyBmb3IgcGFuZWxzLiBEZWZhdWx0OiAkcGFuZWwtaGVhZGVyLWFkanVzdCB8fCB0cnVlXG5AbWl4aW4gcGFuZWwoJGJnOiRwYW5lbC1iZywgJHBhZGRpbmc6JHBhbmVsLXBhZGRpbmcsICRhZGp1c3Q6JHBhbmVsLWhlYWRlci1hZGp1c3QsICRib3JkZXI6dHJ1ZSkge1xuXG4gIEBpZiAkYmcge1xuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuXG4gICAgQGlmICRib3JkZXIge1xuICAgICAgYm9yZGVyLXN0eWxlOiAkcGFuZWwtYm9yZGVyLXN0eWxlO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcGFuZWwtYm9yZGVyLXNpemU7XG4gICAgICBib3JkZXItY29sb3I6ICRwYW5lbC1ib3JkZXItY29sb3I7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgbWFyZ2luLWJvdHRvbTogJHBhbmVsLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmc7XG4gICAgQGlmICRiZy1saWdodG5lc3MgPj0gNTAlIHsgY29sb3I6ICRwYW5lbC1mb250LWNvbG9yOyB9XG4gICAgQGVsc2UgeyBjb2xvcjogJHBhbmVsLWZvbnQtY29sb3ItYWx0OyB9XG5cbiAgICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICAgID4gOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfVxuICAgID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbiAgICBAaWYgJGFkanVzdCB7XG4gICAgICAvLyBXZSBzZXQgdGhlIGZvbnQgY29sb3IgYmFzZWQgb24gdGhlIGRhcmtuZXNzIG9mIHRoZSBiZy5cbiAgICAgIEBpZiAkYmctbGlnaHRuZXNzID49IDUwJSB7XG4gICAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGxpLCBkbCB7IGNvbG9yOiAkcGFuZWwtZm9udC1jb2xvcjsgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBsaSwgZGwgeyBjb2xvcjogJHBhbmVsLWZvbnQtY29sb3ItYWx0OyB9XG4gICAgICB9XG5cbiAgICAgIC8vIHJlc2V0IGhlYWRlciBsaW5lLWhlaWdodHMgZm9yIHBhbmVsc1xuICAgICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgLyAyO1xuICAgICAgICAmLnN1YmhlYWRlciB7IGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInBhbmVsXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtcGFuZWwtY2xhc3NlcyB7XG5cbiAgICAvKiBQYW5lbHMgKi9cbiAgICAucGFuZWwgeyBAaW5jbHVkZSBwYW5lbDtcblxuICAgICAgJi5jYWxsb3V0IHtcbiAgICAgICAgQGluY2x1ZGUgcGFuZWwoJGNhbGxvdXQtcGFuZWwtYmcpO1xuICAgICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgY29sb3I6ICRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3I7XG5cbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucmFkaXVzIHtcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzO1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtcGFnaW5hdGlvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBwYWdpbmF0aW9uIGNvbnRhaW5lclxuJHBhZ2luYXRpb24taGVpZ2h0OiByZW0tY2FsYygyNCkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1tYXJnaW46IHJlbS1jYWxjKC01KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgbGlzdC1pdGVtIHByb3BlcnRpZXNcbiRwYWdpbmF0aW9uLWxpLWZsb2F0OiAkZGVmYXVsdC1mbG9hdCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpLWhlaWdodDogcmVtLWNhbGMoMjQpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGktZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGktbWFyZ2luOiByZW0tY2FsYyg1KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIGZvciB0aGUgcGFnaW5hdGlvbiBhbmNob3IgbGlua3NcbiRwYWdpbmF0aW9uLWxpbmstcGFkOiByZW0tY2FsYygxIDEwIDEpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay1mb250LWNvbG9yOiAkYWx1bWludW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLWFjdGl2ZS1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMTAlKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIGZvciBkaXNhYmxlZCBhbmNob3IgbGlua3NcbiRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtY3Vyc29yOiBkZWZhdWx0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1mb250LWNvbG9yOiAkYWx1bWludW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWJnLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSBmb3IgY3VycmVudGx5IHNlbGVjdGVkIGFuY2hvciBsaW5rc1xuJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yOiBkZWZhdWx0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWFjdGl2ZS1iZzogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBTdHlsZSB0aGUgcGFnaW5hdGlvbiBjb250YWluZXIuIEN1cnJlbnRseSBvbmx5IHVzZWQgd2hlbiBjZW50ZXJpbmcgZWxlbWVudHMuXG4vLyAkY2VudGVyIC0gRGVmYXVsdDogZmFsc2UsIE9wdGlvbnM6IHRydWVcbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lcigkY2VudGVyOmZhbHNlKSB7XG4gIEBpZiAkY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG59XG5cbi8vIEBtaXhpbnNcbi8vIFN0eWxlIHVuYXZhaWxhYmxlIGxpc3QgaXRlbXNcbkBtaXhpbiBwYWdpbmF0aW9uLXVuYXZhaWxhYmxlLWl0ZW0ge1xuICBhLCBidXR0b24ge1xuICAgIGN1cnNvcjogJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1jdXJzb3I7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtZm9udC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICAmOmhvdmVyIGEsXG4gICYgYTpmb2N1cyxcblxuICAmOmhvdmVyIGJ1dHRvbixcbiAgJiBidXR0b246Zm9jdXNcbiAgeyBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWJnLWFjdGl2ZTsgfVxufVxuLy8gQG1peGluc1xuLy8gU3R5bGUgdGhlIGN1cnJlbnQgbGlzdCBpdGVtLiBEbyBub3QgYXNzdW1lIHRoYXQgdGhlIGN1cnJlbnQgaXRlbSBoYXNcbi8vIGFuIGFuY2hvciA8YT4gZWxlbWVudC5cbi8vICRoYXMtYW5jaG9yIC0gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2VcbkBtaXhpbiBwYWdpbmF0aW9uLWN1cnJlbnQtaXRlbSgkaGFzLWFuY2hvcjogdHJ1ZSkge1xuICBAaWYgJGhhcy1hbmNob3Ige1xuICAgIGEsIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYmFja2dyb3VuZDtcbiAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC1jb2xvcjtcbiAgICAgIGN1cnNvcjogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWN1cnNvcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC13ZWlnaHQ7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHsgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWFjdGl2ZS1iZzsgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LWNvbG9yO1xuICAgIGN1cnNvcjogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWN1cnNvcjtcbiAgICBmb250LXdlaWdodDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtd2VpZ2h0O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1saW5rLXBhZDtcbiAgICBAaW5jbHVkZSByYWRpdXM7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMgeyBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYWN0aXZlLWJnOyB9XG4gIH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHNldCB0aGUgcHJvcGVydGllcyBmb3IgdGhlIGNyZWF0aW5nIEZvdW5kYXRpb24gcGFnaW5hdGlvblxuLy8gJGNlbnRlciAtIExlZnQgb3IgY2VudGVyIGFsaWduIHRoZSBsaSBlbGVtZW50cy4gRGVmYXVsdDogZmFsc2Vcbi8vICRiYXNlLXN0eWxlIC0gU2V0cyBiYXNlIHN0eWxlcyBmb3IgcGFnaW5hdGlvbi4gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2Vcbi8vICR1c2UtZGVmYXVsdC1jbGFzc2VzIC0gTWFrZXMgdW5hdmFpbGFibGUgJiBjdXJyZW50IGNsYXNzZXMgYXZhaWxhYmxlIGZvciB1c2UuIERlZmF1bHQ6IHRydWVcbkBtaXhpbiBwYWdpbmF0aW9uKCRjZW50ZXI6ZmFsc2UsICRiYXNlLXN0eWxlOnRydWUsICR1c2UtZGVmYXVsdC1jbGFzc2VzOnRydWUpIHtcblxuICBAaWYgJGJhc2Utc3R5bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJHBhZ2luYXRpb24tbWFyZ2luO1xuICAgIG1pbi1oZWlnaHQ6ICRwYWdpbmF0aW9uLWhlaWdodDtcblxuICAgIGxpIHtcbiAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1saS1mb250LWNvbG9yO1xuICAgICAgZm9udC1zaXplOiAkcGFnaW5hdGlvbi1saS1mb250LXNpemU7XG4gICAgICBoZWlnaHQ6ICRwYWdpbmF0aW9uLWxpLWhlaWdodDtcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJHBhZ2luYXRpb24tbGktbWFyZ2luO1xuXG4gICAgICBhLCBidXR0b24ge1xuICAgICAgICBAaW5jbHVkZSByYWRpdXM7XG4gICAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBjb2xvcjogJHBhZ2luYXRpb24tbGluay1mb250LWNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1saW5rLXBhZDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciBhLFxuICAgICAgYTpmb2N1cyxcbiAgICAgICY6aG92ZXIgYnV0dG9uLFxuICAgICAgYnV0dG9uOmZvY3VzXG4gICAgICB7IGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstYWN0aXZlLWJnOyB9XG5cbiAgICAgIEBpZiAkdXNlLWRlZmF1bHQtY2xhc3NlcyB7XG4gICAgICAgICYudW5hdmFpbGFibGUgeyBAaW5jbHVkZSBwYWdpbmF0aW9uLXVuYXZhaWxhYmxlLWl0ZW0oKTsgfVxuICAgICAgICAmLmN1cnJlbnQgeyBAaW5jbHVkZSBwYWdpbmF0aW9uLWN1cnJlbnQtaXRlbSgpOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGVmdCBvciBjZW50ZXIgYWxpZ24gdGhlIGxpIGVsZW1lbnRzXG4gIGxpIHtcbiAgICBAaWYgJGNlbnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6ICRwYWdpbmF0aW9uLWxpLWZsb2F0O1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwicGFnaW5hdGlvblwiKSB7XG4gIEBpZiAkaW5jbHVkZS1wYWdpbmF0aW9uLWNsYXNzZXMge1xuICAgIHVsLnBhZ2luYXRpb24ge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbjtcbiAgICB9XG5cbiAgICAvKiBQYWdpbmF0aW9uIGNlbnRyZWQgd3JhcHBlciAqL1xuICAgIC5wYWdpbmF0aW9uLWNlbnRlcmVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyKHRydWUpO1xuXG4gICAgICB1bC5wYWdpbmF0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbih0cnVlLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIHByb2dyZXNzIGJhciBoZWlnaHRcbiRwcm9ncmVzcy1iYXItaGVpZ2h0OiByZW0tY2FsYygyNSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAkdmFwb3IgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBib3JkZXIgc3R5bGVzXG4kcHJvZ3Jlc3MtYmFyLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAyMCUpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIG1hcmdpbiAmIHBhZGRpbmdcbiRwcm9ncmVzcy1iYXItcGFkOiByZW0tY2FsYygyKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBtZXRlciBjb2xvcnNcbiRwcm9ncmVzcy1tZXRlci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtbWV0ZXItc2Vjb25kYXJ5LWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHByb2dyZXNzLW1ldGVyLXN1Y2Nlc3MtY29sb3I6ICRzdWNjZXNzLWNvbG9yICFkZWZhdWx0O1xuJHByb2dyZXNzLW1ldGVyLWFsZXJ0LWNvbG9yOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdXAgdGhlIHByb2dyZXNzIGJhciBjb250YWluZXJcbkBtaXhpbiBwcm9ncmVzcy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICBib3JkZXI6ICRwcm9ncmVzcy1iYXItYm9yZGVyLXNpemUgJHByb2dyZXNzLWJhci1ib3JkZXItc3R5bGUgJHByb2dyZXNzLWJhci1ib3JkZXItY29sb3I7XG4gIGhlaWdodDogJHByb2dyZXNzLWJhci1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1iYXItbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZzogJHByb2dyZXNzLWJhci1wYWQ7XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyAkYmcgLSBEZWZhdWx0OiAkcHJvZ3Jlc3MtbWV0ZXItY29sb3IgfHwgJHByaW1hcnktY29sb3JcbkBtaXhpbiBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLWNvbG9yKSB7XG4gIGJhY2tncm91bmQ6ICRiZztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAwJTtcbn1cblxuXG5AaW5jbHVkZSBleHBvcnRzKFwicHJvZ3Jlc3MtYmFyXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlcyB7XG5cbiAgICAvKiBQcm9ncmVzcyBCYXIgKi9cbiAgICAucHJvZ3Jlc3Mge1xuICAgICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgICAvLyBNZXRlclxuICAgICAgLm1ldGVyIHtcbiAgICAgICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG5cbiAgICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLXNlY29uZGFyeS1jb2xvcik7IH1cbiAgICAgICAgJi5zdWNjZXNzIHsgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXIoJGJnOiRwcm9ncmVzcy1tZXRlci1zdWNjZXNzLWNvbG9yKTsgfVxuICAgICAgICAmLmFsZXJ0IHsgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXIoJGJnOiRwcm9ncmVzcy1tZXRlci1hbGVydC1jb2xvcik7IH1cbiAgICAgIH1cbiAgICAgICYuc2Vjb25kYXJ5IC5tZXRlciB7IEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyKCRiZzokcHJvZ3Jlc3MtbWV0ZXItc2Vjb25kYXJ5LWNvbG9yKTsgfVxuICAgICAgJi5zdWNjZXNzIC5tZXRlciB7IEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyKCRiZzokcHJvZ3Jlc3MtbWV0ZXItc3VjY2Vzcy1jb2xvcik7IH1cbiAgICAgICYuYWxlcnQgLm1ldGVyIHsgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXIoJGJnOiRwcm9ncmVzcy1tZXRlci1hbGVydC1jb2xvcik7IH1cblxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHByb2dyZXNzLWJhci1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgLm1ldGVyIHsgQGluY2x1ZGUgcmFkaXVzKCRwcm9ncmVzcy1iYXItYm9yZGVyLXJhZGl1cyAtIDEpOyB9XG4gICAgICB9XG5cbiAgICAgICYucm91bmQgeyBAaW5jbHVkZSByYWRpdXMoMTAwMHB4KTtcbiAgICAgICAgLm1ldGVyIHsgQGluY2x1ZGUgcmFkaXVzKDk5OXB4KTsgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdncmlkJztcblxuLy9cbi8vIEBuYW1lIF9yZXZlYWwuc2Nzc1xuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3Ncbi8vXG5cbiRpbmNsdWRlLWh0bWwtcmV2ZWFsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN0eWxlIG9mIHRoZSByZXZlYWwgb3ZlcmxheS5cbiRyZXZlYWwtb3ZlcmxheS1iZzogcmdiYSgkYmxhY2ssIC40NSkgIWRlZmF1bHQ7XG4kcmV2ZWFsLW92ZXJsYXktYmctb2xkOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzdHlsZSBvZiB0aGUgbW9kYWwgaXRzZWxmLlxuJHJldmVhbC1tb2RhbC1iZzogJHdoaXRlICFkZWZhdWx0O1xuJHJldmVhbC1wb3NpdGlvbi10b3A6IHJlbS1jYWxjKDEwMCkgIWRlZmF1bHQ7XG4kcmV2ZWFsLWRlZmF1bHQtd2lkdGg6IDgwJSAhZGVmYXVsdDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkcm93LXdpZHRoICFkZWZhdWx0O1xuJHJldmVhbC1tb2RhbC1wYWRkaW5nOiByZW0tY2FsYygzMCkgIWRlZmF1bHQ7XG4kcmV2ZWFsLWJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLC40KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSByZXZlYWwgY2xvc2UgYnV0dG9uXG4kcmV2ZWFsLWNsb3NlLWZvbnQtc2l6ZTogcmVtLWNhbGMoNDApICFkZWZhdWx0O1xuJHJldmVhbC1jbG9zZS10b3A6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiRyZXZlYWwtY2xvc2Utc2lkZTogcmVtLWNhbGMoMjIpICFkZWZhdWx0O1xuJHJldmVhbC1jbG9zZS1jb2xvcjogJGJhc2UgIWRlZmF1bHQ7XG4kcmV2ZWFsLWNsb3NlLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgZGVmYXVsdCByYWRpdXMgdXNlZCB0aHJvdWdob3V0IHRoZSBjb3JlLlxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJHJldmVhbC1yb3VuZDogJGdsb2JhbC1yb3VuZGVkICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbW9kYWwgYm9yZGVyXG4kcmV2ZWFsLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kcmV2ZWFsLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJHJldmVhbC1ib3JkZXItY29sb3I6ICRzdGVlbCAhZGVmYXVsdDtcblxuJHJldmVhbC1tb2RhbC1jbGFzczogXCJyZXZlYWwtbW9kYWxcIiAhZGVmYXVsdDtcbiRjbG9zZS1yZXZlYWwtbW9kYWwtY2xhc3M6IFwiY2xvc2UtcmV2ZWFsLW1vZGFsXCIgIWRlZmF1bHQ7XG5cbi8vIFNldCBiYXNlIHotaW5kZXhcbiR6LWluZGV4LWJhc2U6IDEwMDU7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgdGhlIHJldmVhbCBiYWNrZ3JvdW5kIG92ZXJsYXkgc3R5bGVzXG5AbWl4aW4gcmV2ZWFsLWJnKCAkaW5jbHVkZS16LWluZGV4LXZhbHVlOiB0cnVlICkge1xuICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7IC8vIGFsbG93cyBtb2RhbCBiYWNrZ3JvdW5kIHRvIGV4dGVuZCBiZXlvbmQgd2luZG93IHBvc2l0aW9uXG4gIGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iZy1vbGQ7IC8vIEF1dG9wcmVmaXhlciBzaG91bGQgYmUgdXNlZCB0byBhdm9pZCBzdWNoIHZhcmlhYmxlcyBuZWVkZWQgd2hlbiBGb3VuZGF0aW9uIGZvciBTaXRlcyBjYW4gZG8gc28gaW4gdGhlIG5lYXIgZnV0dXJlLlxuICBiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmc7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiBpZiggJGluY2x1ZGUtei1pbmRleC12YWx1ZSwgJHotaW5kZXgtYmFzZSAtIDEsIGF1dG8gKTtcbiAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgc3RydWN0dXJlIG9mIGEgcmV2ZWFsIG1vZGFsXG4vL1xuLy8gJGJhc2Utc3R5bGUgLSBQcm92aWRlcyByZXZlYWwgYmFzZSBzdHlsZXMsIGNhbiBiZSBzZXQgdG8gZmFsc2UgdG8gb3ZlcnJpZGUuIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXG4vLyAkd2lkdGggLSBTZXRzIHJldmVhbCB3aWR0aCBEZWZhdWx0OiAkcmV2ZWFsLWRlZmF1bHQtd2lkdGggfHwgODAlXG4vL1xuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlKCAkYmFzZS1zdHlsZTogdHJ1ZSwgJHdpZHRoOiRyZXZlYWwtZGVmYXVsdC13aWR0aCwgJG1heC13aWR0aDokcmV2ZWFsLW1heC13aWR0aCwgJGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzKSB7XG4gIEBpZiAkYmFzZS1zdHlsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6ICR6LWluZGV4LWJhc2U7XG4gICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG5cbiAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgbWluLWhlaWdodDoxMDB2aDtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgICAuY29sdW1uLCAuY29sdW1ucyB7IG1pbi13aWR0aDogMDsgfVxuXG4gICAgLy8gR2V0IHJpZCBvZiBtYXJnaW4gZnJvbSBmaXJzdCBhbmQgbGFzdCBlbGVtZW50IGluc2lkZSBtb2RhbFxuICAgID4gOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgfVxuXG4gIEBpZiAkd2lkdGgge1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIHJldmVhbCBtb2RhbCBkZWZhdWx0c1xuLy9cbi8vICRiZyAtIFNldHMgYmFja2dyb3VuZCBjb2xvciBvZiByZXZlYWwgbW9kYWwuIERlZmF1bHQ6ICRyZXZlYWwtbW9kYWwtYmcgfHwgJHdoaXRlXG4vLyAkcGFkZGluZyAtIFBhZGRpbmcgdG8gYXBwbHkgdG8gcmV2ZWFsIG1vZGFsLiBEZWZhdWx0OiAkcmV2ZWFsLW1vZGFsLXBhZGRpbmcuXG4vLyAkYm9yZGVyIC0gQ2hvb3NlIHdoZXRoZXIgcmV2ZWFsIHVzZXMgYSBib3JkZXIuIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXG4vLyAkYm9yZGVyLXN0eWxlIC0gU2V0IHJldmVhbCBib3JkZXIgc3R5bGUuIERlZmF1bHQ6ICRyZXZlYWwtYm9yZGVyLXN0eWxlIHx8IHNvbGlkXG4vLyAkYm9yZGVyLXdpZHRoIC0gV2lkdGggb2YgYm9yZGVyIChpLmUuIDFweCkuIERlZmF1bHQ6ICRyZXZlYWwtYm9yZGVyLXdpZHRoLlxuLy8gJGJvcmRlci1jb2xvciAtIENvbG9yIG9mIGJvcmRlci4gRGVmYXVsdDogJHJldmVhbC1ib3JkZXItY29sb3IuXG4vLyAkYm94LXNoYWRvdyAtIENob29zZSB3aGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIHRoZSBkZWZhdWx0IGJveC1zaGFkb3cuIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXG4vLyAkcmFkaXVzIC0gSWYgdHJ1ZSwgc2V0IHRvIG1vZGFsIHJhZGl1cyB3aGljaCBpcyAkZ2xvYmFsLXJhZGl1cyB8fCBleHBsaWNpdGx5IHNldCByYWRpdXMgYW1vdW50IGluIHB4IChleC4gJHJhZGl1czoxMHB4KS4gRGVmYXVsdDogZmFsc2Vcbi8vICR0b3Atb2Zmc2V0IC0gRGVmYXVsdDogJHJldmVhbC1wb3NpdGlvbi10b3AgfHwgNTBweFxuQG1peGluIHJldmVhbC1tb2RhbC1zdHlsZShcbiAgJGJnOmZhbHNlLFxuICAkcGFkZGluZzpmYWxzZSxcbiAgJGJvcmRlcjpmYWxzZSxcbiAgJGJvcmRlci1zdHlsZTokcmV2ZWFsLWJvcmRlci1zdHlsZSxcbiAgJGJvcmRlci13aWR0aDokcmV2ZWFsLWJvcmRlci13aWR0aCxcbiAgJGJvcmRlci1jb2xvcjokcmV2ZWFsLWJvcmRlci1jb2xvcixcbiAgJGJveC1zaGFkb3c6ZmFsc2UsXG4gICRyYWRpdXM6ZmFsc2UsXG4gICR0b3Atb2Zmc2V0OmZhbHNlKSB7XG5cbiAgQGlmICRiZyB7IGJhY2tncm91bmQtY29sb3I6ICRiZzsgfVxuICBAaWYgJHBhZGRpbmcgIT0gZmFsc2UgeyBwYWRkaW5nOiAkcGFkZGluZzsgfVxuXG4gIEBpZiAkYm9yZGVyIHsgYm9yZGVyOiAkYm9yZGVyLXN0eWxlICRib3JkZXItd2lkdGggJGJvcmRlci1jb2xvcjsgfVxuXG4gIC8vIFdlIGNhbiBjaG9vc2Ugd2hldGhlciBvciBub3QgdG8gaW5jbHVkZSB0aGUgZGVmYXVsdCBib3gtc2hhZG93LlxuICBAaWYgJGJveC1zaGFkb3cge1xuICAgIGJveC1zaGFkb3c6ICRyZXZlYWwtYm94LXNoYWRvdztcbiAgfVxuICBAZWxzZXtcbiAgICAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgLy8gV2UgY2FuIGNvbnRyb2wgaG93IG11Y2ggcmFkaXVzIGlzIHVzZWQgb24gdGhlIG1vZGFsXG4gIEBpZiAkcmFkaXVzID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJldmVhbC1yYWRpdXMpOyB9XG4gIEBlbHNlIGlmICRyYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHJhZGl1cyk7IH1cblxuICBAaWYgJHRvcC1vZmZzZXQge1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIHRvcDogJHRvcC1vZmZzZXQ7XG4gICAgfVxuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBhIGNsb3NlIGJ1dHRvbiBmb3IgdGhlIHJldmVhbCBtb2RhbFxuLy9cbi8vICRjb2xvciAtIERlZmF1bHQ6ICRyZXZlYWwtY2xvc2UtY29sb3IgfHwgJGJhc2VcbkBtaXhpbiByZXZlYWwtY2xvc2UoJGNvbG9yOiRyZXZlYWwtY2xvc2UtY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7XG4gIGZvbnQtc2l6ZTogJHJldmVhbC1jbG9zZS1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkcmV2ZWFsLWNsb3NlLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAkcmV2ZWFsLWNsb3NlLXRvcDtcbiAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHJldmVhbC1jbG9zZS1zaWRlO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwicmV2ZWFsXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtcmV2ZWFsLWNsYXNzZXMge1xuXG4gICAgLy8gUmV2ZWFsIE1vZGFsc1xuICAgIC5yZXZlYWwtbW9kYWwtYmcgeyBAaW5jbHVkZSByZXZlYWwtYmc7IH1cblxuICAgIC4jeyRyZXZlYWwtbW9kYWwtY2xhc3N9IHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXN0eWxlKFxuICAgICAgICAkYmc6JHJldmVhbC1tb2RhbC1iZyxcbiAgICAgICAgJHBhZGRpbmc6JHJldmVhbC1tb2RhbC1wYWRkaW5nLFxuICAgICAgICAkYm9yZGVyOnRydWUsXG4gICAgICAgICRib3gtc2hhZG93OnRydWUsXG4gICAgICAgICRyYWRpdXM6ZmFsc2UsXG4gICAgICAgICR0b3Atb2Zmc2V0OiRyZXZlYWwtcG9zaXRpb24tdG9wXG4gICAgICApO1xuXG4gICAgICAmLnJhZGl1cyB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1zdHlsZSgkcmFkaXVzOnRydWUpOyB9XG4gICAgICAmLnJvdW5kICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1zdHlsZSgkcmFkaXVzOiRyZXZlYWwtcm91bmQpOyB9XG4gICAgICAmLmNvbGxhcHNlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXN0eWxlKCRwYWRkaW5nOjApOyB9XG4gICAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDMwJSk7IH1cbiAgICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgNDAlKTsgfVxuICAgICAgJi5tZWRpdW0gIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDYwJSk7IH1cbiAgICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgNzAlKTsgfVxuICAgICAgJi54bGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgOTUlKTsgfVxuICAgICAgJi5mdWxsIHtcbiAgICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDEwMCUpO1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBoZWlnaHQ6MTAwJTtcbiAgICAgICAgbGVmdDowO1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDoxMDB2aDtcbiAgICAgICAgdG9wOjA7XG4gICAgICB9XG5cbiAgICAgIC8vIE1vZGFscyBwdXNoZWQgdG8gYmFja1xuICAgICAgJi50b2JhY2sge1xuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1iYXNlIC0gMjtcbiAgICAgIH1cblxuICAgICAgLiN7JGNsb3NlLXJldmVhbC1tb2RhbC1jbGFzc30geyBAaW5jbHVkZSByZXZlYWwtY2xvc2U7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdncmlkJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtdGFicy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbiR0YWJzLW5hdmlnYXRpb24tcGFkZGluZzogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1iZy1jb2xvcjogJHNpbHZlciAhZGVmYXVsdDtcbiR0YWJzLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkdGFicy1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtNiUpICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtZm9udC1jb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1mb250LWNvbG9yICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiR0YWJzLW5hdmlnYXRpb24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4kdGFicy1jb250ZW50LW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI0KSAhZGVmYXVsdDtcbiR0YWJzLWNvbnRlbnQtcGFkZGluZzogKCRjb2x1bW4tZ3V0dGVyLzIpICFkZWZhdWx0O1xuXG4kdGFicy12ZXJ0aWNhbC1uYXZpZ2F0aW9uLW1hcmdpbi1ib3R0b206IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ0YWJcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC10YWJzLWNsYXNzZXMge1xuICAgIC50YWJzIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgIGRkLFxuICAgICAgLnRhYi10aXRsZSB7XG4gICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWJnLWNvbG9yO1xuICAgICAgICAgIGNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtY29sb3I7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICR0YWJzLW5hdmlnYXRpb24tZm9udC1mYW1pbHk7XG4gICAgICAgICAgZm9udC1zaXplOiAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTtcbiAgICAgICAgICBwYWRkaW5nOiAkdGFicy1uYXZpZ2F0aW9uLXBhZGRpbmcgJHRhYnMtbmF2aWdhdGlvbi1wYWRkaW5nICogMjtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSA+IGEge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJzLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yO1xuICAgICAgICAgIGNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWFjdGl2ZS1mb250LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucmFkaXVzIHtcbiAgICAgICAgZGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgIC50YWI6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGEgeyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGdsb2JhbC1yYWRpdXMpOyB9XG4gICAgICAgIH1cblxuICAgICAgICBkZDpsYXN0LWNoaWxkLFxuICAgICAgICAudGFiOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGEgeyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkZ2xvYmFsLXJhZGl1cyk7IH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgZGQsXG4gICAgICAgIC50YWItdGl0bGUge1xuICAgICAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJzLWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkdGFicy1jb250ZW50LW1hcmdpbi1ib3R0b207XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgPiAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgcGFkZGluZzogJHRhYnMtY29udGVudC1wYWRkaW5nIDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmLmNvbnRhaW5lZCB7XG4gICAgICAgICAgcGFkZGluZzogJHRhYnMtY29udGVudC1wYWRkaW5nO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICA+IC5jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nOiAwICR0YWJzLWNvbnRlbnQtcGFkZGluZztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIC50YWJzIHtcbiAgICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdGFicy12ZXJ0aWNhbC1uYXZpZ2F0aW9uLW1hcmdpbi1ib3R0b20gIWltcG9ydGFudDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDIwJTtcbiAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50YWJzLWNvbnRlbnQge1xuICAgICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAtMXB4O1xuICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06IDFyZW07XG4gICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5uby1qcyB7XG4gICAgICAudGFicy1jb250ZW50ID4gLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZ3JpZCc7XG5AaW1wb3J0ICdidXR0b25zJztcbkBpbXBvcnQgJ2Zvcm1zJztcblxuLy9cbi8vIFRvcCBCYXIgVmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC10b3AtYmFyLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXJcbiR0b3BiYXItYmctY29sb3I6ICRvaWwgIWRlZmF1bHQ7XG4kdG9wYmFyLWJnOiAkdG9wYmFyLWJnLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBIZWlnaHQgYW5kIG1hcmdpblxuJHRvcGJhci1oZWlnaHQ6IHJlbS1jYWxjKDQ1KSAhZGVmYXVsdDtcbiR0b3BiYXItbWFyZ2luLWJvdHRvbTogMCAhZGVmYXVsdDtcblxuLy8gQ29udHJvbGxpbmcgdGhlIHN0eWxlcyBmb3IgdGhlIHRpdGxlIGluIHRoZSB0b3AgYmFyXG4kdG9wYmFyLXRpdGxlLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiR0b3BiYXItdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxNykgIWRlZmF1bHQ7XG5cbi8vIFNldCB0aGUgbGluayBjb2xvcnMgYW5kIHN0eWxlcyBmb3IgdG9wLWxldmVsIG5hdlxuJHRvcGJhci1saW5rLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstY29sb3ItaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1jb2xvci1hY3RpdmUtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstaG92ZXItbGlnaHRuZXNzOiAtMTAlICFkZWZhdWx0OyAvLyBEYXJrZW4gYnkgMTAlXG4kdG9wYmFyLWxpbmstYmc6ICR0b3BiYXItYmcgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstYmctaG92ZXI6ICRqZXQgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI6ICRjaGFyY29hbCAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1iZy1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWJnLWFjdGl2ZS1ob3Zlcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1wYWRkaW5nOiAoJHRvcGJhci1oZWlnaHQgLyAzKSAhZGVmYXVsdDtcbiR0b3BiYXItYmFjay1saW5rLXNpemU6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1kcm9wZG93bi1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG4kdG9wYmFyLWJ1dHRvbi1mb250LXNpemU6IC43NXJlbSAhZGVmYXVsdDtcbiR0b3BiYXItYnV0dG9uLXRvcDogN3B4ICFkZWZhdWx0O1xuXG4vLyBTdHlsZSB0aGUgdG9wIGJhciBkcm9wZG93biBlbGVtZW50c1xuJHRvcGJhci1kcm9wZG93bi1iZzogJG9pbCAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yLWhvdmVyOiAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXIgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxpbmstYmc6ICRvaWwgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxpbmstYmctaG92ZXI6ICRqZXQgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxpbmstd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZTogNXB4ICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi10b2dnbGUtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWFscGhhOiAuNCAhZGVmYXVsdDtcblxuJHRvcGJhci1kcm9wZG93bi1sYWJlbC1jb2xvcjogJG1vbnNvb24gIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxhYmVsLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWJnOiAkb2lsICFkZWZhdWx0O1xuXG4vLyBUb3AgbWVudSBpY29uIHN0eWxlc1xuJHRvcGJhci1tZW51LWxpbmstdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtbGluay1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcbiR0b3BiYXItbWVudS1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtbGluay1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1tZW51LWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItbWVudS1saW5rLWNvbG9yLXRvZ2dsZWQ6ICRqdW1ibyAhZGVmYXVsdDtcbiR0b3BiYXItbWVudS1pY29uLWNvbG9yLXRvZ2dsZWQ6ICRqdW1ibyAhZGVmYXVsdDtcbiR0b3BiYXItbWVudS1pY29uLXBvc2l0aW9uOiAkb3Bwb3NpdGUtZGlyZWN0aW9uICFkZWZhdWx0OyAvLyBDaGFuZ2UgdG8gJGRlZmF1bHQtZmxvYXQgZm9yIGEgbGVmdCBtZW51IGljb25cblxuLy8gVHJhbnNpdGlvbnMgYW5kIGJyZWFrcG9pbnQgc3R5bGVzXG4kdG9wYmFyLXRyYW5zaXRpb24tc3BlZWQ6IDMwMG1zICFkZWZhdWx0O1xuLy8gVXNpbmcgcmVtLWNhbGMgZm9yIHRoZSBiZWxvdyBicmVha3BvaW50IGNhdXNlcyBpc3N1ZXMgd2l0aCB0b3AgYmFyXG4kdG9wYmFyLWJyZWFrcG9pbnQ6ICN7bG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9ICFkZWZhdWx0OyAvLyBDaGFuZ2UgdG8gOTk5OXB4IGZvciBhbHdheXMgbW9iaWxlIGxheW91dFxuJHRvcGJhci1tZWRpYS1xdWVyeTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHRvcGJhci1icmVha3BvaW50KX0pXCIgIWRlZmF1bHQ7XG5cbi8vIFRvcC1iYXIgaW5wdXQgc3R5bGVzXG4kdG9wYmFyLWlucHV0LWhlaWdodDogcmVtLWNhbGMoMjgpICFkZWZhdWx0O1xuXG4vLyBEaXZpZGVyIFN0eWxlc1xuJHRvcGJhci1kaXZpZGVyLWJvcmRlci1ib3R0b206IHNvbGlkIDFweCBzY2FsZS1jb2xvcigkdG9wYmFyLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAxMyUpICFkZWZhdWx0O1xuJHRvcGJhci1kaXZpZGVyLWJvcmRlci10b3A6IHNvbGlkIDFweCBzY2FsZS1jb2xvcigkdG9wYmFyLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtNTAlKSAhZGVmYXVsdDtcblxuLy8gU3RpY2t5IENsYXNzXG4kdG9wYmFyLXN0aWNreS1jbGFzczogXCIuc3RpY2t5XCIgIWRlZmF1bHQ7XG4kdG9wYmFyLWFycm93czogdHJ1ZSAhZGVmYXVsdDsgLy9TZXQgZmFsc2UgdG8gcmVtb3ZlIHRoZSB0cmlhbmdsZSBpY29uIGZyb20gdGhlIG1lbnUgaXRlbVxuJHRvcGJhci1kcm9wZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7IC8vU2V0IGZhbHNlIHRvIHJlbW92ZSB0aGUgXFwwMGJiID4+IHRleHQgZnJvbSBkcm9wZG93biBzdWJuYXZpZ2F0aW9uIGxpXG5cbi8vIEFjY2Vzc2liaWxpdHkgbWl4aW5zIGZvciBoaWRpbmcgYW5kIHNob3dpbmcgdGhlIG1lbnUgZHJvcGRvd24gaXRlbXNcbkBtaXhpbiB0b3BiYXItaGlkZS1kcm9wZG93biB7XG4gIC8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuIGJ5IGRlZmF1bHQsIGJ1dCB2aXNpYmxlIHdoZW4gZm9jdXNlZC5cbiAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUoKTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBtaXhpbiB0b3BiYXItc2hvdy1kcm9wZG93biB7XG4gIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZigpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IC8vIFJlc2V0IHRoZSBwb3NpdGlvbiBmcm9tIHN0YXRpYyB0byBhYnNvbHV0ZVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwidG9wLWJhclwiKSB7XG5cbiAgQGlmICRpbmNsdWRlLWh0bWwtdG9wLWJhci1jbGFzc2VzIHtcblxuICAgIC8vIFVzZWQgdG8gcHJvdmlkZSBtZWRpYSBxdWVyeSB2YWx1ZXMgZm9yIGphdmFzY3JpcHQgY29tcG9uZW50cy5cbiAgICAvLyBUaGlzIGNsYXNzIGlzIGdlbmVyYXRlZCBkZXNwaXRlIHRoZSB2YWx1ZSBvZiAkaW5jbHVkZS1odG1sLXRvcC1iYXItY2xhc3Nlc1xuICAgIC8vIHRvIGVuc3VyZSB3aWR0aCBjYWxjdWxhdGlvbnMgd29yayBjb3JyZWN0bHkuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXRvcGJhciB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCR0b3BiYXItbWVkaWEtcXVlcnkpICsgXCIvXCI7XG4gICAgICB3aWR0aDogJHRvcGJhci1icmVha3BvaW50O1xuICAgIH1cblxuICAgIC8qIFdyYXBwZWQgYXJvdW5kIC50b3AtYmFyIHRvIGNvbnRhaW4gdG8gZ3JpZCB3aWR0aCAqL1xuICAgIC5jb250YWluLXRvLWdyaWQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWJnO1xuXG4gICAgICAudG9wLWJhciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICR0b3BiYXItbWFyZ2luLWJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXcmFwcGVkIGFyb3VuZCAudG9wLWJhciB0byBtYWtlIGl0IHN0aWNrIHRvIHRoZSB0b3BcbiAgICAuZml4ZWQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiA5OTtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuXG4gICAgICAmLmV4cGFuZGVkOm5vdCgudG9wLWJhcikge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC50aXRsZS1hcmVhIHtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgei1pbmRleDogOTk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFbnN1cmUgeW91IGNhbiBzY3JvbGwgdGhlIG1lbnUgb24gc21hbGwgc2NyZWVuc1xuICAgICAgICAudG9wLWJhci1zZWN0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICB6LWluZGV4OiA5ODtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItYmc7XG4gICAgICBoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHRvcGJhci1tYXJnaW4tYm90dG9tO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLy8gVG9wYmFyIEdsb2JhbCBsaXN0IFN0eWxlc1xuICAgICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAucm93IHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgfVxuXG4gICAgICBmb3JtLFxuICAgICAgaW5wdXQsIFxuICAgICAgc2VsZWN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgaW5wdXQsIFxuICAgICAgc2VsZWN0IHtcbiAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWJ1dHRvbi1mb250LXNpemU7XG4gICAgICAgIGhlaWdodDogJHRvcGJhci1pbnB1dC1oZWlnaHQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAuMzVyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAuMzVyZW07XG4gICAgICB9XG5cbiAgICAgIC5idXR0b24sIGJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1idXR0b24tZm9udC1zaXplO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjM1cmVtICsgcmVtLWNhbGMoMSk7XG4gICAgICAgIHBhZGRpbmctdG9wOiAuMzVyZW0gKyByZW0tY2FsYygxKTtcbiAgICAgICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAvLyB0b3A6IC0xcHg7XG5cbiAgICAgICAgLy8gQ29ycmVjdHMgYSBzbGlnaHQgbWlzYWxpZ25tZW50IHdoZW4gcHV0IG5leHQgdG8gYW4gaW5wdXQgZmllbGRcbiAgICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFRpdGxlIEFyZWFcbiAgICAgIC50aXRsZS1hcmVhIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG5cbiAgICAgIC5uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAkcmVtLWJhc2U7XG4gICAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBoMSwgaDIsIGgzLCBoNCwgcCwgc3BhbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci10aXRsZS13ZWlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gTWVudSB0b2dnbGUgYnV0dG9uIG9uIHNtYWxsIGRldmljZXNcbiAgICAgIC50b2dnbGUtdG9wYmFyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAjeyR0b3BiYXItbWVudS1pY29uLXBvc2l0aW9ufTogMDtcbiAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3I7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLW1lbnUtbGluay1mb250LXNpemU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItbWVudS1saW5rLXdlaWdodDtcbiAgICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHRvcGJhci1tZW51LWxpbmstdHJhbnNmb3JtO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWRkaW5nIHRoZSBjbGFzcyBcIm1lbnUtaWNvblwiIHdpbGwgYWRkIHRoZSAzLWxpbmUgaWNvbiBwZW9wbGUgbG92ZSBhbmQgYWRvcmUuXG4gICAgICAgICYubWVudS1pY29uIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTZweDtcbiAgICAgICAgICB0b3A6IDUwJTtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGFtYnVyZ2VyKDE2cHgsIGZhbHNlLCAwLCAxcHgsIDZweCwgJHRvcGJhci1tZW51LWljb24tY29sb3IsIFwiXCIsIGZhbHNlKTtcblxuICAgICAgICAgICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgICAgICAgICAgICB0ZXh0LWluZGVudDogLTU4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb2xvcjogJHRvcGJhci1tZW51LWxpbmstY29sb3I7XG4gICAgICAgICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmcrcmVtLWNhbGMoMjUpIDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIENoYW5nZSB0aGluZ3MgdXAgd2hlbiB0aGUgdG9wLWJhciBpcyBleHBhbmRlZFxuICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgLnRpdGxlLWFyZWEge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItYmc7XG4gICAgICAgIH1cblxuICAgICAgICAudG9nZ2xlLXRvcGJhciB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHRvcGJhci1tZW51LWxpbmstY29sb3ItdG9nZ2xlZDtcblxuICAgICAgICAgICAgc3Bhbjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAvLyBTaGgsIGRvbid0IHRlbGwsIGJ1dCBib3gtc2hhZG93cyBjcmVhdGUgdGhlIG1lbnUgaWNvbiA6KVxuICAgICAgICAgICAgICAvLyBDaGFuZ2UgdGhlIGNvbG9yIG9mIHRoZSBiYXJzIHdoZW4gdGhlIG1lbnUgaXMgZXhwYW5kZWQsIHVzaW5nIGdpdmVuIHRoaWNrbmVzcyBmcm9tIGhhbWJ1cmdlcigpIGFib3ZlXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkdG9wYmFyLW1lbnUtaWNvbi1jb2xvci10b2dnbGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAwIDdweCAwIDFweCAkdG9wYmFyLW1lbnUtaWNvbi1jb2xvci10b2dnbGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAwIDE0cHggMCAxcHggJHRvcGJhci1tZW51LWljb24tY29sb3ItdG9nZ2xlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaXhlcyBhbiBpc3N1ZSB3aXRoIERlc2t0b3AgYW5kIE1vYmlsZSBTYWZhcmkgd2hlcmUgZGVlcGx5LW5lc3RlZCBtZW51cyBkb24ndCBhcHBlYXJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzowKSB7XG4gICAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB7XG4gICAgICAgICAgICAuaGFzLWRyb3Bkb3duLm1vdmVkID4gLmRyb3Bkb3duLFxuICAgICAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgY2xpcDogaW5pdGlhbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gVGhpcyB3YXMgbmVlZGVkIGFzIHBhcmVudCB1bCdzIGhhZCBwYWRkaW5nLCBhbmQgdGhlIGNsaXA6IHdhcyBhbGxvd2luZyBjb250ZW50IHRvIHBlYWsgdGhyb3VnaFxuICAgICAgICAgICAgLmhhcy1kcm9wZG93bjpub3QoLm1vdmVkKSA+IHVsIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSaWdodCBhbmQgTGVmdCBOYXZpZ2F0aW9uIHRoYXQgc3RhY2tlZCBieSBkZWZhdWx0XG4gICAgLnRvcC1iYXItc2VjdGlvbiB7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24oJGRlZmF1bHQtZmxvYXQsICR0b3BiYXItdHJhbnNpdGlvbi1zcGVlZCk7XG5cbiAgICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJlbS1iYXNlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5kaXZpZGVyLFxuICAgICAgW3JvbGU9XCJzZXBhcmF0b3JcIl0ge1xuICAgICAgICBib3JkZXItdG9wOiAkdG9wYmFyLWRpdmlkZXItYm9yZGVyLXRvcDtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgdWwgbGkge1xuICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1kcm9wZG93bi1iZztcblxuICAgICAgICA+IGEge1xuICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3I7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICR0b3BiYXItbGluay1mb250LWZhbWlseTtcbiAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItbGluay1mb250LXNpemU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItbGluay13ZWlnaHQ7XG4gICAgICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgcGFkZGluZzogMTJweCAwIDEycHggJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICR0b3BiYXItbGluay10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICYuYnV0dG9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1saW5rLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHByaW1hcnktY29sb3IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuYnV0dG9uLnNlY29uZGFyeSB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHNlY29uZGFyeS1jb2xvcik7IH1cbiAgICAgICAgICAmLmJ1dHRvbi5zdWNjZXNzIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc3VjY2Vzcy1jb2xvcik7IH1cbiAgICAgICAgICAmLmJ1dHRvbi5hbGVydCB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGFsZXJ0LWNvbG9yKTsgfVxuICAgICAgICAgICYuYnV0dG9uLndhcm5pbmcgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiR3YXJuaW5nLWNvbG9yKTsgfVxuICAgICAgICAgICYuYnV0dG9uLmluZm8geyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRpbmZvLWNvbG9yKTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiBidXR0b24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1saW5rLWZvbnQtc2l6ZTtcbiAgICAgICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHByaW1hcnktY29sb3IpO1xuXG4gICAgICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzZWNvbmRhcnktY29sb3IpOyB9XG4gICAgICAgICAgJi5zdWNjZXNzIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc3VjY2Vzcy1jb2xvcik7IH1cbiAgICAgICAgICAmLmFsZXJ0IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokYWxlcnQtY29sb3IpOyB9XG4gICAgICAgICAgJi53YXJuaW5nIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokd2FybmluZy1jb2xvcik7IH1cbiAgICAgICAgICAmLmluZm8geyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRpbmZvLWNvbG9yKTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXBwbHkgdGhlIGhvdmVyIGxpbmsgY29sb3Igd2hlbiBpdCBoYXMgdGhhdCBjbGFzc1xuICAgICAgICAmOmhvdmVyOm5vdCguaGFzLWZvcm0pID4gYSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1saW5rLWJnLWNvbG9yLWhvdmVyO1xuICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXI7XG5cbiAgICAgICAgICBAaWYgKCR0b3BiYXItbGluay1iZy1ob3Zlcikge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWhvdmVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFwcGx5IHRoZSBhY3RpdmUgbGluayBjb2xvciB3aGVuIGl0IGhhcyB0aGF0IGNsYXNzXG4gICAgICAgICYuYWN0aXZlID4gYSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWFjdGl2ZTtcbiAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZTtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWFjdGl2ZS1ob3ZlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlLWhvdmVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBBZGQgc29tZSBleHRyYSBwYWRkaW5nIGZvciBsaXN0IGl0ZW1zIGNvbnRhaW5zIGJ1dHRvbnNcbiAgICAgIC5oYXMtZm9ybSB7XG4gICAgICAgIHBhZGRpbmc6ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgfVxuXG4gICAgICAvLyBTdHlsaW5nIGZvciBsaXN0IGl0ZW1zIHRoYXQgaGF2ZSBhIGRyb3Bkb3duIHdpdGhpbiB0aGVtLlxuICAgICAgLmhhcy1kcm9wZG93biB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICA+IGEge1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGlmICgkdG9wYmFyLWFycm93cykge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZSwgcmdiYSgkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1jb2xvciwgJHRvcGJhci1kcm9wZG93bi10b2dnbGUtYWxwaGEpLCAkZGVmYXVsdC1mbG9hdCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0oJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZSAvIDIpIC0gMjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm1vdmVkIHtcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuXG4gICAgICAgICAgPiAuZHJvcGRvd24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLXNob3ctZHJvcGRvd24oKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgID4gYTphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBTdHlsaW5nIGVsZW1lbnRzIGluc2lkZSBvZiBkcm9wZG93bnNcbiAgICAgIC5kcm9wZG93biB7XG4gICAgICAgIEBpbmNsdWRlIHRvcGJhci1oaWRlLWRyb3Bkb3duKCk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDEwMCU7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItZHJvcGRvd24tbGluay13ZWlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICAmLnBhcmVudC1saW5rIHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItbGluay13ZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi50aXRsZSBoNSxcbiAgICAgICAgICAmLnBhcmVudC1saW5rIHtcbiAgICAgICAgICAgIC8vIEJhY2sgQnV0dG9uXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1iYWNrLWxpbmstc2l6ZTtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yO1xuICAgICAgICAgICAgICAvLyBsaW5lLWhlaWdodDogKCR0b3BiYXItaGVpZ2h0IC8gMik7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDpub25lOyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5oYXMtZm9ybSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmJ1dHRvbixcbiAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBjb2xvcjogJHRvcGJhci1kcm9wZG93bi1sYWJlbC1jb2xvcjtcbiAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItZHJvcGRvd24tbGFiZWwtZm9udC1zaXplO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgcGFkZGluZzogOHB4ICR0b3BiYXItbGluay1wYWRkaW5nIDJweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHRvcGJhci1kcm9wZG93bi1sYWJlbC10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5qcy1nZW5lcmF0ZWQgeyBkaXNwbGF5OiBibG9jazsgfVxuXG5cbiAgICAvLyBUb3AgQmFyIHN0eWxlcyBpbnRlbmRlZCBmb3Igc2NyZWVuIHNpemVzIGFib3ZlIHRoZSBicmVha3BvaW50LlxuICAgIEBtZWRpYSAjeyR0b3BiYXItbWVkaWEtcXVlcnl9IHtcbiAgICAgIC50b3AtYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItYmc7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgIC50b2dnbGUtdG9wYmFyIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgIC50aXRsZS1hcmVhIHsgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0OyB9XG4gICAgICAgIC5uYW1lIGgxIGEsXG4gICAgICAgIC5uYW1lIGgyIGEsXG4gICAgICAgIC5uYW1lIGgzIGEsXG4gICAgICAgIC5uYW1lIGg0IGEsXG4gICAgICAgIC5uYW1lIGg1IGEsXG4gICAgICAgIC5uYW1lIGg2IGEgeyB3aWR0aDogYXV0bzsgfVxuXG4gICAgICAgIGlucHV0LFxuICAgICAgICBzZWxlY3QsXG4gICAgICAgIC5idXR0b24sXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWlucHV0LWhlaWdodDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAoKCR0b3BiYXItaGVpZ2h0IC0gJHRvcGJhci1pbnB1dC1oZWlnaHQpIC8gMik7XG4gICAgICAgIH1cblxuICAgICAgICAuaGFzLWZvcm0gPiAuYnV0dG9uLFxuICAgICAgICAuaGFzLWZvcm0gPiBidXR0b24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIGhlaWdodDogJHRvcGJhci1pbnB1dC1oZWlnaHQ7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBcbiAgICAgICAgICB0b3A6ICgoJHRvcGJhci1oZWlnaHQgLSAkdG9wYmFyLWlucHV0LWhlaWdodCkgLyAyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItYmc7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbnRhaW4tdG8tZ3JpZCAudG9wLWJhciB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdG9wYmFyLW1hcmdpbi1ib3R0b207XG4gICAgICAgIG1heC13aWR0aDogJHJvdy13aWR0aDtcbiAgICAgIH1cblxuICAgICAgLnRvcC1iYXItc2VjdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKG5vbmUsMCwwKTtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDAgIWltcG9ydGFudDtcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgICAgICAgLmpzLWdlbmVyYXRlZCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgJi5ob3ZlciB7XG4gICAgICAgICAgICA+IGE6bm90KC5idXR0b24pIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1saW5rLWJnLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICBAaWYgKCR0b3BiYXItbGluay1iZy1ob3Zlcikge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1ob3ZlcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bm90KC5oYXMtZm9ybSkge1xuICAgICAgICAgICAgYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmc7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1saW5rLWJnLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgIEBpZiAoJHRvcGJhci1saW5rLWJnLWhvdmVyKSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctaG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5hY3RpdmU6bm90KC5oYXMtZm9ybSkge1xuICAgICAgICAgICAgYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctYWN0aXZlO1xuICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctYWN0aXZlLWhvdmVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlLWhvdmVyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhhcy1kcm9wZG93biB7XG4gICAgICAgICAgQGlmICR0b3BiYXItYXJyb3dzIHtcbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmcgKyAkdG9wYmFyLWxpbmstZHJvcGRvd24tcGFkZGluZyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZSwgcmdiYSgkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1jb2xvciwgJHRvcGJhci1kcm9wZG93bi10b2dnbGUtYWxwaGEpLCB0b3ApO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0oJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZSAvIDIpO1xuICAgICAgICAgICAgICAgIHRvcDogKCR0b3BiYXItaGVpZ2h0IC8gMik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLm1vdmVkIHsgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgPiAuZHJvcGRvd24ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItaGlkZS1kcm9wZG93bigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYuaG92ZXIsICYubm90LWNsaWNrOmhvdmVyIHtcbiAgICAgICAgICAgID4gLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLXNob3ctZHJvcGRvd24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICA+IGE6Zm9jdXMgKyAuZHJvcGRvd24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLXNob3ctZHJvcGRvd24oKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZHJvcGRvd24gbGkuaGFzLWRyb3Bkb3duIHtcbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgIEBpZiAoJHRvcGJhci1kcm9wZG93bi1hcnJvd3MpIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwwMGJiXCI7XG4gICAgICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKDMpO1xuXG4gICAgICAgICAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItZHJvcGRvd24tbGluay1iZztcbiAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvcjtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm5vdCguaGFzLWZvcm0pOm5vdCguYWN0aXZlKSB7XG4gICAgICAgICAgICAgID4gYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItZHJvcGRvd24tbGluay1iZztcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJjpob3ZlciA+IGE6bm90KC5idXR0b24pIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgICAgICBAaWYgKCR0b3BiYXItZHJvcGRvd24tbGluay1iZy1ob3Zlcikge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1kcm9wZG93bi1saW5rLWJnLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItZHJvcGRvd24tbGFiZWwtYmc7XG4gICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNlY29uZCBMZXZlbCBEcm9wZG93bnNcbiAgICAgICAgICAgIC5kcm9wZG93biB7XG4gICAgICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAxMDAlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiB1bCA+IC5kaXZpZGVyLFxuICAgICAgICA+IHVsID4gW3JvbGU9XCJzZXBhcmF0b3JcIl0ge1xuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWRpdmlkZXItYm9yZGVyLWJvdHRvbTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oYXMtZm9ybSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnO1xuICAgICAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBvc2l0aW9uIG92ZXJyaWRlcyBmb3IgdWwucmlnaHQgYW5kIHVsLmxlZnRcbiAgICAgICAgLiN7JG9wcG9zaXRlLWRpcmVjdGlvbn0ge1xuICAgICAgICAgIGxpIC5kcm9wZG93biB7XG4gICAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG5cbiAgICAgICAgICAgIGxpIC5kcm9wZG93biB7ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDEwMCU7IH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGRlZmF1bHQtZmxvYXR9IHtcbiAgICAgICAgICBsaSAuZHJvcGRvd24ge1xuICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bztcbiAgICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuXG4gICAgICAgICAgICBsaSAuZHJvcGRvd24geyAjeyRkZWZhdWx0LWZsb2F0fTogMTAwJTsgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBEZWdyYWRlIGdyYWNlZnVsbHkgd2hlbiBKYXZhc2NyaXB0IGlzIGRpc2FibGVkLiBEaXNwbGF5cyBkcm9wZG93biBhbmQgY2hhbmdlc1xuICAgICAgLy8gYmFja2dyb3VuZCAmIHRleHQgY29sb3Igb24gaG92ZXIuXG4gICAgICAubm8tanMgLnRvcC1iYXItc2VjdGlvbiB7XG4gICAgICAgIHVsIGxpIHtcbiAgICAgICAgICAvLyBBcHBseSB0aGUgaG92ZXIgbGluayBjb2xvciB3aGVuIGl0IGhhcyB0aGF0IGNsYXNzXG4gICAgICAgICAgJjpob3ZlciA+IGEge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1saW5rLWJnLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgQGlmICgkdG9wYmFyLWxpbmstYmctaG92ZXIpIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWhvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1ob3ZlcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBBcHBseSB0aGUgYWN0aXZlIGxpbmsgY29sb3Igd2hlbiBpdCBoYXMgdGhhdCBjbGFzc1xuICAgICAgICAgICY6YWN0aXZlID4gYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctYWN0aXZlO1xuICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhhcy1kcm9wZG93biB7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICA+IC5kcm9wZG93biB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1zaG93LWRyb3Bkb3duKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPiBhOmZvY3VzICsgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1zaG93LWRyb3Bkb3duKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHBhZGRpbmcuXG4kc2lkZS1uYXYtcGFkZGluZzogcmVtLWNhbGMoMTQgMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGxpc3Qgc3R5bGVzLlxuJHNpZGUtbmF2LWxpc3QtdHlwZTogbm9uZSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1saXN0LXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuJHNpZGUtbmF2LWxpc3QtbWFyZ2luOiByZW0tY2FsYygwIDAgNyAwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGluayBzdHlsZXMuXG4kc2lkZS1uYXYtbGluay1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtbGluay1jb2xvci1hY3RpdmU6IHNjYWxlLWNvbG9yKCRzaWRlLW5hdi1saW5rLWNvbG9yLCAkbGlnaHRuZXNzOiAzMCUpICFkZWZhdWx0O1xuJHNpZGUtbmF2LWxpbmstY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRzaWRlLW5hdi1saW5rLWNvbG9yLCAkbGlnaHRuZXNzOiAzMCUpICFkZWZhdWx0O1xuJHNpZGUtbmF2LWxpbmstYmctaG92ZXI6IGhzbGEoMCwgMCwgMCwgLjAyNSkgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtbGluay1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtbGluay1wYWRkaW5nOiByZW0tY2FsYyg3IDE0KSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRzaWRlLW5hdi1mb250LXdlaWdodC1hY3RpdmU6ICRzaWRlLW5hdi1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRzaWRlLW5hdi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtZm9udC1mYW1pbHktYWN0aXZlOiAkc2lkZS1uYXYtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRpbmcgc3R5bGVzLlxuJHNpZGUtbmF2LWhlYWRpbmctY29sb3I6ICRzaWRlLW5hdi1saW5rLWNvbG9yICFkZWZhdWx0O1xuJHNpZGUtbmF2LWhlYWRpbmctZm9udC1zaXplOiAkc2lkZS1uYXYtZm9udC1zaXplICFkZWZhdWx0O1xuJHNpZGUtbmF2LWhlYWRpbmctZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzXG4kc2lkZS1uYXYtZGl2aWRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kc2lkZS1uYXYtZGl2aWRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtZGl2aWRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMTAlKSAhZGVmYXVsdDtcblxuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgc2lkZS1uYXZcbi8vXG4vLyAkZGl2aWRlci1jb2xvciAtIEJvcmRlciBjb2xvciBvZiBkaXZpZGVyLiBEZWZhdWx0OiAkc2lkZS1uYXYtZGl2aWRlci1jb2xvci5cbi8vICRmb250LXNpemUgLSBGb250IHNpemUgb2YgbmF2IGl0ZW1zLiBEZWZhdWx0OiAkc2lkZS1uYXYtZm9udC1zaXplLlxuLy8gJGxpbmstY29sb3IgLSBDb2xvciBvZiBuYXZpZ2F0aW9uIGxpbmtzLiBEZWZhdWx0OiAkc2lkZS1uYXYtbGluay1jb2xvci5cbi8vICRsaW5rLWNvbG9yLWhvdmVyIC0gQ29sb3Igb2YgbmF2aWdhdGlvbiBsaW5rcyB3aGVuIGhvdmVyZWQuIERlZmF1bHQ6ICRzaWRlLW5hdi1saW5rLWNvbG9yLWhvdmVyLlxuQG1peGluIHNpZGUtbmF2KFxuICAkZGl2aWRlci1jb2xvcjokc2lkZS1uYXYtZGl2aWRlci1jb2xvcixcbiAgJGZvbnQtc2l6ZTokc2lkZS1uYXYtZm9udC1zaXplLFxuICAkbGluay1jb2xvcjokc2lkZS1uYXYtbGluay1jb2xvcixcbiAgJGxpbmstY29sb3ItYWN0aXZlOiRzaWRlLW5hdi1saW5rLWNvbG9yLWFjdGl2ZSxcbiAgJGxpbmstY29sb3ItaG92ZXI6JHNpZGUtbmF2LWxpbmstY29sb3ItaG92ZXIsXG4gICRsaW5rLWJnLWhvdmVyOiRzaWRlLW5hdi1saW5rLWJnLWhvdmVyKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogJHNpZGUtbmF2LWZvbnQtZmFtaWx5O1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkc2lkZS1uYXYtbGlzdC1wb3NpdGlvbjtcbiAgbGlzdC1zdHlsZS10eXBlOiAkc2lkZS1uYXYtbGlzdC10eXBlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6ICRzaWRlLW5hdi1wYWRkaW5nO1xuXG4gIGxpIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRzaWRlLW5hdi1mb250LXdlaWdodDtcbiAgICBtYXJnaW46ICRzaWRlLW5hdi1saXN0LW1hcmdpbjtcblxuICAgIGE6bm90KC5idXR0b24pIHtcbiAgICAgIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAkc2lkZS1uYXYtbGluay1tYXJnaW47XG4gICAgICBwYWRkaW5nOiAkc2lkZS1uYXYtbGluay1wYWRkaW5nO1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbGluay1iZy1ob3ZlcjtcbiAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yLWhvdmVyO1xuICAgICAgfVxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGxpbmstY29sb3ItYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlID4gYTpmaXJzdC1jaGlsZDpub3QoLmJ1dHRvbikge1xuICAgICAgY29sb3I6ICRzaWRlLW5hdi1saW5rLWNvbG9yLWFjdGl2ZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkc2lkZS1uYXYtZm9udC1mYW1pbHktYWN0aXZlO1xuICAgICAgZm9udC13ZWlnaHQ6ICRzaWRlLW5hdi1mb250LXdlaWdodC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5kaXZpZGVyIHtcbiAgICAgIGJvcmRlci10b3A6ICRzaWRlLW5hdi1kaXZpZGVyLXNpemUgJHNpZGUtbmF2LWRpdmlkZXItc3R5bGU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRkaXZpZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuaGVhZGluZyB7XG4gICAgICBjb2xvcjogJHNpZGUtbmF2LWhlYWRpbmctY29sb3I7XG4gICAgICBmb250OiB7XG4gICAgICAgIHNpemU6ICRzaWRlLW5hdi1oZWFkaW5nLWZvbnQtc2l6ZTtcbiAgICAgICAgd2VpZ2h0OiAkc2lkZS1uYXYtaGVhZGluZy1mb250LXdlaWdodDtcbiAgICAgIH1cbiAgICAgIHRleHQtdHJhbnNmb3JtOiAkc2lkZS1uYXYtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInNpZGUtbmF2XCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXMge1xuICAgIC5zaWRlLW5hdiB7QGluY2x1ZGUgc2lkZS1uYXY7fVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQG5hbWUgX3N1Yi1uYXYuc2Nzc1xuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3Ncbi8vXG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIG1hcmdpbiBhbmQgcGFkZGluZ1xuJHN1Yi1uYXYtbGlzdC1tYXJnaW46IHJlbS1jYWxjKC00IDAgMTgpICFkZWZhdWx0O1xuJHN1Yi1uYXYtbGlzdC1wYWRkaW5nLXRvcDogcmVtLWNhbGMoNCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGRlZmluaXRpb25cbiRzdWItbmF2LWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRzdWItbmF2LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHN1Yi1uYXYtZm9udC1jb2xvcjogJGFsdW1pbnVtICFkZWZhdWx0O1xuJHN1Yi1uYXYtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kc3ViLW5hdi10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kc3ViLW5hdi1wYWRkaW5nOiByZW0tY2FsYygzIDE2KSAhZGVmYXVsdDtcbiRzdWItbmF2LWJvcmRlci1yYWRpdXM6IDNweCAhZGVmYXVsdDtcbiRzdWItbmF2LWZvbnQtY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRzdWItbmF2LWZvbnQtY29sb3IsICRsaWdodG5lc3M6IC0yNSUpICFkZWZhdWx0O1xuXG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBhY3RpdmUgaXRlbSBzdHlsZXNcblxuJHN1Yi1uYXYtYWN0aXZlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHN1Yi1uYXYtYWN0aXZlLWJnOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRzdWItbmF2LWFjdGl2ZS1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHN1Yi1uYXYtYWN0aXZlLWJnLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcbiRzdWItbmF2LWFjdGl2ZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHN1Yi1uYXYtYWN0aXZlLXBhZGRpbmc6ICRzdWItbmF2LXBhZGRpbmcgIWRlZmF1bHQ7XG4kc3ViLW5hdi1hY3RpdmUtY3Vyc29yOiBkZWZhdWx0ICFkZWZhdWx0O1xuXG4kc3ViLW5hdi1pdGVtLWRpdmlkZXI6IFwiXCIgIWRlZmF1bHQ7XG4kc3ViLW5hdi1pdGVtLWRpdmlkZXItbWFyZ2luOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG5cbi8vIENyZWF0ZSBhIHN1Yi1uYXYgaXRlbVxuLy9cbi8vICRmb250LWNvbG9yIC0gRm9udCBjb2xvci4gRGVmYXVsdDogJHN1Yi1uYXYtZm9udC1jb2xvci5cbi8vICRmb250LXNpemUgLSBGb250IHNpemUuIERlZmF1bHQ6ICRzdWItbmF2LWZvbnQtc2l6ZS5cbi8vICRhY3RpdmUtYmcgLSBCYWNrZ3JvdW5kIG9mIGFjdGl2ZSBuYXYgaXRlbS4gRGVmYXVsdDogJHN1Yi1uYXYtYWN0aXZlLWJnLlxuLy8gJGFjdGl2ZS1iZy1ob3ZlciAtIEJhY2tncm91bmQgb2YgYWN0aXZlIG5hdiBpdGVtLCB3aGVuIGhvdmVyZWQuIERlZmF1bHQ6ICRzdWItbmF2LWFjdGl2ZS1iZy1ob3Zlci5cbkBtaXhpbiBzdWItbmF2KFxuICAkZm9udC1jb2xvcjogJHN1Yi1uYXYtZm9udC1jb2xvcixcbiAgJGZvbnQtc2l6ZTogJHN1Yi1uYXYtZm9udC1zaXplLFxuICAkYWN0aXZlLWJnOiAkc3ViLW5hdi1hY3RpdmUtYmcsXG4gICRhY3RpdmUtYmctaG92ZXI6ICRzdWItbmF2LWFjdGl2ZS1iZy1ob3Zlcikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAkc3ViLW5hdi1saXN0LW1hcmdpbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy10b3A6ICRzdWItbmF2LWxpc3QtcGFkZGluZy10b3A7XG4gIHdpZHRoOiBhdXRvO1xuXG4gIGR0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgZHQsXG4gIGRkLFxuICBsaSB7XG4gICAgY29sb3I6ICRmb250LWNvbG9yO1xuICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICBmb250LWZhbWlseTogJHN1Yi1uYXYtZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkc3ViLW5hdi1mb250LXdlaWdodDtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IHJlbS1jYWxjKDE2KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJHN1Yi1uYXYtZm9udC1jb2xvcjtcbiAgICAgIHBhZGRpbmc6ICRzdWItbmF2LXBhZGRpbmc7XG4gICAgICB0ZXh0LWRlY29yYXRpb246ICRzdWItbmF2LXRleHQtZGVjb3JhdGlvbjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkc3ViLW5hdi1mb250LWNvbG9yLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlIGEge1xuICAgICAgQGluY2x1ZGUgcmFkaXVzKCRzdWItbmF2LWJvcmRlci1yYWRpdXMpO1xuICAgICAgYmFja2dyb3VuZDogJGFjdGl2ZS1iZztcbiAgICAgIGNvbG9yOiAkc3ViLW5hdi1hY3RpdmUtY29sb3I7XG4gICAgICBjdXJzb3I6ICRzdWItbmF2LWFjdGl2ZS1jdXJzb3I7XG4gICAgICBmb250LXdlaWdodDogJHN1Yi1uYXYtYWN0aXZlLWZvbnQtd2VpZ2h0O1xuICAgICAgcGFkZGluZzogJHN1Yi1uYXYtYWN0aXZlLXBhZGRpbmc7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLWJnLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkc3ViLW5hdi1pdGVtLWRpdmlkZXIgIT0gXCJcIiB7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCIjeyRzdWItbmF2LWl0ZW0tZGl2aWRlcn1cIjtcbiAgICAgICAgbWFyZ2luOiAwICRzdWItbmF2LWl0ZW0tZGl2aWRlci1tYXJnaW47XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwic3ViLW5hdlwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzIHtcbiAgICAuc3ViLW5hdiB7IEBpbmNsdWRlIHN1Yi1uYXY7IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEBuYW1lXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xuLy9cblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIENvbnRyb2xsaW5nIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyXG4kc3dpdGNoLWJnOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc3dpdGNoIGhlaWdodHMgZm9yIG91ciBkZWZhdWx0IGNsYXNzZXNcbiRzd2l0Y2gtaGVpZ2h0LXRueTogMS41cmVtICFkZWZhdWx0O1xuJHN3aXRjaC1oZWlnaHQtc21sOiAxLjc1cmVtICFkZWZhdWx0O1xuJHN3aXRjaC1oZWlnaHQtbWVkOiAycmVtICFkZWZhdWx0O1xuJHN3aXRjaC1oZWlnaHQtbHJnOiAyLjVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLWJvdHRvbS1tYXJnaW46IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBzd2l0Y2gtcGFkZGxlXG4kc3dpdGNoLXBhZGRsZS1iZzogJHdoaXRlICFkZWZhdWx0O1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZDogLjE1cyAhZGVmYXVsdDtcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZTogZWFzZS1vdXQgIWRlZmF1bHQ7XG4kc3dpdGNoLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgYmFzZSBzdHlsZXMgZm9yIG91ciBzd2l0Y2ggZWxlbWVudC5cbi8vXG4vLyAkdHJhbnNpdGlvbi1zcGVlZCAtIFRpbWUgaW4gbXMgZm9yIHN3aXRjaCB0byB0b2dnbGUuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQuXG4vLyAkdHJhbnNpdGlvbi1lYXNlIC0gRWFzaW5nIGZ1bmN0aW9uIHRvIHVzZSBmb3IgYW5pbWF0aW9uIChpLmUuIGVhc2Utb3V0KS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1lYXNlLlxuQG1peGluIHN3aXRjaC1iYXNlKFxuICAkdHJhbnNpdGlvbi1zcGVlZDokc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLXNwZWVkLFxuICAkdHJhbnNpdGlvbi1lYXNlOiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZSkge1xuXG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1ib3R0b20tbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgLy8gRGVmYXVsdCBsYWJlbCBzdHlsZXMgZm9yIHR5cGUgYW5kIHRyYW5zaXRpb25cbiAgbGFiZWwge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmc7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAoJHN3aXRjaC1oZWlnaHQtbWVkIC8gMik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgIHdpZHRoOiAkc3dpdGNoLWhlaWdodC1tZWQgKiAyOyBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZDtcblxuICAgIC8vIFRyYW5zaXRpb24gZm9yIHRoZSBzd2l0Y2ggbGFiZWwgdG8gZm9sbG93IHBhZGRsZVxuICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKGxlZnQsICR0cmFuc2l0aW9uLXNwZWVkLCAkdHJhbnNpdGlvbi1lYXNlKTtcbiAgfVxuXG4gIC8vIFNvIHRoYXQgd2UgZG9uJ3QgbmVlZCB0byByZWNyZWF0ZSB0aGUgZm9ybSB3aXRoIGFueSBKUywgd2UgdXNlIHRoZVxuICAvLyBleGlzdGluZyBjaGVja2JveCBvciByYWRpbyBidXR0b24sIGJ1dCB3ZSBjbGV2ZXJseSBwb3NpdGlvbiBhbmQgaGlkZSBpdC5cbiAgaW5wdXQge1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwYWRkaW5nOjA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogOXB4O1xuXG4gICAgJiArIGxhYmVsIHsgbWFyZ2luLWxlZnQ6IDA7IG1hcmdpbi1yaWdodDogMDsgfVxuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBmb3IgdGhlIHN3aXRjaCBpcyBjcmVhdGVkIGZyb20gYW4gYWZ0ZXIgcHN1ZWRvY2xhc3NcbiAgLy8gY29udGVudCBlbGVtZW50LiBUaGlzIGlzIHNpemVkIGFuZCBwb3NpdGlvbmVkLCBhbmQgcmVhY3RzIHRvXG4gIC8vIHRoZSBzdGF0ZSBvZiB0aGUgaW5wdXQuXG5cbiAgbGFiZWw6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJnO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodC1tZWQgLSAuNXJlbTtcbiAgICBsZWZ0OiAuMjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLjI1cmVtO1xuICAgIHdpZHRoOiAkc3dpdGNoLWhlaWdodC1tZWQgLSAuNXJlbTtcblxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbGVmdCAkdHJhbnNpdGlvbi1zcGVlZCAkdHJhbnNpdGlvbi1lYXNlO1xuICAgIC1tb3otdHJhbnNpdGlvbjogbGVmdCAkdHJhbnNpdGlvbi1zcGVlZCAkdHJhbnNpdGlvbi1lYXNlO1xuICAgIC1vLXRyYW5zaXRpb246IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0ICR0cmFuc2l0aW9uLXNwZWVkICR0cmFuc2l0aW9uLWVhc2U7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWFjdGl2ZS1jb2xvcjtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgbGVmdDogJHN3aXRjaC1oZWlnaHQtbWVkICsgLjI1cmVtO1xuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgc2l6ZSBzdHlsZXMgZm9yIHN3aXRjaGVzLlxuLy9cbi8vICRoZWlnaHQgLSBIZWlnaHQgKGluIHB4KSBvZiB0aGUgc3dpdGNoLiBEZWZhdWx0OiAkc3dpdGNoLWhlaWdodC1tZWQuXG4vLyAkZm9udC1zaXplIC0gRm9udCBzaXplIG9mIHRleHQgaW4gc3dpdGNoLiBEZWZhdWx0OiAkc3dpdGNoLWZvbnQtc2l6ZS1tZWQuXG4vLyAkbGluZS1oZWlnaHQgLSBMaW5lIGhlaWdodCBvZiBzd2l0Y2guIERlZmF1bHQ6IDIuM3JlbS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZSgkaGVpZ2h0OiAkc3dpdGNoLWhlaWdodC1tZWQpIHtcblxuICBsYWJlbCB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIHdpZHRoOiAkaGVpZ2h0ICogMjtcbiAgfVxuXG4gIGxhYmVsOmFmdGVyIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQgLSAuNXJlbTtcbiAgICB3aWR0aDogJGhlaWdodCAtIC41cmVtO1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBsZWZ0OiAkaGVpZ2h0ICsgLjI1cmVtO1xuICB9XG5cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGNvbG9yIGFuZCBvdGhlciBmYW5jaW5lc3MgdG8gdGhlIHN3aXRjaGVzLlxuLy9cbi8vICRwYWRkbGUtYmcgLSBCYWNrZ3JvdW5kIG9mIHN3aXRjaCBwYWRkbGUuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLWJnLlxuLy8gJGFjdGl2ZS1jb2xvciAtIEJhY2tncm91bmQgY29sb3Igb2YgcG9zaXRpdmUgc2lkZSBvZiBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtcG9zaXRpdmUtY29sb3IuXG4vLyAkbmVnYXRpdmUtY29sb3IgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIG5lZ2F0aXZlIHNpZGUgb2Ygc3dpdGNoLiBEZWZhdWx0OiAkc3dpdGNoLW5lZ2F0aXZlLWNvbG9yLlxuLy8gJHJhZGl1cyAtIFJhZGl1cyB0byBhcHBseSB0byBzd2l0Y2guIERlZmF1bHQ6IGZhbHNlLlxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBiYXNlIHN0eWxlcz8gRGVmYXVsdDogdHJ1ZS5cbkBtaXhpbiBzd2l0Y2gtc3R5bGUoXG4gICRwYWRkbGUtYmc6JHN3aXRjaC1wYWRkbGUtYmcsXG4gICRhY3RpdmUtY29sb3I6JHN3aXRjaC1hY3RpdmUtY29sb3IsXG4gICRyYWRpdXM6ZmFsc2UsXG4gICRiYXNlLXN0eWxlOnRydWUpIHtcblxuICBAaWYgJGJhc2Utc3R5bGUge1xuXG4gICAgbGFiZWwge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZDogJHN3aXRjaC1iZztcbiAgICB9XG5cbiAgICBsYWJlbDphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcGFkZGxlLWJnO1xuICAgIH1cblxuICAgIGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHRpbmcgdXAgdGhlIHJhZGl1cyBmb3Igc3dpdGNoZXNcbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7XG4gICAgbGFiZWwge1xuICAgICAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgICB9XG4gICAgbGFiZWw6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHJhZGl1cyB7XG4gICAgbGFiZWwge1xuICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICB9XG4gICAgbGFiZWw6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICB9XG4gIH1cblxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBxdWlja2x5IGNyZWF0ZSBzd2l0Y2hlcyB3aXRoIGEgc2luZ2xlIG1peGluXG4vL1xuLy8gJHRyYW5zaXRpb24tc3BlZWQgLSBUaW1lIGluIG1zIGZvciBzd2l0Y2ggdG8gdG9nZ2xlLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLXNwZWVkLlxuLy8gJHRyYW5zaXRpb24tZWFzZSAtIEVhc2luZyBmdW5jdGlvbiB0byB1c2UgZm9yIGFuaW1hdGlvbiAoaS5lLiBlYXNlLW91dCkuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZS5cbi8vICRoZWlnaHQgLSBIZWlnaHQgKGluIHB4KSBvZiB0aGUgc3dpdGNoLiBEZWZhdWx0OiAkc3dpdGNoLWhlaWdodC1tZWQuXG4vLyAkcGFkZGxlLWJnIC0gQmFja2dyb3VuZCBvZiBzd2l0Y2ggcGFkZGxlLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS1iZy5cbi8vICRhY3RpdmUtY29sb3IgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtYWN0aXZlLWNvbG9yLlxuLy8gJHJhZGl1cyAtIFJhZGl1cyB0byBhcHBseSB0byBzd2l0Y2guIERlZmF1bHQ6IGZhbHNlLlxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBiYXNlIHN0eWxlcz8gRGVmYXVsdDogdHJ1ZS5cbkBtaXhpbiBzd2l0Y2goXG4gICR0cmFuc2l0aW9uLXNwZWVkOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLXNwZWVkLFxuICAkdHJhbnNpdGlvbi1lYXNlOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2UsXG4gICRoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZCxcbiAgJHBhZGRsZS1iZzogJHN3aXRjaC1wYWRkbGUtYmcsXG4gICRhY3RpdmUtY29sb3I6ICRzd2l0Y2gtYWN0aXZlLWNvbG9yLFxuICAkcmFkaXVzOmZhbHNlLFxuICAkYmFzZS1zdHlsZTp0cnVlKSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWJhc2UoJHRyYW5zaXRpb24tc3BlZWQsICR0cmFuc2l0aW9uLWVhc2UpO1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKCRoZWlnaHQpO1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zdHlsZSgkcGFkZGxlLWJnLCAkYWN0aXZlLWNvbG9yLCAkcmFkaXVzLCAkYmFzZS1zdHlsZSk7XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJzd2l0Y2hcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXMge1xuICAgICAgLnN3aXRjaCB7XG4gICAgICAgIEBpbmNsdWRlIHN3aXRjaDtcblxuICAgICAgICAvLyBMYXJnZSByYWRpbyBzd2l0Y2hlc1xuICAgICAgICAmLmxhcmdlIHsgQGluY2x1ZGUgc3dpdGNoLXNpemUoJHN3aXRjaC1oZWlnaHQtbHJnKTsgfVxuXG4gICAgICAgIC8vIFNtYWxsIHJhZGlvIHN3aXRjaGVzXG4gICAgICAgICYuc21hbGwgeyBAaW5jbHVkZSBzd2l0Y2gtc2l6ZSgkc3dpdGNoLWhlaWdodC1zbWwpOyB9XG5cbiAgICAgICAgLy8gVGlueSByYWRpbyBzd2l0Y2hlc1xuICAgICAgICAmLnRpbnkgeyBAaW5jbHVkZSBzd2l0Y2gtc2l6ZSgkc3dpdGNoLWhlaWdodC10bnkpOyB9XG5cbiAgICAgICAgLy8gQWRkIGEgcmFkaXVzIHRvIHRoZSBzd2l0Y2hcbiAgICAgICAgJi5yYWRpdXMge1xuICAgICAgICAgIGxhYmVsIHsgQGluY2x1ZGUgcmFkaXVzKDRweCk7IH1cbiAgICAgICAgICBsYWJlbDphZnRlciB7IEBpbmNsdWRlIHJhZGl1cygzcHgpOyB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNYWtlIHRoZSBzd2l0Y2ggY29tcGxldGVseSByb3VuZCwgbGlrZSBhIHBpbGxcbiAgICAgICAgJi5yb3VuZCB7IEBpbmNsdWRlIHJhZGl1cygxMDAwcHgpO1xuICAgICAgICAgIGxhYmVsIHsgQGluY2x1ZGUgcmFkaXVzKDJyZW0pOyB9XG4gICAgICAgICAgbGFiZWw6YWZ0ZXIgeyBAaW5jbHVkZSByYWRpdXMoMnJlbSk7IH1cbiAgICAgICAgfVxuXG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBCcmVhZGNydW1iIFZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgYnJlYWRjcnVtYiBjb250YWluZXIuXG4kY3J1bWItYmc6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IDU1JSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIHBhZGRpbmcgYXJvdW5kIHRoZSBicmVhZGNydW1icy5cbiRjcnVtYi1wYWRkaW5nOiByZW0tY2FsYyg5IDE0IDkpICFkZWZhdWx0O1xuJGNydW1iLXNpZGUtcGFkZGluZzogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzLlxuJGNydW1iLWZ1bmN0aW9uLWZhY3RvcjogLTEwJSAhZGVmYXVsdDtcbiRjcnVtYi1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJGNydW1iLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kY3J1bWItYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkY3J1bWItYmcsICRsaWdodG5lc3M6ICRjcnVtYi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGNydW1iLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdmFyaW91cyB0ZXh0IHN0eWxlcyBmb3IgYnJlYWRjcnVtYnMuXG4kY3J1bWItZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG4kY3J1bWItZm9udC1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kY3J1bWItZm9udC1jb2xvci1jdXJyZW50OiAkb2lsICFkZWZhdWx0O1xuJGNydW1iLWZvbnQtY29sb3ItdW5hdmFpbGFibGU6ICRhbHVtaW51bSAhZGVmYXVsdDtcbiRjcnVtYi1mb250LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJGNydW1iLWxpbmstZGVjb3I6IHVuZGVybGluZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHNsYXNoIGJldHdlZW4gYnJlYWRjcnVtYnNcbiRjcnVtYi1zbGFzaC1jb2xvcjogJGJhc2UgIWRlZmF1bHQ7XG4kY3J1bWItc2xhc2g6IFwiL1wiICFkZWZhdWx0O1xuJGNydW1iLXNsYXNoLXBvc2l0aW9uOiAxcHggIWRlZmF1bHQ7XG5cbi8vXG4vLyBCcmVhZGNydW1iIE1peGluc1xuLy9cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGEgY29udGFpbmVyIGFyb3VuZCBvdXIgYnJlYWRjcnVtYnNcbkBtaXhpbiBjcnVtYi1jb250YWluZXIge1xuICBib3JkZXItc3R5bGU6ICRjcnVtYi1ib3JkZXItc3R5bGU7XG4gIGJvcmRlci13aWR0aDogJGNydW1iLWJvcmRlci1zaXplO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAkY3J1bWItcGFkZGluZztcblxuICAvLyBXZSBjb250cm9sIHdoaWNoIGJhY2tncm91bmQgY29sb3IgYW5kIGJvcmRlciBjb21lIHRocm91Z2guXG4gIGJhY2tncm91bmQtY29sb3I6ICRjcnVtYi1iZztcbiAgYm9yZGVyLWNvbG9yOiAkY3J1bWItYm9yZGVyLWNvbG9yO1xufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYnJlYWRjcnVtYiBzdHlsZXMgZnJvbSBsaXN0IGl0ZW1zLlxuQG1peGluIGNydW1icyB7XG5cbiAgLy8gQSBub3JtYWwgc3RhdGUgd2lsbCBtYWtlIHRoZSBsaW5rcyBsb29rIGFuZCBhY3QgbGlrZSBjbGlja2FibGUgYnJlYWRjcnVtYnMuXG4gIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvcjtcbiAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICBmb250LXNpemU6ICRjcnVtYi1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkY3J1bWItZm9udC1zaXplO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiAkY3J1bWItZm9udC10cmFuc2Zvcm07XG5cbiAgJjpob3ZlciBhLCAmOmZvY3VzIGEgeyB0ZXh0LWRlY29yYXRpb246ICRjcnVtYi1saW5rLWRlY29yOyB9XG5cbiAgYSB7XG4gICAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gQ3VycmVudCBpcyBmb3IgdGhlIGxpbmsgb2YgdGhlIGN1cnJlbnQgcGFnZVxuICAmLmN1cnJlbnQge1xuICAgIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yLWN1cnJlbnQ7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLCAmOmhvdmVyIGEsXG4gICAgJjpmb2N1cywgJjpmb2N1cyBhIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIH1cblxuICAvLyBVbmF2YWlsYWJsZSByZW1vdmVkIGNvbG9yIGFuZCBsaW5rIHN0eWxlcyBzbyBpdCBsb29rcyBpbmFjdGl2ZS5cbiAgJi51bmF2YWlsYWJsZSB7XG4gICAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yLXVuYXZhaWxhYmxlO1xuICAgIGEgeyBjb2xvcjogJGNydW1iLWZvbnQtY29sb3ItdW5hdmFpbGFibGU7IH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpob3ZlciBhLFxuICAgICY6Zm9jdXMsXG4gICAgYTpmb2N1cyB7XG4gICAgICBjb2xvcjogJGNydW1iLWZvbnQtY29sb3ItdW5hdmFpbGFibGU7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQtdmFsdWU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbG9yOiAkY3J1bWItc2xhc2gtY29sb3I7XG4gICAgY29udGVudDogXCIjeyRjcnVtYi1zbGFzaH1cIjtcbiAgICBtYXJnaW46IDAgJGNydW1iLXNpZGUtcGFkZGluZztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAkY3J1bWItc2xhc2gtcG9zaXRpb247XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJicmVhZGNydW1ic1wiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzIHtcbiAgICAuYnJlYWRjcnVtYnMge1xuICAgICAgQGluY2x1ZGUgY3J1bWItY29udGFpbmVyO1xuICAgICAgQGluY2x1ZGUgcmFkaXVzKCRjcnVtYi1yYWRpdXMpO1xuXG4gICAgICA+ICoge1xuICAgICAgICBAaW5jbHVkZSBjcnVtYnM7XG4gICAgICB9XG4gICAgfVxuICAgIC8qIEFjY2Vzc2liaWxpdHkgLSBoaWRlcyB0aGUgZm9yd2FyZCBzbGFzaCAqL1xuICAgIFthcmlhLWxhYmVsPVwiYnJlYWRjcnVtYnNcIl0gW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1kcm9wZG93bi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9scyBoZWlnaHQgYW5kIHdpZHRoIHN0eWxlcy5cbiRmLWRyb3Bkb3duLW1heC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1oZWlnaHQ6IGF1dG8gIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1tYXgtaGVpZ2h0OiBub25lICFkZWZhdWx0O1xuXG4vLyBVc2VkIGZvciBib3R0b20gcG9zaXRpb25cbiRmLWRyb3Bkb3duLW1hcmdpbi10b3A6IDJweCAhZGVmYXVsdDtcblxuLy8gVXNlZCBmb3IgcmlnaHQgcG9zaXRpb25cbiRmLWRyb3Bkb3duLW1hcmdpbi1sZWZ0OiAkZi1kcm9wZG93bi1tYXJnaW4tdG9wICFkZWZhdWx0O1xuXG4vLyBVc2VkIGZvciBsZWZ0IHBvc2l0aW9uXG4kZi1kcm9wZG93bi1tYXJnaW4tcmlnaHQ6ICRmLWRyb3Bkb3duLW1hcmdpbi10b3AgIWRlZmF1bHQ7XG5cbi8vIFVzZWQgZm9yIHRvcCBwb3NpdGlvblxuJGYtZHJvcGRvd24tbWFyZ2luLWJvdHRvbTogJGYtZHJvcGRvd24tbWFyZ2luLXRvcCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgYmFja2dyb3VuZCBjb2xvclxuJGYtZHJvcGRvd24tYmc6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBib3JkZXIgc3R5bGVzIGZvciBkcm9wZG93bnMuXG4kZi1kcm9wZG93bi1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIwJSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgdHJpYW5nbGUgcGlwLlxuJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZTogNnB4ICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tdHJpYW5nbGUtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0OiAxMHB4ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBzdHlsZXMgZm9yIHRoZSBsaXN0IGVsZW1lbnRzLlxuJGYtZHJvcGRvd24tbGlzdC1zdHlsZTogbm9uZSAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWZvbnQtY29sb3I6ICRjaGFyY29hbCAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tbGlzdC1wYWRkaW5nOiByZW0tY2FsYyg1LCAxMCkgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1saW5lLWhlaWdodDogcmVtLWNhbGMoMTgpICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tbGlzdC1ob3Zlci1iZzogJHNtb2tlICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1vYmlsZS1kZWZhdWx0LWZsb2F0OiAwICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBzdHlsZXMgZm9yIHdoZW4gdGhlIGRyb3Bkb3duIGhhcyBjdXN0b20gY29udGVudC5cbiRmLWRyb3Bkb3duLWNvbnRlbnQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLyBEZWZhdWx0IHJhZGl1cyBmb3IgZHJvcGRvd24uXG4kZi1kcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vL1xuLy8gQG1peGluc1xuLy9cbi8vXG4vLyBOT1RFOiBNYWtlIGRlZmF1bHQgbWF4LXdpZHRoIGNoYW5nZSBiZXR3ZWVuIGxpc3QgYW5kIGNvbnRlbnQgdHlwZXMuIENhbiBhZGQgbW9yZSB3aWR0aCB3aXRoIGNsYXNzZXMsIG1heWJlIC5zbWFsbCwgLm1lZGl1bSwgLmxhcmdlLCBldGMuO1xuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIGRyb3Bkb3duIGNvbnRhaW5lciBlbGVtZW50LlxuLy8gJGNvbnRlbnQtbGlzdCAtIFNldHMgbGlzdC1zdHlsZS4gRGVmYXVsdDogbGlzdC4gT3B0aW9uczogW2xpc3QsIGNvbnRlbnRdXG4vLyAkdHJpYW5nbGUgLSBTZXRzIGlmIGRyb3Bkb3duIGhhcyB0cmlhbmdsZS4gRGVmYXVsdDp0cnVlLlxuLy8gJG1heC13aWR0aCAtIERlZmF1bHQ6ICRmLWRyb3Bkb3duLW1heC13aWR0aCB8fCAyMDBweC5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIoJGNvbnRlbnQ6bGlzdCwgJHRyaWFuZ2xlOnRydWUsICRtYXgtd2lkdGg6JGYtZHJvcGRvd24tbWF4LXdpZHRoKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGxlZnQ6IC05OTk5cHg7XG4gIGxpc3Qtc3R5bGU6ICRmLWRyb3Bkb3duLWxpc3Qtc3R5bGU7XG4gIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICYub3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICA+ICo6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9XG4gID4gKjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4gIEBpZiAkY29udGVudCA9PSBsaXN0IHtcbiAgICBiYWNrZ3JvdW5kOiAkZi1kcm9wZG93bi1iZztcbiAgICBib3JkZXI6ICRmLWRyb3Bkb3duLWJvcmRlci1zdHlsZSAkZi1kcm9wZG93bi1ib3JkZXItd2lkdGggJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGYtZHJvcGRvd24tZm9udC1zaXplO1xuICAgIGhlaWdodDogJGYtZHJvcGRvd24taGVpZ2h0O1xuICAgIG1heC1oZWlnaHQ6ICRmLWRyb3Bkb3duLW1heC1oZWlnaHQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogODk7XG4gIH1cbiAgQGVsc2UgaWYgJGNvbnRlbnQgPT0gY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogJGYtZHJvcGRvd24tYmc7XG4gICAgYm9yZGVyOiAkZi1kcm9wZG93bi1ib3JkZXItc3R5bGUgJGYtZHJvcGRvd24tYm9yZGVyLXdpZHRoICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvcjtcbiAgICBmb250LXNpemU6ICRmLWRyb3Bkb3duLWZvbnQtc2l6ZTtcbiAgICBoZWlnaHQ6ICRmLWRyb3Bkb3duLWhlaWdodDtcbiAgICBtYXgtaGVpZ2h0OiAkZi1kcm9wZG93bi1tYXgtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRmLWRyb3Bkb3duLWNvbnRlbnQtcGFkZGluZztcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA4OTtcbiAgfVxuXG4gIEBpZiAkdHJpYW5nbGUgPT0gYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiAkZi1kcm9wZG93bi1tYXJnaW4tdG9wO1xuXG4gICAgQGlmICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgIT0gMHB4IHtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSwgJGYtZHJvcGRvd24tdHJpYW5nbGUtY29sb3IsIGJvdHRvbSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKTtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0O1xuICAgICAgICB6LWluZGV4OiA4OTtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEsICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvciwgYm90dG9tKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0oKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKyAxKSAqIDIpO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQgLSAxO1xuICAgICAgICB6LWluZGV4OiA4ODtcbiAgICAgIH1cblxuICAgICAgJi5yaWdodDpiZWZvcmUge1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ7XG4gICAgICB9XG4gICAgICAmLnJpZ2h0OmFmdGVyIHtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XG4gICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJHRyaWFuZ2xlID09ICRkZWZhdWx0LWZsb2F0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGYtZHJvcGRvd24tbWFyZ2luLXJpZ2h0O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUsICRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yLCAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMik7XG4gICAgICB6LWluZGV4OiA4OTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEsICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvciwgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKSAtIDI7XG4gICAgICB6LWluZGV4OiA4ODtcbiAgICB9XG5cbiAgfVxuXG4gIEBpZiAkdHJpYW5nbGUgPT0gJG9wcG9zaXRlLWRpcmVjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IC0kZi1kcm9wZG93bi1tYXJnaW4tcmlnaHQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSwgJGYtZHJvcGRvd24tdHJpYW5nbGUtY29sb3IsICN7JGRlZmF1bHQtZmxvYXR9KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKTtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xuICAgICAgei1pbmRleDogODk7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKyAxLCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3IsICN7JGRlZmF1bHQtZmxvYXR9KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQgLSAxO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMikgLSAyO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XG4gICAgICB6LWluZGV4OiA4ODtcbiAgICB9XG5cbiAgfVxuXG4gIEBpZiAkdHJpYW5nbGUgPT0gdG9wIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAtJGYtZHJvcGRvd24tbWFyZ2luLWJvdHRvbTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgdG9wKTtcbiAgICAgIGJvdHRvbTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBhdXRvO1xuICAgICAgei1pbmRleDogODk7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKyAxLCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3IsIHRvcCk7XG4gICAgICBib3R0b206IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpIC0gMjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldCAtIDE7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBhdXRvO1xuICAgICAgei1pbmRleDogODg7XG4gICAgfVxuXG4gIH1cblxuICBAaWYgJG1heC13aWR0aCB7IG1heC13aWR0aDogJG1heC13aWR0aDsgfVxuICBAZWxzZSB7IG1heC13aWR0aDogJGYtZHJvcGRvd24tbWF4LXdpZHRoOyB9XG5cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIGxpc3QgZWxlbWVudHMgb3IgY29udGVudCBpbnNpZGUgdGhlIGRyb3Bkb3duLlxuXG5AbWl4aW4gZHJvcGRvd24tc3R5bGUge1xuICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcbiAgZm9udC1zaXplOiAkZi1kcm9wZG93bi1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkZi1kcm9wZG93bi1saW5lLWhlaWdodDtcbiAgbWFyZ2luOiAwO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMgeyBiYWNrZ3JvdW5kOiAkZi1kcm9wZG93bi1saXN0LWhvdmVyLWJnOyB9XG5cbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJGYtZHJvcGRvd24tbGlzdC1wYWRkaW5nO1xuICAgIGNvbG9yOiAkZi1kcm9wZG93bi1mb250LWNvbG9yO1xuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJkcm9wZG93blwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWRyb3Bkb3duLWNsYXNzZXMge1xuXG4gICAgLyogRm91bmRhdGlvbiBEcm9wZG93bnMgKi9cbiAgICAuZi1kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIobGlzdCwgYm90dG9tKTtcblxuICAgICAgJi5kcm9wLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0ge1xuICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIobGlzdCwgI3skZGVmYXVsdC1mbG9hdH0pO1xuICAgICAgfVxuXG4gICAgICAmLmRyb3AtI3skZGVmYXVsdC1mbG9hdH0ge1xuICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIobGlzdCwgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufSk7XG4gICAgICB9XG5cbiAgICAgICYuZHJvcC10b3Age1xuICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIobGlzdCwgdG9wKTtcbiAgICAgIH1cbiAgICAgIC8vIG1heC13aWR0aDogbm9uZTtcblxuICAgICAgbGkgeyBAaW5jbHVkZSBkcm9wZG93bi1zdHlsZTsgfVxuXG4gICAgICAvLyBZb3UgY2FuIGFsc28gcHV0IGN1c3RvbSBjb250ZW50IGluIHRoZXNlIGRyb3Bkb3duc1xuICAgICAgJi5jb250ZW50IHsgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyKGNvbnRlbnQsICR0cmlhbmdsZTpmYWxzZSk7IH1cblxuICAgICAgLy8gUmFkaXVzIG9mIERyb3Bkb3duXG4gICAgICAmLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkZi1kcm9wZG93bi1yYWRpdXMpOyB9XG5cbiAgICAgIC8vIFNpemVzXG4gICAgICAmLnRpbnkgICAgeyBtYXgtd2lkdGg6IDIwMHB4OyB9XG4gICAgICAmLnNtYWxsICAgeyBtYXgtd2lkdGg6IDMwMHB4OyB9XG4gICAgICAmLm1lZGl1bSAgeyBtYXgtd2lkdGg6IDUwMHB4OyB9XG4gICAgICAmLmxhcmdlICAgeyBtYXgtd2lkdGg6IDgwMHB4OyB9XG4gICAgICAmLm1lZ2EgICAge1xuICAgICAgICB3aWR0aDoxMDAlIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOjEwMCUhaW1wb3J0YW50O1xuXG4gICAgICAgICYub3BlbntcbiAgICAgICAgICBsZWZ0OjAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBjb2xvciBvZiB0aGUgcGlwIGluIGRyb3Bkb3duIGJ1dHRvbnNcbiRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvci1hbHQ6ICRvaWwgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIHNpemUgb2YgdGhlIHBpcCBpbiBkcm9wZG93biBidXR0b25zXG4kYnV0dG9uLXBpcC10bnk6IHJlbS1jYWxjKDYpICFkZWZhdWx0O1xuJGJ1dHRvbi1waXAtc21sOiByZW0tY2FsYyg3KSAhZGVmYXVsdDtcbiRidXR0b24tcGlwLW1lZDogcmVtLWNhbGMoOSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXBpcC1scmc6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRpbnkgZHJvcGRvd24gYnV0dG9uc1xuJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLXRueTogJGJ1dHRvbi1waXAtdG55ICogNyAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtdG55OiAkYnV0dG9uLXBpcC10bnkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS10bnk6ICRidXR0b24tcGlwLXRueSAqIDMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtdG55OiAoLSRidXR0b24tcGlwLXRueSAvIDIpICsgcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBzbWFsbCBkcm9wZG93biBidXR0b25zXG4kZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctc21sOiAkYnV0dG9uLXBpcC1zbWwgKiA3ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1zbWw6ICRidXR0b24tcGlwLXNtbCAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXNtbDogJGJ1dHRvbi1waXAtc21sICogMyAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1zbWw6ICgtJGJ1dHRvbi1waXAtc21sIC8gMikgKyByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIG1lZGl1bSBkcm9wZG93biBidXR0b25zXG4kZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiA2ICsgcmVtLWNhbGMoMykgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLW1lZDogJGJ1dHRvbi1waXAtbWVkIC0gcmVtLWNhbGMoMykgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDIuNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1tZWQ6ICgtJGJ1dHRvbi1waXAtbWVkIC8gMikgKyByZW0tY2FsYygyKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGxhcmdlIGRyb3Bkb3duIGJ1dHRvbnNcbiRkcm9wZG93bi1idXR0b24tcGFkZGluZy1scmc6ICRidXR0b24tcGlwLWxyZyAqIDUgKyByZW0tY2FsYygzKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbHJnOiAkYnV0dG9uLXBpcC1scmcgLSByZW0tY2FsYyg2KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLWxyZzogJGJ1dHRvbi1waXAtbHJnICogMi41ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLWxyZzogKC0kYnV0dG9uLXBpcC1scmcgLyAyKSArIHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuXG4vLyBAbWl4aW5zXG4vL1xuLy8gRHJvcGRvd24gQnV0dG9uIE1peGluXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYnVpbGQgb2ZmIG9mIHRoZSBidXR0b24gbWl4aW4gYW5kIGFkZCBkcm9wZG93biBidXR0b24gc3R5bGVzXG4vL1xuLy8gJHBhZGRpbmcgLSBEZXRlcm1pbmVzIHRoZSBzaXplIG9mIGJ1dHRvbiB5b3UncmUgd29ya2luZyB3aXRoLiBEZWZhdWx0OiBtZWRpdW0uIE9wdGlvbnMgW3RpbnksIHNtYWxsLCBtZWRpdW0sIGxhcmdlXVxuLy8gJHBpcC1jb2xvciAtIENvbG9yIG9mIHRoZSBsaXR0bGUgdHJpYW5nbGUgdGhhdCBwb2ludHMgdG8gdGhlIGRyb3Bkb3duLiBEZWZhdWx0OiAkd2hpdGUuXG4vLyAkYmFzZS1zdHlsZSAtIEFkZCBpbiBiYXNlLXN0eWxlcy4gVGhpcyBjYW4gYmUgc2V0IHRvIGZhbHNlLiBEZWZhdWx0OnRydWVcblxuQG1peGluIGRyb3Bkb3duLWJ1dHRvbigkcGFkZGluZzptZWRpdW0sICRwaXAtY29sb3I6JGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3IsICRiYXNlLXN0eWxlOnRydWUpIHtcblxuICAvLyBXZSBhZGQgaW4gYmFzZSBzdHlsZXMsIGJ1dCB0aGV5IGNhbiBiZSBuZWdhdGVkIGJ5IHNldHRpbmcgdG8gJ2ZhbHNlJy5cbiAgQGlmICRiYXNlLXN0eWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyBUaGlzIGNyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciB0aGUgdHJpYW5nbGUgcGlwXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHdlJ3JlIGRlYWxpbmcgd2l0aCB0aW55IGJ1dHRvbnMsIHVzZSB0aGVzZSBzdHlsZXNcbiAgQGlmICRwYWRkaW5nID09IHRpbnkge1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLXRueTtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS10bnk7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS10bnk7XG4gICAgICBtYXJnaW4tdG9wOiAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtdG55O1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHdlJ3JlIGRlYWxpbmcgd2l0aCBzbWFsbCBidXR0b25zLCB1c2UgdGhlc2Ugc3R5bGVzXG4gIEBpZiAkcGFkZGluZyA9PSBzbWFsbCB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctc21sO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1zbWw7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1zbWw7XG4gICAgICBtYXJnaW4tdG9wOiAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3Atc21sO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHdlJ3JlIGRlYWxpbmcgd2l0aCBkZWZhdWx0IChtZWRpdW0pIGJ1dHRvbnMsIHVzZSB0aGVzZSBzdHlsZXNcbiAgQGlmICRwYWRkaW5nID09IG1lZGl1bSB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctbWVkO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1tZWQ7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1tZWQ7XG4gICAgICBtYXJnaW4tdG9wOiAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbWVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHdlJ3JlIGRlYWxpbmcgd2l0aCBsYXJnZSBidXR0b25zLCB1c2UgdGhlc2Ugc3R5bGVzXG4gIEBpZiAkcGFkZGluZyA9PSBsYXJnZSB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctbHJnO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1scmc7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1scmc7XG4gICAgICBtYXJnaW4tdG9wOiAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbHJnO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdlIGNhbiBjb250cm9sIHRoZSBwaXAgY29sb3IuIFdlIGRpZG4ndCB1c2UgbG9naWMgaW4gdGhpcyBjYXNlLCBqdXN0IHNldCBpdCBhbmQgZm9yZ2V0IGl0LlxuICBAaWYgJHBpcC1jb2xvciB7XG4gICAgJjo6YWZ0ZXIgeyBib3JkZXItY29sb3I6ICRwaXAtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiZHJvcGRvd24tYnV0dG9uXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXMge1xuICAgIC5kcm9wZG93bi5idXR0b24sIGJ1dHRvbi5kcm9wZG93biB7IEBpbmNsdWRlIGRyb3Bkb3duLWJ1dHRvbjtcbiAgICAgICYudGlueSB7IEBpbmNsdWRlIGRyb3Bkb3duLWJ1dHRvbih0aW55LCAkYmFzZS1zdHlsZTpmYWxzZSk7IH1cbiAgICAgICYuc21hbGwgeyBAaW5jbHVkZSBkcm9wZG93bi1idXR0b24oc21hbGwsICRiYXNlLXN0eWxlOmZhbHNlKTsgfVxuICAgICAgJi5sYXJnZSB7IEBpbmNsdWRlIGRyb3Bkb3duLWJ1dHRvbihsYXJnZSwgJGJhc2Utc3R5bGU6ZmFsc2UpOyB9XG4gICAgICAmLnNlY29uZGFyeTphZnRlciB7IGJvcmRlci1jb2xvcjogJGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3ItYWx0IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBQaWUgQ2hhcnQgVmFyaWFibGVzXG5cbkBtaXhpbiBkYXJrZW5lZC1jaGlsZHJlbigkbnVtLWNoaWxkcmVuLCAkY29sb3IpIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbnVtLWNoaWxkcmVuIHtcbiAgICAkY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTEwJSk7XG4gICAgJiA+ICo6bnRoLWNoaWxkKCN7JG51bS1jaGlsZHJlbn1uKyN7JGl9KSB7IC8vIFRoaXMgY2F1c2VzIGxvb3BpbmcgdG8gb2NjdXIgYWZ0ZXIgdGhlcmUgYXJlICRudW0tY2hpbGRyZW4gY2hpbGQgZWxlbWVudHMuXG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbGlnaHRlbmVkLWNoaWxkcmVuKCRudW0tY2hpbGRyZW4sICRjb2xvcikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRudW0tY2hpbGRyZW4ge1xuICAgICRjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAxMCUpO1xuICAgICYgPiAqOm50aC1jaGlsZCgjeyRudW0tY2hpbGRyZW59bisjeyRpfSkgeyAvLyBUaGlzIGNhdXNlcyBsb29waW5nIHRvIG9jY3VyIGFmdGVyIHRoZXJlIGFyZSAkbnVtLWNoaWxkcmVuIGNoaWxkIGVsZW1lbnRzLlxuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLypbZGF0YS1waWUtaWRdLCBbZGF0YS1iYXItaWRdLCBbZGF0YS1saW5lLWlkXSB7XG4gIEBpbmNsdWRlIGRhcmtlbmVkLWNoaWxkcmVuKDcsICRwaWUtY29sb3IpO1xufSovXG5cbi50b29sdGlwIHtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgcGFkZGluZzogNXB4O1xufVxuXG4vKnN2ZyB0ZXh0IHtcbiAgZmlsbDogJGxhYmVsLWNvbG9yO1xufSovXG5cbi5jaGFydCB7XG4gIGRpdi5kaWFncmFtIHtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICB9XG4gIHN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcztcbiAgfVxuICB1bC5kYXRhIHtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICB9XG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */
