.datepicker {
  border-radius: 3px;
  direction: ltr;
}

.datepicker-inline {
  width: 220px;
}

.datepicker-rtl {
  direction: rtl;
}

.datepicker-rtl.dropdown-menu {
  left: auto;
}

.datepicker-rtl table tr td span {
  float: right;
}

.datepicker-dropdown {
  top: 0;
  left: 0;
  padding: 4px;
}

.datepicker-dropdown:before {
  content: '';
  display: inline-block;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid var(--bs-border-color-translucent);
  border-top: 0;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  position: absolute;
}

.datepicker-dropdown:after {
  content: '';
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid var(--bs-body-bg);
  border-top: 0;
  position: absolute;
}

.datepicker-dropdown.datepicker-orient-left:before {
  left: 6px;
}

.datepicker-dropdown.datepicker-orient-left:after {
  left: 7px;
}

.datepicker-dropdown.datepicker-orient-right:before {
  right: 6px;
}

.datepicker-dropdown.datepicker-orient-right:after {
  right: 7px;
}

.datepicker-dropdown.datepicker-orient-bottom:before {
  top: -7px;
}

.datepicker-dropdown.datepicker-orient-bottom:after {
  top: -6px;
}

.datepicker-dropdown.datepicker-orient-top:before {
  bottom: -7px;
  border-bottom: 0;
  border-top: 7px solid var(--bs-border-color-translucent);
}

.datepicker-dropdown.datepicker-orient-top:after {
  bottom: -6px;
  border-bottom: 0;
  border-top: 6px solid var(--bs-body-bg);
}

.datepicker table {
  margin: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.datepicker table tr td, .datepicker table tr th {
  text-align: center;
  width: 30px;
  height: 30px;
  border-radius: 4px;
  border: none;
}

.table-striped .datepicker table tr td, .table-striped .datepicker table tr th {
  background-color: transparent;
}

.datepicker table tr td.old, .datepicker table tr td.new {
  color: #707782;
}

.datepicker table tr td.day:hover, .datepicker table tr td.focused {
  color: #000;
  background: #e8e9e9;
  cursor: pointer;
}

.datepicker table tr td.disabled, .datepicker table tr td.disabled:hover {
  background: none;
  color: #707782;
  cursor: default;
}

.datepicker table tr td.highlighted {
  color: #000;
  background-color: #cdf4fa;
  border-color: #70e0f1;
  border-radius: 0;
}

.datepicker table tr td.highlighted:focus, .datepicker table tr td.highlighted.focus {
  color: #000;
  background-color: #b9dce1;
  border-color: #54a8b5;
}

.datepicker table tr td.highlighted:hover {
  color: #000;
  background-color: #677a7d;
  border-color: #63c5d4;
}

.datepicker table tr td.highlighted:active, .datepicker table tr td.highlighted.active {
  color: #000;
  background-color: #b9dce1;
  border-color: #63c5d4;
}

.datepicker table tr td.highlighted:active:hover, .datepicker table tr td.highlighted:active:focus, .datepicker table tr td.highlighted:active.focus, .datepicker table tr td.highlighted.active:hover, .datepicker table tr td.highlighted.active:focus, .datepicker table tr td.highlighted.active.focus {
  color: #000;
  background-color: #aacbd0;
  border-color: #54a8b5;
}

.datepicker table tr td.highlighted.disabled:hover, .datepicker table tr td.highlighted.disabled:focus, .datepicker table tr td.highlighted.disabled.focus, .datepicker table tr td.highlighted[disabled]:hover, .datepicker table tr td.highlighted[disabled]:focus, .datepicker table tr td.highlighted[disabled].focus, fieldset[disabled] .datepicker table tr td.highlighted:hover, fieldset[disabled] .datepicker table tr td.highlighted:focus, fieldset[disabled] .datepicker table tr td.highlighted.focus {
  background-color: #cdf4fa;
  border-color: #70e0f1;
}

.datepicker table tr td.highlighted.focused {
  background: #9feaf5;
}

.datepicker table tr td.highlighted.disabled, .datepicker table tr td.highlighted.disabled:active {
  background: #cdf4fa;
  color: #707782;
}

.datepicker table tr td.today {
  color: #000;
  background-color: #ffdb99;
  border-color: #ffb733;
}

.datepicker table tr td.today:focus, .datepicker table tr td.today.focus {
  color: #000;
  background-color: #e6c58a;
  border-color: #bf8926;
}

.datepicker table tr td.today:hover {
  color: #000;
  background-color: #806e4d;
  border-color: #e0a12d;
}

.datepicker table tr td.today:active, .datepicker table tr td.today.active {
  color: #000;
  background-color: #e6c58a;
  border-color: #e0a12d;
}

.datepicker table tr td.today:active:hover, .datepicker table tr td.today:active:focus, .datepicker table tr td.today:active.focus, .datepicker table tr td.today.active:hover, .datepicker table tr td.today.active:focus, .datepicker table tr td.today.active.focus {
  color: #000;
  background-color: #d4b67f;
  border-color: #bf8926;
}

.datepicker table tr td.today.disabled:hover, .datepicker table tr td.today.disabled:focus, .datepicker table tr td.today.disabled.focus, .datepicker table tr td.today[disabled]:hover, .datepicker table tr td.today[disabled]:focus, .datepicker table tr td.today[disabled].focus, fieldset[disabled] .datepicker table tr td.today:hover, fieldset[disabled] .datepicker table tr td.today:focus, fieldset[disabled] .datepicker table tr td.today.focus {
  background-color: #ffdb99;
  border-color: #ffb733;
}

.datepicker table tr td.today.focused {
  background: #ffc966;
}

.datepicker table tr td.today.disabled, .datepicker table tr td.today.disabled:active {
  background: #ffdb99;
  color: #707782;
}

.datepicker table tr td.range {
  color: #000;
  background-color: #e8e9e9;
  border-color: #b4b7b7;
  border-radius: 0;
}

.datepicker table tr td.range:focus, .datepicker table tr td.range.focus {
  color: #000;
  background-color: #d1d2d2;
  border-color: #878989;
}

.datepicker table tr td.range:hover {
  color: #000;
  background-color: #747575;
  border-color: #9ea1a1;
}

.datepicker table tr td.range:active, .datepicker table tr td.range.active {
  color: #000;
  background-color: #d1d2d2;
  border-color: #9ea1a1;
}

.datepicker table tr td.range:active:hover, .datepicker table tr td.range:active:focus, .datepicker table tr td.range:active.focus, .datepicker table tr td.range.active:hover, .datepicker table tr td.range.active:focus, .datepicker table tr td.range.active.focus {
  color: #000;
  background-color: #c1c1c1;
  border-color: #878989;
}

.datepicker table tr td.range.disabled:hover, .datepicker table tr td.range.disabled:focus, .datepicker table tr td.range.disabled.focus, .datepicker table tr td.range[disabled]:hover, .datepicker table tr td.range[disabled]:focus, .datepicker table tr td.range[disabled].focus, fieldset[disabled] .datepicker table tr td.range:hover, fieldset[disabled] .datepicker table tr td.range:focus, fieldset[disabled] .datepicker table tr td.range.focus {
  background-color: #e8e9e9;
  border-color: #b4b7b7;
}

.datepicker table tr td.range.focused {
  background: #ced0d0;
}

.datepicker table tr td.range.disabled, .datepicker table tr td.range.disabled:active {
  background: #e8e9e9;
  color: #707782;
}

.datepicker table tr td.range.highlighted {
  color: #000;
  background-color: #dbeff2;
  border-color: #90ced7;
}

.datepicker table tr td.range.highlighted:focus, .datepicker table tr td.range.highlighted.focus {
  color: #000;
  background-color: #c5d7da;
  border-color: #6c9aa1;
}

.datepicker table tr td.range.highlighted:hover {
  color: #000;
  background-color: #6e7879;
  border-color: #7fb5bd;
}

.datepicker table tr td.range.highlighted:active, .datepicker table tr td.range.highlighted.active {
  color: #000;
  background-color: #c5d7da;
  border-color: #7fb5bd;
}

.datepicker table tr td.range.highlighted:active:hover, .datepicker table tr td.range.highlighted:active:focus, .datepicker table tr td.range.highlighted:active.focus, .datepicker table tr td.range.highlighted.active:hover, .datepicker table tr td.range.highlighted.active:focus, .datepicker table tr td.range.highlighted.active.focus {
  color: #000;
  background-color: #b6c6c9;
  border-color: #6c9aa1;
}

.datepicker table tr td.range.highlighted.disabled:hover, .datepicker table tr td.range.highlighted.disabled:focus, .datepicker table tr td.range.highlighted.disabled.focus, .datepicker table tr td.range.highlighted[disabled]:hover, .datepicker table tr td.range.highlighted[disabled]:focus, .datepicker table tr td.range.highlighted[disabled].focus, fieldset[disabled] .datepicker table tr td.range.highlighted:hover, fieldset[disabled] .datepicker table tr td.range.highlighted:focus, fieldset[disabled] .datepicker table tr td.range.highlighted.focus {
  background-color: #dbeff2;
  border-color: #90ced7;
}

.datepicker table tr td.range.highlighted.focused {
  background: #b6dee4;
}

.datepicker table tr td.range.highlighted.disabled, .datepicker table tr td.range.highlighted.disabled:active {
  background: #dbeff2;
  color: #707782;
}

.datepicker table tr td.range.today {
  color: #000;
  background-color: #f4c775;
  border-color: #eca117;
}

.datepicker table tr td.range.today:focus, .datepicker table tr td.range.today.focus {
  color: #000;
  background-color: #dcb369;
  border-color: #b17811;
}

.datepicker table tr td.range.today:hover {
  color: #000;
  background-color: #7a643b;
  border-color: #d08d14;
}

.datepicker table tr td.range.today:active, .datepicker table tr td.range.today.active {
  color: #000;
  background-color: #dcb369;
  border-color: #d08d14;
}

.datepicker table tr td.range.today:active:hover, .datepicker table tr td.range.today:active:focus, .datepicker table tr td.range.today:active.focus, .datepicker table tr td.range.today.active:hover, .datepicker table tr td.range.today.active:focus, .datepicker table tr td.range.today.active.focus {
  color: #000;
  background-color: #cba561;
  border-color: #b17811;
}

.datepicker table tr td.range.today.disabled:hover, .datepicker table tr td.range.today.disabled:focus, .datepicker table tr td.range.today.disabled.focus, .datepicker table tr td.range.today[disabled]:hover, .datepicker table tr td.range.today[disabled]:focus, .datepicker table tr td.range.today[disabled].focus, fieldset[disabled] .datepicker table tr td.range.today:hover, fieldset[disabled] .datepicker table tr td.range.today:focus, fieldset[disabled] .datepicker table tr td.range.today.focus {
  background-color: #f4c775;
  border-color: #eca117;
}

.datepicker table tr td.range.today.disabled, .datepicker table tr td.range.today.disabled:active {
  background: #f4c775;
  color: #707782;
}

.datepicker table tr td.selected, .datepicker table tr td.selected.highlighted {
  color: #000;
  background-color: #878889;
  border-color: #606060;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}

.datepicker table tr td.selected:focus, .datepicker table tr td.selected.focus, .datepicker table tr td.selected.highlighted:focus, .datepicker table tr td.selected.highlighted.focus {
  color: #000;
  background-color: #7a7a7b;
  border-color: #484848;
}

.datepicker table tr td.selected:hover, .datepicker table tr td.selected.highlighted:hover {
  color: #000;
  background-color: #444445;
  border-color: #545454;
}

.datepicker table tr td.selected:active, .datepicker table tr td.selected.active, .datepicker table tr td.selected.highlighted:active, .datepicker table tr td.selected.highlighted.active {
  color: #000;
  background-color: #7a7a7b;
  border-color: #545454;
}

.datepicker table tr td.selected:active:hover, .datepicker table tr td.selected:active:focus, .datepicker table tr td.selected:active.focus, .datepicker table tr td.selected.active:hover, .datepicker table tr td.selected.active:focus, .datepicker table tr td.selected.active.focus, .datepicker table tr td.selected.highlighted:active:hover, .datepicker table tr td.selected.highlighted:active:focus, .datepicker table tr td.selected.highlighted:active.focus, .datepicker table tr td.selected.highlighted.active:hover, .datepicker table tr td.selected.highlighted.active:focus, .datepicker table tr td.selected.highlighted.active.focus {
  color: #000;
  background-color: #707172;
  border-color: #484848;
}

.datepicker table tr td.selected.disabled:hover, .datepicker table tr td.selected.disabled:focus, .datepicker table tr td.selected.disabled.focus, .datepicker table tr td.selected[disabled]:hover, .datepicker table tr td.selected[disabled]:focus, .datepicker table tr td.selected[disabled].focus, fieldset[disabled] .datepicker table tr td.selected:hover, fieldset[disabled] .datepicker table tr td.selected:focus, fieldset[disabled] .datepicker table tr td.selected.focus, .datepicker table tr td.selected.highlighted.disabled:hover, .datepicker table tr td.selected.highlighted.disabled:focus, .datepicker table tr td.selected.highlighted.disabled.focus, .datepicker table tr td.selected.highlighted[disabled]:hover, .datepicker table tr td.selected.highlighted[disabled]:focus, .datepicker table tr td.selected.highlighted[disabled].focus, fieldset[disabled] .datepicker table tr td.selected.highlighted:hover, fieldset[disabled] .datepicker table tr td.selected.highlighted:focus, fieldset[disabled] .datepicker table tr td.selected.highlighted.focus {
  background-color: #878889;
  border-color: #606060;
}

.datepicker table tr td.active, .datepicker table tr td.active.highlighted {
  color: #ffffff;
  background-color: #007bc2;
  border-color: #0176ba;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}

.datepicker table tr td.active:focus, .datepicker table tr td.active.focus, .datepicker table tr td.active.highlighted:focus, .datepicker table tr td.active.highlighted.focus {
  color: #ffffff;
  background-color: #1a88c8;
  border-color: #4198cb;
}

.datepicker table tr td.active:hover, .datepicker table tr td.active.highlighted:hover {
  color: #ffffff;
  background-color: #80bde1;
  border-color: #1f86c2;
}

.datepicker table tr td.active:active, .datepicker table tr td.active.active, .datepicker table tr td.active.highlighted:active, .datepicker table tr td.active.highlighted.active {
  color: #ffffff;
  background-color: #1a88c8;
  border-color: #1f86c2;
}

.datepicker table tr td.active:active:hover, .datepicker table tr td.active:active:focus, .datepicker table tr td.active:active.focus, .datepicker table tr td.active.active:hover, .datepicker table tr td.active.active:focus, .datepicker table tr td.active.active.focus, .datepicker table tr td.active.highlighted:active:hover, .datepicker table tr td.active.highlighted:active:focus, .datepicker table tr td.active.highlighted:active.focus, .datepicker table tr td.active.highlighted.active:hover, .datepicker table tr td.active.highlighted.active:focus, .datepicker table tr td.active.highlighted.active.focus {
  color: #ffffff;
  background-color: #2b91cc;
  border-color: #4198cb;
}

.datepicker table tr td.active.disabled:hover, .datepicker table tr td.active.disabled:focus, .datepicker table tr td.active.disabled.focus, .datepicker table tr td.active[disabled]:hover, .datepicker table tr td.active[disabled]:focus, .datepicker table tr td.active[disabled].focus, fieldset[disabled] .datepicker table tr td.active:hover, fieldset[disabled] .datepicker table tr td.active:focus, fieldset[disabled] .datepicker table tr td.active.focus, .datepicker table tr td.active.highlighted.disabled:hover, .datepicker table tr td.active.highlighted.disabled:focus, .datepicker table tr td.active.highlighted.disabled.focus, .datepicker table tr td.active.highlighted[disabled]:hover, .datepicker table tr td.active.highlighted[disabled]:focus, .datepicker table tr td.active.highlighted[disabled].focus, fieldset[disabled] .datepicker table tr td.active.highlighted:hover, fieldset[disabled] .datepicker table tr td.active.highlighted:focus, fieldset[disabled] .datepicker table tr td.active.highlighted.focus {
  background-color: #007bc2;
  border-color: #0176ba;
}

.datepicker table tr td span {
  display: block;
  width: 23%;
  height: 54px;
  line-height: 54px;
  float: left;
  margin: 1%;
  cursor: pointer;
  border-radius: 4px;
}

.datepicker table tr td span:hover, .datepicker table tr td span.focused {
  color: #000;
  background: #e8e9e9;
}

.datepicker table tr td span.disabled, .datepicker table tr td span.disabled:hover {
  background: none;
  color: #707782;
  cursor: default;
}

.datepicker table tr td span.active, .datepicker table tr td span.active:hover, .datepicker table tr td span.active.disabled, .datepicker table tr td span.active.disabled:hover {
  color: #ffffff;
  background-color: #007bc2;
  border-color: #0176ba;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}

.datepicker table tr td span.active:focus, .datepicker table tr td span.active.focus, .datepicker table tr td span.active:hover:focus, .datepicker table tr td span.active:hover.focus, .datepicker table tr td span.active.disabled:focus, .datepicker table tr td span.active.disabled.focus, .datepicker table tr td span.active.disabled:hover:focus, .datepicker table tr td span.active.disabled:hover.focus {
  color: #ffffff;
  background-color: #1a88c8;
  border-color: #4198cb;
}

.datepicker table tr td span.active:hover, .datepicker table tr td span.active:hover:hover, .datepicker table tr td span.active.disabled:hover, .datepicker table tr td span.active.disabled:hover:hover {
  color: #ffffff;
  background-color: #80bde1;
  border-color: #1f86c2;
}

.datepicker table tr td span.active:active, .datepicker table tr td span.active.active, .datepicker table tr td span.active:hover:active, .datepicker table tr td span.active:hover.active, .datepicker table tr td span.active.disabled:active, .datepicker table tr td span.active.disabled.active, .datepicker table tr td span.active.disabled:hover:active, .datepicker table tr td span.active.disabled:hover.active {
  color: #ffffff;
  background-color: #1a88c8;
  border-color: #1f86c2;
}

.datepicker table tr td span.active:active:hover, .datepicker table tr td span.active:active:focus, .datepicker table tr td span.active:active.focus, .datepicker table tr td span.active.active:hover, .datepicker table tr td span.active.active:focus, .datepicker table tr td span.active.active.focus, .datepicker table tr td span.active:hover:active:hover, .datepicker table tr td span.active:hover:active:focus, .datepicker table tr td span.active:hover:active.focus, .datepicker table tr td span.active:hover.active:hover, .datepicker table tr td span.active:hover.active:focus, .datepicker table tr td span.active:hover.active.focus, .datepicker table tr td span.active.disabled:active:hover, .datepicker table tr td span.active.disabled:active:focus, .datepicker table tr td span.active.disabled:active.focus, .datepicker table tr td span.active.disabled.active:hover, .datepicker table tr td span.active.disabled.active:focus, .datepicker table tr td span.active.disabled.active.focus, .datepicker table tr td span.active.disabled:hover:active:hover, .datepicker table tr td span.active.disabled:hover:active:focus, .datepicker table tr td span.active.disabled:hover:active.focus, .datepicker table tr td span.active.disabled:hover.active:hover, .datepicker table tr td span.active.disabled:hover.active:focus, .datepicker table tr td span.active.disabled:hover.active.focus {
  color: #ffffff;
  background-color: #2b91cc;
  border-color: #4198cb;
}

.datepicker table tr td span.active.disabled:hover, .datepicker table tr td span.active.disabled:focus, .datepicker table tr td span.active.disabled.focus, .datepicker table tr td span.active[disabled]:hover, .datepicker table tr td span.active[disabled]:focus, .datepicker table tr td span.active[disabled].focus, fieldset[disabled] .datepicker table tr td span.active:hover, fieldset[disabled] .datepicker table tr td span.active:focus, fieldset[disabled] .datepicker table tr td span.active.focus, .datepicker table tr td span.active:hover.disabled:hover, .datepicker table tr td span.active:hover.disabled:focus, .datepicker table tr td span.active:hover.disabled.focus, .datepicker table tr td span.active:hover[disabled]:hover, .datepicker table tr td span.active:hover[disabled]:focus, .datepicker table tr td span.active:hover[disabled].focus, fieldset[disabled] .datepicker table tr td span.active:hover:hover, fieldset[disabled] .datepicker table tr td span.active:hover:focus, fieldset[disabled] .datepicker table tr td span.active:hover.focus, .datepicker table tr td span.active.disabled.disabled:hover, .datepicker table tr td span.active.disabled.disabled:focus, .datepicker table tr td span.active.disabled.disabled.focus, .datepicker table tr td span.active.disabled[disabled]:hover, .datepicker table tr td span.active.disabled[disabled]:focus, .datepicker table tr td span.active.disabled[disabled].focus, fieldset[disabled] .datepicker table tr td span.active.disabled:hover, fieldset[disabled] .datepicker table tr td span.active.disabled:focus, fieldset[disabled] .datepicker table tr td span.active.disabled.focus, .datepicker table tr td span.active.disabled:hover.disabled:hover, .datepicker table tr td span.active.disabled:hover.disabled:focus, .datepicker table tr td span.active.disabled:hover.disabled.focus, .datepicker table tr td span.active.disabled:hover[disabled]:hover, .datepicker table tr td span.active.disabled:hover[disabled]:focus, .datepicker table tr td span.active.disabled:hover[disabled].focus, fieldset[disabled] .datepicker table tr td span.active.disabled:hover:hover, fieldset[disabled] .datepicker table tr td span.active.disabled:hover:focus, fieldset[disabled] .datepicker table tr td span.active.disabled:hover.focus {
  background-color: #007bc2;
  border-color: #0176ba;
}

.datepicker table tr td span.old, .datepicker table tr td span.new {
  color: #707782;
}

.datepicker .datepicker-switch {
  width: 145px;
}

.datepicker .datepicker-switch,
.datepicker .prev,
.datepicker .next,
.datepicker tfoot tr th {
  cursor: pointer;
}

.datepicker .datepicker-switch:hover,
.datepicker .prev:hover,
.datepicker .next:hover,
.datepicker tfoot tr th:hover {
  color: #000;
  background: #e8e9e9;
}

.datepicker .prev.disabled, .datepicker .next.disabled {
  visibility: hidden;
}

.datepicker .cw {
  font-size: 10px;
  width: 12px;
  padding: 0 2px 0 5px;
  vertical-align: middle;
}

.input-group.date .input-group-addon {
  cursor: pointer;
}

.input-daterange {
  width: 100%;
}

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

.input-daterange input:first-child {
  border-radius: 3px 0 0 3px;
}

.input-daterange input:last-child {
  border-radius: 0 3px 3px 0;
}

.input-daterange .input-group-addon {
  width: auto;
  min-width: 16px;
  padding: 4px 5px;
  line-height: 1.5;
  border-width: 1px 0;
  margin-left: -5px;
  margin-right: -5px;
}

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAic3RkaW4uY3NzIiwKCSJzb3VyY2VzIjogWwoJCSJzdGRpbiIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9fZnVuY3Rpb25zLnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9ic2xpYi1zY3NzL2Z1bmN0aW9ucy5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvYnNsaWIvc2Fzcy11dGlscy9jb2xvci1jb250cmFzdC5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvYnNsaWIvYnVpbHRpbi9iczUvc2hpbnkvX3ZhcmlhYmxlcy5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvYnNsaWIvYnMzY29tcGF0L19kZWZhdWx0cy5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvYnNsaWIvbGliL2JzNS9zY3NzL192YXJpYWJsZXMuc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9fdmFyaWFibGVzLWRhcmsuc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9fbWFwcy5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvYnNsaWIvbGliL2JzNS9zY3NzL19taXhpbnMuc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvYnNsaWIvbGliL2JzNS9zY3NzL21peGlucy9fZGVwcmVjYXRlLnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvYnNsaWIvbGliL2JzNS9zY3NzL21peGlucy9fY29sb3ItbW9kZS5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvYnNsaWIvbGliL2JzNS9zY3NzL21peGlucy9fY29sb3Itc2NoZW1lLnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvYnNsaWIvbGliL2JzNS9zY3NzL21peGlucy9fcmVzaXplLnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL192aXN1YWxseS1oaWRkZW4uc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX3V0aWxpdGllcy5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvYnNsaWIvbGliL2JzNS9zY3NzL21peGlucy9fYmFja2Ryb3Auc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvYnNsaWIvbGliL2JzNS9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX3RhYmxlLXZhcmlhbnRzLnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19ib3gtc2hhZG93LnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19jb250YWluZXIuc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2JzM2NvbXBhdC9fZGVjbGFyYXRpb25zLnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9idWlsdGluL2JzNS9zaGlueS9fbWl4aW5zLnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9idWlsdGluL2JzNS9zaGlueS9pb25yYW5nZXNsaWRlci9fdmFyaWFibGVzLnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9zaGlueS93d3cvc2hhcmVkL2RhdGVwaWNrZXIvc2Nzcy9idWlsZDMuc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L3NoaW55L3d3dy9zaGFyZWQvZGF0ZXBpY2tlci9zY3NzL2RhdGVwaWNrZXIzLnNjc3MiCgldLAoJInNvdXJjZXNDb250ZW50IjogWwoJCSJAaW1wb3J0IFwiQzpcXFxcVXNlcnNcXFxcR3VpbGhlcm1lXFxcXEFwcERhdGFcXFxcTG9jYWxcXFxcUlxcXFx3aW4tbGlicmFyeVxcXFw0LjVcXFxcYnNsaWJcXFxcbGliXFxcXGJzNVxcXFxzY3NzXFxcXF9mdW5jdGlvbnMuc2Nzc1wiO1xuQGltcG9ydCBcIkM6XFxcXFVzZXJzXFxcXEd1aWxoZXJtZVxcXFxBcHBEYXRhXFxcXExvY2FsXFxcXFJcXFxcd2luLWxpYnJhcnlcXFxcNC41XFxcXGJzbGliXFxcXGJzbGliLXNjc3NcXFxcZnVuY3Rpb25zLnNjc3NcIjtcblxuXG5cbiRic2xpYi1wcmVzZXQtdHlwZTogYnVpbHRpbjtcbiRic2xpYi1wcmVzZXQtbmFtZTogc2hpbnk7XG4kd2ViLWZvbnQtcGF0aDogXCJmb250LmNzc1wiICFkZWZhdWx0O1xuQGltcG9ydCBcIkM6XFxcXFVzZXJzXFxcXEd1aWxoZXJtZVxcXFxBcHBEYXRhXFxcXExvY2FsXFxcXFJcXFxcd2luLWxpYnJhcnlcXFxcNC41XFxcXGJzbGliXFxcXGJ1aWx0aW5cXFxcYnM1XFxcXHNoaW55XFxcXF92YXJpYWJsZXMuc2Nzc1wiO1xuJGVuYWJsZS1jc3NncmlkOiB0cnVlICFkZWZhdWx0O1xuQGltcG9ydCBcIkM6XFxcXFVzZXJzXFxcXEd1aWxoZXJtZVxcXFxBcHBEYXRhXFxcXExvY2FsXFxcXFJcXFxcd2luLWxpYnJhcnlcXFxcNC41XFxcXGJzbGliXFxcXGJzM2NvbXBhdFxcXFxfZGVmYXVsdHMuc2Nzc1wiO1xuQGltcG9ydCBcIkM6XFxcXFVzZXJzXFxcXEd1aWxoZXJtZVxcXFxBcHBEYXRhXFxcXExvY2FsXFxcXFJcXFxcd2luLWxpYnJhcnlcXFxcNC41XFxcXGJzbGliXFxcXGxpYlxcXFxiczVcXFxcc2Nzc1xcXFxfdmFyaWFibGVzLnNjc3NcIjtcbkBpbXBvcnQgXCJDOlxcXFxVc2Vyc1xcXFxHdWlsaGVybWVcXFxcQXBwRGF0YVxcXFxMb2NhbFxcXFxSXFxcXHdpbi1saWJyYXJ5XFxcXDQuNVxcXFxic2xpYlxcXFxsaWJcXFxcYnM1XFxcXHNjc3NcXFxcX3ZhcmlhYmxlcy1kYXJrLnNjc3NcIjtcbiRib290c3RyYXAtdmVyc2lvbjogNTtcbiRic2xpYi1wcmVzZXQtbmFtZTogbnVsbCAhZGVmYXVsdDtcbiRic2xpYi1wcmVzZXQtdHlwZTogbnVsbCAhZGVmYXVsdDtcbkBpbXBvcnQgXCJDOlxcXFxVc2Vyc1xcXFxHdWlsaGVybWVcXFxcQXBwRGF0YVxcXFxMb2NhbFxcXFxSXFxcXHdpbi1saWJyYXJ5XFxcXDQuNVxcXFxic2xpYlxcXFxsaWJcXFxcYnM1XFxcXHNjc3NcXFxcX21hcHMuc2Nzc1wiO1xuQGltcG9ydCBcIkM6XFxcXFVzZXJzXFxcXEd1aWxoZXJtZVxcXFxBcHBEYXRhXFxcXExvY2FsXFxcXFJcXFxcd2luLWxpYnJhcnlcXFxcNC41XFxcXGJzbGliXFxcXGxpYlxcXFxiczVcXFxcc2Nzc1xcXFxfbWl4aW5zLnNjc3NcIjtcbkBpbXBvcnQgXCJDOlxcXFxVc2Vyc1xcXFxHdWlsaGVybWVcXFxcQXBwRGF0YVxcXFxMb2NhbFxcXFxSXFxcXHdpbi1saWJyYXJ5XFxcXDQuNVxcXFxic2xpYlxcXFxiczNjb21wYXRcXFxcX2RlY2xhcmF0aW9ucy5zY3NzXCI7XG5AaW1wb3J0IFwiQzpcXFxcVXNlcnNcXFxcR3VpbGhlcm1lXFxcXEFwcERhdGFcXFxcTG9jYWxcXFxcUlxcXFx3aW4tbGlicmFyeVxcXFw0LjVcXFxcYnNsaWJcXFxcYnVpbHRpblxcXFxiczVcXFxcc2hpbnlcXFxcX21peGlucy5zY3NzXCI7XG5AaW1wb3J0IFwiQzpcXFxcVXNlcnNcXFxcR3VpbGhlcm1lXFxcXEFwcERhdGFcXFxcTG9jYWxcXFxcUlxcXFx3aW4tbGlicmFyeVxcXFw0LjVcXFxcc2hpbnlcXFxcd3d3XFxcXHNoYXJlZFxcXFxkYXRlcGlja2VyXFxcXHNjc3NcXFxcYnVpbGQzLnNjc3NcIjsiLAoJCSIvLyBCb290c3RyYXAgZnVuY3Rpb25zXG4vL1xuLy8gVXRpbGl0eSBtaXhpbnMgYW5kIGZ1bmN0aW9ucyBmb3IgZXZhbHVhdGluZyBzb3VyY2UgY29kZSBhY3Jvc3Mgb3VyIHZhcmlhYmxlcywgbWFwcywgYW5kIG1peGlucy5cblxuLy8gQXNjZW5kaW5nXG4vLyBVc2VkIHRvIGV2YWx1YXRlIFNhc3MgbWFwcyBsaWtlIG91ciBncmlkIGJyZWFrcG9pbnRzLlxuQG1peGluIF9hc3NlcnQtYXNjZW5kaW5nKCRtYXAsICRtYXAtbmFtZSkge1xuICAkcHJldi1rZXk6IG51bGw7XG4gICRwcmV2LW51bTogbnVsbDtcbiAgQGVhY2ggJGtleSwgJG51bSBpbiAkbWFwIHtcbiAgICBAaWYgJHByZXYtbnVtID09IG51bGwgb3IgdW5pdCgkbnVtKSA9PSBcIiVcIiBvciB1bml0KCRwcmV2LW51bSkgPT0gXCIlXCIge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XG4gICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xuICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfVxuICAgICRwcmV2LWtleTogJGtleTtcbiAgICAkcHJldi1udW06ICRudW07XG4gIH1cbn1cblxuLy8gU3RhcnRzIGF0IHplcm9cbi8vIFVzZWQgdG8gZW5zdXJlIHRoZSBtaW4td2lkdGggb2YgdGhlIGxvd2VzdCBicmVha3BvaW50IHN0YXJ0cyBhdCAwLlxuQG1peGluIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJG1hcCwgJG1hcC1uYW1lOiBcIiRncmlkLWJyZWFrcG9pbnRzXCIpIHtcbiAgQGlmIGxlbmd0aCgkbWFwKSA+IDAge1xuICAgICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICAgJGZpcnN0LXZhbHVlOiBudGgoJHZhbHVlcywgMSk7XG4gICAgQGlmICRmaXJzdC12YWx1ZSAhPSAwIHtcbiAgICAgIEB3YXJuIFwiRmlyc3QgYnJlYWtwb2ludCBpbiAjeyRtYXAtbmFtZX0gbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sb3JzXG5AZnVuY3Rpb24gdG8tcmdiKCR2YWx1ZSkge1xuICBAcmV0dXJuIHJlZCgkdmFsdWUpLCBncmVlbigkdmFsdWUpLCBibHVlKCR2YWx1ZSk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHNjc3MvZG9sbGFyLXZhcmlhYmxlLXBhdHRlcm5cbkBmdW5jdGlvbiByZ2JhLWNzcy12YXIoJGlkZW50aWZpZXIsICR0YXJnZXQpIHtcbiAgQGlmICRpZGVudGlmaWVyID09IFwiYm9keVwiIGFuZCAkdGFyZ2V0ID09IFwiYmdcIiB7XG4gICAgQHJldHVybiByZ2JhKHZhcigtLSN7JHByZWZpeH0jeyRpZGVudGlmaWVyfS1iZy1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9I3skdGFyZ2V0fS1vcGFjaXR5KSk7XG4gIH0gQGlmICRpZGVudGlmaWVyID09IFwiYm9keVwiIGFuZCAkdGFyZ2V0ID09IFwidGV4dFwiIHtcbiAgICBAcmV0dXJuIHJnYmEodmFyKC0tI3skcHJlZml4fSN7JGlkZW50aWZpZXJ9LWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH0jeyR0YXJnZXR9LW9wYWNpdHkpKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiByZ2JhKHZhcigtLSN7JHByZWZpeH0jeyRpZGVudGlmaWVyfS1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9I3skdGFyZ2V0fS1vcGFjaXR5KSk7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIG1hcC1sb29wKCRtYXAsICRmdW5jLCAkYXJncy4uLikge1xuICAkX21hcDogKCk7XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgIC8vIGFsbG93IHRvIHBhc3MgdGhlICRrZXkgYW5kICR2YWx1ZSBvZiB0aGUgbWFwIGFzIGFuIGZ1bmN0aW9uIGFyZ3VtZW50XG4gICAgJF9hcmdzOiAoKTtcbiAgICBAZWFjaCAkYXJnIGluICRhcmdzIHtcbiAgICAgICRfYXJnczogYXBwZW5kKCRfYXJncywgaWYoJGFyZyA9PSBcIiRrZXlcIiwgJGtleSwgaWYoJGFyZyA9PSBcIiR2YWx1ZVwiLCAkdmFsdWUsICRhcmcpKSk7XG4gICAgfVxuXG4gICAgJF9tYXA6IG1hcC1tZXJnZSgkX21hcCwgKCRrZXk6IGNhbGwoZ2V0LWZ1bmN0aW9uKCRmdW5jKSwgJF9hcmdzLi4uKSkpO1xuICB9XG5cbiAgQHJldHVybiAkX21hcDtcbn1cbi8vIHN0eWxlbGludC1lbmFibGUgc2Nzcy9kb2xsYXItdmFyaWFibGUtcGF0dGVyblxuXG5AZnVuY3Rpb24gdmFyaWZ5KCRsaXN0KSB7XG4gICRyZXN1bHQ6IG51bGw7XG4gIEBlYWNoICRlbnRyeSBpbiAkbGlzdCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIHZhcigtLSN7JHByZWZpeH0jeyRlbnRyeX0pLCBzcGFjZSk7XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyBJbnRlcm5hbCBCb290c3RyYXAgZnVuY3Rpb24gdG8gdHVybiBtYXBzIGludG8gaXRzIG5lZ2F0aXZlIHZhcmlhbnQuXG4vLyBJdCBwcmVmaXhlcyB0aGUga2V5cyB3aXRoIGBuYCBhbmQgbWFrZXMgdGhlIHZhbHVlIG5lZ2F0aXZlLlxuQGZ1bmN0aW9uIG5lZ2F0aXZpZnktbWFwKCRtYXApIHtcbiAgJHJlc3VsdDogKCk7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICBAaWYgJGtleSAhPSAwIHtcbiAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoXCJuXCIgKyAka2V5OiAoLSR2YWx1ZSkpKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyBHZXQgbXVsdGlwbGUga2V5cyBmcm9tIGEgc2FzcyBtYXBcbkBmdW5jdGlvbiBtYXAtZ2V0LW11bHRpcGxlKCRtYXAsICR2YWx1ZXMpIHtcbiAgJHJlc3VsdDogKCk7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICBAaWYgKGluZGV4KCR2YWx1ZXMsICRrZXkpICE9IG51bGwpIHtcbiAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoJGtleTogJHZhbHVlKSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gTWVyZ2UgbXVsdGlwbGUgbWFwc1xuQGZ1bmN0aW9uIG1hcC1tZXJnZS1tdWx0aXBsZSgkbWFwcy4uLikge1xuICAkbWVyZ2VkLW1hcHM6ICgpO1xuXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgICRtZXJnZWQtbWFwczogbWFwLW1lcmdlKCRtZXJnZWQtbWFwcywgJG1hcCk7XG4gIH1cbiAgQHJldHVybiAkbWVyZ2VkLW1hcHM7XG59XG5cbi8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vIFVzZWQgb24gb3VyIFNWRyBpY29uIGJhY2tncm91bmRzIGZvciBjdXN0b20gZm9ybXMuXG4vL1xuLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcbi8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gU2VlIGh0dHBzOi8vY29kZXBlbi5pby9rZXZpbndlYmVyL3Blbi9kWFdvUndcbi8vXG4vLyBSZXF1aXJlcyB0aGUgdXNlIG9mIHF1b3RlcyBhcm91bmQgZGF0YSBVUklzLlxuXG5AZnVuY3Rpb24gZXNjYXBlLXN2Zygkc3RyaW5nKSB7XG4gIEBpZiBzdHItaW5kZXgoJHN0cmluZywgXCJkYXRhOmltYWdlL3N2Zyt4bWxcIikge1xuICAgIEBlYWNoICRjaGFyLCAkZW5jb2RlZCBpbiAkZXNjYXBlZC1jaGFyYWN0ZXJzIHtcbiAgICAgIC8vIERvIG5vdCBlc2NhcGUgdGhlIHVybCBicmFja2V0c1xuICAgICAgQGlmIHN0ci1pbmRleCgkc3RyaW5nLCBcInVybChcIikgPT0gMSB7XG4gICAgICAgICRzdHJpbmc6IHVybChcIiN7c3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsIDYsIC0zKSwgJGNoYXIsICRlbmNvZGVkKX1cIik7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHN0cmluZzogc3RyLXJlcGxhY2UoJHN0cmluZywgJGNoYXIsICRlbmNvZGVkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIENvbG9yIGNvbnRyYXN0XG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzAxNjhcblxuLy8gQSBsaXN0IG9mIHByZS1jYWxjdWxhdGVkIG51bWJlcnMgb2YgcG93KGRpdmlkZSgoZGl2aWRlKCR2YWx1ZSwgMjU1KSArIC4wNTUpLCAxLjA1NSksIDIuNCkuIChmcm9tIDAgdG8gMjU1KVxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHQsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLXBhdHRlcm5cbiRfbHVtaW5hbmNlLWxpc3Q6IC4wMDA4IC4wMDEgLjAwMTEgLjAwMTMgLjAwMTUgLjAwMTcgLjAwMiAuMDAyMiAuMDAyNSAuMDAyNyAuMDAzIC4wMDMzIC4wMDM3IC4wMDQgLjAwNDQgLjAwNDggLjAwNTIgLjAwNTYgLjAwNiAuMDA2NSAuMDA3IC4wMDc1IC4wMDggLjAwODYgLjAwOTEgLjAwOTcgLjAxMDMgLjAxMSAuMDExNiAuMDEyMyAuMDEzIC4wMTM3IC4wMTQ0IC4wMTUyIC4wMTYgLjAxNjggLjAxNzYgLjAxODUgLjAxOTQgLjAyMDMgLjAyMTIgLjAyMjIgLjAyMzIgLjAyNDIgLjAyNTIgLjAyNjIgLjAyNzMgLjAyODQgLjAyOTYgLjAzMDcgLjAzMTkgLjAzMzEgLjAzNDMgLjAzNTYgLjAzNjkgLjAzODIgLjAzOTUgLjA0MDkgLjA0MjMgLjA0MzcgLjA0NTIgLjA0NjcgLjA0ODIgLjA0OTcgLjA1MTMgLjA1MjkgLjA1NDUgLjA1NjEgLjA1NzggLjA1OTUgLjA2MTIgLjA2MyAuMDY0OCAuMDY2NiAuMDY4NSAuMDcwNCAuMDcyMyAuMDc0MiAuMDc2MiAuMDc4MiAuMDgwMiAuMDgyMyAuMDg0NCAuMDg2NSAuMDg4NyAuMDkwOCAuMDkzMSAuMDk1MyAuMDk3NiAuMDk5OSAuMTAyMiAuMTA0NiAuMTA3IC4xMDk1IC4xMTE5IC4xMTQ0IC4xMTcgLjExOTUgLjEyMjEgLjEyNDggLjEyNzQgLjEzMDEgLjEzMjkgLjEzNTYgLjEzODQgLjE0MTMgLjE0NDEgLjE0NyAuMTUgLjE1MjkgLjE1NTkgLjE1OSAuMTYyIC4xNjUxIC4xNjgzIC4xNzE0IC4xNzQ2IC4xNzc5IC4xODEyIC4xODQ1IC4xODc4IC4xOTEyIC4xOTQ2IC4xOTgxIC4yMDE2IC4yMDUxIC4yMDg2IC4yMTIyIC4yMTU5IC4yMTk1IC4yMjMyIC4yMjcgLjIzMDcgLjIzNDYgLjIzODQgLjI0MjMgLjI0NjIgLjI1MDIgLjI1NDIgLjI1ODIgLjI2MjMgLjI2NjQgLjI3MDUgLjI3NDcgLjI3ODkgLjI4MzEgLjI4NzQgLjI5MTggLjI5NjEgLjMwMDUgLjMwNSAuMzA5NSAuMzE0IC4zMTg1IC4zMjMxIC4zMjc4IC4zMzI1IC4zMzcyIC4zNDE5IC4zNDY3IC4zNTE1IC4zNTY0IC4zNjEzIC4zNjYzIC4zNzEyIC4zNzYzIC4zODEzIC4zODY0IC4zOTE2IC4zOTY4IC40MDIgLjQwNzIgLjQxMjUgLjQxNzkgLjQyMzMgLjQyODcgLjQzNDIgLjQzOTcgLjQ0NTIgLjQ1MDggLjQ1NjQgLjQ2MjEgLjQ2NzggLjQ3MzUgLjQ3OTMgLjQ4NTEgLjQ5MSAuNDk2OSAuNTAyOSAuNTA4OSAuNTE0OSAuNTIxIC41MjcxIC41MzMzIC41Mzk1IC41NDU3IC41NTIgLjU1ODMgLjU2NDcgLjU3MTEgLjU3NzYgLjU4NDEgLjU5MDYgLjU5NzIgLjYwMzggLjYxMDUgLjYxNzIgLjYyNCAuNjMwOCAuNjM3NiAuNjQ0NSAuNjUxNCAuNjU4NCAuNjY1NCAuNjcyNCAuNjc5NSAuNjg2NyAuNjkzOSAuNzAxMSAuNzA4NCAuNzE1NyAuNzIzMSAuNzMwNSAuNzM3OSAuNzQ1NCAuNzUyOSAuNzYwNSAuNzY4MiAuNzc1OCAuNzgzNSAuNzkxMyAuNzk5MSAuODA3IC44MTQ4IC44MjI4IC44MzA4IC44Mzg4IC44NDY5IC44NTUgLjg2MzIgLjg3MTQgLjg3OTYgLjg4NzkgLjg5NjMgLjkwNDcgLjkxMzEgLjkyMTYgLjkzMDEgLjkzODcgLjk0NzMgLjk1NiAuOTY0NyAuOTczNCAuOTgyMyAuOTkxMSAxO1xuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQsICRjb2xvci1jb250cmFzdC1kYXJrOiAkY29sb3ItY29udHJhc3QtZGFyaywgJGNvbG9yLWNvbnRyYXN0LWxpZ2h0OiAkY29sb3ItY29udHJhc3QtbGlnaHQsICRtaW4tY29udHJhc3QtcmF0aW86ICRtaW4tY29udHJhc3QtcmF0aW8pIHtcbiAgJGZvcmVncm91bmRzOiAkY29sb3ItY29udHJhc3QtbGlnaHQsICRjb2xvci1jb250cmFzdC1kYXJrLCAkd2hpdGUsICRibGFjaztcbiAgJG1heC1yYXRpbzogMDtcbiAgJG1heC1yYXRpby1jb2xvcjogbnVsbDtcblxuICBAZWFjaCAkY29sb3IgaW4gJGZvcmVncm91bmRzIHtcbiAgICAkY29udHJhc3QtcmF0aW86IGNvbnRyYXN0LXJhdGlvKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xuICAgIEBpZiAkY29udHJhc3QtcmF0aW8gPiAkbWluLWNvbnRyYXN0LXJhdGlvIHtcbiAgICAgIEByZXR1cm4gJGNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGNvbnRyYXN0LXJhdGlvID4gJG1heC1yYXRpbyB7XG4gICAgICAkbWF4LXJhdGlvOiAkY29udHJhc3QtcmF0aW87XG4gICAgICAkbWF4LXJhdGlvLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG5cbiAgQHdhcm4gXCJGb3VuZCBubyBjb2xvciBsZWFkaW5nIHRvICN7JG1pbi1jb250cmFzdC1yYXRpb306MSBjb250cmFzdCByYXRpbyBhZ2FpbnN0ICN7JGJhY2tncm91bmR9Li4uXCI7XG5cbiAgQHJldHVybiAkbWF4LXJhdGlvLWNvbG9yO1xufVxuXG5AZnVuY3Rpb24gY29udHJhc3QtcmF0aW8oJGJhY2tncm91bmQsICRmb3JlZ3JvdW5kOiAkY29sb3ItY29udHJhc3QtbGlnaHQpIHtcbiAgJGwxOiBsdW1pbmFuY2UoJGJhY2tncm91bmQpO1xuICAkbDI6IGx1bWluYW5jZShvcGFxdWUoJGJhY2tncm91bmQsICRmb3JlZ3JvdW5kKSk7XG5cbiAgQHJldHVybiBpZigkbDEgPiAkbDIsIGRpdmlkZSgkbDEgKyAuMDUsICRsMiArIC4wNSksIGRpdmlkZSgkbDIgKyAuMDUsICRsMSArIC4wNSkpO1xufVxuXG4vLyBSZXR1cm4gV0NBRzIuMSByZWxhdGl2ZSBsdW1pbmFuY2Vcbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvV0NBRy8jZGZuLXJlbGF0aXZlLWx1bWluYW5jZVxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHLyNkZm4tY29udHJhc3QtcmF0aW9cbkBmdW5jdGlvbiBsdW1pbmFuY2UoJGNvbG9yKSB7XG4gICRyZ2I6IChcbiAgICBcInJcIjogcmVkKCRjb2xvciksXG4gICAgXCJnXCI6IGdyZWVuKCRjb2xvciksXG4gICAgXCJiXCI6IGJsdWUoJGNvbG9yKVxuICApO1xuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJHJnYiB7XG4gICAgJHZhbHVlOiBpZihkaXZpZGUoJHZhbHVlLCAyNTUpIDwgLjA0MDQ1LCBkaXZpZGUoZGl2aWRlKCR2YWx1ZSwgMjU1KSwgMTIuOTIpLCBudGgoJF9sdW1pbmFuY2UtbGlzdCwgJHZhbHVlICsgMSkpO1xuICAgICRyZ2I6IG1hcC1tZXJnZSgkcmdiLCAoJG5hbWU6ICR2YWx1ZSkpO1xuICB9XG5cbiAgQHJldHVybiAobWFwLWdldCgkcmdiLCBcInJcIikgKiAuMjEyNikgKyAobWFwLWdldCgkcmdiLCBcImdcIikgKiAuNzE1MikgKyAobWFwLWdldCgkcmdiLCBcImJcIikgKiAuMDcyMik7XG59XG5cbi8vIFJldHVybiBvcGFxdWUgY29sb3Jcbi8vIG9wYXF1ZSgjZmZmLCByZ2JhKDAsIDAsIDAsIC41KSkgPT4gIzgwODA4MFxuQGZ1bmN0aW9uIG9wYXF1ZSgkYmFja2dyb3VuZCwgJGZvcmVncm91bmQpIHtcbiAgQHJldHVybiBtaXgocmdiYSgkZm9yZWdyb3VuZCwgMSksICRiYWNrZ3JvdW5kLCBvcGFjaXR5KCRmb3JlZ3JvdW5kKSAqIDEwMCUpO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItZnVuY3Rpb25zXG4vLyBUaW50IGEgY29sb3I6IG1peCBhIGNvbG9yIHdpdGggd2hpdGVcbkBmdW5jdGlvbiB0aW50LWNvbG9yKCRjb2xvciwgJHdlaWdodCkge1xuICBAcmV0dXJuIG1peCh3aGl0ZSwgJGNvbG9yLCAkd2VpZ2h0KTtcbn1cblxuLy8gU2hhZGUgYSBjb2xvcjogbWl4IGEgY29sb3Igd2l0aCBibGFja1xuQGZ1bmN0aW9uIHNoYWRlLWNvbG9yKCRjb2xvciwgJHdlaWdodCkge1xuICBAcmV0dXJuIG1peChibGFjaywgJGNvbG9yLCAkd2VpZ2h0KTtcbn1cblxuLy8gU2hhZGUgdGhlIGNvbG9yIGlmIHRoZSB3ZWlnaHQgaXMgcG9zaXRpdmUsIGVsc2UgdGludCBpdFxuQGZ1bmN0aW9uIHNoaWZ0LWNvbG9yKCRjb2xvciwgJHdlaWdodCkge1xuICBAcmV0dXJuIGlmKCR3ZWlnaHQgPiAwLCBzaGFkZS1jb2xvcigkY29sb3IsICR3ZWlnaHQpLCB0aW50LWNvbG9yKCRjb2xvciwgLSR3ZWlnaHQpKTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgY29sb3ItZnVuY3Rpb25zXG5cbi8vIFJldHVybiB2YWxpZCBjYWxjXG5AZnVuY3Rpb24gYWRkKCR2YWx1ZTEsICR2YWx1ZTIsICRyZXR1cm4tY2FsYzogdHJ1ZSkge1xuICBAaWYgJHZhbHVlMSA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTI7XG4gIH1cblxuICBAaWYgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTE7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUxKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJHZhbHVlMikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2YWx1ZTEsICR2YWx1ZTIpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTEgKyAkdmFsdWUyO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9ICsgI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiICsgXCIpICsgJHZhbHVlMik7XG59XG5cbkBmdW5jdGlvbiBzdWJ0cmFjdCgkdmFsdWUxLCAkdmFsdWUyLCAkcmV0dXJuLWNhbGM6IHRydWUpIHtcbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCBhbmQgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICBAaWYgJHZhbHVlMSA9PSBudWxsIHtcbiAgICBAcmV0dXJuIC0kdmFsdWUyO1xuICB9XG5cbiAgQGlmICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUxO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlMSkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCR2YWx1ZTIpID09IG51bWJlciBhbmQgY29tcGFyYWJsZSgkdmFsdWUxLCAkdmFsdWUyKSB7XG4gICAgQHJldHVybiAkdmFsdWUxIC0gJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTIpICE9IG51bWJlciB7XG4gICAgJHZhbHVlMjogdW5xdW90ZShcIihcIikgKyAkdmFsdWUyICsgdW5xdW90ZShcIilcIik7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gLSAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgLSBcIikgKyAkdmFsdWUyKTtcbn1cblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cbiIsCgkJIi8vIGNvbG9yLWNvbnRyYXN0KCkgd2FzIGludHJvZHVjZWQgaW4gQm9vdHN0cmFwIDUuXG4vLyBXZSBpbmNsdWRlIG91ciBvd24gdmVyc2lvbiBmb3IgYSBmZXcgcmVhc29uczpcbi8vIDEuIEVhc2lseSB0dXJuIG9mZiB3YXJuaW5ncyBvcHRpb25zKGJzbGliLmNvbG9yX2NvbnRyYXN0X3dhcm5pbmdzPUYpXG4vLyAyLiBBbGxvdyBCb290c3RyYXAgMyAmIDQgdG8gdXNlIGNvbG9yLWNvbnRyYXN0KCkgaW4gdmFyaWFibGUgZGVmaW5pdGlvbnNcbi8vIDMuIEFsbG93IEJvb3RzdHJhcCAzICYgNCB0byB1c2UgYnNfZ2V0X2NvbnRyYXN0KClcblxuLy8gQWxzbyBub3RlIHRoYXQgY29sb3ItY29udHJhc3QoKSBsaXZlcyBpbiBzYXNzLXV0aWxzIHNpbmNlIHByb2plY3RzIGxpa2UgUXVhcnRvXG4vLyBhbmQgZmxleGRhc2hib2FyZCBjdXJyZW50bHkgYXNzdW1lIGl0IGV4aXN0cyB0aGVyZS4uLi5cbkBpbXBvcnQgXCIuLi9zYXNzLXV0aWxzL2NvbG9yLWNvbnRyYXN0LnNjc3NcIjtcblxuXG5AZnVuY3Rpb24gaXMtY3NzLXZhcmlhYmxlKCR4KSB7XG4gIEBpZiAodHlwZS1vZigkeCkgIT0gc3RyaW5nKSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHgsIDEsIDYpID09ICd2YXIoLS0nO1xuICB9XG59XG4iLAoJCSIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQ29sb3IgY29udHJhc3RpbmcgKGJhY2twb3J0ZWQgdG8gQlM0IGZyb20gQlM1KVxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzMwMTY4XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBBIGxpc3Qgb2YgcHJlLWNhbGN1bGF0ZWQgbnVtYmVycyBvZiBwb3coZGl2aWRlKChkaXZpZGUoJHZhbHVlLCAyNTUpICsgLjA1NSksIDEuMDU1KSwgMi40KS4gKGZyb20gMCB0byAyNTUpXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtcGF0dGVyblxuJF9sdW1pbmFuY2UtbGlzdDogLjAwMDggLjAwMSAuMDAxMSAuMDAxMyAuMDAxNSAuMDAxNyAuMDAyIC4wMDIyIC4wMDI1IC4wMDI3IC4wMDMgLjAwMzMgLjAwMzcgLjAwNCAuMDA0NCAuMDA0OCAuMDA1MiAuMDA1NiAuMDA2IC4wMDY1IC4wMDcgLjAwNzUgLjAwOCAuMDA4NiAuMDA5MSAuMDA5NyAuMDEwMyAuMDExIC4wMTE2IC4wMTIzIC4wMTMgLjAxMzcgLjAxNDQgLjAxNTIgLjAxNiAuMDE2OCAuMDE3NiAuMDE4NSAuMDE5NCAuMDIwMyAuMDIxMiAuMDIyMiAuMDIzMiAuMDI0MiAuMDI1MiAuMDI2MiAuMDI3MyAuMDI4NCAuMDI5NiAuMDMwNyAuMDMxOSAuMDMzMSAuMDM0MyAuMDM1NiAuMDM2OSAuMDM4MiAuMDM5NSAuMDQwOSAuMDQyMyAuMDQzNyAuMDQ1MiAuMDQ2NyAuMDQ4MiAuMDQ5NyAuMDUxMyAuMDUyOSAuMDU0NSAuMDU2MSAuMDU3OCAuMDU5NSAuMDYxMiAuMDYzIC4wNjQ4IC4wNjY2IC4wNjg1IC4wNzA0IC4wNzIzIC4wNzQyIC4wNzYyIC4wNzgyIC4wODAyIC4wODIzIC4wODQ0IC4wODY1IC4wODg3IC4wOTA4IC4wOTMxIC4wOTUzIC4wOTc2IC4wOTk5IC4xMDIyIC4xMDQ2IC4xMDcgLjEwOTUgLjExMTkgLjExNDQgLjExNyAuMTE5NSAuMTIyMSAuMTI0OCAuMTI3NCAuMTMwMSAuMTMyOSAuMTM1NiAuMTM4NCAuMTQxMyAuMTQ0MSAuMTQ3IC4xNSAuMTUyOSAuMTU1OSAuMTU5IC4xNjIgLjE2NTEgLjE2ODMgLjE3MTQgLjE3NDYgLjE3NzkgLjE4MTIgLjE4NDUgLjE4NzggLjE5MTIgLjE5NDYgLjE5ODEgLjIwMTYgLjIwNTEgLjIwODYgLjIxMjIgLjIxNTkgLjIxOTUgLjIyMzIgLjIyNyAuMjMwNyAuMjM0NiAuMjM4NCAuMjQyMyAuMjQ2MiAuMjUwMiAuMjU0MiAuMjU4MiAuMjYyMyAuMjY2NCAuMjcwNSAuMjc0NyAuMjc4OSAuMjgzMSAuMjg3NCAuMjkxOCAuMjk2MSAuMzAwNSAuMzA1IC4zMDk1IC4zMTQgLjMxODUgLjMyMzEgLjMyNzggLjMzMjUgLjMzNzIgLjM0MTkgLjM0NjcgLjM1MTUgLjM1NjQgLjM2MTMgLjM2NjMgLjM3MTIgLjM3NjMgLjM4MTMgLjM4NjQgLjM5MTYgLjM5NjggLjQwMiAuNDA3MiAuNDEyNSAuNDE3OSAuNDIzMyAuNDI4NyAuNDM0MiAuNDM5NyAuNDQ1MiAuNDUwOCAuNDU2NCAuNDYyMSAuNDY3OCAuNDczNSAuNDc5MyAuNDg1MSAuNDkxIC40OTY5IC41MDI5IC41MDg5IC41MTQ5IC41MjEgLjUyNzEgLjUzMzMgLjUzOTUgLjU0NTcgLjU1MiAuNTU4MyAuNTY0NyAuNTcxMSAuNTc3NiAuNTg0MSAuNTkwNiAuNTk3MiAuNjAzOCAuNjEwNSAuNjE3MiAuNjI0IC42MzA4IC42Mzc2IC42NDQ1IC42NTE0IC42NTg0IC42NjU0IC42NzI0IC42Nzk1IC42ODY3IC42OTM5IC43MDExIC43MDg0IC43MTU3IC43MjMxIC43MzA1IC43Mzc5IC43NDU0IC43NTI5IC43NjA1IC43NjgyIC43NzU4IC43ODM1IC43OTEzIC43OTkxIC44MDcgLjgxNDggLjgyMjggLjgzMDggLjgzODggLjg0NjkgLjg1NSAuODYzMiAuODcxNCAuODc5NiAuODg3OSAuODk2MyAuOTA0NyAuOTEzMSAuOTIxNiAuOTMwMSAuOTM4NyAuOTQ3MyAuOTU2IC45NjQ3IC45NzM0IC45ODIzIC45OTExIDE7XG5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkYmFja2dyb3VuZCwgJGZvcmVncm91bmRzOiBudWxsKSB7XG5cbiAgLy8gVGhlc2UgdmFyaWFibGVzIHNob3VsZCBiZSBkZWZpbmVkIGluIF92YXJpYWJsZXMuc2NzcywgYnV0IHdlIGFsc29cbiAgLy8gZGVmaW5lIHRoZW0gaGVyZSBzbyB0aGF0IDNyZCBwYXJ0eSBsaWJzIGNhbiB1c2UgaWYgdGhleSB3YW50XG4gIC8vIHdpdGhvdXQgcG9sbHV0aW5nIHRoZSBnbG9iYWwgbmFtZXNwYWNlXG4gICRibGFjazogIzAwMCAhZGVmYXVsdDtcbiAgJHdoaXRlOiAjZmZmICFkZWZhdWx0O1xuICAkY29sb3ItY29udHJhc3QtZGFyazogJGJsYWNrICFkZWZhdWx0O1xuICAkY29sb3ItY29udHJhc3QtbGlnaHQ6ICR3aGl0ZSAhZGVmYXVsdDtcbiAgJG1pbi1jb250cmFzdC1yYXRpbzogMyAhZGVmYXVsdDtcblxuICBAaWYgJGZvcmVncm91bmRzID09IG51bGwge1xuICAgICRmb3JlZ3JvdW5kczogJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCAkY29sb3ItY29udHJhc3QtZGFyaywgJHdoaXRlLCAkYmxhY2s7XG4gIH0gQGVsc2Uge1xuICAgICRmb3JlZ3JvdW5kczogJGZvcmVncm91bmRzLCAkY29sb3ItY29udHJhc3QtbGlnaHQsICRjb2xvci1jb250cmFzdC1kYXJrLCAkd2hpdGUsICRibGFjaztcbiAgfVxuXG4gICRtYXgtcmF0aW86IDA7XG4gICRtYXgtcmF0aW8tY29sb3I6IG51bGw7XG5cbiAgQGVhY2ggJGNvbG9yIGluICRmb3JlZ3JvdW5kcyB7XG4gICAgJGNvbnRyYXN0LXJhdGlvOiBjb250cmFzdC1yYXRpbygkYmFja2dyb3VuZCwgJGNvbG9yKTtcbiAgICBAaWYgJGNvbnRyYXN0LXJhdGlvID4gJG1pbi1jb250cmFzdC1yYXRpbyB7XG4gICAgICBAcmV0dXJuICRjb2xvcjtcbiAgICB9IEBlbHNlIGlmICRjb250cmFzdC1yYXRpbyA+ICRtYXgtcmF0aW8ge1xuICAgICAgJG1heC1yYXRpbzogJGNvbnRyYXN0LXJhdGlvO1xuICAgICAgJG1heC1yYXRpby1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICRjb2xvci1jb250cmFzdC13YXJuaW5nczogZmFsc2UgIWRlZmF1bHQ7XG4gIEBpZiAkY29sb3ItY29udHJhc3Qtd2FybmluZ3Mge1xuICAgIEB3YXJuIFwiRm91bmQgbm8gY29sb3IgbGVhZGluZyB0byAjeyRtaW4tY29udHJhc3QtcmF0aW99OjEgY29udHJhc3QgcmF0aW8gYWdhaW5zdCAjeyRiYWNrZ3JvdW5kfS4uLlwiO1xuICB9XG5cbiAgQHJldHVybiAkbWF4LXJhdGlvLWNvbG9yO1xufVxuXG5AZnVuY3Rpb24gY29udHJhc3QtcmF0aW8oJGJhY2tncm91bmQsICRmb3JlZ3JvdW5kOiAkY29sb3ItY29udHJhc3QtbGlnaHQpIHtcbiAgJGwxOiBsdW1pbmFuY2UoJGJhY2tncm91bmQpO1xuICAkbDI6IGx1bWluYW5jZShvcGFxdWUoJGJhY2tncm91bmQsICRmb3JlZ3JvdW5kKSk7XG5cbiAgQHJldHVybiBpZigkbDEgPiAkbDIsIGRpdmlkZSgkbDEgKyAuMDUsICRsMiArIC4wNSksIGRpdmlkZSgkbDIgKyAuMDUsICRsMSArIC4wNSkpO1xufVxuXG4vLyBSZXR1cm4gV0NBRzIuMCByZWxhdGl2ZSBsdW1pbmFuY2Vcbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvV0FJL0dML3dpa2kvUmVsYXRpdmVfbHVtaW5hbmNlXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcyMC1URUNIUy9HMTcuaHRtbCNHMTctdGVzdHNcbkBmdW5jdGlvbiBsdW1pbmFuY2UoJGNvbG9yKSB7XG4gICRyZ2I6IChcbiAgICBcInJcIjogcmVkKCRjb2xvciksXG4gICAgXCJnXCI6IGdyZWVuKCRjb2xvciksXG4gICAgXCJiXCI6IGJsdWUoJGNvbG9yKVxuICApO1xuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJHJnYiB7XG4gICAgJHZhbHVlOiBpZihkaXZpZGUoJHZhbHVlLCAyNTUpIDwgLjA0MDQ1LCBkaXZpZGUoZGl2aWRlKCR2YWx1ZSwgMjU1KSwgMTIuOTIpLCBudGgoJF9sdW1pbmFuY2UtbGlzdCwgJHZhbHVlICsgMSkpO1xuICAgICRyZ2I6IG1hcC1tZXJnZSgkcmdiLCAoJG5hbWU6ICR2YWx1ZSkpO1xuICB9XG5cbiAgQHJldHVybiAobWFwLWdldCgkcmdiLCBcInJcIikgKiAuMjEyNikgKyAobWFwLWdldCgkcmdiLCBcImdcIikgKiAuNzE1MikgKyAobWFwLWdldCgkcmdiLCBcImJcIikgKiAuMDcyMik7XG59XG5cbi8vIFJldHVybiBvcGFxdWUgY29sb3Jcbi8vIG9wYXF1ZSgjZmZmLCByZ2JhKDAsIDAsIDAsIC41KSkgPT4gIzgwODA4MFxuQGZ1bmN0aW9uIG9wYXF1ZSgkYmFja2dyb3VuZCwgJGZvcmVncm91bmQpIHtcbiAgQHJldHVybiBtaXgocmdiYSgkZm9yZWdyb3VuZCwgMSksICRiYWNrZ3JvdW5kLCBvcGFjaXR5KCRmb3JlZ3JvdW5kKSAqIDEwMCUpO1xufVxuXG4vLyBBZGRlZCBpbiBCUzUgYXMgYW4gYWx0ZXJuYXRpdmUgdG8gdGhlIFxcIG9wZXJhdG9yLCB3aGljaFxuLy8gdGhyb3dzIHdhcm5pbmdzIGluIERhcnQgU2Fzc1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzQyNDVcbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG4iLAoJCSIkYmx1ZTogIzAwN2JjMiAhZGVmYXVsdDtcbiRpbmRpZ286ICM0YjAwYzEgIWRlZmF1bHQ7XG4kcHVycGxlOiAjNzQxNDljICFkZWZhdWx0O1xuJHBpbms6ICNiZjAwN2YgIWRlZmF1bHQ7XG4kcmVkOiAjYzEwMDAwICFkZWZhdWx0O1xuJG9yYW5nZTogI2Y0NTEwMCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICNmOWI5MjggIWRlZmF1bHQ7XG4kZ3JlZW46ICMwMDg5MWEgIWRlZmF1bHQ7XG4kdGVhbDogIzAwYmY3ZiAhZGVmYXVsdDtcbiRjeWFuOiAjMDNjN2U4ICFkZWZhdWx0O1xuJHdoaXRlOiAjZmZmZmZmICFkZWZhdWx0O1xuXG4kZ3JheTogIzYwNjA2MCAhZGVmYXVsdDtcbiRncmF5LWRhcms6ICMzMDMwMzAgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY4ZjggIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZGQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICM4RDk1OUUgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM3MDc3ODIgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0ODUwNUYgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNBNDYgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMxRDFGMjEgIWRlZmF1bHQ7XG5cbiRkZWZhdWx0OiAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kcHJpbWFyeTogJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAjNDA0MDQwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICMyMDIwMjAgIWRlZmF1bHQ7XG5cbiRkZWZhdWx0LXJnYjogMjIyLCAyMjYsIDIzMCAhZGVmYXVsdDtcbiRwcmltYXJ5LXJnYjogMCwgMTIzLCAxOTQgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LXJnYjogNjQsIDY0LCA2NCAhZGVmYXVsdDtcbiRzdWNjZXNzLXJnYjogMCwgMTM3LCAyNiAhZGVmYXVsdDtcbiRpbmZvLXJnYjogMywgMTk5LCAyMzIgIWRlZmF1bHQ7XG4kd2FybmluZy1yZ2I6IDI0OSwgMTg1LCA0MCAhZGVmYXVsdDtcbiRkYW5nZXItcmdiOiAxOTMsIDAsIDAgIWRlZmF1bHQ7XG4kbGlnaHQtcmdiOiAyNDgsIDI0OCwgMjQ4ICFkZWZhdWx0O1xuJGRhcmstcmdiOiAzMiwgMzIsIDMyICFkZWZhdWx0O1xuJHdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NSAhZGVmYXVsdDtcbiRibGFjay1yZ2I6IDAsIDAsIDAgIWRlZmF1bHQ7XG4kYm9keS1jb2xvci1yZ2I6IDUyLCA1OCwgNzAgIWRlZmF1bHQ7XG4kYm9keS1iZy1yZ2I6IDI1NSwgMjU1LCAyNTUgIWRlZmF1bHQ7XG5cbiRncmFkaWVudDogbGluZWFyLWdyYWRpZW50KFxuICAxODBkZWcsXG4gIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSksXG4gIHJnYmEoMjU1LCAyNTUsIDI1NSwgMClcbikgIWRlZmF1bHQ7XG5cbiRib2R5LWNvbG9yOiAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kYm9keS1iZzogJHdoaXRlICFkZWZhdWx0O1xuXG4kcHJlZml4OiBicy0gIWRlZmF1bHQ7XG5cbi8vIEZvbnRzXG4kZm9udC1mYW1pbHktYmFzZTogXCJPcGVuIFNhbnNcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IFwiU291cmNlIENvZGUgUHJvXCIsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2VcdCFkZWZhdWx0O1xuXG4kcm9vdC1mb250LXNpemU6IDE4cHggIWRlZmF1bHQ7XG4kYm9keS1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kaDEtZm9udC1zaXplOiAyLjFyZW0gIWRlZmF1bHQ7XG5cbiRib2R5LWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcblxuLy8gU3BhY2luZ1xuJGJzbGliLXNwYWNlcjogMS41cmVtICFkZWZhdWx0O1xuJGhyLW1hcmdpbi15OiAycmVtICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXg6IDAuNjZyZW0gIWRlZmF1bHQ7XG5cbi8vIElucHV0c1xuJGlucHV0LWJ0bi1mb250LXNpemU6IDE1cHggIWRlZmF1bHQ7XG5cbi8vIEJ1dHRvbnNcbiRidG4tZm9udC13ZWlnaHQ6IDUwMCAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy15OiAwLjc1ZW0gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogMmVtICFkZWZhdWx0O1xuXG4vLyBGb3JtIGNvbnRyb2xzXG4kZm9ybS1jaGVjay1pbnB1dC13aWR0aDogMS4yZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXItcmFkaXVzOiAycHggIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1tYXJnaW4tYm90dG9tOiAwLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1jb2xvcjogJGdyYXktNjAwICFkZWZhdWx0O1xuXG4vLyBCb3JkZXJzXG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1czogM3B4ICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuLy8gRGVmYXVsdHMgdG8gJGdyYXk3MDAsIG9mIHdoaWNoIHdlJ3ZlIHNldCB0byBhIGJsdWVpc2gtZ3JheSwgd2hpY2ggbG9va3MgYSBiaXQgd2VpcmQuLi5cbi8vIFdlIGNvdWxkIGdvIGZvcndhcmQgd2l0aCB0aGUgYmx1ZS1pc2ggZ3JheSwgYnV0IGlmIHdlIGRvLCB3ZSdsbCB3YW50IHRvIGFsc28gbWFrZVxuLy8gJGJvcmRlci1jb2xvci10cmFuc2x1Y2VudC1kYXJrIGEgYml0IG1vcmUgYmx1ZWlzaFxuJGJvcmRlci1jb2xvci1kYXJrOiAjNDk1MDU3ICFkZWZhdWx0O1xuXG4vLyBUYWJsZXNcbiR0YWJsZS1zdHJpcGVkLWJnOiByZ2JhKCRwcmltYXJ5LCAwLjA2KSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogcmdiYSgkcHJpbWFyeSwgMC4xKSAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiBldmVuICFkZWZhdWx0O1xuXG4vLyBCb3ggU2hhZG93c1xuLy8gPT4gVGhlc2UgYXJlIHNoaW55LXByZXNldC1zcGVjaWZpYywgaG9waW5nIEJvb3RzdHJhcCBhZGRzIHNvbWV0aGluZyBsaWtlIHRoaXNcbiRic2xpYi1ib3gtc2hhZG93LWNvbG9yLXJnYjogMjksIDMxLCAzMyAhZGVmYXVsdDtcbiRic2xpYi1ib3gtc2hhZG93LWNvbG9yLXJnYi1kYXJrOiAwLCAwLCAwICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1zbTpcbiAgMHB4IDBweCAycHggMHB4IFJHQkEodmFyKC0tYnNsaWItYm94LXNoYWRvdy1jb2xvci1yZ2IpLCAwLjE0KSxcbiAgMHB4IDJweCA0cHggMHB4IFJHQkEodmFyKC0tYnNsaWItYm94LXNoYWRvdy1jb2xvci1yZ2IpLCAwLjE2KSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3c6XG4gIDBweCAxcHggMnB4IFJHQkEodmFyKC0tYnNsaWItYm94LXNoYWRvdy1jb2xvci1yZ2IpLCAuMSksXG4gIDBweCAzcHggN3B4IFJHQkEodmFyKC0tYnNsaWItYm94LXNoYWRvdy1jb2xvci1yZ2IpLCAuMSksXG4gIDBweCAxMnB4IDMwcHggUkdCQSh2YXIoLS1ic2xpYi1ib3gtc2hhZG93LWNvbG9yLXJnYiksIC4wOCkgIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LWxnOlxuICAwcHggNHB4IDEwcHggUkdCQSh2YXIoLS1ic2xpYi1ib3gtc2hhZG93LWNvbG9yLXJnYiksIC4xKSxcbiAgMHB4IDEycHggMzBweCBSR0JBKHZhcigtLWJzbGliLWJveC1zaGFkb3ctY29sb3ItcmdiKSwgMC4xNykgIWRlZmF1bHQ7XG5cbi8vIFBvcG92ZXJcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICRib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4vLyBDYXJkc1xuJGNhcmQtYm9yZGVyLXJhZGl1czogOHB4ICFkZWZhdWx0O1xuXG4vLyBic2xpYiBEYXNoYm9hcmQgU3R5bGVzXG4vLyBcIkRhc2hib2FyZFwiIHN0eWxlcyBnaXZlIHlvdTpcbi8vICogc29mdGVyIGJvcmRlcnNcbi8vICogd2hpdGUgY2FyZHNcbi8vICogYm94IHNoYWRvdyBvbiBjYXJkc1xuLy8gKiB3aGl0ZSBzaWRlYmFyc1xuLy8gKiBsaWdodCBncmF5IGJhY2tncm91bmQgaW4gdGhlIG1haW4gY29udGFpbmVyKHMpXG4vLyAqIHdoaXRlIG5hdmJhciBhbmQgdGl0bGUgcGFuZWxcblxuJGJzbGliLWRhc2hib2FyZC1kZXNpZ246IHRydWUgIWRlZmF1bHQ7XG4kYnNsaWItZW5hYmxlLXNoYWRvd3M6ICRic2xpYi1kYXNoYm9hcmQtZGVzaWduICFkZWZhdWx0O1xuXG4kYnNsaWItc2lkZWJhci1iZzogbnVsbCAhZGVmYXVsdDtcbiRic2xpYi1zaWRlYmFyLWZnOiBudWxsICFkZWZhdWx0O1xuXG5AaWYgJGJzbGliLXNpZGViYXItYmcgPT0gbnVsbCB7XG4gIC8vIGlmIHNpZGViYXItYmcgbm90IHNldCBieSB1c2VyLCBkZWZhdWx0IHRvIGJvZHkgYmFja2dyb3VuZFxuICAkYnNsaWItc2lkZWJhci1iZzogUkdCQSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2IpLCAwLjA1KTtcbn0gQGVsc2UgaWYgJGJzbGliLXNpZGViYXItZmcgPT0gbnVsbCBhbmQgdHlwZS1vZigkYnNsaWItc2lkZWJhci1iZykgPT0gXCJjb2xvclwiIHtcbiAgLy8gaWYgc2lkZWJhci1iZyBidXQgbm90IC1mZyBzZXQgYnkgdGhlIHVzZXIsIGZpbmQgYSBjb250cmFzdGluZyBjb2xvclxuICAkYnNsaWItc2lkZWJhci1mZzogY29sb3ItY29udHJhc3QoJGJzbGliLXNpZGViYXItYmcpO1xufVxuXG4vLyBGcm9tIGluc3QvbGliL2JzNS9zY3NzL192YXJpYWJsZXMuc2Nzc1xuLy8gUmVwZWF0ZWQgaGVyZSBzbyB0aGF0IHdlIGNhbiBzZXQgbmF2YmFyIGxpZ2h0L2RhcmsgdG8gYC0tYnMtYm9keS1iZ2BcbiRuYXZiYXItYmc6ICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIEJhY2tncm91bmQgY29sb3IgZm9yIGFueSBuYXZiYXJQYWdlKClcbiRuYXZiYXItbGlnaHQtYmc6ICRuYXZiYXItYmcgIWRlZmF1bHQ7IC8vIEJhY2tncm91bmQgY29sb3IgZm9yIG5hdmJhclBhZ2UoaW52ZXJzZSA9IEZBTFNFKVxuJG5hdmJhci1kYXJrLWJnOiAgJG5hdmJhci1iZyAhZGVmYXVsdDsgLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgbmF2YmFyUGFnZShpbnZlcnNlID0gVFJVRSlcblxuQGlmICRic2xpYi1kYXNoYm9hcmQtZGVzaWduIGFuZCAkbmF2YmFyLWJnID09IG51bGwge1xuICBAaWYgJG5hdmJhci1saWdodC1iZyA9PSBudWxsIHtcbiAgICAkbmF2YmFyLWxpZ2h0LWJnOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZyk7XG4gIH1cbiAgQGlmICRuYXZiYXItZGFyay1iZyA9PSBudWxsIHtcbiAgICAkbmF2YmFyLWRhcmstYmc6IHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKTtcbiAgfVxufVxuXG4kYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiBpZigkYnNsaWItZGFzaGJvYXJkLWRlc2lnbiwgcmdiYSg0MCwgNzAsIDk0LCAwLjEpLCBudWxsKSAhZGVmYXVsdDtcbiRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQtZGFyazogaWYoJGJzbGliLWRhc2hib2FyZC1kZXNpZ24sIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSwgbnVsbCkgIWRlZmF1bHQ7XG5cbi8vIE1vZGFsc1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogMTAlICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6IG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1iZzogIzQ2NDY0NiAhZGVmYXVsdDtcblxuLy8gVG9hc3RzXG4kdG9hc3Qtc3BhY2luZzogMC41cmVtICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcblxuLy8gU2hpbnk6IEJhc2Ugc2hpbnkuc2NzcyB2YXJpYWJsZXNcbiRub3RpZmljYXRpb24tY2xvc2UtY29sb3I6IGN1cnJlbnRDb2xvciAhZGVmYXVsdDtcbiIsCgkJIi8vIEJTMyBoYWQgLm5hdmJhciB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiRuYXZiYXItbWFyZ2luLWJvdHRvbTogMjBweCAhZGVmYXVsdDtcblxuLy8gQlM1KyB2YXJpYWJsZSB1c2VkIGZvciBwcmVmaXhpbmcgQ1NTIHZhcnNcbiRwcmVmaXg6IGJzLSAhZGVmYXVsdDsiLAoJCSIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG4vLyBDb2xvciBzeXN0ZW1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYXktY29sb3ItdmFyaWFibGVzXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICMwMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyYXktY29sb3ItdmFyaWFibGVzXG5cbi8vIGZ1c3YtZGlzYWJsZVxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYXktY29sb3JzLW1hcFxuJGdyYXlzOiAoXG4gIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgXCIyMDBcIjogJGdyYXktMjAwLFxuICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgXCI1MDBcIjogJGdyYXktNTAwLFxuICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgXCI4MDBcIjogJGdyYXktODAwLFxuICBcIjkwMFwiOiAkZ3JheS05MDBcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyYXktY29sb3JzLW1hcFxuLy8gZnVzdi1lbmFibGVcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9yLXZhcmlhYmxlc1xuJGJsdWU6ICAgICMwZDZlZmQgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNkNjMzODQgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzE5ODc1NCAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMwZGNhZjAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbG9yLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3JzLW1hcFxuJGNvbG9yczogKFxuICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcbiAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXG4gIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICBcInRlYWxcIjogICAgICAgJHRlYWwsXG4gIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgXCJibGFja1wiOiAgICAgICRibGFjayxcbiAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcbiAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sb3JzLW1hcFxuXG4vLyBUaGUgY29udHJhc3QgcmF0aW8gdG8gcmVhY2ggYWdhaW5zdCB3aGl0ZSwgdG8gZGV0ZXJtaW5lIGlmIGNvbG9yIGNoYW5nZXMgZnJvbSBcImxpZ2h0XCIgdG8gXCJkYXJrXCIuIEFjY2VwdGFibGUgdmFsdWVzIGZvciBXQ0FHIDIuMCBhcmUgMywgNC41IGFuZCA3LlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHMjAvI3Zpc3VhbC1hdWRpby1jb250cmFzdC1jb250cmFzdFxuJG1pbi1jb250cmFzdC1yYXRpbzogICA0LjUgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4kY29sb3ItY29udHJhc3QtZGFyazogICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY29sb3ItY29udHJhc3QtbGlnaHQ6ICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIGZ1c3YtZGlzYWJsZVxuJGJsdWUtMTAwOiB0aW50LWNvbG9yKCRibHVlLCA4MCUpICFkZWZhdWx0O1xuJGJsdWUtMjAwOiB0aW50LWNvbG9yKCRibHVlLCA2MCUpICFkZWZhdWx0O1xuJGJsdWUtMzAwOiB0aW50LWNvbG9yKCRibHVlLCA0MCUpICFkZWZhdWx0O1xuJGJsdWUtNDAwOiB0aW50LWNvbG9yKCRibHVlLCAyMCUpICFkZWZhdWx0O1xuJGJsdWUtNTAwOiAkYmx1ZSAhZGVmYXVsdDtcbiRibHVlLTYwMDogc2hhZGUtY29sb3IoJGJsdWUsIDIwJSkgIWRlZmF1bHQ7XG4kYmx1ZS03MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA0MCUpICFkZWZhdWx0O1xuJGJsdWUtODAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgNjAlKSAhZGVmYXVsdDtcbiRibHVlLTkwMDogc2hhZGUtY29sb3IoJGJsdWUsIDgwJSkgIWRlZmF1bHQ7XG5cbiRpbmRpZ28tMTAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDgwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTIwMDogdGludC1jb2xvcigkaW5kaWdvLCA2MCUpICFkZWZhdWx0O1xuJGluZGlnby0zMDA6IHRpbnQtY29sb3IoJGluZGlnbywgNDAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNDAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDIwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTUwMDogJGluZGlnbyAhZGVmYXVsdDtcbiRpbmRpZ28tNjAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCAyMCUpICFkZWZhdWx0O1xuJGluZGlnby03MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDQwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTgwMDogc2hhZGUtY29sb3IoJGluZGlnbywgNjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tOTAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA4MCUpICFkZWZhdWx0O1xuXG4kcHVycGxlLTEwMDogdGludC1jb2xvcigkcHVycGxlLCA4MCUpICFkZWZhdWx0O1xuJHB1cnBsZS0yMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgNjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtMzAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDQwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTQwMDogdGludC1jb2xvcigkcHVycGxlLCAyMCUpICFkZWZhdWx0O1xuJHB1cnBsZS01MDA6ICRwdXJwbGUgIWRlZmF1bHQ7XG4kcHVycGxlLTYwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgMjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNzAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA0MCUpICFkZWZhdWx0O1xuJHB1cnBsZS04MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDYwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTkwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgODAlKSAhZGVmYXVsdDtcblxuJHBpbmstMTAwOiB0aW50LWNvbG9yKCRwaW5rLCA4MCUpICFkZWZhdWx0O1xuJHBpbmstMjAwOiB0aW50LWNvbG9yKCRwaW5rLCA2MCUpICFkZWZhdWx0O1xuJHBpbmstMzAwOiB0aW50LWNvbG9yKCRwaW5rLCA0MCUpICFkZWZhdWx0O1xuJHBpbmstNDAwOiB0aW50LWNvbG9yKCRwaW5rLCAyMCUpICFkZWZhdWx0O1xuJHBpbmstNTAwOiAkcGluayAhZGVmYXVsdDtcbiRwaW5rLTYwMDogc2hhZGUtY29sb3IoJHBpbmssIDIwJSkgIWRlZmF1bHQ7XG4kcGluay03MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA0MCUpICFkZWZhdWx0O1xuJHBpbmstODAwOiBzaGFkZS1jb2xvcigkcGluaywgNjAlKSAhZGVmYXVsdDtcbiRwaW5rLTkwMDogc2hhZGUtY29sb3IoJHBpbmssIDgwJSkgIWRlZmF1bHQ7XG5cbiRyZWQtMTAwOiB0aW50LWNvbG9yKCRyZWQsIDgwJSkgIWRlZmF1bHQ7XG4kcmVkLTIwMDogdGludC1jb2xvcigkcmVkLCA2MCUpICFkZWZhdWx0O1xuJHJlZC0zMDA6IHRpbnQtY29sb3IoJHJlZCwgNDAlKSAhZGVmYXVsdDtcbiRyZWQtNDAwOiB0aW50LWNvbG9yKCRyZWQsIDIwJSkgIWRlZmF1bHQ7XG4kcmVkLTUwMDogJHJlZCAhZGVmYXVsdDtcbiRyZWQtNjAwOiBzaGFkZS1jb2xvcigkcmVkLCAyMCUpICFkZWZhdWx0O1xuJHJlZC03MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDQwJSkgIWRlZmF1bHQ7XG4kcmVkLTgwMDogc2hhZGUtY29sb3IoJHJlZCwgNjAlKSAhZGVmYXVsdDtcbiRyZWQtOTAwOiBzaGFkZS1jb2xvcigkcmVkLCA4MCUpICFkZWZhdWx0O1xuXG4kb3JhbmdlLTEwMDogdGludC1jb2xvcigkb3JhbmdlLCA4MCUpICFkZWZhdWx0O1xuJG9yYW5nZS0yMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgNjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtMzAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDQwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTQwMDogdGludC1jb2xvcigkb3JhbmdlLCAyMCUpICFkZWZhdWx0O1xuJG9yYW5nZS01MDA6ICRvcmFuZ2UgIWRlZmF1bHQ7XG4kb3JhbmdlLTYwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgMjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNzAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA0MCUpICFkZWZhdWx0O1xuJG9yYW5nZS04MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDYwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTkwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgODAlKSAhZGVmYXVsdDtcblxuJHllbGxvdy0xMDA6IHRpbnQtY29sb3IoJHllbGxvdywgODAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctMjAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDYwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTMwMDogdGludC1jb2xvcigkeWVsbG93LCA0MCUpICFkZWZhdWx0O1xuJHllbGxvdy00MDA6IHRpbnQtY29sb3IoJHllbGxvdywgMjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNTAwOiAkeWVsbG93ICFkZWZhdWx0O1xuJHllbGxvdy02MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDIwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTcwMDogc2hhZGUtY29sb3IoJHllbGxvdywgNDAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctODAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA2MCUpICFkZWZhdWx0O1xuJHllbGxvdy05MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDgwJSkgIWRlZmF1bHQ7XG5cbiRncmVlbi0xMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA4MCUpICFkZWZhdWx0O1xuJGdyZWVuLTIwMDogdGludC1jb2xvcigkZ3JlZW4sIDYwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tMzAwOiB0aW50LWNvbG9yKCRncmVlbiwgNDAlKSAhZGVmYXVsdDtcbiRncmVlbi00MDA6IHRpbnQtY29sb3IoJGdyZWVuLCAyMCUpICFkZWZhdWx0O1xuJGdyZWVuLTUwMDogJGdyZWVuICFkZWZhdWx0O1xuJGdyZWVuLTYwMDogc2hhZGUtY29sb3IoJGdyZWVuLCAyMCUpICFkZWZhdWx0O1xuJGdyZWVuLTcwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA0MCUpICFkZWZhdWx0O1xuJGdyZWVuLTgwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA2MCUpICFkZWZhdWx0O1xuJGdyZWVuLTkwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA4MCUpICFkZWZhdWx0O1xuXG4kdGVhbC0xMDA6IHRpbnQtY29sb3IoJHRlYWwsIDgwJSkgIWRlZmF1bHQ7XG4kdGVhbC0yMDA6IHRpbnQtY29sb3IoJHRlYWwsIDYwJSkgIWRlZmF1bHQ7XG4kdGVhbC0zMDA6IHRpbnQtY29sb3IoJHRlYWwsIDQwJSkgIWRlZmF1bHQ7XG4kdGVhbC00MDA6IHRpbnQtY29sb3IoJHRlYWwsIDIwJSkgIWRlZmF1bHQ7XG4kdGVhbC01MDA6ICR0ZWFsICFkZWZhdWx0O1xuJHRlYWwtNjAwOiBzaGFkZS1jb2xvcigkdGVhbCwgMjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTcwMDogc2hhZGUtY29sb3IoJHRlYWwsIDQwJSkgIWRlZmF1bHQ7XG4kdGVhbC04MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA2MCUpICFkZWZhdWx0O1xuJHRlYWwtOTAwOiBzaGFkZS1jb2xvcigkdGVhbCwgODAlKSAhZGVmYXVsdDtcblxuJGN5YW4tMTAwOiB0aW50LWNvbG9yKCRjeWFuLCA4MCUpICFkZWZhdWx0O1xuJGN5YW4tMjAwOiB0aW50LWNvbG9yKCRjeWFuLCA2MCUpICFkZWZhdWx0O1xuJGN5YW4tMzAwOiB0aW50LWNvbG9yKCRjeWFuLCA0MCUpICFkZWZhdWx0O1xuJGN5YW4tNDAwOiB0aW50LWNvbG9yKCRjeWFuLCAyMCUpICFkZWZhdWx0O1xuJGN5YW4tNTAwOiAkY3lhbiAhZGVmYXVsdDtcbiRjeWFuLTYwMDogc2hhZGUtY29sb3IoJGN5YW4sIDIwJSkgIWRlZmF1bHQ7XG4kY3lhbi03MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA0MCUpICFkZWZhdWx0O1xuJGN5YW4tODAwOiBzaGFkZS1jb2xvcigkY3lhbiwgNjAlKSAhZGVmYXVsdDtcbiRjeWFuLTkwMDogc2hhZGUtY29sb3IoJGN5YW4sIDgwJSkgIWRlZmF1bHQ7XG5cbiRibHVlczogKFxuICBcImJsdWUtMTAwXCI6ICRibHVlLTEwMCxcbiAgXCJibHVlLTIwMFwiOiAkYmx1ZS0yMDAsXG4gIFwiYmx1ZS0zMDBcIjogJGJsdWUtMzAwLFxuICBcImJsdWUtNDAwXCI6ICRibHVlLTQwMCxcbiAgXCJibHVlLTUwMFwiOiAkYmx1ZS01MDAsXG4gIFwiYmx1ZS02MDBcIjogJGJsdWUtNjAwLFxuICBcImJsdWUtNzAwXCI6ICRibHVlLTcwMCxcbiAgXCJibHVlLTgwMFwiOiAkYmx1ZS04MDAsXG4gIFwiYmx1ZS05MDBcIjogJGJsdWUtOTAwXG4pICFkZWZhdWx0O1xuXG4kaW5kaWdvczogKFxuICBcImluZGlnby0xMDBcIjogJGluZGlnby0xMDAsXG4gIFwiaW5kaWdvLTIwMFwiOiAkaW5kaWdvLTIwMCxcbiAgXCJpbmRpZ28tMzAwXCI6ICRpbmRpZ28tMzAwLFxuICBcImluZGlnby00MDBcIjogJGluZGlnby00MDAsXG4gIFwiaW5kaWdvLTUwMFwiOiAkaW5kaWdvLTUwMCxcbiAgXCJpbmRpZ28tNjAwXCI6ICRpbmRpZ28tNjAwLFxuICBcImluZGlnby03MDBcIjogJGluZGlnby03MDAsXG4gIFwiaW5kaWdvLTgwMFwiOiAkaW5kaWdvLTgwMCxcbiAgXCJpbmRpZ28tOTAwXCI6ICRpbmRpZ28tOTAwXG4pICFkZWZhdWx0O1xuXG4kcHVycGxlczogKFxuICBcInB1cnBsZS0xMDBcIjogJHB1cnBsZS0xMDAsXG4gIFwicHVycGxlLTIwMFwiOiAkcHVycGxlLTIwMCxcbiAgXCJwdXJwbGUtMzAwXCI6ICRwdXJwbGUtMzAwLFxuICBcInB1cnBsZS00MDBcIjogJHB1cnBsZS00MDAsXG4gIFwicHVycGxlLTUwMFwiOiAkcHVycGxlLTUwMCxcbiAgXCJwdXJwbGUtNjAwXCI6ICRwdXJwbGUtNjAwLFxuICBcInB1cnBsZS03MDBcIjogJHB1cnBsZS03MDAsXG4gIFwicHVycGxlLTgwMFwiOiAkcHVycGxlLTgwMCxcbiAgXCJwdXJwbGUtOTAwXCI6ICRwdXJwbGUtOTAwXG4pICFkZWZhdWx0O1xuXG4kcGlua3M6IChcbiAgXCJwaW5rLTEwMFwiOiAkcGluay0xMDAsXG4gIFwicGluay0yMDBcIjogJHBpbmstMjAwLFxuICBcInBpbmstMzAwXCI6ICRwaW5rLTMwMCxcbiAgXCJwaW5rLTQwMFwiOiAkcGluay00MDAsXG4gIFwicGluay01MDBcIjogJHBpbmstNTAwLFxuICBcInBpbmstNjAwXCI6ICRwaW5rLTYwMCxcbiAgXCJwaW5rLTcwMFwiOiAkcGluay03MDAsXG4gIFwicGluay04MDBcIjogJHBpbmstODAwLFxuICBcInBpbmstOTAwXCI6ICRwaW5rLTkwMFxuKSAhZGVmYXVsdDtcblxuJHJlZHM6IChcbiAgXCJyZWQtMTAwXCI6ICRyZWQtMTAwLFxuICBcInJlZC0yMDBcIjogJHJlZC0yMDAsXG4gIFwicmVkLTMwMFwiOiAkcmVkLTMwMCxcbiAgXCJyZWQtNDAwXCI6ICRyZWQtNDAwLFxuICBcInJlZC01MDBcIjogJHJlZC01MDAsXG4gIFwicmVkLTYwMFwiOiAkcmVkLTYwMCxcbiAgXCJyZWQtNzAwXCI6ICRyZWQtNzAwLFxuICBcInJlZC04MDBcIjogJHJlZC04MDAsXG4gIFwicmVkLTkwMFwiOiAkcmVkLTkwMFxuKSAhZGVmYXVsdDtcblxuJG9yYW5nZXM6IChcbiAgXCJvcmFuZ2UtMTAwXCI6ICRvcmFuZ2UtMTAwLFxuICBcIm9yYW5nZS0yMDBcIjogJG9yYW5nZS0yMDAsXG4gIFwib3JhbmdlLTMwMFwiOiAkb3JhbmdlLTMwMCxcbiAgXCJvcmFuZ2UtNDAwXCI6ICRvcmFuZ2UtNDAwLFxuICBcIm9yYW5nZS01MDBcIjogJG9yYW5nZS01MDAsXG4gIFwib3JhbmdlLTYwMFwiOiAkb3JhbmdlLTYwMCxcbiAgXCJvcmFuZ2UtNzAwXCI6ICRvcmFuZ2UtNzAwLFxuICBcIm9yYW5nZS04MDBcIjogJG9yYW5nZS04MDAsXG4gIFwib3JhbmdlLTkwMFwiOiAkb3JhbmdlLTkwMFxuKSAhZGVmYXVsdDtcblxuJHllbGxvd3M6IChcbiAgXCJ5ZWxsb3ctMTAwXCI6ICR5ZWxsb3ctMTAwLFxuICBcInllbGxvdy0yMDBcIjogJHllbGxvdy0yMDAsXG4gIFwieWVsbG93LTMwMFwiOiAkeWVsbG93LTMwMCxcbiAgXCJ5ZWxsb3ctNDAwXCI6ICR5ZWxsb3ctNDAwLFxuICBcInllbGxvdy01MDBcIjogJHllbGxvdy01MDAsXG4gIFwieWVsbG93LTYwMFwiOiAkeWVsbG93LTYwMCxcbiAgXCJ5ZWxsb3ctNzAwXCI6ICR5ZWxsb3ctNzAwLFxuICBcInllbGxvdy04MDBcIjogJHllbGxvdy04MDAsXG4gIFwieWVsbG93LTkwMFwiOiAkeWVsbG93LTkwMFxuKSAhZGVmYXVsdDtcblxuJGdyZWVuczogKFxuICBcImdyZWVuLTEwMFwiOiAkZ3JlZW4tMTAwLFxuICBcImdyZWVuLTIwMFwiOiAkZ3JlZW4tMjAwLFxuICBcImdyZWVuLTMwMFwiOiAkZ3JlZW4tMzAwLFxuICBcImdyZWVuLTQwMFwiOiAkZ3JlZW4tNDAwLFxuICBcImdyZWVuLTUwMFwiOiAkZ3JlZW4tNTAwLFxuICBcImdyZWVuLTYwMFwiOiAkZ3JlZW4tNjAwLFxuICBcImdyZWVuLTcwMFwiOiAkZ3JlZW4tNzAwLFxuICBcImdyZWVuLTgwMFwiOiAkZ3JlZW4tODAwLFxuICBcImdyZWVuLTkwMFwiOiAkZ3JlZW4tOTAwXG4pICFkZWZhdWx0O1xuXG4kdGVhbHM6IChcbiAgXCJ0ZWFsLTEwMFwiOiAkdGVhbC0xMDAsXG4gIFwidGVhbC0yMDBcIjogJHRlYWwtMjAwLFxuICBcInRlYWwtMzAwXCI6ICR0ZWFsLTMwMCxcbiAgXCJ0ZWFsLTQwMFwiOiAkdGVhbC00MDAsXG4gIFwidGVhbC01MDBcIjogJHRlYWwtNTAwLFxuICBcInRlYWwtNjAwXCI6ICR0ZWFsLTYwMCxcbiAgXCJ0ZWFsLTcwMFwiOiAkdGVhbC03MDAsXG4gIFwidGVhbC04MDBcIjogJHRlYWwtODAwLFxuICBcInRlYWwtOTAwXCI6ICR0ZWFsLTkwMFxuKSAhZGVmYXVsdDtcblxuJGN5YW5zOiAoXG4gIFwiY3lhbi0xMDBcIjogJGN5YW4tMTAwLFxuICBcImN5YW4tMjAwXCI6ICRjeWFuLTIwMCxcbiAgXCJjeWFuLTMwMFwiOiAkY3lhbi0zMDAsXG4gIFwiY3lhbi00MDBcIjogJGN5YW4tNDAwLFxuICBcImN5YW4tNTAwXCI6ICRjeWFuLTUwMCxcbiAgXCJjeWFuLTYwMFwiOiAkY3lhbi02MDAsXG4gIFwiY3lhbi03MDBcIjogJGN5YW4tNzAwLFxuICBcImN5YW4tODAwXCI6ICRjeWFuLTgwMCxcbiAgXCJjeWFuLTkwMFwiOiAkY3lhbi05MDBcbikgIWRlZmF1bHQ7XG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBTZW1hbnRpY2FsbHksICRzZWNvbmRhcnkgaXMgY2xvc2VzdCB0byBCUzMncyAnZGVmYXVsdCcgdGhlbWUgY29sb3I7XG4vLyBzbyB1c2UgdGhhdCBpZiBzcGVjaWZpZWQuIE90aGVyd2lzZSwgdXNlIGEgbGlnaHQgaW5zdGVhZCBvZiBkYXJrIGdyYXlcbi8vIGRlZmF1bHQgY29sb3IgZm9yICRkZWZhdWx0IHNpbmNlIHRoYXQncyBjbG9zZXIgdG8gYm9vdHN0cmFwIDMncyBkZWZhdWx0XG4kZGVmYXVsdDogaWYodmFyaWFibGUtZXhpc3RzKFwic2Vjb25kYXJ5XCIpIGFuZCB0eXBlLW9mKCRzZWNvbmRhcnkpID09IGNvbG9yLCAkc2Vjb25kYXJ5LCAkZ3JheS0zMDApICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtY29sb3ItdmFyaWFibGVzXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3ItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvcnMtbWFwXG4kdGhlbWUtY29sb3JzOiAoXG4gIC8vIGRlZmF1bHQgbmVlZHMgdG8gYmUgMXN0IHNvIHRoYXQgLmJ0bi1kZWZhdWx0IGNvbWVzIGJlZm9yZSAuYnRuLXByaW1hcnlcbiAgLy8gJiB0aGVyZWZvcmUgaGFzIGxvd2VyIHByaW9yaXR5LlxuICBcImRlZmF1bHRcIjogICAgJGRlZmF1bHQsXG4gIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcbiAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxuICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICBcImRhcmtcIjogICAgICAgJGRhcmtcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWNvbG9ycy1tYXBcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLXRleHQtdmFyaWFibGVzXG4kcHJpbWFyeS10ZXh0LWVtcGhhc2lzOiAgIHNoYWRlLWNvbG9yKCRwcmltYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS10ZXh0LWVtcGhhc2lzOiBzaGFkZS1jb2xvcigkc2Vjb25kYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtdGV4dC1lbXBoYXNpczogICBzaGFkZS1jb2xvcigkc3VjY2VzcywgNjAlKSAhZGVmYXVsdDtcbiRpbmZvLXRleHQtZW1waGFzaXM6ICAgICAgc2hhZGUtY29sb3IoJGluZm8sIDYwJSkgIWRlZmF1bHQ7XG4kd2FybmluZy10ZXh0LWVtcGhhc2lzOiAgIHNoYWRlLWNvbG9yKCR3YXJuaW5nLCA2MCUpICFkZWZhdWx0O1xuJGRhbmdlci10ZXh0LWVtcGhhc2lzOiAgICBzaGFkZS1jb2xvcigkZGFuZ2VyLCA2MCUpICFkZWZhdWx0O1xuJGxpZ2h0LXRleHQtZW1waGFzaXM6ICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kZGFyay10ZXh0LWVtcGhhc2lzOiAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtdGV4dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWJnLXN1YnRsZS12YXJpYWJsZXNcbiRwcmltYXJ5LWJnLXN1YnRsZTogICAgICAgdGludC1jb2xvcigkcHJpbWFyeSwgODAlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYmctc3VidGxlOiAgICAgdGludC1jb2xvcigkc2Vjb25kYXJ5LCA4MCUpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYmctc3VidGxlOiAgICAgICB0aW50LWNvbG9yKCRzdWNjZXNzLCA4MCUpICFkZWZhdWx0O1xuJGluZm8tYmctc3VidGxlOiAgICAgICAgICB0aW50LWNvbG9yKCRpbmZvLCA4MCUpICFkZWZhdWx0O1xuJHdhcm5pbmctYmctc3VidGxlOiAgICAgICB0aW50LWNvbG9yKCR3YXJuaW5nLCA4MCUpICFkZWZhdWx0O1xuJGRhbmdlci1iZy1zdWJ0bGU6ICAgICAgICB0aW50LWNvbG9yKCRkYW5nZXIsIDgwJSkgIWRlZmF1bHQ7XG4kbGlnaHQtYmctc3VidGxlOiAgICAgICAgIG1peCgkZ3JheS0xMDAsICR3aGl0ZSkgIWRlZmF1bHQ7XG4kZGFyay1iZy1zdWJ0bGU6ICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtYmctc3VidGxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtYm9yZGVyLXN1YnRsZS12YXJpYWJsZXNcbiRwcmltYXJ5LWJvcmRlci1zdWJ0bGU6ICAgdGludC1jb2xvcigkcHJpbWFyeSwgNjAlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYm9yZGVyLXN1YnRsZTogdGludC1jb2xvcigkc2Vjb25kYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYm9yZGVyLXN1YnRsZTogICB0aW50LWNvbG9yKCRzdWNjZXNzLCA2MCUpICFkZWZhdWx0O1xuJGluZm8tYm9yZGVyLXN1YnRsZTogICAgICB0aW50LWNvbG9yKCRpbmZvLCA2MCUpICFkZWZhdWx0O1xuJHdhcm5pbmctYm9yZGVyLXN1YnRsZTogICB0aW50LWNvbG9yKCR3YXJuaW5nLCA2MCUpICFkZWZhdWx0O1xuJGRhbmdlci1ib3JkZXItc3VidGxlOiAgICB0aW50LWNvbG9yKCRkYW5nZXIsIDYwJSkgIWRlZmF1bHQ7XG4kbGlnaHQtYm9yZGVyLXN1YnRsZTogICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkYXJrLWJvcmRlci1zdWJ0bGU6ICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1ib3JkZXItc3VidGxlLXZhcmlhYmxlc1xuXG4vLyBDaGFyYWN0ZXJzIHdoaWNoIGFyZSBlc2NhcGVkIGJ5IHRoZSBlc2NhcGUtc3ZnIGZ1bmN0aW9uXG4kZXNjYXBlZC1jaGFyYWN0ZXJzOiAoXG4gIChcIjxcIiwgXCIlM2NcIiksXG4gIChcIj5cIiwgXCIlM2VcIiksXG4gIChcIiNcIiwgXCIlMjNcIiksXG4gIChcIihcIiwgXCIlMjhcIiksXG4gIChcIilcIiwgXCIlMjlcIiksXG4pICFkZWZhdWx0O1xuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbjogICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc21vb3RoLXNjcm9sbDogICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1jb250YWluZXItY2xhc3NlczogICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtY3NzZ3JpZDogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1idXR0b24tcG9pbnRlcnM6ICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmZzOiAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1uZWdhdGl2ZS1tYXJnaW5zOiAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzOiAgdHJ1ZSAhZGVmYXVsdDtcblxuJGVuYWJsZS1kYXJrLW1vZGU6ICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRjb2xvci1tb2RlLXR5cGU6ICAgICAgICAgICAgIGRhdGEgIWRlZmF1bHQ7IC8vIGBkYXRhYCBvciBgbWVkaWEtcXVlcnlgXG5cbi8vIFByZWZpeCBmb3IgOnJvb3QgQ1NTIHZhcmlhYmxlc1xuXG4kdmFyaWFibGUtcHJlZml4OiAgICAgICAgICAgICBicy0gIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wIGZvciB0aGUgc2hvcnRlciBgJHByZWZpeGBcbiRwcmVmaXg6ICAgICAgICAgICAgICAgICAgICAgICR2YXJpYWJsZS1wcmVmaXggIWRlZmF1bHQ7XG5cbi8vIEdyYWRpZW50XG4vL1xuLy8gVGhlIGdyYWRpZW50IHdoaWNoIGlzIGFkZGVkIHRvIGNvbXBvbmVudHMgaWYgYCRlbmFibGUtZ3JhZGllbnRzYCBpcyBgdHJ1ZWBcbi8vIFRoaXMgZ3JhZGllbnQgaXMgYWxzbyBhZGRlZCB0byBlbGVtZW50cyB3aXRoIGAuYmctZ3JhZGllbnRgXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdmFyaWFibGUtZ3JhZGllbnRcbiRncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgkd2hpdGUsIC4xNSksIHJnYmEoJHdoaXRlLCAwKSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHZhcmlhYmxlLWdyYWRpZW50XG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3BhY2VyLXZhcmlhYmxlcy1tYXBzXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6IChcbiAgMDogMCxcbiAgMTogJHNwYWNlciAqIC4yNSxcbiAgMjogJHNwYWNlciAqIC41LFxuICAzOiAkc3BhY2VyLFxuICA0OiAkc3BhY2VyICogMS41LFxuICA1OiAkc3BhY2VyICogMyxcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNwYWNlci12YXJpYWJsZXMtbWFwc1xuXG4vLyBQb3NpdGlvblxuLy9cbi8vIERlZmluZSB0aGUgZWRnZSBwb3NpdGlvbmluZyBhbmNob3JzIG9mIHRoZSBwb3NpdGlvbiB1dGlsaXRpZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwb3NpdGlvbi1tYXBcbiRwb3NpdGlvbi12YWx1ZXM6IChcbiAgMDogMCxcbiAgNTA6IDUwJSxcbiAgMTAwOiAxMDAlXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwb3NpdGlvbi1tYXBcblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktdGV4dC1hbGlnbjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGJvZHktc2Vjb25kYXJ5LWNvbG9yOiAgICAgIHJnYmEoJGJvZHktY29sb3IsIC43NSkgIWRlZmF1bHQ7XG4kYm9keS1zZWNvbmRhcnktYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kYm9keS10ZXJ0aWFyeS1jb2xvcjogICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjUpICFkZWZhdWx0O1xuJGJvZHktdGVydGlhcnktYmc6ICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcblxuJGJvZHktZW1waGFzaXMtY29sb3I6ICAgICAgICRibGFjayAhZGVmYXVsdDtcblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwcmltYXJ5ICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuJGxpbmstc2hhZGUtcGVyY2VudGFnZTogICAgICAgICAgICAgICAgICAgMjAlICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgc2hpZnQtY29sb3IoJGxpbmstY29sb3IsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHN0cmV0Y2hlZC1saW5rLXBzZXVkby1lbGVtZW50OiAgICAgICAgICAgYWZ0ZXIgIWRlZmF1bHQ7XG4kc3RyZXRjaGVkLWxpbmstei1pbmRleDogICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4vLyBJY29uIGxpbmtzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaWNvbi1saW5rLXZhcmlhYmxlc1xuJGljb24tbGluay1nYXA6ICAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpY29uLWxpbmstdW5kZXJsaW5lLW9mZnNldDogIC4yNWVtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXNpemU6ICAgICAgICAgMWVtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXRyYW5zaXRpb246ICAgLjJzIGVhc2UtaW4tb3V0IHRyYW5zZm9ybSAhZGVmYXVsdDtcbiRpY29uLWxpbmstaWNvbi10cmFuc2Zvcm06ICAgIHRyYW5zbGF0ZTNkKC4yNWVtLCAwLCAwKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaWNvbi1saW5rLXZhcmlhYmxlc1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmlkLWJyZWFrcG9pbnRzXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweCxcbiAgeHhsOiAxNDAwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyaWQtYnJlYWtwb2ludHNcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb250YWluZXItbWF4LXdpZHRoc1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHgsXG4gIHh4bDogMTMyMHB4XG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb250YWluZXItbWF4LXdpZHRoc1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRncmlkLXJvdy1jb2x1bW5zOiAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cbi8vIENvbnRhaW5lciBwYWRkaW5nXG5cbiRjb250YWluZXItcGFkZGluZy14OiAkZ3JpZC1ndXR0ZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci12YXJpYWJsZXNcbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGhzOiAoXG4gIDE6IDFweCxcbiAgMjogMnB4LFxuICAzOiAzcHgsXG4gIDQ6IDRweCxcbiAgNTogNXB4XG4pICFkZWZhdWx0O1xuJGJvcmRlci1zdHlsZTogICAgICAgICAgICAgICAgc29saWQgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiAgICByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci1yYWRpdXMtdmFyaWFibGVzXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14bDogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMteHhsOiAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXBpbGw6ICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLXZhcmlhYmxlc1xuLy8gZnVzdi1kaXNhYmxlXG4kYm9yZGVyLXJhZGl1cy0yeGw6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy14eGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wXG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm94LXNoYWRvdy12YXJpYWJsZXNcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctaW5zZXQ6ICAgICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm94LXNoYWRvdy12YXJpYWJsZXNcblxuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICBjb2xvci1jb250cmFzdCgkY29tcG9uZW50LWFjdGl2ZS1iZykgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb2N1cy1yaW5nLXZhcmlhYmxlc1xuJGZvY3VzLXJpbmctd2lkdGg6ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctb3BhY2l0eTogICAgLjI1ICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctY29sb3I6ICAgICAgcmdiYSgkcHJpbWFyeSwgJGZvY3VzLXJpbmctb3BhY2l0eSkgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1ibHVyOiAgICAgICAwICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctYm94LXNoYWRvdzogMCAwICRmb2N1cy1yaW5nLWJsdXIgJGZvY3VzLXJpbmctd2lkdGggJGZvY3VzLXJpbmctY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvY3VzLXJpbmctdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJldC12YXJpYWJsZXNcbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmV0LXZhcmlhYmxlc1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xsYXBzZS10cmFuc2l0aW9uXG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2Utd2lkdGg6ICAgd2lkdGggLjM1cyBlYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xsYXBzZS10cmFuc2l0aW9uXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFzcGVjdC1yYXRpb3NcbiRhc3BlY3QtcmF0aW9zOiAoXG4gIFwiMXgxXCI6IDEwMCUsXG4gIFwiNHgzXCI6IGNhbGMoMyAvIDQgKiAxMDAlKSxcbiAgXCIxNng5XCI6IGNhbGMoOSAvIDE2ICogMTAwJSksXG4gIFwiMjF4OVwiOiBjYWxjKDkgLyAyMSAqIDEwMCUpXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBhc3BlY3QtcmF0aW9zXG4vLyBzdHlsZWxpbnQtZW5hYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb250LXZhcmlhYmxlc1xuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1mb250LXNhbnMtc2VyaWYpICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWNvZGU6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWZvbnQtbW9ub3NwYWNlKSAhZGVmYXVsdDtcblxuLy8gJGZvbnQtc2l6ZS1yb290IGFmZmVjdHMgdGhlIHZhbHVlIG9mIGByZW1gLCB3aGljaCBpcyB1c2VkIGZvciBhcyB3ZWxsIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBhbmQgbWFyZ2luc1xuLy8gJGZvbnQtc2l6ZS1iYXNlIGFmZmVjdHMgdGhlIGZvbnQgc2l6ZSBvZiB0aGUgYm9keSB0ZXh0XG4kZm9udC1zaXplLXJvb3Q6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuODc1ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1tZWRpdW06ICAgICAgICAgIDUwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1zZW1pYm9sZDogICAgICAgIDYwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDIgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9udC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvbnQtc2l6ZXNcbiRmb250LXNpemVzOiAoXG4gIDE6ICRoMS1mb250LXNpemUsXG4gIDI6ICRoMi1mb250LXNpemUsXG4gIDM6ICRoMy1mb250LXNpemUsXG4gIDQ6ICRoNC1mb250LXNpemUsXG4gIDU6ICRoNS1mb250LXNpemUsXG4gIDY6ICRoNi1mb250LXNpemVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvbnQtc2l6ZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGhlYWRpbmdzLXZhcmlhYmxlc1xuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXN0eWxlOiAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBoZWFkaW5ncy12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRpc3BsYXktaGVhZGluZ3NcbiRkaXNwbGF5LWZvbnQtc2l6ZXM6IChcbiAgMTogNXJlbSxcbiAgMjogNC41cmVtLFxuICAzOiA0cmVtLFxuICA0OiAzLjVyZW0sXG4gIDU6IDNyZW0sXG4gIDY6IDIuNXJlbVxuKSAhZGVmYXVsdDtcblxuJGRpc3BsYXktZm9udC1mYW1pbHk6IG51bGwgIWRlZmF1bHQ7XG4kZGlzcGxheS1mb250LXN0eWxlOiAgbnVsbCAhZGVmYXVsdDtcbiRkaXNwbGF5LWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBkaXNwbGF5LWhlYWRpbmdzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0eXBlLXZhcmlhYmxlc1xuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgLjg3NWVtICFkZWZhdWx0O1xuXG4kc3ViLXN1cC1mb250LXNpemU6ICAgICAgICAgICAuNzVlbSAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiA1LjMuMFxuLy8gZnVzdi1lbmFibGVcblxuJGluaXRpYWxpc20tZm9udC1zaXplOiAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtbWFyZ2luLXk6ICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtYm9yZGVyLXdpZHRoOiAgICAgJHNwYWNlciAvIDQgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kaHItY29sb3I6ICAgICAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiRoci1iZy1jb2xvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wXG4kaHItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuLy8gZnVzdi1lbmFibGVcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gQWxsb3dzIGZvciBpbmhlcml0ZWQgY29sb3JzXG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRoci1vcGFjaXR5OiAgICAgICAgICAgICAgICAgIC4yNSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHZyLXZhcmlhYmxlc1xuJHZyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHZyLXZhcmlhYmxlc1xuXG4kbGVnZW5kLW1hcmdpbi1ib3R0b206ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtZm9udC1zaXplOiAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtZm9udC13ZWlnaHQ6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjE4NzVlbSAhZGVmYXVsdDtcbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICR5ZWxsb3ctMTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0eXBlLXZhcmlhYmxlc1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLXZhcmlhYmxlc1xuJHRhYmxlLWNlbGwtcGFkZGluZy15OiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXg6ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteS1zbTogICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteC1zbTogICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWNlbGwtdmVydGljYWwtYWxpZ246ICAgdG9wICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtY29sb3I6ICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yOiAgICAgLjA1ICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmc6ICAgICAgICAgICAgcmdiYSgkYmxhY2ssICR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1hY3RpdmUtY29sb3I6ICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmctZmFjdG9yOiAgICAgIC4xICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssICR0YWJsZS1hY3RpdmUtYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnLWZhY3RvcjogICAgICAgLjA3NSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAkdGFibGUtaG92ZXItYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci1mYWN0b3I6ICAgICAgICAgLjEgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1jb2x1bW5zLW9yZGVyOiBldmVuICFkZWZhdWx0O1xuXG4kdGFibGUtZ3JvdXAtc2VwYXJhdG9yLWNvbG9yOiBjdXJyZW50Y29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuXG4kdGFibGUtYmctc2NhbGU6ICAgICAgICAgICAgICAtODAlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLWxvb3BcbiR0YWJsZS12YXJpYW50czogKFxuICBcInByaW1hcnlcIjogICAgc2hpZnQtY29sb3IoJHByaW1hcnksICR0YWJsZS1iZy1zY2FsZSksXG4gIFwic2Vjb25kYXJ5XCI6ICBzaGlmdC1jb2xvcigkc2Vjb25kYXJ5LCAkdGFibGUtYmctc2NhbGUpLFxuICBcInN1Y2Nlc3NcIjogICAgc2hpZnQtY29sb3IoJHN1Y2Nlc3MsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwiaW5mb1wiOiAgICAgICBzaGlmdC1jb2xvcigkaW5mbywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJ3YXJuaW5nXCI6ICAgIHNoaWZ0LWNvbG9yKCR3YXJuaW5nLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImRhbmdlclwiOiAgICAgc2hpZnQtY29sb3IoJGRhbmdlciwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgXCJkYXJrXCI6ICAgICAgICRkYXJrLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtbG9vcFxuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaW5wdXQtYnRuLXZhcmlhYmxlc1xuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgICAkZm9jdXMtcmluZy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eTogJGZvY3VzLXJpbmctb3BhY2l0eSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgICAgJGZvY3VzLXJpbmctY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJsdXI6ICAgICAgICAgICRmb2N1cy1yaW5nLWJsdXIgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGlucHV0LWJ0bi12YXJpYWJsZXNcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tdmFyaWFibGVzXG4kYnRuLWNvbG9yOiAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidG4td2hpdGUtc3BhY2U6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWxpbmstaG92ZXItY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXNtKSAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudDogICAgICAgMTUlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudDogICAgICAgIDE1JSAhZGVmYXVsdDtcbiRidG4taG92ZXItYm9yZGVyLXNoYWRlLWFtb3VudDogICAyMCUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJvcmRlci10aW50LWFtb3VudDogICAgMTAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYmctc2hhZGUtYW1vdW50OiAgICAgIDIwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJnLXRpbnQtYW1vdW50OiAgICAgICAyMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3JkZXItc2hhZGUtYW1vdW50OiAgMjUlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm9yZGVyLXRpbnQtYW1vdW50OiAgIDEwJSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXZhcmlhYmxlc1xuXG5cbi8vIEZvcm1zXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXRleHQtdmFyaWFibGVzXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXRleHQtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWxhYmVsLXZhcmlhYmxlc1xuJGZvcm0tbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tbGFiZWwtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWlucHV0LXZhcmlhYmxlc1xuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICRib3gtc2hhZG93LWluc2V0ICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXNtKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgdGludC1jb2xvcigkY29tcG9uZW50LWFjdGl2ZS1iZywgNTAlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWJvcmRlci13aWR0aH0gKiAyKSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjogICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjVlbSwgJGlucHV0LXBhZGRpbmcteSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI6ICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC4yNWVtLCAkaW5wdXQtcGFkZGluZy15ICogLjUpICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXkgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LWxnICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS1jb2xvci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgM3JlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1pbnB1dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tY2hlY2stdmFyaWFibGVzXG4kZm9ybS1jaGVjay1pbnB1dC13aWR0aDogICAgICAgICAgICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1taW4taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ6ICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWN1cnNvcjogICAgICAgICAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1hY3RpdmUtZmlsdGVyOiAgICAgICAgICBicmlnaHRuZXNzKDkwJSkgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWJvcmRlcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1yYWRpby1ib3JkZXItcmFkaXVzOiAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1mb2N1cy1ib3JkZXI6ICAgICAgICAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcjogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAgICRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCc+PHBhdGggZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nbTYgMTAgMyAzIDYtNicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXJhZGlvLWNoZWNrZWQtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzInIGZpbGw9JyN7JGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjogICAkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnIGQ9J002IDEwaDgnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAkZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stYnRuLWNoZWNrLWRpc2FibGVkLW9wYWNpdHk6ICAgICRidG4tZGlzYWJsZWQtb3BhY2l0eSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi1lbmQ6ICAgIDFyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tY2hlY2stdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXN3aXRjaC12YXJpYWJsZXNcbiRmb3JtLXN3aXRjaC1jb2xvcjogICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAyZW0gIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydDogICAgICAgJGZvcm0tc3dpdGNoLXdpZHRoICsgLjVlbSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1iZy1pbWFnZTogICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtYm9yZGVyLXJhZGl1czogICAgICAgJGZvcm0tc3dpdGNoLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXRyYW5zaXRpb246ICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tc3dpdGNoLWZvY3VzLWNvbG9yOiAgICAgICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtZm9jdXMtYmctaW1hZ2U6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skZm9ybS1zd2l0Y2gtZm9jdXMtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1zd2l0Y2gtY2hlY2tlZC1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1pbWFnZTogICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skZm9ybS1zd2l0Y2gtY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1wb3NpdGlvbjogcmlnaHQgY2VudGVyICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXN3aXRjaC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGlucHV0LWdyb3VwLXZhcmlhYmxlc1xuJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteTogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy14OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1mb250LXdlaWdodDogICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaW5wdXQtZ3JvdXAtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXNlbGVjdC12YXJpYWJsZXNcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgJGlucHV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAgICRmb3JtLXNlbGVjdC1wYWRkaW5nLXggKiAzICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIGZvciBiYWNrZ3JvdW5kLWltYWdlXG4kZm9ybS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWJvcmRlci1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZy1wb3NpdGlvbjogICAgICAgICAgIHJpZ2h0ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgICAgMTZweCAxMnB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNic+PHBhdGggZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMicgZD0nbTIgNSA2IDYgNi02Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLWVuZDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteCAqIDIuNSArICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uOiAgICBjZW50ZXIgcmlnaHQgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTogICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1czogICAgICAgJGlucHV0LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgJGJveC1zaGFkb3ctaW5zZXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICAkaW5wdXQtZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMtc206ICAgICRpbnB1dC1ib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgICRpbnB1dC1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1sZzogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC10cmFuc2l0aW9uOiAgICAgICAgICAkaW5wdXQtdHJhbnNpdGlvbiAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1zZWxlY3QtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXJhbmdlLXZhcmlhYmxlc1xuJGZvcm0tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgJGJveC1zaGFkb3ctaW5zZXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICRmb3JtLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIC4xcmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogICAgICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBFZGdlXG4kZm9ybS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgdGludC1jb2xvcigkY29tcG9uZW50LWFjdGl2ZS1iZywgNzAlKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLXRyYW5zaXRpb246ICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tcmFuZ2UtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZpbGUtdmFyaWFibGVzXG4kZm9ybS1maWxlLWJ1dHRvbi1jb2xvcjogICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmlsZS1idXR0b24tYmc6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kZm9ybS1maWxlLWJ1dHRvbi1ob3Zlci1iZzogICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tZmlsZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmxvYXRpbmctdmFyaWFibGVzXG4kZm9ybS1mbG9hdGluZy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgYWRkKDMuNXJlbSwgJGlucHV0LWhlaWdodC1ib3JkZXIpICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGluZS1oZWlnaHQ6ICAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteTogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10OiAgICAgICAgIDEuNjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iOiAgICAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC1oZWlnaHQ6ICAgICAgICAgICAgMS41ZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC1vcGFjaXR5OiAgICAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtOiAgICAgICAgIHNjYWxlKC44NSkgdHJhbnNsYXRlWSgtLjVyZW0pIHRyYW5zbGF0ZVgoLjE1cmVtKSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy10cmFuc2l0aW9uOiAgICAgICAgICAgICAgb3BhY2l0eSAuMXMgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAuMXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tZmxvYXRpbmctdmFyaWFibGVzXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1mZWVkYmFjay12YXJpYWJsZXNcbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAgICAgICRmb3JtLXRleHQtbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTogICAgICAgICAgICRmb3JtLXRleHQtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zdHlsZTogICAgICAgICAgJGZvcm0tdGV4dC1mb250LXN0eWxlICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgJHN1Y2Nlc3MgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICAkZGFuZ2VyICFkZWZhdWx0O1xuXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEyIDEyJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9Jz48Y2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8+PHBhdGggc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTUuOCAzLjZoLjRMNiA2LjV6Jy8+PGNpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgc3Ryb2tlPSdub25lJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZlZWRiYWNrLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLWNvbG9yc1xuJGZvcm0tdmFsaWQtY29sb3I6ICAgICAgICAgICAgICAgICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS12YWxpZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWludmFsaWQtY29sb3I6ICAgICAgICAgICAgICAgICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcjogICAgICAgICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXZhbGlkYXRpb24tY29sb3JzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKFxuICBcInZhbGlkXCI6IChcbiAgICBcImNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWNvbG9yKSxcbiAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZCxcbiAgICBcInRvb2x0aXAtY29sb3JcIjogI2ZmZixcbiAgICBcInRvb2x0aXAtYmctY29sb3JcIjogdmFyKC0tI3skcHJlZml4fXN1Y2Nlc3MpLFxuICAgIFwiZm9jdXMtYm94LXNoYWRvd1wiOiAwIDAgJGlucHV0LWJ0bi1mb2N1cy1ibHVyICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKHZhcigtLSN7JHByZWZpeH1zdWNjZXNzLXJnYiksICRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eSksXG4gICAgXCJib3JkZXItY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yKSxcbiAgKSxcbiAgXCJpbnZhbGlkXCI6IChcbiAgICBcImNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtY29sb3IpLFxuICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQsXG4gICAgXCJ0b29sdGlwLWNvbG9yXCI6ICNmZmYsXG4gICAgXCJ0b29sdGlwLWJnLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1kYW5nZXIpLFxuICAgIFwiZm9jdXMtYm94LXNoYWRvd1wiOiAwIDAgJGlucHV0LWJ0bi1mb2N1cy1ibHVyICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKHZhcigtLSN7JHByZWZpeH1kYW5nZXItcmdiKSwgJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5KSxcbiAgICBcImJvcmRlci1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvciksXG4gIClcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgemluZGV4LXN0YWNrXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW9mZmNhbnZhcy1iYWNrZHJvcDogICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1vZmZjYW52YXM6ICAgICAgICAgICAgICAgICAgMTA0NSAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgICAgICAgICAxMDU1ICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgICAgICAgICAgIDEwODAgIWRlZmF1bHQ7XG4kemluZGV4LXRvYXN0OiAgICAgICAgICAgICAgICAgICAgICAxMDkwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB6aW5kZXgtc3RhY2tcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHppbmRleC1sZXZlbHMtbWFwXG4kemluZGV4LWxldmVsczogKFxuICBuMTogLTEsXG4gIDA6IDAsXG4gIDE6IDEsXG4gIDI6IDIsXG4gIDM6IDNcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHppbmRleC1sZXZlbHMtbWFwXG5cblxuLy8gTmF2c1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXZhcmlhYmxlc1xuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRuYXYtbGluay1mb250LXdlaWdodDogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbmF2LWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LWxpbmstdHJhbnNpdGlvbjogICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgY29sb3ItY29udHJhc3QoJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZywgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IpICFkZWZhdWx0O1xuXG4kbmF2LXVuZGVybGluZS1nYXA6ICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoOiAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRuYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yOiAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdi12YXJpYWJsZXNcblxuXG4vLyBOYXZiYXJcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci12YXJpYWJsZXNcbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQ6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoOiAgICAgICAgJGJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uOiAgICAgICAgIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJG5hdmJhci1iZzogICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYW55IG5hdmJhclBhZ2UoKVxuJG5hdmJhci1saWdodC1iZzogJG5hdmJhci1iZyAhZGVmYXVsdDsgLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgbmF2YmFyUGFnZShpbnZlcnNlID0gRkFMU0UpXG4kbmF2YmFyLWRhcmstYmc6ICAkbmF2YmFyLWJnICFkZWZhdWx0OyAvLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBuYXZiYXJQYWdlKGludmVyc2UgPSBUUlVFKVxuXG4kbmF2YmFyLWxpZ2h0LWNvbnRyYXN0OiBpZihcbiAgdHlwZS1vZigkbmF2YmFyLWxpZ2h0LWJnKSA9PSBjb2xvcixcbiAgY29sb3ItY29udHJhc3QoJG5hdmJhci1saWdodC1iZyksXG4gIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpXG4pICFkZWZhdWx0OyAvLyBEZWVwZXN0IGNvbnRyYXN0aW5nIGNvbG9yIGZvciBuYXZiYXJQYWdlKGludmVyc2UgPSBGQUxTRSkuXG4kbmF2YmFyLWRhcmstY29udHJhc3Q6IGlmKFxuICB0eXBlLW9mKCRuYXZiYXItZGFyay1iZykgPT0gY29sb3IsXG4gIGNvbG9yLWNvbnRyYXN0KCRuYXZiYXItZGFyay1iZyksXG4gIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpXG4pICFkZWZhdWx0OyAvLyBEZWVwZXN0IGNvbnRyYXN0aW5nIGNvbG9yIGZvciBuYXZiYXJQYWdlKGludmVyc2UgPSBUUlVFKS5cblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkbmF2YmFyLWxpZ2h0LWNvbnRyYXN0LCAuNjUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkbmF2YmFyLWxpZ2h0LWNvbnRyYXN0LCAuOCkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRuYXZiYXItbGlnaHQtY29udHJhc3QsIDEpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkbmF2YmFyLWxpZ2h0LWNvbnRyYXN0LCAuMykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWljb24tY29sb3I6ICAgICAgICAgICByZ2JhKGlmKHR5cGUtb2YoJG5hdmJhci1saWdodC1jb250cmFzdCk9PWNvbG9yLCAkbmF2YmFyLWxpZ2h0LWNvbnRyYXN0LCAkYm9keS1jb2xvciksIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtaWNvbi1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkbmF2YmFyLWxpZ2h0LWNvbnRyYXN0LCAuMTUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWRhcmstdmFyaWFibGVzXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRuYXZiYXItZGFyay1jb250cmFzdCwgLjU1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJG5hdmJhci1kYXJrLWNvbnRyYXN0LCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgcmdiYSgkbmF2YmFyLWRhcmstY29udHJhc3QsIDEpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkbmF2YmFyLWRhcmstY29udHJhc3QsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaWNvbi1jb2xvcjogICAgICAgICAgICByZ2JhKGlmKHR5cGUtb2YoJG5hdmJhci1kYXJrLWNvbnRyYXN0KT09Y29sb3IsICRuYXZiYXItZGFyay1jb250cmFzdCwgJHdoaXRlKSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1kYXJrLWljb24tY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJG5hdmJhci1kYXJrLWNvbnRyYXN0LCAuMSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtY29sb3I6ICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLWRhcmstdmFyaWFibGVzXG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZHJvcGRvd24tdmFyaWFibGVzXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgY2FsYygjeyRkcm9wZG93bi1ib3JkZXItcmFkaXVzfSAtICN7JGRyb3Bkb3duLWJvcmRlci13aWR0aH0pICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgICAgJGRyb3Bkb3duLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICRib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAkZHJvcGRvd24tbGluay1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgY29sb3ItY29udHJhc3QoJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnLCAkY29tcG9uZW50LWFjdGl2ZS1jb2xvcikgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgICAgICRzcGFjZXIgKiAuMjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteDogICAgICAgICAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteTogICAgICAgICAkZHJvcGRvd24tcGFkZGluZy15ICFkZWZhdWx0O1xuLy8gZnVzdi1kaXNhYmxlXG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteSAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjBcbi8vIGZ1c3YtZW5hYmxlXG4vLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZHJvcGRvd24tZGFyay12YXJpYWJsZXNcbiRkcm9wZG93bi1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWJvcmRlci1jb2xvcjogICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1kaXZpZGVyLWJnOiAgICAgICAgICAkZHJvcGRvd24tZGl2aWRlci1iZyAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWJveC1zaGFkb3c6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWNvbG9yOiAgICAgICAgICAkZHJvcGRvd24tZGFyay1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItY29sb3I6ICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItYmc6ICAgICAgIHJnYmEoJHdoaXRlLCAuMTUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtY29sb3I6ICAgJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtYmc6ICAgICAgJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1kaXNhYmxlZC1jb2xvcjogJGdyYXktNTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstaGVhZGVyLWNvbG9yOiAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBkcm9wZG93bi1kYXJrLXZhcmlhYmxlc1xuXG5cbi8vIFBhZ2luYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBhZ2luYXRpb24tdmFyaWFibGVzXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1tYXJnaW4tc3RhcnQ6ICAgICAgICAgICBjYWxjKCN7JHBhZ2luYXRpb24tYm9yZGVyLXdpZHRofSAqIC0xKSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1jb2xvcjogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1iZzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7IC8vIFRvZG8gaW4gdjY6IHJlbW92ZSB0aGlzP1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwYWdpbmF0aW9uLXZhcmlhYmxlc1xuXG5cbi8vIFBsYWNlaG9sZGVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGxhY2Vob2xkZXJzXG4kcGxhY2Vob2xkZXItb3BhY2l0eS1tYXg6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1vcGFjaXR5LW1pbjogICAgICAgICAgIC4yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwbGFjZWhvbGRlcnNcblxuLy8gQ2FyZHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmQtdmFyaWFibGVzXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLXNwYWNlci15OiAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1zdWJ0aXRsZS1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRjYXJkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBzdWJ0cmFjdCgkY2FyZC1ib3JkZXItcmFkaXVzLCAkY2FyZC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGNhcmQtY2FwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgKiAuNSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci14ICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2IpLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAqIC41ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjYXJkLXZhcmlhYmxlc1xuXG4vLyBBY2NvcmRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFjY29yZGlvbi12YXJpYWJsZXNcbiRhY2NvcmRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgIHN1YnRyYWN0KCRhY2NvcmRpb24tYm9yZGVyLXJhZGl1cywgJGFjY29yZGlvbi1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICAgICAkYWNjb3JkaW9uLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAkYWNjb3JkaW9uLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteDogICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy14ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1iZykgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAkYnRuLXRyYW5zaXRpb24sIGJvcmRlci1yYWRpdXMgLjE1cyBlYXNlICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXByaW1hcnktYmctc3VidGxlKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LXRleHQtZW1waGFzaXMpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAkcHJpbWFyeS10ZXh0LWVtcGhhc2lzICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi10cmFuc2Zvcm06ICAgICAgICAgICAgICAgIHJvdGF0ZSgtMTgwZGVnKSAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1idXR0b24taWNvbjogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skYWNjb3JkaW9uLWljb24tY29sb3J9Jz48cGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xLjY0NiA0LjY0NmEuNS41IDAgMCAxIC43MDggMEw4IDEwLjI5M2w1LjY0Ni01LjY0N2EuNS41IDAgMCAxIC43MDguNzA4bC02IDZhLjUuNSAwIDAgMS0uNzA4IDBsLTYtNmEuNS41IDAgMCAxIDAtLjcwOHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtaWNvbjogIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3J9Jz48cGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xLjY0NiA0LjY0NmEuNS41IDAgMCAxIC43MDggMEw4IDEwLjI5M2w1LjY0Ni01LjY0N2EuNS41IDAgMCAxIC43MDguNzA4bC02IDZhLjUuNSAwIDAgMS0uNzA4IDBsLTYtNmEuNS41IDAgMCAxIDAtLjcwOHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGFjY29yZGlvbi12YXJpYWJsZXNcblxuLy8gVG9vbHRpcHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvb2x0aXAtdmFyaWFibGVzXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjI1ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gVE9ETzogcmVtb3ZlIHRoaXMgaW4gdjZcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbi8vIGZ1c3YtZGlzYWJsZVxuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiBCb290c3RyYXAgNS4yLjAgZm9yIENTUyB2YXJpYWJsZXNcbi8vIGZ1c3YtZW5hYmxlXG4vLyBzY3NzLWRvY3MtZW5kIHRvb2x0aXAtdmFyaWFibGVzXG5cbi8vIEZvcm0gdG9vbHRpcHMgbXVzdCBjb21lIGFmdGVyIHJlZ3VsYXIgdG9vbHRpcHNcbi8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLWZlZWRiYWNrLXZhcmlhYmxlc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICBudWxsICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0b29sdGlwLWZlZWRiYWNrLXZhcmlhYmxlc1xuXG5cbi8vIFBvcG92ZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwb3BvdmVyLXZhcmlhYmxlc1xuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgIGNhbGMoI3skcG9wb3Zlci1ib3JkZXItcmFkaXVzfSAtICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvcG92ZXItdmFyaWFibGVzXG5cbi8vIGZ1c3YtZGlzYWJsZVxuLy8gRGVwcmVjYXRlZCBpbiBCb290c3RyYXAgNS4yLjAgZm9yIENTUyB2YXJpYWJsZXNcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4vLyBmdXN2LWVuYWJsZVxuXG5cbi8vIFRvYXN0c1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9hc3QtdmFyaWFibGVzXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWJnLXJnYiksIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cpICFkZWZhdWx0O1xuJHRvYXN0LXNwYWNpbmc6ICAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2IpLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJHRvYXN0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdG9hc3QtdmFyaWFibGVzXG5cblxuLy8gQmFkZ2VzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBiYWRnZS12YXJpYWJsZXNcbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMzVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC42NWVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBiYWRnZS12YXJpYWJsZXNcblxuXG4vLyBNb2RhbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLXZhcmlhYmxlc1xuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogc3VidHJhY3QoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cywgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgICRib3gtc2hhZG93LXNtICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgJGJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gS2VlcCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuXG4kbW9kYWwtZm9vdGVyLWJnOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXhsOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgICAgICAgICAgICB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG4kbW9kYWwtc2NhbGUtdHJhbnNmb3JtOiAgICAgICAgICAgICBzY2FsZSgxLjAyKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtdmFyaWFibGVzXG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC12YXJpYWJsZXNcbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kYWxlcnQtZGlzbWlzc2libGUtcGFkZGluZy1yOiAgICRhbGVydC1wYWRkaW5nLXggKiAzICFkZWZhdWx0OyAvLyAzeCBjb3ZlcnMgd2lkdGggb2YgeCBwbHVzIGRlZmF1bHQgcGFkZGluZyBvbiBlaXRoZXIgc2lkZVxuLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4kYWxlcnQtYmctc2NhbGU6ICAgICAgICAgICAgICAgIC04MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wLCB0byBiZSByZW1vdmVkIGluIHY2XG4kYWxlcnQtYm9yZGVyLXNjYWxlOiAgICAgICAgICAgIC03MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wLCB0byBiZSByZW1vdmVkIGluIHY2XG4kYWxlcnQtY29sb3Itc2NhbGU6ICAgICAgICAgICAgIDQwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHByb2dyZXNzLXZhcmlhYmxlc1xuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC43NSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcHJvZ3Jlc3MtdmFyaWFibGVzXG5cblxuLy8gTGlzdCBncm91cFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbGlzdC1ncm91cC12YXJpYWJsZXNcbiRsaXN0LWdyb3VwLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiRsaXN0LWdyb3VwLWl0ZW0tYmctc2NhbGU6ICAgICAgICAgIC04MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wXG4kbGlzdC1ncm91cC1pdGVtLWNvbG9yLXNjYWxlOiAgICAgICA0MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wXG4vLyBmdXN2LWVuYWJsZVxuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICBjb2xvci1jb250cmFzdCgkbGlzdC1ncm91cC1hY3RpdmUtYmcsICRjb21wb25lbnQtYWN0aXZlLWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbGlzdC1ncm91cC12YXJpYWJsZXNcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aHVtYm5haWwtdmFyaWFibGVzXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctc20pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aHVtYm5haWwtdmFyaWFibGVzXG5cblxuLy8gRmlndXJlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZmlndXJlLXZhcmlhYmxlc1xuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmaWd1cmUtdmFyaWFibGVzXG5cblxuLy8gQnJlYWRjcnVtYnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJyZWFkY3J1bWItdmFyaWFibGVzXG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItZmxpcHBlZDogICAgICAgICRicmVhZGNydW1iLWRpdmlkZXIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBicmVhZGNydW1iLXZhcmlhYmxlc1xuXG4vLyBDYXJvdXNlbFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2Fyb3VzZWwtdmFyaWFibGVzXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1vcGFjaXR5OiAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLW9wYWNpdHk6ICAxICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tcGFkZGluZy15OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1zcGFjZXI6ICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDJyZW0gIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nPjxwYXRoIGQ9J00xMS4zNTQgMS42NDZhLjUuNSAwIDAgMSAwIC43MDhMNS43MDcgOGw1LjY0NyA1LjY0NmEuNS41IDAgMCAxLS43MDguNzA4bC02LTZhLjUuNSAwIDAgMSAwLS43MDhsNi02YS41LjUgMCAwIDEgLjcwOCAweicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nPjxwYXRoIGQ9J000LjY0NiAxLjY0NmEuNS41IDAgMCAxIC43MDggMGw2IDZhLjUuNSAwIDAgMSAwIC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDgtLjcwOEwxMC4yOTMgOCA0LjY0NiAyLjM1NGEuNS41IDAgMCAxIDAtLjcwOHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAuNnMgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuLy8gc2Nzcy1kb2NzLWVuZCBjYXJvdXNlbC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcm91c2VsLWRhcmstdmFyaWFibGVzXG4kY2Fyb3VzZWwtZGFyay1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgJGJsYWNrICFkZWZhdWx0O1xuJGNhcm91c2VsLWRhcmstY2FwdGlvbi1jb2xvcjogICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjYXJvdXNlbC1kYXJrLWNvbnRyb2wtaWNvbi1maWx0ZXI6ICBpbnZlcnQoMSkgZ3JheXNjYWxlKDEwMCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcm91c2VsLWRhcmstdmFyaWFibGVzXG5cblxuLy8gU3Bpbm5lcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItdmFyaWFibGVzXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItdmVydGljYWwtYWxpZ246ICAtLjEyNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgICAuMjVlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogLjc1cyAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci12YXJpYWJsZXNcblxuXG4vLyBDbG9zZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2xvc2UtdmFyaWFibGVzXG4kYnRuLWNsb3NlLXdpZHRoOiAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaGVpZ2h0OiAgICAgICAgICAgJGJ0bi1jbG9zZS13aWR0aCAhZGVmYXVsdDtcbiRidG4tY2xvc2UtcGFkZGluZy14OiAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXBhZGRpbmcteTogICAgICAgICRidG4tY2xvc2UtcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1jb2xvcjogICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWJnOiAgICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRidG4tY2xvc2UtY29sb3J9Jz48cGF0aCBkPSdNLjI5My4yOTNhMSAxIDAgMCAxIDEuNDE0IDBMOCA2LjU4NiAxNC4yOTMuMjkzYTEgMSAwIDEgMSAxLjQxNCAxLjQxNEw5LjQxNCA4bDYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNCAxLjQxNEw4IDkuNDE0bC02LjI5MyA2LjI5M2ExIDEgMCAwIDEtMS40MTQtMS40MTRMNi41ODYgOCAuMjkzIDEuNzA3YTEgMSAwIDAgMSAwLTEuNDE0eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZm9jdXMtc2hhZG93OiAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tY2xvc2Utb3BhY2l0eTogICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWhvdmVyLW9wYWNpdHk6ICAgIC43NSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZm9jdXMtb3BhY2l0eTogICAgMSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eTogLjI1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS13aGl0ZS1maWx0ZXI6ICAgICBpbnZlcnQoMSkgZ3JheXNjYWxlKDEwMCUpIGJyaWdodG5lc3MoMjAwJSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNsb3NlLXZhcmlhYmxlc1xuXG5cbi8vIE9mZmNhbnZhc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgb2ZmY2FudmFzLXZhcmlhYmxlc1xuJG9mZmNhbnZhcy1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXBhZGRpbmcteDogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtaG9yaXpvbnRhbC13aWR0aDogICAgICAgIDQwMHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1oZWlnaHQ6ICAgICAgICAgMzB2aCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgIC4zcyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICRtb2RhbC10aXRsZS1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmctY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtY29sb3I6ICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAkbW9kYWwtYmFja2Ryb3AtYmcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgb2ZmY2FudmFzLXZhcmlhYmxlc1xuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4vLyBBbW91bnQgaW50ZW50aW9uYWxseSBtYXRjaGVzIG1peHR1cmUgYW1vdW50IG9mIHNoaW55OjppbnB1dFBhbmVsKClcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9yc3R1ZGlvL3NoaW55L2Jsb2IvNGVlYjRhMS9pbnN0L3d3dy9zaGFyZWQvc2hpbnlfc2Nzcy9ib290c3RyYXAuc2NzcyNMMjVcbiRjb2RlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgIFJHQkEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiwgMCwwLDApLCAwLjA0KSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIFJHQih2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiLCAwLDAsMCkpICFkZWZhdWx0O1xuJGNvZGUtY29sb3ItZGFyazogICAgICAgICAgICAgICAgICAgUkdCKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IsIDAsMCwwKSkgIWRlZmF1bHQ7XG5cbiRrYmQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIC4xODc1cmVtICFkZWZhdWx0O1xuJGtiZC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wLCByZW1vdmluZyBpbiB2NlxuXG4kcHJlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29kZS1iZyAgIWRlZmF1bHQ7XG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkY29kZS1jb2xvciAhZGVmYXVsdDtcbiIsCgkJIi8vIERhcmsgY29sb3IgbW9kZSB2YXJpYWJsZXNcbi8vXG4vLyBDdXN0b20gdmFyaWFibGVzIGZvciB0aGUgYFtkYXRhLWJzLXRoZW1lPVwiZGFya1wiXWAgdGhlbWUuIFVzZSB0aGlzIGFzIGEgc3RhcnRpbmcgcG9pbnQgZm9yIHlvdXIgb3duIGN1c3RvbSBjb2xvciBtb2RlcyBieSBjcmVhdGluZyBhIG5ldyB0aGVtZS1zcGVjaWZpYyBmaWxlIGxpa2UgYF92YXJpYWJsZXMtZGFyay5zY3NzYCBhbmQgYWRkaW5nIHRoZSB2YXJpYWJsZXMgeW91IG5lZWQuXG5cbi8vXG4vLyBHbG9iYWwgY29sb3JzXG4vL1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc2Fzcy1kYXJrLW1vZGUtdmFyc1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLXRleHQtZGFyay12YXJpYWJsZXNcbiRwcmltYXJ5LXRleHQtZW1waGFzaXMtZGFyazogICAgICAgIHRpbnQtY29sb3IoJHByaW1hcnksIDQwJSkgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LXRleHQtZW1waGFzaXMtZGFyazogICAgICB0aW50LWNvbG9yKCRzZWNvbmRhcnksIDQwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy10ZXh0LWVtcGhhc2lzLWRhcms6ICAgICAgICB0aW50LWNvbG9yKCRzdWNjZXNzLCA0MCUpICFkZWZhdWx0O1xuJGluZm8tdGV4dC1lbXBoYXNpcy1kYXJrOiAgICAgICAgICAgdGludC1jb2xvcigkaW5mbywgNDAlKSAhZGVmYXVsdDtcbiR3YXJuaW5nLXRleHQtZW1waGFzaXMtZGFyazogICAgICAgIHRpbnQtY29sb3IoJHdhcm5pbmcsIDQwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLXRleHQtZW1waGFzaXMtZGFyazogICAgICAgICB0aW50LWNvbG9yKCRkYW5nZXIsIDQwJSkgIWRlZmF1bHQ7XG4kbGlnaHQtdGV4dC1lbXBoYXNpcy1kYXJrOiAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyay10ZXh0LWVtcGhhc2lzLWRhcms6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLXRleHQtZGFyay12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWJnLXN1YnRsZS1kYXJrLXZhcmlhYmxlc1xuJHByaW1hcnktYmctc3VidGxlLWRhcms6ICAgICAgICAgICAgc2hhZGUtY29sb3IoJHByaW1hcnksIDgwJSkgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWJnLXN1YnRsZS1kYXJrOiAgICAgICAgICBzaGFkZS1jb2xvcigkc2Vjb25kYXJ5LCA4MCUpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYmctc3VidGxlLWRhcms6ICAgICAgICAgICAgc2hhZGUtY29sb3IoJHN1Y2Nlc3MsIDgwJSkgIWRlZmF1bHQ7XG4kaW5mby1iZy1zdWJ0bGUtZGFyazogICAgICAgICAgICAgICBzaGFkZS1jb2xvcigkaW5mbywgODAlKSAhZGVmYXVsdDtcbiR3YXJuaW5nLWJnLXN1YnRsZS1kYXJrOiAgICAgICAgICAgIHNoYWRlLWNvbG9yKCR3YXJuaW5nLCA4MCUpICFkZWZhdWx0O1xuJGRhbmdlci1iZy1zdWJ0bGUtZGFyazogICAgICAgICAgICAgc2hhZGUtY29sb3IoJGRhbmdlciwgODAlKSAhZGVmYXVsdDtcbiRsaWdodC1iZy1zdWJ0bGUtZGFyazogICAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRkYXJrLWJnLXN1YnRsZS1kYXJrOiAgICAgICAgICAgICAgIG1peCgkZ3JheS04MDAsICRibGFjaykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWJnLXN1YnRsZS1kYXJrLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtYm9yZGVyLXN1YnRsZS1kYXJrLXZhcmlhYmxlc1xuJHByaW1hcnktYm9yZGVyLXN1YnRsZS1kYXJrOiAgICAgICAgc2hhZGUtY29sb3IoJHByaW1hcnksIDQwJSkgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWJvcmRlci1zdWJ0bGUtZGFyazogICAgICBzaGFkZS1jb2xvcigkc2Vjb25kYXJ5LCA0MCUpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYm9yZGVyLXN1YnRsZS1kYXJrOiAgICAgICAgc2hhZGUtY29sb3IoJHN1Y2Nlc3MsIDQwJSkgIWRlZmF1bHQ7XG4kaW5mby1ib3JkZXItc3VidGxlLWRhcms6ICAgICAgICAgICBzaGFkZS1jb2xvcigkaW5mbywgNDAlKSAhZGVmYXVsdDtcbiR3YXJuaW5nLWJvcmRlci1zdWJ0bGUtZGFyazogICAgICAgIHNoYWRlLWNvbG9yKCR3YXJuaW5nLCA0MCUpICFkZWZhdWx0O1xuJGRhbmdlci1ib3JkZXItc3VidGxlLWRhcms6ICAgICAgICAgc2hhZGUtY29sb3IoJGRhbmdlciwgNDAlKSAhZGVmYXVsdDtcbiRsaWdodC1ib3JkZXItc3VidGxlLWRhcms6ICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRkYXJrLWJvcmRlci1zdWJ0bGUtZGFyazogICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtYm9yZGVyLXN1YnRsZS1kYXJrLXZhcmlhYmxlc1xuXG4kYm9keS1jb2xvci1kYXJrOiAgICAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kYm9keS1iZy1kYXJrOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kYm9keS1zZWNvbmRhcnktY29sb3ItZGFyazogICAgICAgICByZ2JhKCRib2R5LWNvbG9yLWRhcmssIC43NSkgIWRlZmF1bHQ7XG4kYm9keS1zZWNvbmRhcnktYmctZGFyazogICAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kYm9keS10ZXJ0aWFyeS1jb2xvci1kYXJrOiAgICAgICAgICByZ2JhKCRib2R5LWNvbG9yLWRhcmssIC41KSAhZGVmYXVsdDtcbiRib2R5LXRlcnRpYXJ5LWJnLWRhcms6ICAgICAgICAgICAgIG1peCgkZ3JheS04MDAsICRncmF5LTkwMCwgNTAlKSAhZGVmYXVsdDtcbiRib2R5LWVtcGhhc2lzLWNvbG9yLWRhcms6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRib3JkZXItY29sb3ItZGFyazogICAgICAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQtZGFyazogICAgIHJnYmEoJHdoaXRlLCAuMTUpICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yLWRhcms6ICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRsaW5rLWNvbG9yLWRhcms6ICAgICAgICAgICAgICAgICAgIHRpbnQtY29sb3IoJHByaW1hcnksIDQwJSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvci1kYXJrOiAgICAgICAgICAgICBzaGlmdC1jb2xvcigkbGluay1jb2xvci1kYXJrLCAtJGxpbmstc2hhZGUtcGVyY2VudGFnZSkgIWRlZmF1bHQ7XG4kY29kZS1jb2xvci1kYXJrOiAgICAgICAgICAgICAgICAgICB0aW50LWNvbG9yKCRjb2RlLWNvbG9yLCA0MCUpICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBGb3Jtc1xuLy9cblxuJGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvci1kYXJrOiAgJGJvZHktY29sb3ItZGFyayAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItZGFyazogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2Jz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvci1kYXJrfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tc3dpdGNoLWNvbG9yLWRhcms6ICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtYmctaW1hZ2UtZGFyazogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1jb2xvci1kYXJrfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1jb2xvcnMtZGFya1xuJGZvcm0tdmFsaWQtY29sb3ItZGFyazogICAgICAgICAgICAgJGdyZWVuLTMwMCAhZGVmYXVsdDtcbiRmb3JtLXZhbGlkLWJvcmRlci1jb2xvci1kYXJrOiAgICAgICRncmVlbi0zMDAgIWRlZmF1bHQ7XG4kZm9ybS1pbnZhbGlkLWNvbG9yLWRhcms6ICAgICAgICAgICAkcmVkLTMwMCAhZGVmYXVsdDtcbiRmb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yLWRhcms6ICAgICRyZWQtMzAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXZhbGlkYXRpb24tY29sb3JzLWRhcmtcblxuXG4vL1xuLy8gQWNjb3JkaW9uXG4vL1xuXG4kYWNjb3JkaW9uLWljb24tY29sb3ItZGFyazogICAgICAgICAkcHJpbWFyeS10ZXh0LWVtcGhhc2lzLWRhcmsgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yLWRhcms6ICAkcHJpbWFyeS10ZXh0LWVtcGhhc2lzLWRhcmsgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLWljb24tZGFyazogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skYWNjb3JkaW9uLWljb24tY29sb3ItZGFya30nPjxwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTEuNjQ2IDQuNjQ2YS41LjUgMCAwIDEgLjcwOCAwTDggMTAuMjkzbDUuNjQ2LTUuNjQ3YS41LjUgMCAwIDEgLjcwOC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDggMGwtNi02YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uLWRhcms6ICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yLWRhcmt9Jz48cGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xLjY0NiA0LjY0NmEuNS41IDAgMCAxIC43MDggMEw4IDEwLjI5M2w1LjY0Ni01LjY0N2EuNS41IDAgMCAxIC43MDguNzA4bC02IDZhLjUuNSAwIDAgMS0uNzA4IDBsLTYtNmEuNS41IDAgMCAxIDAtLjcwOHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNhc3MtZGFyay1tb2RlLXZhcnNcbiIsCgkJIi8vIFJlLWFzc2lnbmVkIG1hcHNcbi8vXG4vLyBQbGFjZWQgaGVyZSBzbyB0aGF0IG90aGVycyBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgU2FzcyBtYXBzIGFuZCBzZWUgYXV0b21hdGljIHVwZGF0ZXMgdG8gdXRpbGl0aWVzIGFuZCBtb3JlLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtY29sb3JzLXJnYlxuJHRoZW1lLWNvbG9ycy1yZ2I6IG1hcC1sb29wKCR0aGVtZS1jb2xvcnMsIHRvLXJnYiwgXCIkdmFsdWVcIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWNvbG9ycy1yZ2JcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLXRleHQtbWFwXG4kdGhlbWUtY29sb3JzLXRleHQ6IChcbiAgXCJwcmltYXJ5XCI6ICRwcmltYXJ5LXRleHQtZW1waGFzaXMsXG4gIFwic2Vjb25kYXJ5XCI6ICRzZWNvbmRhcnktdGV4dC1lbXBoYXNpcyxcbiAgXCJzdWNjZXNzXCI6ICRzdWNjZXNzLXRleHQtZW1waGFzaXMsXG4gIFwiaW5mb1wiOiAkaW5mby10ZXh0LWVtcGhhc2lzLFxuICBcIndhcm5pbmdcIjogJHdhcm5pbmctdGV4dC1lbXBoYXNpcyxcbiAgXCJkYW5nZXJcIjogJGRhbmdlci10ZXh0LWVtcGhhc2lzLFxuICBcImxpZ2h0XCI6ICRsaWdodC10ZXh0LWVtcGhhc2lzLFxuICBcImRhcmtcIjogJGRhcmstdGV4dC1lbXBoYXNpcyxcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLXRleHQtbWFwXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1iZy1zdWJ0bGUtbWFwXG4kdGhlbWUtY29sb3JzLWJnLXN1YnRsZTogKFxuICBcInByaW1hcnlcIjogJHByaW1hcnktYmctc3VidGxlLFxuICBcInNlY29uZGFyeVwiOiAkc2Vjb25kYXJ5LWJnLXN1YnRsZSxcbiAgXCJzdWNjZXNzXCI6ICRzdWNjZXNzLWJnLXN1YnRsZSxcbiAgXCJpbmZvXCI6ICRpbmZvLWJnLXN1YnRsZSxcbiAgXCJ3YXJuaW5nXCI6ICR3YXJuaW5nLWJnLXN1YnRsZSxcbiAgXCJkYW5nZXJcIjogJGRhbmdlci1iZy1zdWJ0bGUsXG4gIFwibGlnaHRcIjogJGxpZ2h0LWJnLXN1YnRsZSxcbiAgXCJkYXJrXCI6ICRkYXJrLWJnLXN1YnRsZSxcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWJnLXN1YnRsZS1tYXBcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWJvcmRlci1zdWJ0bGUtbWFwXG4kdGhlbWUtY29sb3JzLWJvcmRlci1zdWJ0bGU6IChcbiAgXCJwcmltYXJ5XCI6ICRwcmltYXJ5LWJvcmRlci1zdWJ0bGUsXG4gIFwic2Vjb25kYXJ5XCI6ICRzZWNvbmRhcnktYm9yZGVyLXN1YnRsZSxcbiAgXCJzdWNjZXNzXCI6ICRzdWNjZXNzLWJvcmRlci1zdWJ0bGUsXG4gIFwiaW5mb1wiOiAkaW5mby1ib3JkZXItc3VidGxlLFxuICBcIndhcm5pbmdcIjogJHdhcm5pbmctYm9yZGVyLXN1YnRsZSxcbiAgXCJkYW5nZXJcIjogJGRhbmdlci1ib3JkZXItc3VidGxlLFxuICBcImxpZ2h0XCI6ICRsaWdodC1ib3JkZXItc3VidGxlLFxuICBcImRhcmtcIjogJGRhcmstYm9yZGVyLXN1YnRsZSxcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWJvcmRlci1zdWJ0bGUtbWFwXG5cbiR0aGVtZS1jb2xvcnMtdGV4dC1kYXJrOiBudWxsICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9ycy1iZy1zdWJ0bGUtZGFyazogbnVsbCAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvcnMtYm9yZGVyLXN1YnRsZS1kYXJrOiBudWxsICFkZWZhdWx0O1xuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtdGV4dC1kYXJrLW1hcFxuICAkdGhlbWUtY29sb3JzLXRleHQtZGFyazogKFxuICAgIFwicHJpbWFyeVwiOiAkcHJpbWFyeS10ZXh0LWVtcGhhc2lzLWRhcmssXG4gICAgXCJzZWNvbmRhcnlcIjogJHNlY29uZGFyeS10ZXh0LWVtcGhhc2lzLWRhcmssXG4gICAgXCJzdWNjZXNzXCI6ICRzdWNjZXNzLXRleHQtZW1waGFzaXMtZGFyayxcbiAgICBcImluZm9cIjogJGluZm8tdGV4dC1lbXBoYXNpcy1kYXJrLFxuICAgIFwid2FybmluZ1wiOiAkd2FybmluZy10ZXh0LWVtcGhhc2lzLWRhcmssXG4gICAgXCJkYW5nZXJcIjogJGRhbmdlci10ZXh0LWVtcGhhc2lzLWRhcmssXG4gICAgXCJsaWdodFwiOiAkbGlnaHQtdGV4dC1lbXBoYXNpcy1kYXJrLFxuICAgIFwiZGFya1wiOiAkZGFyay10ZXh0LWVtcGhhc2lzLWRhcmssXG4gICkgIWRlZmF1bHQ7XG4gIC8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtdGV4dC1kYXJrLW1hcFxuXG4gIC8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1iZy1zdWJ0bGUtZGFyay1tYXBcbiAgJHRoZW1lLWNvbG9ycy1iZy1zdWJ0bGUtZGFyazogKFxuICAgIFwicHJpbWFyeVwiOiAkcHJpbWFyeS1iZy1zdWJ0bGUtZGFyayxcbiAgICBcInNlY29uZGFyeVwiOiAkc2Vjb25kYXJ5LWJnLXN1YnRsZS1kYXJrLFxuICAgIFwic3VjY2Vzc1wiOiAkc3VjY2Vzcy1iZy1zdWJ0bGUtZGFyayxcbiAgICBcImluZm9cIjogJGluZm8tYmctc3VidGxlLWRhcmssXG4gICAgXCJ3YXJuaW5nXCI6ICR3YXJuaW5nLWJnLXN1YnRsZS1kYXJrLFxuICAgIFwiZGFuZ2VyXCI6ICRkYW5nZXItYmctc3VidGxlLWRhcmssXG4gICAgXCJsaWdodFwiOiAkbGlnaHQtYmctc3VidGxlLWRhcmssXG4gICAgXCJkYXJrXCI6ICRkYXJrLWJnLXN1YnRsZS1kYXJrLFxuICApICFkZWZhdWx0O1xuICAvLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWJnLXN1YnRsZS1kYXJrLW1hcFxuXG4gIC8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1ib3JkZXItc3VidGxlLWRhcmstbWFwXG4gICR0aGVtZS1jb2xvcnMtYm9yZGVyLXN1YnRsZS1kYXJrOiAoXG4gICAgXCJwcmltYXJ5XCI6ICRwcmltYXJ5LWJvcmRlci1zdWJ0bGUtZGFyayxcbiAgICBcInNlY29uZGFyeVwiOiAkc2Vjb25kYXJ5LWJvcmRlci1zdWJ0bGUtZGFyayxcbiAgICBcInN1Y2Nlc3NcIjogJHN1Y2Nlc3MtYm9yZGVyLXN1YnRsZS1kYXJrLFxuICAgIFwiaW5mb1wiOiAkaW5mby1ib3JkZXItc3VidGxlLWRhcmssXG4gICAgXCJ3YXJuaW5nXCI6ICR3YXJuaW5nLWJvcmRlci1zdWJ0bGUtZGFyayxcbiAgICBcImRhbmdlclwiOiAkZGFuZ2VyLWJvcmRlci1zdWJ0bGUtZGFyayxcbiAgICBcImxpZ2h0XCI6ICRsaWdodC1ib3JkZXItc3VidGxlLWRhcmssXG4gICAgXCJkYXJrXCI6ICRkYXJrLWJvcmRlci1zdWJ0bGUtZGFyayxcbiAgKSAhZGVmYXVsdDtcbiAgLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1ib3JkZXItc3VidGxlLWRhcmstbWFwXG59XG5cbi8vIFV0aWxpdGllcyBtYXBzXG4vL1xuLy8gRXh0ZW5kcyB0aGUgZGVmYXVsdCBgJHRoZW1lLWNvbG9yc2AgbWFwcyB0byBoZWxwIGNyZWF0ZSBvdXIgdXRpbGl0aWVzLlxuXG4vLyBDb21lIHY2LCB3ZSdsbCBkZS1kdXBlIHRoZXNlIHZhcmlhYmxlcy4gVW50aWwgdGhlbiwgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlIGtlZXAgdGhlbSB0byByZWFzc2lnbi5cbi8vIHNjc3MtZG9jcy1zdGFydCB1dGlsaXRpZXMtY29sb3JzXG4kdXRpbGl0aWVzLWNvbG9yczogJHRoZW1lLWNvbG9ycy1yZ2IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHV0aWxpdGllcy1jb2xvcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHV0aWxpdGllcy10ZXh0LWNvbG9yc1xuJHV0aWxpdGllcy10ZXh0OiBtYXAtbWVyZ2UoXG4gICR1dGlsaXRpZXMtY29sb3JzLFxuICAoXG4gICAgXCJibGFja1wiOiB0by1yZ2IoJGJsYWNrKSxcbiAgICBcIndoaXRlXCI6IHRvLXJnYigkd2hpdGUpLFxuICAgIFwiYm9keVwiOiB0by1yZ2IoJGJvZHktY29sb3IpXG4gIClcbikgIWRlZmF1bHQ7XG4kdXRpbGl0aWVzLXRleHQtY29sb3JzOiBtYXAtbG9vcCgkdXRpbGl0aWVzLXRleHQsIHJnYmEtY3NzLXZhciwgXCIka2V5XCIsIFwidGV4dFwiKSAhZGVmYXVsdDtcblxuJHV0aWxpdGllcy10ZXh0LWVtcGhhc2lzLWNvbG9yczogKFxuICBcInByaW1hcnktZW1waGFzaXNcIjogdmFyKC0tI3skcHJlZml4fXByaW1hcnktdGV4dC1lbXBoYXNpcyksXG4gIFwic2Vjb25kYXJ5LWVtcGhhc2lzXCI6IHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktdGV4dC1lbXBoYXNpcyksXG4gIFwic3VjY2Vzcy1lbXBoYXNpc1wiOiB2YXIoLS0jeyRwcmVmaXh9c3VjY2Vzcy10ZXh0LWVtcGhhc2lzKSxcbiAgXCJpbmZvLWVtcGhhc2lzXCI6IHZhcigtLSN7JHByZWZpeH1pbmZvLXRleHQtZW1waGFzaXMpLFxuICBcIndhcm5pbmctZW1waGFzaXNcIjogdmFyKC0tI3skcHJlZml4fXdhcm5pbmctdGV4dC1lbXBoYXNpcyksXG4gIFwiZGFuZ2VyLWVtcGhhc2lzXCI6IHZhcigtLSN7JHByZWZpeH1kYW5nZXItdGV4dC1lbXBoYXNpcyksXG4gIFwibGlnaHQtZW1waGFzaXNcIjogdmFyKC0tI3skcHJlZml4fWxpZ2h0LXRleHQtZW1waGFzaXMpLFxuICBcImRhcmstZW1waGFzaXNcIjogdmFyKC0tI3skcHJlZml4fWRhcmstdGV4dC1lbXBoYXNpcylcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHV0aWxpdGllcy10ZXh0LWNvbG9yc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbGl0aWVzLWJnLWNvbG9yc1xuJHV0aWxpdGllcy1iZzogbWFwLW1lcmdlKFxuICAkdXRpbGl0aWVzLWNvbG9ycyxcbiAgKFxuICAgIFwiYmxhY2tcIjogdG8tcmdiKCRibGFjayksXG4gICAgXCJ3aGl0ZVwiOiB0by1yZ2IoJHdoaXRlKSxcbiAgICBcImJvZHlcIjogdG8tcmdiKCRib2R5LWJnKVxuICApXG4pICFkZWZhdWx0O1xuJHV0aWxpdGllcy1iZy1jb2xvcnM6IG1hcC1sb29wKCR1dGlsaXRpZXMtYmcsIHJnYmEtY3NzLXZhciwgXCIka2V5XCIsIFwiYmdcIikgIWRlZmF1bHQ7XG5cbiR1dGlsaXRpZXMtYmctc3VidGxlOiAoXG4gIFwicHJpbWFyeS1zdWJ0bGVcIjogdmFyKC0tI3skcHJlZml4fXByaW1hcnktYmctc3VidGxlKSxcbiAgXCJzZWNvbmRhcnktc3VidGxlXCI6IHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmctc3VidGxlKSxcbiAgXCJzdWNjZXNzLXN1YnRsZVwiOiB2YXIoLS0jeyRwcmVmaXh9c3VjY2Vzcy1iZy1zdWJ0bGUpLFxuICBcImluZm8tc3VidGxlXCI6IHZhcigtLSN7JHByZWZpeH1pbmZvLWJnLXN1YnRsZSksXG4gIFwid2FybmluZy1zdWJ0bGVcIjogdmFyKC0tI3skcHJlZml4fXdhcm5pbmctYmctc3VidGxlKSxcbiAgXCJkYW5nZXItc3VidGxlXCI6IHZhcigtLSN7JHByZWZpeH1kYW5nZXItYmctc3VidGxlKSxcbiAgXCJsaWdodC1zdWJ0bGVcIjogdmFyKC0tI3skcHJlZml4fWxpZ2h0LWJnLXN1YnRsZSksXG4gIFwiZGFyay1zdWJ0bGVcIjogdmFyKC0tI3skcHJlZml4fWRhcmstYmctc3VidGxlKVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdXRpbGl0aWVzLWJnLWNvbG9yc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbGl0aWVzLWJvcmRlci1jb2xvcnNcbiR1dGlsaXRpZXMtYm9yZGVyOiBtYXAtbWVyZ2UoXG4gICR1dGlsaXRpZXMtY29sb3JzLFxuICAoXG4gICAgXCJibGFja1wiOiB0by1yZ2IoJGJsYWNrKSxcbiAgICBcIndoaXRlXCI6IHRvLXJnYigkd2hpdGUpXG4gIClcbikgIWRlZmF1bHQ7XG4kdXRpbGl0aWVzLWJvcmRlci1jb2xvcnM6IG1hcC1sb29wKCR1dGlsaXRpZXMtYm9yZGVyLCByZ2JhLWNzcy12YXIsIFwiJGtleVwiLCBcImJvcmRlclwiKSAhZGVmYXVsdDtcblxuJHV0aWxpdGllcy1ib3JkZXItc3VidGxlOiAoXG4gIFwicHJpbWFyeS1zdWJ0bGVcIjogdmFyKC0tI3skcHJlZml4fXByaW1hcnktYm9yZGVyLXN1YnRsZSksXG4gIFwic2Vjb25kYXJ5LXN1YnRsZVwiOiB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJvcmRlci1zdWJ0bGUpLFxuICBcInN1Y2Nlc3Mtc3VidGxlXCI6IHZhcigtLSN7JHByZWZpeH1zdWNjZXNzLWJvcmRlci1zdWJ0bGUpLFxuICBcImluZm8tc3VidGxlXCI6IHZhcigtLSN7JHByZWZpeH1pbmZvLWJvcmRlci1zdWJ0bGUpLFxuICBcIndhcm5pbmctc3VidGxlXCI6IHZhcigtLSN7JHByZWZpeH13YXJuaW5nLWJvcmRlci1zdWJ0bGUpLFxuICBcImRhbmdlci1zdWJ0bGVcIjogdmFyKC0tI3skcHJlZml4fWRhbmdlci1ib3JkZXItc3VidGxlKSxcbiAgXCJsaWdodC1zdWJ0bGVcIjogdmFyKC0tI3skcHJlZml4fWxpZ2h0LWJvcmRlci1zdWJ0bGUpLFxuICBcImRhcmstc3VidGxlXCI6IHZhcigtLSN7JHByZWZpeH1kYXJrLWJvcmRlci1zdWJ0bGUpXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB1dGlsaXRpZXMtYm9yZGVyLWNvbG9yc1xuXG4kdXRpbGl0aWVzLWxpbmtzLXVuZGVybGluZTogbWFwLWxvb3AoJHV0aWxpdGllcy1jb2xvcnMsIHJnYmEtY3NzLXZhciwgXCIka2V5XCIsIFwibGluay11bmRlcmxpbmVcIikgIWRlZmF1bHQ7XG5cbiRuZWdhdGl2ZS1zcGFjZXJzOiBpZigkZW5hYmxlLW5lZ2F0aXZlLW1hcmdpbnMsIG5lZ2F0aXZpZnktbWFwKCRzcGFjZXJzKSwgbnVsbCkgIWRlZmF1bHQ7XG5cbiRndXR0ZXJzOiAkc3BhY2VycyAhZGVmYXVsdDtcbiIsCgkJIi8vIFRvZ2dsZXNcbi8vXG4vLyBVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggZ2xvYmFsIHZhcmlhYmxlcyB0byBlbmFibGUgY2VydGFpbiB0aGVtZSBmZWF0dXJlcy5cblxuLy8gVmVuZG9yXG5AaW1wb3J0IFwidmVuZG9yL3Jmc1wiO1xuXG4vLyBEZXByZWNhdGVcbkBpbXBvcnQgXCJtaXhpbnMvZGVwcmVjYXRlXCI7XG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgXCJtaXhpbnMvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY29sb3ItbW9kZVwiO1xuQGltcG9ydCBcIm1peGlucy9jb2xvci1zY2hlbWVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Zpc3VhbGx5LWhpZGRlblwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtdHJ1bmNhdGVcIjtcblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwibWl4aW5zL3V0aWxpdGllc1wiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibWl4aW5zL2JhY2tkcm9wXCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY2FyZXRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9saXN0c1wiO1xuQGltcG9ydCBcIm1peGlucy9mb3Jtc1wiO1xuQGltcG9ydCBcIm1peGlucy90YWJsZS12YXJpYW50c1wiO1xuXG4vLyBTa2luc1xuQGltcG9ydCBcIm1peGlucy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2JveC1zaGFkb3dcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JhZGllbnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RyYW5zaXRpb25cIjtcblxuLy8gTGF5b3V0XG5AaW1wb3J0IFwibWl4aW5zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwibWl4aW5zL2NvbnRhaW5lclwiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG4iLAoJCSIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzY3NzL2RpbWVuc2lvbi1uby1ub24tbnVtZXJpYy12YWx1ZXNcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgcmVzcG9uc2l2ZSB2YWx1ZXMgZm9yIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBtYXJnaW5zIGFuZCBtdWNoIG1vcmVcbi8vXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9ibG9iL21haW4vTElDRU5TRSlcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIHZhbHVlXG4kcmZzLWJhc2UtdmFsdWU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuQGlmICRyZnMtdW5pdCAhPSByZW0gYW5kICRyZnMtdW5pdCAhPSBweCB7XG4gIEBlcnJvciBcImAjeyRyZnMtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgdmFsdWVzIHN0YXJ0IGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcHggYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IGVtIGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSByZW0ge1xuICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbn1cblxuLy8gUmVzaXplIHZhbHVlcyBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IG51bWJlciBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIE1vZGUuIFBvc3NpYmlsaXRpZXM6IFwibWluLW1lZGlhLXF1ZXJ5XCIsIFwibWF4LW1lZGlhLXF1ZXJ5XCJcbiRyZnMtbW9kZTogbWluLW1lZGlhLXF1ZXJ5ICFkZWZhdWx0O1xuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmZzIHRvIGZhbHNlXG4kZW5hYmxlLXJmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLXZhbHVlIHVuaXRcbiRyZnMtYmFzZS12YWx1ZS11bml0OiB1bml0KCRyZnMtYmFzZS12YWx1ZSk7XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLXZhbHVlIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSBweCB7XG4gICRyZnMtYmFzZS12YWx1ZTogZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSwgJHJmcy1iYXNlLXZhbHVlICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcmVtIHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBweCB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcmVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgZGl2aWRlKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWxjdWxhdGUgdGhlIG1lZGlhIHF1ZXJ5IHZhbHVlXG4kcmZzLW1xLXZhbHVlOiBpZigkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCwgI3skcmZzLWJyZWFrcG9pbnR9cHgsICN7ZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1yZW0tdmFsdWUpfSN7JHJmcy1icmVha3BvaW50LXVuaXR9KTtcbiRyZnMtbXEtcHJvcGVydHktd2lkdGg6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC13aWR0aCwgbWluLXdpZHRoKTtcbiRyZnMtbXEtcHJvcGVydHktaGVpZ2h0OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtaGVpZ2h0LCBtaW4taGVpZ2h0KTtcblxuLy8gSW50ZXJuYWwgbWl4aW4gdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggbWVkaWEgcXVlcnkgbmVlZHMgdG8gYmUgdXNlZFxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnkge1xuICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSksICgjeyRyZnMtbXEtcHJvcGVydHktaGVpZ2h0fTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSBhbmQgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGRpc2FibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtcnVsZSB7XG4gIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgcHJvcGVydHlcbiAgICAmLFxuICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAuZW5hYmxlLXJmcyAmLFxuICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBlbmFibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnktcnVsZSB7XG5cbiAgQGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIHtcbiAgICBAaWYgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5ICgpIHtcbiAgICAgIC5lbmFibGUtcmZzICYsXG4gICAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgLmRpc2FibGUtcmZzICYsXG4gICAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkgKCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGZvcm1hdHRlZCBub24tcmVzcG9uc2l2ZSB2YWx1ZVxuQGZ1bmN0aW9uIHJmcy12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6IFwiXCI7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyBcIiAwXCI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICBAaWYgJHVuaXQgPT0gcHgge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHJlbSBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgJHJmcy1yZW0tdmFsdWUpfXJlbSwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICR1bml0ID09IHJlbSB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcHggaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSBweCwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgMSkgKiAkcmZzLXJlbS12YWx1ZX1weCwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgcmVzcG9uc2l2ZSB2YWx1ZSBjYWxjdWxhdGVkIGJ5IFJGU1xuQGZ1bmN0aW9uIHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6IFwiXCI7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyBcIiAwXCI7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICBAaWYgbm90ICR1bml0IG9yICR1bml0ICE9IHB4IGFuZCAkdW5pdCAhPSByZW0ge1xuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyAkdmFsdWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gUmVtb3ZlIHVuaXQgZnJvbSAkdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuICAgICAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyBpZigkdW5pdCA9PSBweCwgMSwgZGl2aWRlKDEsICRyZnMtcmVtLXZhbHVlKSkpO1xuXG4gICAgICAgIC8vIE9ubHkgYWRkIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGUgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgIEBpZiBhYnMoJHZhbHVlKSA8PSAkcmZzLWJhc2UtdmFsdWUgb3Igbm90ICRlbmFibGUtcmZzIHtcbiAgICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JHZhbHVlfXB4KTtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLW1pbjogJHJmcy1iYXNlLXZhbHVlICsgZGl2aWRlKGFicygkdmFsdWUpIC0gJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWZhY3Rvcik7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuICR2YWx1ZSBhbmQgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtZGlmZjogYWJzKCR2YWx1ZSkgLSAkdmFsdWUtbWluO1xuXG4gICAgICAgICAgLy8gQmFzZSB2YWx1ZSBmb3JtYXR0aW5nXG4gICAgICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLW1pbiwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWUtbWlufXB4KTtcblxuICAgICAgICAgIC8vIFVzZSBuZWdhdGl2ZSB2YWx1ZSBpZiBuZWVkZWRcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkdmFsdWUgPCAwLCAtJG1pbi13aWR0aCwgJG1pbi13aWR0aCk7XG5cbiAgICAgICAgICAvLyBVc2UgYHZtaW5gIGlmIHR3by1kaW1lbnNpb25hbCBpcyBlbmFibGVkXG4gICAgICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAgICAgJHZhcmlhYmxlLXdpZHRoOiAje2RpdmlkZSgkdmFsdWUtZGlmZiAqIDEwMCwgJHJmcy1icmVha3BvaW50KX0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgICAgIC8vIFJldHVybiB0aGUgY2FsY3VsYXRlZCB2YWx1ZVxuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBjYWxjKFwiICsgJG1pbi13aWR0aCArIGlmKCR2YWx1ZSA8IDAsIFwiIC0gXCIsIFwiICsgXCIpICsgJHZhcmlhYmxlLXdpZHRoICsgXCIpXCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIFJGUyBtaXhpblxuQG1peGluIHJmcygkdmFsdWVzLCAkcHJvcGVydHk6IGZvbnQtc2l6ZSkge1xuICBAaWYgJHZhbHVlcyAhPSBudWxsIHtcbiAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlcyk7XG4gICAgJGZsdWlkLXZhbDogcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpO1xuXG4gICAgLy8gRG8gbm90IHByaW50IHRoZSBtZWRpYSBxdWVyeSBpZiByZXNwb25zaXZlICYgbm9uLXJlc3BvbnNpdmUgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgIEBpZiAkdmFsID09ICRmbHVpZC12YWwge1xuICAgICAgI3skcHJvcGVydHl9OiAkdmFsO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBfcmZzLXJ1bGUgKCkge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICR2YWwsICRmbHVpZC12YWwpO1xuXG4gICAgICAgIC8vIEluY2x1ZGUgc2FmYXJpIGlmcmFtZSByZXNpemUgZml4IGlmIG5lZWRlZFxuICAgICAgICBtaW4td2lkdGg6IGlmKCRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCwgKDAgKiAxdncpLCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeS1ydWxlICgpIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkZmx1aWQtdmFsLCAkdmFsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2hvcnRoYW5kIGhlbHBlciBtaXhpbnNcbkBtaXhpbiBmb250LXNpemUoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUpO1xufVxuXG5AbWl4aW4gcGFkZGluZygkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZyk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy10b3ApO1xufVxuXG5AbWl4aW4gcGFkZGluZy1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1yaWdodCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1ib3R0b20pO1xufVxuXG5AbWl4aW4gcGFkZGluZy1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWxlZnQpO1xufVxuXG5AbWl4aW4gbWFyZ2luKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4pO1xufVxuXG5AbWl4aW4gbWFyZ2luLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXRvcCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1yaWdodCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tYm90dG9tKTtcbn1cblxuQG1peGluIG1hcmdpbi1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tbGVmdCk7XG59XG4iLAoJCSIvLyBEZXByZWNhdGUgbWl4aW5cbi8vXG4vLyBUaGlzIG1peGluIGNhbiBiZSB1c2VkIHRvIGRlcHJlY2F0ZSBtaXhpbnMgb3IgZnVuY3Rpb25zLlxuLy8gYCRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXNgIGlzIGEgZ2xvYmFsIHZhcmlhYmxlLCBgJGlnbm9yZS13YXJuaW5nYCBpcyBhIHZhcmlhYmxlIHRoYXQgY2FuIGJlIHBhc3NlZCB0b1xuLy8gc29tZSBkZXByZWNhdGVkIG1peGlucyB0byBzdXBwcmVzcyB0aGUgd2FybmluZyAoZm9yIGV4YW1wbGUgaWYgdGhlIG1peGluIGlzIHN0aWxsIGJlIHVzZWQgaW4gdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBCb290c3RyYXApXG5AbWl4aW4gZGVwcmVjYXRlKCRuYW1lLCAkZGVwcmVjYXRlLXZlcnNpb24sICRyZW1vdmUtdmVyc2lvbiwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICBAaWYgKCRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXMgIT0gZmFsc2UgYW5kICRpZ25vcmUtd2FybmluZyAhPSB0cnVlKSB7XG4gICAgQHdhcm4gXCIjeyRuYW1lfSBoYXMgYmVlbiBkZXByZWNhdGVkIGFzIG9mICN7JGRlcHJlY2F0ZS12ZXJzaW9ufS4gSXQgd2lsbCBiZSByZW1vdmVkIGVudGlyZWx5IGluICN7JHJlbW92ZS12ZXJzaW9ufS5cIjtcbiAgfVxufVxuIiwKCQkiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwgeHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQGlmIG5vdCAkbiB7XG4gICAgQGVycm9yIFwiYnJlYWtwb2ludCBgI3skbmFtZX1gIG5vdCBmb3VuZCBpbiBgI3skYnJlYWtwb2ludHN9YFwiO1xuICB9XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIHJlZHVjZWQgYnkgMC4wMnB4IHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZlxuLy8gYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChtZCwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1heCBhbmQgJG1heCA+IDAsICRtYXggLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46ICBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogIGJyZWFrcG9pbnQtbWF4KCRuZXh0LCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvci1tb2RlLW1peGluXG5AbWl4aW4gY29sb3ItbW9kZSgkbW9kZTogbGlnaHQsICRyb290OiBmYWxzZSkge1xuICBAaWYgJGNvbG9yLW1vZGUtdHlwZSA9PSBcIm1lZGlhLXF1ZXJ5XCIge1xuICAgIEBpZiAkcm9vdCA9PSB0cnVlIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ICRtb2RlKSB7XG4gICAgICAgIDpyb290IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogJG1vZGUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBbZGF0YS1icy10aGVtZT1cIiN7JG1vZGV9XCJdIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvci1tb2RlLW1peGluXG4iLAoJCSIvLyBzY3NzLWRvY3Mtc3RhcnQgbWl4aW4tY29sb3Itc2NoZW1lXG5AbWl4aW4gY29sb3Itc2NoZW1lKCRuYW1lKSB7XG4gIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ICN7JG5hbWV9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgbWl4aW4tY29sb3Itc2NoZW1lXG4iLAoJCSIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG4iLAoJCSIvLyBSZXNpemUgYW55dGhpbmdcblxuQG1peGluIHJlc2l6YWJsZSgkZGlyZWN0aW9uKSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBQZXIgQ1NTMyBVSSwgYHJlc2l6ZWAgb25seSBhcHBsaWVzIHdoZW4gYG92ZXJmbG93YCBpc24ndCBgdmlzaWJsZWBcbiAgcmVzaXplOiAkZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxufVxuIiwKCQkiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIEhpZGUgY29udGVudCB2aXN1YWxseSB3aGlsZSBrZWVwaW5nIGl0IGFjY2Vzc2libGUgdG8gYXNzaXN0aXZlIHRlY2hub2xvZ2llc1xuLy9cbi8vIFNlZTogaHR0cHM6Ly93d3cuYTExeXByb2plY3QuY29tL3Bvc3RzLzIwMTMtMDEtMTEtaG93LXRvLWhpZGUtY29udGVudC9cbi8vIFNlZTogaHR0cHM6Ly9raXR0eWdpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuKCkge1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7IC8vIEZpeCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTY4NlxuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcblxuICAvLyBGaXggZm9yIHBvc2l0aW9uZWQgdGFibGUgY2FwdGlvbiB0aGF0IGNvdWxkIGJlY29tZSBhbm9ueW1vdXMgY2VsbHNcbiAgJjpub3QoY2FwdGlvbikge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIFVzZSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZCwgb3Igb25lIG9mIGl0cyBjaGlsZCBlbGVtZW50cyBpcyBmb2N1c2VkXG4vLyAoaS5lLiB3aGVuIGZvY3VzIGlzIHdpdGhpbiB0aGUgZWxlbWVudC9jb250YWluZXIgdGhhdCB0aGUgY2xhc3Mgd2FzIGFwcGxpZWQgdG8pXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZSgpIHtcbiAgJjpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICB9XG59XG4iLAoJCSJAbWl4aW4gcmVzZXQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igb3ZlcmZsb3ctd3JhcCAvIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsCgkJIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwKCQkiLy8gVXRpbGl0eSBnZW5lcmF0b3Jcbi8vIFVzZWQgdG8gZ2VuZXJhdGUgdXRpbGl0aWVzICYgcHJpbnQgdXRpbGl0aWVzXG5AbWl4aW4gZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4OiBcIlwiLCAkaXMtcmZzLW1lZGlhLXF1ZXJ5OiBmYWxzZSkge1xuICAkdmFsdWVzOiBtYXAtZ2V0KCR1dGlsaXR5LCB2YWx1ZXMpO1xuXG4gIC8vIElmIHRoZSB2YWx1ZXMgYXJlIGEgbGlzdCBvciBzdHJpbmcsIGNvbnZlcnQgaXQgaW50byBhIG1hcFxuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSBcInN0cmluZ1wiIG9yIHR5cGUtb2YobnRoKCR2YWx1ZXMsIDEpKSAhPSBcImxpc3RcIiB7XG4gICAgJHZhbHVlczogemlwKCR2YWx1ZXMsICR2YWx1ZXMpO1xuICB9XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICR2YWx1ZXMge1xuICAgICRwcm9wZXJ0aWVzOiBtYXAtZ2V0KCR1dGlsaXR5LCBwcm9wZXJ0eSk7XG5cbiAgICAvLyBNdWx0aXBsZSBwcm9wZXJ0aWVzIGFyZSBwb3NzaWJsZSwgZm9yIGV4YW1wbGUgd2l0aCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsIG1hcmdpbnMgb3IgcGFkZGluZ3NcbiAgICBAaWYgdHlwZS1vZigkcHJvcGVydGllcykgPT0gXCJzdHJpbmdcIiB7XG4gICAgICAkcHJvcGVydGllczogYXBwZW5kKCgpLCAkcHJvcGVydGllcyk7XG4gICAgfVxuXG4gICAgLy8gVXNlIGN1c3RvbSBjbGFzcyBpZiBwcmVzZW50XG4gICAgJHByb3BlcnR5LWNsYXNzOiBpZihtYXAtaGFzLWtleSgkdXRpbGl0eSwgY2xhc3MpLCBtYXAtZ2V0KCR1dGlsaXR5LCBjbGFzcyksIG50aCgkcHJvcGVydGllcywgMSkpO1xuICAgICRwcm9wZXJ0eS1jbGFzczogaWYoJHByb3BlcnR5LWNsYXNzID09IG51bGwsIFwiXCIsICRwcm9wZXJ0eS1jbGFzcyk7XG5cbiAgICAvLyBVc2UgY3VzdG9tIENTUyB2YXJpYWJsZSBuYW1lIGlmIHByZXNlbnQsIG90aGVyd2lzZSBkZWZhdWx0IHRvIGBjbGFzc2BcbiAgICAkY3NzLXZhcmlhYmxlLW5hbWU6IGlmKG1hcC1oYXMta2V5KCR1dGlsaXR5LCBjc3MtdmFyaWFibGUtbmFtZSksIG1hcC1nZXQoJHV0aWxpdHksIGNzcy12YXJpYWJsZS1uYW1lKSwgbWFwLWdldCgkdXRpbGl0eSwgY2xhc3MpKTtcblxuICAgIC8vIFN0YXRlIHBhcmFtcyB0byBnZW5lcmF0ZSBwc2V1ZG8tY2xhc3Nlc1xuICAgICRzdGF0ZTogaWYobWFwLWhhcy1rZXkoJHV0aWxpdHksIHN0YXRlKSwgbWFwLWdldCgkdXRpbGl0eSwgc3RhdGUpLCAoKSk7XG5cbiAgICAkaW5maXg6IGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBcIlwiIGFuZCBzdHItc2xpY2UoJGluZml4LCAxLCAxKSA9PSBcIi1cIiwgc3RyLXNsaWNlKCRpbmZpeCwgMiksICRpbmZpeCk7XG5cbiAgICAvLyBEb24ndCBwcmVmaXggaWYgdmFsdWUga2V5IGlzIG51bGwgKGUuZy4gd2l0aCBzaGFkb3cgY2xhc3MpXG4gICAgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyOiBpZigka2V5LCBpZigkcHJvcGVydHktY2xhc3MgPT0gXCJcIiBhbmQgJGluZml4ID09IFwiXCIsIFwiXCIsIFwiLVwiKSArICRrZXksIFwiXCIpO1xuXG4gICAgQGlmIG1hcC1nZXQoJHV0aWxpdHksIHJmcykge1xuICAgICAgLy8gSW5zaWRlIHRoZSBtZWRpYSBxdWVyeVxuICAgICAgQGlmICRpcy1yZnMtbWVkaWEtcXVlcnkge1xuICAgICAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlKTtcblxuICAgICAgICAvLyBEbyBub3QgcmVuZGVyIGFueXRoaW5nIGlmIGZsdWlkIGFuZCBub24gZmx1aWQgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgICAgICAkdmFsdWU6IGlmKCR2YWwgPT0gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZSksIG51bGwsICR2YWwpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkdmFsdWU6IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICRpcy1jc3MtdmFyOiBtYXAtZ2V0KCR1dGlsaXR5LCBjc3MtdmFyKTtcbiAgICAkaXMtbG9jYWwtdmFyczogbWFwLWdldCgkdXRpbGl0eSwgbG9jYWwtdmFycyk7XG4gICAgJGlzLXJ0bDogbWFwLWdldCgkdXRpbGl0eSwgcnRsKTtcblxuICAgIEBpZiAkdmFsdWUgIT0gbnVsbCB7XG4gICAgICBAaWYgJGlzLXJ0bCA9PSBmYWxzZSB7XG4gICAgICAgIC8qIHJ0bDpiZWdpbjpyZW1vdmUgKi9cbiAgICAgIH1cblxuICAgICAgQGlmICRpcy1jc3MtdmFyIHtcbiAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9I3skY3NzLXZhcmlhYmxlLW5hbWV9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkcHNldWRvIGluICRzdGF0ZSB7XG4gICAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfS0jeyRwc2V1ZG99OiN7JHBzZXVkb30ge1xuICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skY3NzLXZhcmlhYmxlLW5hbWV9OiAjeyR2YWx1ZX07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfSB7XG4gICAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgIEBpZiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgIEBlYWNoICRsb2NhbC12YXIsICR2YXJpYWJsZSBpbiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skbG9jYWwtdmFyfTogI3skdmFyaWFibGV9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRwc2V1ZG8gaW4gJHN0YXRlIHtcbiAgICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9LSN7JHBzZXVkb306I3skcHNldWRvfSB7XG4gICAgICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAgICAgICBAaWYgJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgIEBlYWNoICRsb2NhbC12YXIsICR2YXJpYWJsZSBpbiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRsb2NhbC12YXJ9OiAjeyR2YXJpYWJsZX07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkaXMtcnRsID09IGZhbHNlIHtcbiAgICAgICAgLyogcnRsOmVuZDpyZW1vdmUgKi9cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIFNoYXJlZCBiZXR3ZWVuIG1vZGFscyBhbmQgb2ZmY2FudmFzZXNcbkBtaXhpbiBvdmVybGF5LWJhY2tkcm9wKCR6aW5kZXgsICRiYWNrZHJvcC1iZywgJGJhY2tkcm9wLW9wYWNpdHkpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tkcm9wLWJnO1xuXG4gIC8vIEZhZGUgZm9yIGJhY2tkcm9wXG4gICYuZmFkZSB7IG9wYWNpdHk6IDA7IH1cbiAgJi5zaG93IHsgb3BhY2l0eTogJGJhY2tkcm9wLW9wYWNpdHk7IH1cbn1cbiIsCgkJIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXZhcmlhbnQtbWl4aW5cbkBtaXhpbiBidXR0b24tdmFyaWFudChcbiAgJGJhY2tncm91bmQsXG4gICRib3JkZXIsXG4gICRjb2xvcjogY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQpLFxuICAkaG92ZXItYmFja2dyb3VuZDogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4taG92ZXItYmctc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudCkpLFxuICAkaG92ZXItYm9yZGVyOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYm9yZGVyLCAkYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRib3JkZXIsICRidG4taG92ZXItYm9yZGVyLXRpbnQtYW1vdW50KSksXG4gICRob3Zlci1jb2xvcjogY29sb3ItY29udHJhc3QoJGhvdmVyLWJhY2tncm91bmQpLFxuICAkYWN0aXZlLWJhY2tncm91bmQ6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudCkpLFxuICAkYWN0aXZlLWJvcmRlcjogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJvcmRlciwgJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJvcmRlciwgJGJ0bi1hY3RpdmUtYm9yZGVyLXRpbnQtYW1vdW50KSksXG4gICRhY3RpdmUtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmFja2dyb3VuZCksXG4gICRkaXNhYmxlZC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCxcbiAgJGRpc2FibGVkLWJvcmRlcjogJGJvcmRlcixcbiAgJGRpc2FibGVkLWNvbG9yOiBjb2xvci1jb250cmFzdCgkZGlzYWJsZWQtYmFja2dyb3VuZClcbikge1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJnOiAjeyRiYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogI3skYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yOiAjeyRob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZzogI3skaG92ZXItYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JGhvdmVyLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAje3RvLXJnYihtaXgoJGNvbG9yLCAkYm9yZGVyLCAxNSUpKX07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmc6ICN7JGFjdGl2ZS1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JGFjdGl2ZS1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdzogI3skYnRuLWFjdGl2ZS1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiAjeyRkaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1iZzogI3skZGlzYWJsZWQtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICN7JGRpc2FibGVkLWJvcmRlcn07XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYW50LW1peGluXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tb3V0bGluZS12YXJpYW50LW1peGluXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudChcbiAgJGNvbG9yLFxuICAkY29sb3ItaG92ZXI6IGNvbG9yLWNvbnRyYXN0KCRjb2xvciksXG4gICRhY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yLFxuICAkYWN0aXZlLWJvcmRlcjogJGNvbG9yLFxuICAkYWN0aXZlLWNvbG9yOiBjb2xvci1jb250cmFzdCgkYWN0aXZlLWJhY2tncm91bmQpXG4pIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yOiAjeyRjb2xvci1ob3Zlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjeyRhY3RpdmUtYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2I6ICN7dG8tcmdiKCRjb2xvcil9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiAjeyRhY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnOiAjeyRhY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRhY3RpdmUtYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3c6ICN7JGJ0bi1hY3RpdmUtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmc6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWdyYWRpZW50OiBub25lO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tb3V0bGluZS12YXJpYW50LW1peGluXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tc2l6ZS1taXhpblxuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRib3JkZXItcmFkaXVzKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXk6ICN7JHBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXg6ICN7JHBhZGRpbmcteH07XG4gIEBpbmNsdWRlIHJmcygkZm9udC1zaXplLCAtLSN7JHByZWZpeH1idG4tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1yYWRpdXM6ICN7JGJvcmRlci1yYWRpdXN9O1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tc2l6ZS1taXhpblxuIiwKCQkiLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmV0LW1peGluc1xuQG1peGluIGNhcmV0LWRvd24oJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwKCR3aWR0aDogJGNhcmV0LXdpZHRoKSB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1lbmQoJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LXN0YXJ0KCR3aWR0aDogJGNhcmV0LXdpZHRoKSB7XG4gIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KFxuICAkZGlyZWN0aW9uOiBkb3duLFxuICAkd2lkdGg6ICRjYXJldC13aWR0aCxcbiAgJHNwYWNpbmc6ICRjYXJldC1zcGFjaW5nLFxuICAkdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnblxuKSB7XG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmc7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJHZlcnRpY2FsLWFsaWduO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1kb3duKCR3aWR0aCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cCgkd2lkdGgpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGVuZCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWVuZCgkd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHN0YXJ0IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJHZlcnRpY2FsLWFsaWduO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1zdGFydCgkd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjYXJldC1taXhpbnNcbiIsCgkJIi8vIFBhZ2luYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBhZ2luYXRpb24tbWl4aW5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXg6ICN7JHBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy15OiAjeyRwYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXM6ICN7JGJvcmRlci1yYWRpdXN9O1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBwYWdpbmF0aW9uLW1peGluXG4iLAoJCSIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwKCQkiLy8gVGhpcyBtaXhpbiB1c2VzIGFuIGBpZigpYCB0ZWNobmlxdWUgdG8gYmUgY29tcGF0aWJsZSB3aXRoIERhcnQgU2Fzc1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzE4NzMjaXNzdWVjb21tZW50LTE1MjI5MzcyNSBmb3IgbW9yZSBkZXRhaWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXZhbGlkYXRpb24tbWl4aW5zXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICBAaWYgKCRzdGF0ZSA9PSBcInZhbGlkXCIgb3IgJHN0YXRlID09IFwiaW52YWxpZFwiKSB7XG4gICAgLndhcy12YWxpZGF0ZWQgI3tpZigmLCBcIiZcIiwgXCJcIil9OiN7JHN0YXRlfSxcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZShcbiAgJHN0YXRlLFxuICAkY29sb3IsXG4gICRpY29uLFxuICAkdG9vbHRpcC1jb2xvcjogY29sb3ItY29udHJhc3QoJGNvbG9yKSxcbiAgJHRvb2x0aXAtYmctY29sb3I6IHJnYmEoJGNvbG9yLCAkZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHkpLFxuICAkZm9jdXMtYm94LXNoYWRvdzogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsICRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eSksXG4gICRib3JkZXItY29sb3I6ICRjb2xvclxuKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stZm9udC1zaXplKTtcbiAgICBmb250LXN0eWxlOiAkZm9ybS1mZWVkYmFjay1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gQ29udGFpbiB0byBwYXJlbnQgd2hlbiBwb3NzaWJsZVxuICAgIHBhZGRpbmc6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14O1xuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkaWNvbik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogJGZvY3VzLWJveC1zaGFkb3c7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgICY6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLFxuICAgICAgICAmOm5vdChbbXVsdGlwbGVdKVtzaXplPVwiMVwiXSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaWNvbjogI3tlc2NhcGUtc3ZnKCRpY29uKX07XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1lbmQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uLCAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRmb3JtLXNlbGVjdC1iZy1zaXplLCAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wtY29sb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICB3aWR0aDogYWRkKCRmb3JtLWNvbG9yLXdpZHRoLCAkaW5wdXQtaGVpZ2h0LWlubmVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiAkZm9jdXMtYm94LXNoYWRvdztcbiAgICAgIH1cblxuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mb3JtLWNoZWNrLWlubGluZSAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgPiAuZm9ybS1jb250cm9sOm5vdCg6Zm9jdXMpLFxuICAgID4gLmZvcm0tc2VsZWN0Om5vdCg6Zm9jdXMpLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgICAgQGlmICRzdGF0ZSA9PSBcInZhbGlkXCIge1xuICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIH0gQGVsc2UgaWYgJHN0YXRlID09IFwiaW52YWxpZFwiIHtcbiAgICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdmFsaWRhdGlvbi1taXhpbnNcbiIsCgkJIi8vIHNjc3MtZG9jcy1zdGFydCB0YWJsZS12YXJpYW50XG5AbWl4aW4gdGFibGUtdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICRjb2xvcjogY29sb3ItY29udHJhc3Qob3BhcXVlKCRib2R5LWJnLCAkYmFja2dyb3VuZCkpO1xuICAgICRob3Zlci1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLWhvdmVyLWJnLWZhY3RvcikpO1xuICAgICRzdHJpcGVkLWJnOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtc3RyaXBlZC1iZy1mYWN0b3IpKTtcbiAgICAkYWN0aXZlLWJnOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtYWN0aXZlLWJnLWZhY3RvcikpO1xuICAgICR0YWJsZS1ib3JkZXItY29sb3I6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1ib3JkZXItZmFjdG9yKSk7XG5cbiAgICAtLSN7JHByZWZpeH10YWJsZS1jb2xvcjogI3skY29sb3J9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnOiAjeyRiYWNrZ3JvdW5kfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1ib3JkZXItY29sb3I6ICN7JHRhYmxlLWJvcmRlci1jb2xvcn07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1iZzogI3skc3RyaXBlZC1iZ307XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcjogI3tjb2xvci1jb250cmFzdCgkc3RyaXBlZC1iZyl9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJnfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJGFjdGl2ZS1iZyl9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWJnOiAjeyRob3Zlci1iZ307XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJGhvdmVyLWJnKX07XG5cbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ib3JkZXItY29sb3IpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLXZhcmlhbnRcbiIsCgkJIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gcmVwbGFjZSBuZWdhdGl2ZSB2YWx1ZXMgd2l0aCAwXG5AZnVuY3Rpb24gdmFsaWQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgJHJldHVybjogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkcmFkaXVzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IG51bWJlciB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgbWF4KCR2YWx1ZSwgMCkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sICR2YWx1ZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci1yYWRpdXMtbWl4aW5zXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3Atc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXJhZGl1cy1taXhpbnNcbiIsCgkJIkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgJHJlc3VsdDogKCk7XG5cbiAgICBAZWFjaCAkdmFsdWUgaW4gJHNoYWRvdyB7XG4gICAgICBAaWYgJHZhbHVlICE9IG51bGwge1xuICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJHZhbHVlLCBcImNvbW1hXCIpO1xuICAgICAgfVxuICAgICAgQGlmICR2YWx1ZSA9PSBub25lIGFuZCBsZW5ndGgoJHNoYWRvdykgPiAxIHtcbiAgICAgICAgQHdhcm4gXCJUaGUga2V5d29yZCAnbm9uZScgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAobGVuZ3RoKCRyZXN1bHQpID4gMCkge1xuICAgICAgYm94LXNoYWRvdzogJHJlc3VsdDtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIEdyYWRpZW50c1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JhZGllbnQtYmctbWl4aW5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3I6IG51bGwpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBncmFkaWVudC1iZy1taXhpblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JhZGllbnQtbWl4aW5zXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogbnVsbCwgJGVuZC1wZXJjZW50OiBudWxsKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4vLyBzY3NzLWRvY3MtZW5kIGdyYWRpZW50LW1peGluc1xuIiwKCQkiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7XG4gICAgQGVhY2ggJHZhbHVlIGluICR0cmFuc2l0aW9uIHtcbiAgICAgIEBpZiAkdmFsdWUgPT0gbnVsbCBvciAkdmFsdWUgPT0gbm9uZSB7XG4gICAgICAgIEB3YXJuIFwiVGhlIGtleXdvcmQgJ25vbmUnIG9yICdudWxsJyBtdXN0IGJlIHVzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQuXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgQGlmICRlbmFibGUtcmVkdWNlZC1tb3Rpb24gYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBub25lIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBzY3NzLWRvY3Mtc3RhcnQgY2xlYXJmaXhcbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgY2xlYXJmaXhcbiIsCgkJIi8vIENvbnRhaW5lciBtaXhpbnNcblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRjb250YWluZXItcGFkZGluZy14KSB7XG4gIC0tI3skcHJlZml4fWd1dHRlci14OiAjeyRndXR0ZXJ9O1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG4iLAoJCSIvLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteDogI3skZ3V0dGVyfTtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgLy8gVE9ETzogUmV2aXNpdCBjYWxjIG9yZGVyIGFmdGVyIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdC1ib290c3RyYXAvcmVhY3QtYm9vdHN0cmFwL2lzc3Vlcy82MDM5IGlzIGZpeGVkXG4gIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCkge1xuICAvLyBBZGQgYm94IHNpemluZyBpZiBvbmx5IHRoZSBncmlkIGlzIGxvYWRlZFxuICBib3gtc2l6aW5nOiBpZih2YXJpYWJsZS1leGlzdHMoaW5jbHVkZS1jb2x1bW4tYm94LXNpemluZykgYW5kICRpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nLCBib3JkZXItYm94LCBudWxsKTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHNldCB0aGUgd2lkdGhcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICBmbGV4LXNocmluazogMDtcbiAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUHJldmVudCBgLmNvbC1hdXRvYCwgYC5jb2xgICgmIHJlc3BvbnNpdmUgdmFyaWFudHMpIGZyb20gYnJlYWtpbmcgb3V0IHRoZSBncmlkXG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi10b3A6IHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteSk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZTogZmFsc2UsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEBpZiAkc2l6ZSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogcGVyY2VudGFnZShkaXZpZGUoJHNpemUsICRjb2x1bW5zKSk7XG5cbiAgfSBAZWxzZSB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgLXdlYmtpdC1mbGV4OiAxIDEgMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIG1ha2UtY29sLWF1dG8oKSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICAtd2Via2l0LWZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogZGl2aWRlKCRzaXplLCAkY29sdW1ucyk7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuXG4vLyBSb3cgY29sdW1uc1xuLy9cbi8vIFNwZWNpZnkgb24gYSBwYXJlbnQgZWxlbWVudChlLmcuLCAucm93KSB0byBmb3JjZSBpbW1lZGlhdGUgY2hpbGRyZW4gaW50byBOTlxuLy8gbnVtYmVyIG9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAtd2Via2l0LWZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBkaXZpZGUoMTAwJSwgJGNvdW50KTtcbiAgfVxufVxuXG4vLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleDogMSAwIDAlOyAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAxIDAgMCU7IC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgfVxuXG4gICAgICAucm93LWNvbHMjeyRpbmZpeH0tYXV0byA+ICoge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZ3JpZC1yb3ctY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLXJvdy1jb2x1bW5zIHtcbiAgICAgICAgICAucm93LWNvbHMjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm93LWNvbHMoJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEd1dHRlcnNcbiAgICAgIC8vXG4gICAgICAvLyBNYWtlIHVzZSBvZiBgLmctKmAsIGAuZ3gtKmAgb3IgYC5neS0qYCB1dGlsaXRpZXMgdG8gY2hhbmdlIHNwYWNpbmcgYmV0d2VlbiB0aGUgY29sdW1ucy5cbiAgICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkZ3V0dGVycyB7XG4gICAgICAgIC5nI3skaW5maXh9LSN7JGtleX0sXG4gICAgICAgIC5neCN7JGluZml4fS0jeyRrZXl9IHtcbiAgICAgICAgICAtLSN7JHByZWZpeH1ndXR0ZXIteDogI3skdmFsdWV9O1xuICAgICAgICB9XG5cbiAgICAgICAgLmcjeyRpbmZpeH0tI3ska2V5fSxcbiAgICAgICAgLmd5I3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fWd1dHRlci15OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2UtY3NzZ3JpZCgkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuZy1jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGF1dG8gLyBzcGFuICRpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN0YXJ0IHdpdGggYDFgIGJlY2F1c2UgYDBgIGlzIGFuZCBpbnZhbGlkIHZhbHVlLlxuICAgICAgICAvLyBFbmRzIHdpdGggYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlLlxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgICAuZy1zdGFydCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogJGk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBCUzUrIGRhcmsgY29sb3IgbW9kZSBmb3JlZ3JvdW5kIGNvbG9yXG4kZW1waGFzaXMtY29sb3ItcmdiOiB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiLCAwLDAsMCkgIWRlZmF1bHQ7XG5cbi8vIENhcmRzIGFyZSB3aGl0ZSBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCBhIHNtYXJ0ZXIgZGVmYXVsdCBmb3IgLndlbGxcbi8vIHRoYXQgaXQgYXBwZWFycyBncmF5IGJ5IGRlZmF1bHRcbiR3ZWxsLWJnOiBpZigkYm9vdHN0cmFwLXZlcnNpb24+PTUsIFJHQkEoJGVtcGhhc2lzLWNvbG9yLXJnYiwgLjAzKSwgcmdiYSgkYmxhY2ssIC4wMykpICFkZWZhdWx0O1xuJHdlbGwtY29sb3I6IGlmKCRib290c3RyYXAtdmVyc2lvbj49NSwgUkdCKCRlbXBoYXNpcy1jb2xvci1yZ2IpLCAkYm9keS1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vIEJvb3RzdHJhcCA1LjMuMSArIHNlbGVjdGl6ZS5qcyB2MC4xMi40IChpLmUuLCBzaGlueSB2MS43LjUpIHNoaW1cbi8vXG4vLyBTdGFydGluZyB3aXRoIDUuMy54LCBCb290c3RyYXAgc3RhcnRlZCBoYXZpbmcgU2FzcyB2YXJpYWJsZXMgZGVmYXVsdCB0byBDU1Ncbi8vIHZhcmlhYmxlcyAoZS5nLiwgJGlucHV0LWNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKSksIHdoaWNoIGlzIHByb2JsZW1hdGljIGZvclxuLy8gY29tcHVhdGlvbiB0aGF0IGhhcHBlbnMgaW4gU2FzcyAoZS5nLiwgYG1peCgkY29sb3IxLCAkY29sb3IyKWApLiBUaGlzIGJ1bmRsZVxuLy8gZml4ZXMgdGhpcyBwcm9ibGVtIGZvciBzaGlueTo6c2VsZWN0aXplSW5wdXQoKSdzIFNhc3MgY29kZSAoZnV0dXJlIHZlcnNpb25zIG9mXG4vLyBzZWxlY3RpemVJbnB1dCgpIHNob3VsZCBob3BlZnVsbHkgYWRkcmVzcyB0aGlzIHByb2JsZW0sIG1ha2luZyB0aGlzIHRlbXBvcmFyeVxuLy8gc3RvcGdhcCBzb2x1dGlvbiBubyBsb25nZXIgcmVxdWlyZWQpLlxuJHNlbGVjdGl6ZS1jb2xvci10ZXh0OiBpZihpcy1jc3MtdmFyaWFibGUoJGlucHV0LWNvbG9yKSwgJGJvZHktY29sb3IsICRpbnB1dC1jb2xvcikgIWRlZmF1bHQ7XG4kc2VsZWN0aXplLWNvbG9yLWl0ZW06IHJnYmEoJHNlbGVjdGl6ZS1jb2xvci10ZXh0LCAwLjEpICFkZWZhdWx0O1xuJHNlbGVjdGl6ZS1jb2xvci1pdGVtLWJvcmRlcjogaWYoaXMtY3NzLXZhcmlhYmxlKCRpbnB1dC1ib3JkZXItY29sb3IpLCAkYm9yZGVyLWNvbG9yLCAkaW5wdXQtYm9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRzZWxlY3RpemUtY29sb3ItZHJvcGRvd246IGlmKGlzLWNzcy12YXJpYWJsZSgkZHJvcGRvd24tYmcpLCAkYm9keS1iZywgJGRyb3Bkb3duLWJnKSAhZGVmYXVsdDtcbiRzZWxlY3RpemUtY29sb3ItZHJvcGRvd24tYm9yZGVyLXRvcDogcmdiYSgkaW5wdXQtYm9yZGVyLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuJHNlbGVjdGl6ZS1jb2xvci1kcm9wZG93bi1pdGVtLWNyZWF0ZS10ZXh0OiByZ2JhKCRzZWxlY3RpemUtY29sb3ItdGV4dCwgMC41KSAhZGVmYXVsdDtcbkBpZiB2YXJpYWJsZS1leGlzdHMoXCJpbnB1dC1idG4tZm9udC1zaXplXCIpIHtcbiAgJHNlbGVjdGl6ZS1mb250LXNpemU6ICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xufSBAZWxzZSBpZiB2YXJpYWJsZS1leGlzdHMoXCJmb250LXNpemUtYmFzZVwiKSB7XG4gICRzZWxlY3RpemUtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG59XG4kc2VsZWN0aXplLWZvbnQtZmFtaWx5OiBpZigkaW5wdXQtYnRuLWZvbnQtZmFtaWx5LCAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5LCBpbmhlcml0KSAhZGVmYXVsdDtcbiIsCgkJIi8vIEFjY29yZGlvbnNcbi8vIFRoZXNlIGRlZmluaXRpb25zIGNhbid0IGdvIGluIF9kZWZhdWx0cy5zY3NzIHdpdGggYSAhZGVmYXVsdCBmbGFnIChiZWNhdXNlICFkZWZhdWx0IGRvZXNuJ3QgcmVzcGVjdCBudWxsKVxuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWJnOiBudWxsO1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yOiBudWxsO1xuJGFjY29yZGlvbi1pY29uLWFjdGl2ZS1jb2xvcjogbnVsbDtcblxuLy8gQ29tcG9uZW50IFZhcmlhYmxlc1xuQGltcG9ydCBcImlvbnJhbmdlc2xpZGVyL192YXJpYWJsZXMuc2Nzc1wiO1xuIiwKCQkiLy8gaHR0cHM6Ly9naXRodWIuY29tL3JzdHVkaW8vc2hpbnkvYmxvYi9tYWluL2luc3Qvd3d3L3NoYXJlZC9pb25yYW5nZXNsaWRlci9zY3NzL3NoaW55LnNjc3NcblxuJGVtcGhhc2lzLWNvbG9yLXJnYjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3ItcmdiLCAwLCAwLCAwKSAhZGVmYXVsdDtcblxuJG1pbm1heF9iZ19jb2xvcjogUkdCQSgkZW1waGFzaXMtY29sb3ItcmdiLCAwLjEpICFkZWZhdWx0O1xuXG4kdG9wOiAzMnB4ICFkZWZhdWx0O1xuXG4kbGluZV9oZWlnaHQ6IDFweCAhZGVmYXVsdDtcbiRsaW5lX2JnOiBub25lICFkZWZhdWx0O1xuJGxpbmVfYmdfY29sb3I6IFJHQkEoJGVtcGhhc2lzLWNvbG9yLXJnYiwgMC42NSkgIWRlZmF1bHQ7XG4kbGluZV9ib3JkZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbiRoYW5kbGVfY29sb3I6ICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGhhbmRsZV9jb2xvcl9ob3ZlcjogdGludC1jb2xvcigkaGFuZGxlX2NvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGhhbmRsZV9ib3JkZXI6IG5vbmUgIWRlZmF1bHQ7XG4kaGFuZGxlX2JveF9zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG4kaGFuZGxlX3JhZGl1czogJHRvcCAtIDEwcHggIWRlZmF1bHQ7XG4kaGFuZGxlX2hlaWdodDogMTlweCAhZGVmYXVsdDtcbiRoYW5kbGVfd2lkdGg6ICRoYW5kbGVfaGVpZ2h0ICFkZWZhdWx0O1xuXG4kYmFyX2NvbG9yOiAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGdyaWRfbWFqb3JfY29sb3I6IFJHQkEoJGVtcGhhc2lzLWNvbG9yLXJnYiwgMC42NSkgIWRlZmF1bHQ7XG4kZ3JpZF9taW5vcl9jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZ3JpZF90ZXh0X2NvbG9yOiBSR0JBKCRlbXBoYXNpcy1jb2xvci1yZ2IsIDAuODUpICFkZWZhdWx0O1xuIiwKCQkiLy8gRGF0ZXBpY2tlciAuc2NzcyBidWlsZGZpbGUuICBJbmNsdWRlcyBzZWxlY3QgbWl4aW5zL3ZhcmlhYmxlcyBmcm9tIGJvb3RzdHJhcFxuLy8gYW5kIGltcG9ydHMgdGhlIGluY2x1ZGVkIGRhdGVwaWNrZXIuc2NzcyB0byBvdXRwdXQgYSBtaW5pbWFsIGRhdGVwaWNrZXIuY3NzXG4vL1xuLy8gVXNhZ2U6XG4vLyAgICAgbGVzc2MgYnVpbGQzLnNjc3MgZGF0ZXBpY2tlci5jc3Ncbi8vXG4vLyBWYXJpYWJsZXMgYW5kIG1peGlucyBjb3BpZWQgZnJvbSBCb290c3RyYXAgMy4zLjVcblxuLy8gVGhlc2UgYXJlIEJTMyB2YXJpYWJsZXMgdGhhdCBhcmUgdXNlZCBpbiBkYXRlcGlja2VyMy5zY3NzLiBTbywgd2hlbiBjb21waWxpbmcgYWdhaW5zdFxuLy8gYSBCUzMgYnNsaWIgdGhlbWUsIHRoZXNlIHZhcmlhYmxlcyBzaG91bGQgYWxyZWFkeSBiZSBkZWZpbmVkLiBIZXJlIHdlIHNldFxuLy8gKmRlZmF1bHRzKiBmb3IgdGhlc2UgdmFyaWFibGVzIGJhc2VkIG9uIEJTNCB2YXJpYWJsZXMsIHNvIHRoaXMgc2NzcyBjYW4gd29yayBmb3Jcbi8vIGJvdGggQlMzIGFuZCBCUzRcbiRncmF5OiAgICAgICAgICAgICAgICBtaXgoJGJvZHktYmcsICRib2R5LWNvbG9yLCAzMy41JSkgIWRlZmF1bHQ7XG4kZ3JheS1saWdodDogICAgICAgICAgbWl4KCRib2R5LWJnLCAkYm9keS1jb2xvciwgNDYuNyUpICFkZWZhdWx0O1xuJGdyYXktbGlnaHRlcjogICAgICAgIG1peCgkYm9keS1iZywgJGJvZHktY29sb3IsIDkwJSkgIWRlZmF1bHQ7XG4kYnJhbmQtcHJpbWFyeTogICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktY29sb3I6ICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYmc6ICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYm9yZGVyOiAgbWl4KCRib2R5LWNvbG9yLCAkYnRuLXByaW1hcnktYmcsIDUlKSAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJnOiAgICAgICBtaXgoJGJvZHktYmcsICRpbmZvLCA4MCUpICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtYmFzZTogICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlcjogICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vLyBUaGVzZSB2YXJpYWJsZXMgYXJlIGFsc28gdXNlZCBpbiBkYXRlcGlja2VyMy5zY3NzLCBidXQgd2UgZG9uJ3QgbmVlZCB0byBzZXQgdGhlbSBzaW5jZVxuLy8gdGhleSdyZSB0aGUgc2FtZSBpbiBCUzMgYW5kIEJTNFxuLy8kbGluZS1oZWlnaHQtYmFzZTogICAgICAgIDEuNDI4NTcxNDI5O1xuLy8kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICRncmF5LWxpZ2h0O1xuLy8kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICNmZmY7XG5cblxuXG5cblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XG4gICRjb2xvcjogY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQpO1xuXG4gIGNvbG9yOiAkY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICRjb2xvciwgOTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtaXgoJGJvcmRlciwgJGNvbG9yLCA3NSUpO1xuICB9XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkY29sb3IsIDUwJSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbWl4KCRib3JkZXIsICRjb2xvciwgODglKTtcbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkY29sb3IsIDkwJSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbWl4KCRib3JkZXIsICRjb2xvciwgODglKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICRjb2xvciwgODMlKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IG1peCgkYm9yZGVyLCAkY29sb3IsIDc1JSk7XG4gICAgfVxuICB9XG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuXG5AaW1wb3J0IFwiZGF0ZXBpY2tlcjMuc2Nzc1wiO1xuIiwKCQkiLy8gQm90aCBCUzMgYW5kIEJTNCBkZWZpbmUgYSBib3JkZXIgcmFkaXVzIG1peGluLCBidXQganVzdCBpbiBjYXNlXG4vLyB3ZSdyZSB0cnlpbmcgdG8gY29tcGlsZSB0aGlzIHdpdGhvdXQgYm9vdHN0cmFwU2Fzc1xuQG1peGluIGJvcmRlci1yYWRpdXMtc2hpbSgkcmFkaXVzKSB7XG4gIEBpZiBtaXhpbi1leGlzdHMoXCJib3JkZXItcmFkaXVzXCIpIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRyYWRpdXMpO1xuICB9IEBlbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbi5kYXRlcGlja2VyIHtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cy1zaGltKCRib3JkZXItcmFkaXVzLWJhc2UpO1xuXHQmLWlubGluZSB7XG5cdFx0d2lkdGg6IDIyMHB4O1xuXHR9XG5cdGRpcmVjdGlvbjogbHRyO1xuXHQmLXJ0bCB7XG5cdFx0ZGlyZWN0aW9uOiBydGw7XG5cdFx0Ji5kcm9wZG93bi1tZW51IHsgbGVmdDogYXV0bzsgfVxuXHRcdHRhYmxlIHRyIHRkIHNwYW4ge1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdH1cblx0fVxuXHQmLWRyb3Bkb3duIHtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHRwYWRkaW5nOiA0cHg7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRib3JkZXItbGVmdDogICA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRib3JkZXItcmlnaHQ6ICA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRib3JkZXItYm90dG9tOiA3cHggc29saWQgJGRyb3Bkb3duLWJvcmRlcjtcblx0XHRcdGJvcmRlci10b3A6ICAgIDA7XG5cdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsMCwwLC4yKTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR9XG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdGJvcmRlci1sZWZ0OiAgIDZweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlci1yaWdodDogIDZweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAkZHJvcGRvd24tYmc7XG5cdFx0XHRib3JkZXItdG9wOiAgICAwO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdH1cblx0XHQmLmRhdGVwaWNrZXItb3JpZW50LWxlZnQ6YmVmb3JlICAgeyBsZWZ0OiA2cHg7IH1cblx0XHQmLmRhdGVwaWNrZXItb3JpZW50LWxlZnQ6YWZ0ZXIgICAgeyBsZWZ0OiA3cHg7IH1cblx0XHQmLmRhdGVwaWNrZXItb3JpZW50LXJpZ2h0OmJlZm9yZSAgeyByaWdodDogNnB4OyB9XG5cdFx0Ji5kYXRlcGlja2VyLW9yaWVudC1yaWdodDphZnRlciAgIHsgcmlnaHQ6IDdweDsgfVxuXHRcdCYuZGF0ZXBpY2tlci1vcmllbnQtYm90dG9tOmJlZm9yZSB7IHRvcDogLTdweDsgfVxuXHRcdCYuZGF0ZXBpY2tlci1vcmllbnQtYm90dG9tOmFmdGVyICB7IHRvcDogLTZweDsgfVxuXHRcdCYuZGF0ZXBpY2tlci1vcmllbnQtdG9wOmJlZm9yZSB7XG5cdFx0XHRib3R0b206IC03cHg7XG5cdFx0XHRib3JkZXItYm90dG9tOiAwO1xuXHRcdFx0Ym9yZGVyLXRvcDogICAgN3B4IHNvbGlkICRkcm9wZG93bi1ib3JkZXI7XG5cdFx0fVxuXHRcdCYuZGF0ZXBpY2tlci1vcmllbnQtdG9wOmFmdGVyIHtcblx0XHRcdGJvdHRvbTogLTZweDtcblx0XHRcdGJvcmRlci1ib3R0b206IDA7XG5cdFx0XHRib3JkZXItdG9wOiAgICA2cHggc29saWQgJGRyb3Bkb3duLWJnO1xuXHRcdH1cblx0fVxuXHR0YWJsZSB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcblx0XHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0XHR0ciB7XG5cdFx0XHR0ZCwgdGgge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdHdpZHRoOiAzMHB4O1xuXHRcdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMtc2hpbSg0cHgpO1xuXHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC8vIElubGluZSBkaXNwbGF5IGluc2lkZSBhIHRhYmxlIHByZXNlbnRzIHNvbWUgcHJvYmxlbXMgd2l0aFxuXHQvLyBib3JkZXIgYW5kIGJhY2tncm91bmQgY29sb3JzLlxuXHQudGFibGUtc3RyaXBlZCAmIHRhYmxlIHRyIHtcblx0XHR0ZCwgdGgge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXHR9XG5cdHRhYmxlIHRyIHRkIHtcblx0XHQmLm9sZCxcblx0XHQmLm5ldyB7XG5cdFx0XHRjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuXHRcdH1cblx0XHQmLmRheTpob3Zlcixcblx0XHQmLmZvY3VzZWQge1xuXHRcdCAgY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRncmF5LWxpZ2h0ZXIpO1xuXHRcdFx0YmFja2dyb3VuZDogJGdyYXktbGlnaHRlcjtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR9XG5cdFx0Ji5kaXNhYmxlZCxcblx0XHQmLmRpc2FibGVkOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuXHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRcdH1cblx0XHQmLmhpZ2hsaWdodGVkIHtcblx0XHRcdCRoaWdobGlnaHRlZC1iZzogJHN0YXRlLWluZm8tYmc7XG5cdFx0XHRAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkaGlnaGxpZ2h0ZWQtYmcsIGRhcmtlbigkaGlnaGxpZ2h0ZWQtYmcsIDIwJSkpO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblxuXHRcdFx0Ji5mb2N1c2VkIHtcblx0XHRcdFx0YmFja2dyb3VuZDogZGFya2VuKCRoaWdobGlnaHRlZC1iZywgMTAlKTtcblx0XHRcdH1cblxuXHRcdFx0Ji5kaXNhYmxlZCxcblx0XHRcdCYuZGlzYWJsZWQ6YWN0aXZlIHtcblx0XHRcdFx0YmFja2dyb3VuZDogJGhpZ2hsaWdodGVkLWJnO1xuXHRcdFx0XHRjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLnRvZGF5IHtcblx0XHRcdCR0b2RheS1iZzogbGlnaHRlbihvcmFuZ2UsIDMwJSk7XG5cdFx0XHRAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkdG9kYXktYmcsIGRhcmtlbigkdG9kYXktYmcsIDIwJSkpO1xuXG5cdFx0XHQmLmZvY3VzZWQge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBkYXJrZW4oJHRvZGF5LWJnLCAxMCUpO1xuXHRcdFx0fVxuXG5cdFx0XHQmLmRpc2FibGVkLFxuXHRcdFx0Ji5kaXNhYmxlZDphY3RpdmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkdG9kYXktYmc7XG5cdFx0XHRcdGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYucmFuZ2Uge1xuXHRcdFx0JHJhbmdlLWJnOiAkZ3JheS1saWdodGVyO1xuXHRcdFx0QGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJHJhbmdlLWJnLCBkYXJrZW4oJHJhbmdlLWJnLCAyMCUpKTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cblx0XHRcdCYuZm9jdXNlZCB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IGRhcmtlbigkcmFuZ2UtYmcsIDEwJSk7XG5cdFx0XHR9XG5cblx0XHRcdCYuZGlzYWJsZWQsXG5cdFx0XHQmLmRpc2FibGVkOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRyYW5nZS1iZztcblx0XHRcdFx0Y29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5yYW5nZS5oaWdobGlnaHRlZCB7XG5cdFx0XHQkcmFuZ2UtaGlnaGxpZ2h0ZWQtYmc6IG1peCgkc3RhdGUtaW5mby1iZywgJGdyYXktbGlnaHRlciwgNTAlKTtcblx0XHRcdEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRyYW5nZS1oaWdobGlnaHRlZC1iZywgZGFya2VuKCRyYW5nZS1oaWdobGlnaHRlZC1iZywgMjAlKSk7XG5cblx0XHRcdCYuZm9jdXNlZCB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IGRhcmtlbigkcmFuZ2UtaGlnaGxpZ2h0ZWQtYmcsIDEwJSk7XG5cdFx0XHR9XG5cblx0XHRcdCYuZGlzYWJsZWQsXG5cdFx0XHQmLmRpc2FibGVkOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRyYW5nZS1oaWdobGlnaHRlZC1iZztcblx0XHRcdFx0Y29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5yYW5nZS50b2RheSB7XG5cdFx0XHQkcmFuZ2UtdG9kYXktYmc6IG1peChvcmFuZ2UsICRncmF5LWxpZ2h0ZXIsIDUwJSk7XG5cdFx0XHRAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkcmFuZ2UtdG9kYXktYmcsIGRhcmtlbigkcmFuZ2UtdG9kYXktYmcsIDIwJSkpO1xuXG5cdFx0XHQmLmRpc2FibGVkLFxuXHRcdFx0Ji5kaXNhYmxlZDphY3RpdmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkcmFuZ2UtdG9kYXktYmc7XG5cdFx0XHRcdGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuc2VsZWN0ZWQsXG5cdFx0Ji5zZWxlY3RlZC5oaWdobGlnaHRlZCB7XG5cdFx0XHRAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkZ3JheS1saWdodCwgJGdyYXkpO1xuXHRcdFx0dGV4dC1zaGFkb3c6IDAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KTtcblx0XHR9XG5cdFx0Ji5hY3RpdmUsXG5cdFx0Ji5hY3RpdmUuaGlnaGxpZ2h0ZWQge1xuXHRcdFx0QGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYm9yZGVyKTtcblx0XHRcdHRleHQtc2hhZG93OiAwIC0xcHggMCByZ2JhKDAsMCwwLC4yNSk7XG5cdFx0fVxuXHRcdHNwYW4ge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogMjMlO1xuXHRcdFx0aGVpZ2h0OiA1NHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDU0cHg7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdG1hcmdpbjogMSU7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzLXNoaW0oNHB4KTtcblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmLmZvY3VzZWQge1xuXHRcdFx0ICBjb2xvcjogY29sb3ItY29udHJhc3QoJGdyYXktbGlnaHRlcik7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0ZXI7XG5cdFx0XHR9XG5cdFx0XHQmLmRpc2FibGVkLFxuXHRcdFx0Ji5kaXNhYmxlZDpob3ZlciB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRcdGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG5cdFx0XHRcdGN1cnNvcjogZGVmYXVsdDtcblx0XHRcdH1cblx0XHRcdCYuYWN0aXZlLFxuXHRcdFx0Ji5hY3RpdmU6aG92ZXIsXG5cdFx0XHQmLmFjdGl2ZS5kaXNhYmxlZCxcblx0XHRcdCYuYWN0aXZlLmRpc2FibGVkOmhvdmVyIHtcblx0XHRcdFx0QGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYm9yZGVyKTtcblx0XHRcdFx0dGV4dC1zaGFkb3c6IDAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KTtcblx0XHRcdH1cblx0XHRcdCYub2xkLFxuXHRcdFx0Ji5uZXcge1xuXHRcdFx0XHRjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5kYXRlcGlja2VyLXN3aXRjaCB7XG5cdFx0d2lkdGg6IDE0NXB4O1xuXHR9XG5cblx0LmRhdGVwaWNrZXItc3dpdGNoLFxuXHQucHJldixcblx0Lm5leHQsXG5cdHRmb290IHRyIHRoIHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0Jjpob3ZlciB7XG5cdFx0ICBjb2xvcjogY29sb3ItY29udHJhc3QoJGdyYXktbGlnaHRlcik7XG5cdFx0ICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodGVyO1xuXHRcdH1cblx0fVxuXG5cdC5wcmV2LCAubmV4dCB7XG5cdFx0Ji5kaXNhYmxlZCB7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0fVxuXHR9XG5cblx0Ly8gQmFzaWMgc3R5bGluZyBmb3IgY2FsZW5kYXItd2VlayBjZWxsc1xuXHQuY3cge1xuXHRcdGZvbnQtc2l6ZTogMTBweDtcblx0XHR3aWR0aDogMTJweDtcblx0XHRwYWRkaW5nOiAwIDJweCAwIDVweDtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHR9XG59XG4uaW5wdXQtZ3JvdXAuZGF0ZSAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG4uaW5wdXQtZGF0ZXJhbmdlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGlucHV0IHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblx0aW5wdXQ6Zmlyc3QtY2hpbGQge1xuXHQgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMtc2hpbSgzcHggMCAwIDNweCk7XG5cdH1cblx0aW5wdXQ6bGFzdC1jaGlsZCB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cy1zaGltKDAgM3B4IDNweCAwKTtcblx0fVxuXHQuaW5wdXQtZ3JvdXAtYWRkb24ge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdG1pbi13aWR0aDogMTZweDtcblx0XHRwYWRkaW5nOiA0cHggNXB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcblx0XHRib3JkZXItd2lkdGg6IDFweCAwO1xuXHRcdG1hcmdpbi1sZWZ0OiAtNXB4O1xuXHRcdG1hcmdpbi1yaWdodDogLTVweDtcblx0fVxufVxuIgoJXSwKCSJuYW1lcyI6IFtdLAoJIm1hcHBpbmdzIjogIkF1Q1VBLEFBQUEsV0FBVyxDQUFDO0VYU1IsYUFBYSxFeEJ3RUQs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 */