b,
strong {
  font-weight: 700; }

.opacity-25 {
  opacity: .25 !important; }

.opacity-50 {
  opacity: .5 !important; }

.opacity-75 {
  opacity: .75 !important; }

.opacity-100 {
  opacity: 1 !important; }

.text-tiny {
  font-size: 70% !important; }

.text-big {
  font-size: 112% !important; }

.text-large {
  font-size: 150% !important; }

.text-xlarge {
  font-size: 170% !important; }

.line-height-1 {
  line-height: 1 !important; }

.line-height-condenced {
  line-height: 1.3 !important; }

.line-height-inherit {
  line-height: inherit !important; }

.text-expanded {
  letter-spacing: 0.06991em !important; }

.font-weight-semibold {
  font-weight: 500 !important; }

.text-transform-none {
  text-transform: none !important; }

.text-sans-serif {
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif !important; }

.text-serif {
  font-family: Georgia, "Times New Roman", serif !important; }

.cursor-pointer {
  cursor: pointer !important; }

.cursor-move {
  cursor: move !important;
  cursor: -webkit-grab !important;
  cursor: grab !important; }

.container-p-x {
  padding-right: 1rem !important;
  padding-left: 1rem !important; }
  @media (min-width: 992px) {
    .container-p-x {
      padding-right: 2rem !important;
      padding-left: 2rem !important; } }

.container-m-nx {
  margin-right: -1rem !important;
  margin-left: -1rem !important; }
  @media (min-width: 992px) {
    .container-m-nx {
      margin-right: -2rem !important;
      margin-left: -2rem !important; } }

.container-p-y:not([class^="pt-"]):not([class*=" pt-"]) {
  padding-top: 1.5rem !important; }

.container-p-y:not([class^="pb-"]):not([class*=" pb-"]) {
  padding-bottom: 1.5rem !important; }

.container-m-ny:not([class^="mt-"]):not([class*=" mt-"]) {
  margin-top: -1.5rem !important; }

.container-m-ny:not([class^="mb-"]):not([class*=" mb-"]) {
  margin-bottom: -1.5rem !important; }

.rotate-90 {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg); }

.rotate-180 {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg); }

.rotate-270 {
  -webkit-transform: rotate(270deg);
          transform: rotate(270deg); }

.rotate--90 {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg); }

.rotate--180 {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg); }

.rotate--270 {
  -webkit-transform: rotate(-270deg);
          transform: rotate(-270deg); }

.rotate-0 {
  -webkit-transform: rotate(0deg) !important;
          transform: rotate(0deg) !important; }

.scaleX--1 {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1); }

.scaleY--1 {
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1); }

.row-bordered {
  overflow: hidden; }
  .row-bordered > .col,
  .row-bordered > [class^="col-"],
  .row-bordered > [class*=" col-"],
  .row-bordered > [class^="col "],
  .row-bordered > [class*=" col "],
  .row-bordered > [class$=" col"],
  .row-bordered > [class="col"] {
    position: relative;
    padding-top: 1px; }
    .row-bordered > .col::before,
    .row-bordered > [class^="col-"]::before,
    .row-bordered > [class*=" col-"]::before,
    .row-bordered > [class^="col "]::before,
    .row-bordered > [class*=" col "]::before,
    .row-bordered > [class$=" col"]::before,
    .row-bordered > [class="col"]::before {
      content: "";
      position: absolute;
      right: 0;
      bottom: -1px;
      left: 0;
      display: block;
      height: 0;
      border-top: 1px solid rgba(24, 28, 33, 0.06); }
    .row-bordered > .col::after,
    .row-bordered > [class^="col-"]::after,
    .row-bordered > [class*=" col-"]::after,
    .row-bordered > [class^="col "]::after,
    .row-bordered > [class*=" col "]::after,
    .row-bordered > [class$=" col"]::after,
    .row-bordered > [class="col"]::after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: -1px;
      display: block;
      width: 0;
      border-left: 1px solid rgba(24, 28, 33, 0.06); }
  .row-bordered.row-border-light > .col::before, .row-bordered.row-border-light > .col::after,
  .row-bordered.row-border-light > [class^="col-"]::before,
  .row-bordered.row-border-light > [class^="col-"]::after,
  .row-bordered.row-border-light > [class*=" col-"]::before,
  .row-bordered.row-border-light > [class*=" col-"]::after,
  .row-bordered.row-border-light > [class^="col "]::before,
  .row-bordered.row-border-light > [class^="col "]::after,
  .row-bordered.row-border-light > [class*=" col "]::before,
  .row-bordered.row-border-light > [class*=" col "]::after,
  .row-bordered.row-border-light > [class$=" col"]::before,
  .row-bordered.row-border-light > [class$=" col"]::after,
  .row-bordered.row-border-light > [class="col"]::before,
  .row-bordered.row-border-light > [class="col"]::after {
    border-color: rgba(24, 28, 33, 0.06); }

@media (min-width: 576px) {
  .w-sm-100 {
    width: 100% !important; }
  .w-sm-auto {
    width: auto !important; } }

@media (min-width: 768px) {
  .w-md-100 {
    width: 100% !important; }
  .w-md-auto {
    width: auto !important; } }

@media (min-width: 992px) {
  .w-lg-100 {
    width: 100% !important; }
  .w-lg-auto {
    width: auto !important; } }

@media (min-width: 1200px) {
  .w-xl-100 {
    width: 100% !important; }
  .w-xl-auto {
    width: auto !important; } }

.cell-fit {
  width: .1%;
  white-space: nowrap; }

.flex-truncate {
  min-width: 0 !important; }

.flex-basis-100 {
  -ms-flex-preferred-size: 100% !important;
      flex-basis: 100% !important; }

.flex-basis-auto {
  -ms-flex-preferred-size: auto !important;
      flex-basis: auto !important; }

@media (min-width: 576px) {
  .flex-basis-sm-100 {
    -ms-flex-preferred-size: 100% !important;
        flex-basis: 100% !important; }
  .flex-basis-sm-auto {
    -ms-flex-preferred-size: auto !important;
        flex-basis: auto !important; } }

@media (min-width: 768px) {
  .flex-basis-md-100 {
    -ms-flex-preferred-size: 100% !important;
        flex-basis: 100% !important; }
  .flex-basis-md-auto {
    -ms-flex-preferred-size: auto !important;
        flex-basis: auto !important; } }

@media (min-width: 992px) {
  .flex-basis-lg-100 {
    -ms-flex-preferred-size: 100% !important;
        flex-basis: 100% !important; }
  .flex-basis-lg-auto {
    -ms-flex-preferred-size: auto !important;
        flex-basis: auto !important; } }

@media (min-width: 1200px) {
  .flex-basis-xl-100 {
    -ms-flex-preferred-size: 100% !important;
        flex-basis: 100% !important; }
  .flex-basis-xl-auto {
    -ms-flex-preferred-size: auto !important;
        flex-basis: auto !important; } }

.d-flex,
.d-inline-flex,
.media,
.media > :not(.media-body),
.jumbotron,
.card {
  -ms-flex-negative: 1;
      flex-shrink: 1; }

.ie-mh-1 {
  min-height: 1px; }

.text-body[href]:hover {
  color: #3c8ae2 !important; }

.text-muted[href]:hover, .text-muted[href]:focus {
  color: #8c8e90 !important; }

.text-light {
  color: #babbbc !important; }
  .text-light[href]:hover, .text-light[href]:focus {
    color: #8c8e90 !important; }

.text-lighter {
  color: #d1d2d3 !important; }
  .text-lighter[href]:hover, .text-lighter[href]:focus {
    color: #8c8e90 !important; }

.text-lightest {
  color: #e8e8e9 !important; }
  .text-lightest[href]:hover, .text-lightest[href]:focus {
    color: #8c8e90 !important; }

.bg-dark {
  background-color: rgba(24, 28, 33, 0.9) !important; }

a.bg-dark:hover, a.bg-dark:focus {
  background-color: rgba(24, 28, 33, 0.9) !important; }

.bg-light {
  background-color: rgba(24, 28, 33, 0.06) !important; }

a.bg-light:hover, a.bg-light:focus {
  background-color: rgba(24, 28, 33, 0.1) !important; }

.bg-lighter {
  background-color: rgba(24, 28, 33, 0.03) !important; }

a.bg-lighter:hover, a.bg-lighter:focus {
  background-color: rgba(24, 28, 33, 0.06) !important; }

.bg-lightest {
  background-color: rgba(24, 28, 33, 0.015) !important; }

a.bg-lightest:hover, a.bg-lightest:focus {
  background-color: rgba(24, 28, 33, 0.03) !important; }

.bg-transparent {
  background-image: none !important; }

.border-light {
  border-color: rgba(24, 28, 33, 0.06) !important; }

.border-transparent {
  border-color: transparent !important; }

body {
  -moz-font-feature-settings: "liga" on;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility; }

@media (min-width: 768px) {
  button.list-group-item {
    outline: none; } }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .card,
  .card-body,
  .media,
  .flex-column,
  .tab-content {
    min-height: 1px; }
  img {
    min-height: 1px;
    height: auto; } }

.container,
.container-fluid {
  padding-right: 1rem;
  padding-left: 1rem; }
  @media (min-width: 992px) {
    .container,
    .container-fluid {
      padding-right: 2rem;
      padding-left: 2rem; } }

.img-thumbnail {
  position: relative;
  display: block; }

.img-thumbnail img {
  z-index: 1; }

.img-thumbnail-content {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  display: block;
  opacity: 0;
  transition: all .2s ease-in-out;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
  .img-thumbnail:hover .img-thumbnail-content,
  .img-thumbnail:focus .img-thumbnail-content {
    opacity: 1; }

.img-thumbnail-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: block;
  transition: all .2s ease-in-out; }
  .img-thumbnail:not(:hover):not(:focus) .img-thumbnail-overlay {
    opacity: 0 !important; }

.img-thumbnail-shadow {
  transition: box-shadow .2s; }
  .img-thumbnail-shadow:hover, .img-thumbnail-shadow:focus {
    box-shadow: 0 5px 20px rgba(24, 28, 33, 0.4); }

.img-thumbnail-zoom-in {
  overflow: hidden; }
  .img-thumbnail-zoom-in img {
    transition: all .3s ease-in-out;
    -webkit-transform: translate3d(0);
            transform: translate3d(0); }
  .img-thumbnail-zoom-in .img-thumbnail-content {
    -webkit-transform: translate(-50%, -50%) scale(0.6);
            transform: translate(-50%, -50%) scale(0.6); }
  .img-thumbnail-zoom-in:hover img, .img-thumbnail-zoom-in:focus img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  .img-thumbnail-zoom-in:hover .img-thumbnail-content, .img-thumbnail-zoom-in:focus .img-thumbnail-content {
    -webkit-transform: translate(-50%, -50%) scale(1);
            transform: translate(-50%, -50%) scale(1); }

@-webkit-keyframes dropdownAnimation {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes dropdownAnimation {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.table .table-secondary,
.table .table-secondary > th,
.table .table-secondary > td {
  border-color: rgba(0, 0, 0, 0.035) !important;
  background-color: #f3f5f7;
  color: #616263; }

.table-hover .table-secondary:hover,
.table-hover .table-secondary:hover > td,
.table-hover .table-secondary:hover > th {
  background-color: #f1f3f5; }

.table .table-success,
.table .table-success > th,
.table .table-success > td {
  border-color: rgba(0, 0, 0, 0.035) !important;
  background-color: #e6f8f1;
  color: #5c6360; }

.table-hover .table-success:hover,
.table-hover .table-success:hover > td,
.table-hover .table-success:hover > th {
  background-color: #e4f6ef; }

.table .table-info,
.table .table-info > th,
.table .table-info > td {
  border-color: rgba(0, 0, 0, 0.035) !important;
  background-color: #eaf9fb;
  color: #5e6464; }

.table-hover .table-info:hover,
.table-hover .table-info:hover > td,
.table-hover .table-info:hover > th {
  background-color: #e8f7f8; }

.table .table-warning,
.table .table-warning > th,
.table .table-warning > td {
  border-color: rgba(0, 0, 0, 0.035) !important;
  background-color: #fffbee;
  color: #66645f; }

.table-hover .table-warning:hover,
.table-hover .table-warning:hover > td,
.table-hover .table-warning:hover > th {
  background-color: #fcf8ec; }

.table .table-danger,
.table .table-danger > th,
.table .table-danger > td {
  border-color: rgba(0, 0, 0, 0.035) !important;
  background-color: #fbeeed;
  color: #645f5f; }

.table-hover .table-danger:hover,
.table-hover .table-danger:hover > td,
.table-hover .table-danger:hover > th {
  background-color: #f8eceb; }

.table .table-dark,
.table .table-dark > th,
.table .table-dark > td {
  border-color: rgba(0, 0, 0, 0.035) !important;
  background-color: #e8e8e9;
  color: #5d5d5d; }

.table-hover .table-dark:hover,
.table-hover .table-dark:hover > td,
.table-hover .table-dark:hover > th {
  background-color: #e6e6e7; }

.table.table-fixed {
  table-layout: fixed; }

.table th {
  font-weight: 500; }

.table-active,
.table-active > th,
.table-active > td {
  border-color: rgba(24, 28, 33, 0.035);
  background-color: #f7f7f7; }

.table-hover .table-active:hover,
.table-hover .table-active:hover > td,
.table-hover .table-active:hover > th {
  background-color: whitesmoke; }

.card-table {
  margin-bottom: 0; }

.card .table:not(.table-dark),
.card .table:not(.table-dark) thead:not(.thead-dark) th,
.card .table:not(.table-dark) td,
.nav-tabs-top .table:not(.table-dark),
.nav-tabs-top .table:not(.table-dark) thead:not(.thead-dark) th,
.nav-tabs-top .table:not(.table-dark) td,
.nav-tabs-right .table:not(.table-dark),
.nav-tabs-right .table:not(.table-dark) thead:not(.thead-dark) th,
.nav-tabs-right .table:not(.table-dark) td,
.nav-tabs-bottom .table:not(.table-dark),
.nav-tabs-bottom .table:not(.table-dark) thead:not(.thead-dark) th,
.nav-tabs-bottom .table:not(.table-dark) td,
.nav-tabs-left .table:not(.table-dark),
.nav-tabs-left .table:not(.table-dark) thead:not(.thead-dark) th,
.nav-tabs-left .table:not(.table-dark) td {
  border-color: #eeeeee; }

.card-table > thead:first-child > tr:first-child > td,
.card-table > thead:first-child > tr:first-child > th,
.card-table > tbody:first-child > tr:first-child > td,
.card-table > tbody:first-child > tr:first-child > th,
.card-table > tfoot:first-child > tr:first-child > td,
.card-table > tfoot:first-child > tr:first-child > th {
  border-top: 0; }

.card-table > thead > tr > td:first-child,
.card-table > thead > tr > th:first-child,
.card-table > tbody > tr > td:first-child,
.card-table > tbody > tr > th:first-child,
.card-table > tfoot > tr > td:first-child,
.card-table > tfoot > tr > th:first-child {
  padding-left: 1.5rem;
  border-left: 0; }

.card-table > thead > tr > td:last-child,
.card-table > thead > tr > th:last-child,
.card-table > tbody > tr > td:last-child,
.card-table > tbody > tr > th:last-child,
.card-table > tfoot > tr > td:last-child,
.card-table > tfoot > tr > th:last-child {
  padding-right: 1.5rem;
  border-right: 0; }

.card-condenced .card-table > thead > tr > td:first-child,
.card-condenced .card-table > thead > tr > th:first-child,
.card-condenced .card-table > tbody > tr > td:first-child,
.card-condenced .card-table > tbody > tr > th:first-child,
.card-condenced .card-table > tfoot > tr > td:first-child,
.card-condenced .card-table > tfoot > tr > th:first-child {
  padding-left: 1rem;
  border-left: 0; }

.card-condenced .card-table > thead > tr > td:last-child,
.card-condenced .card-table > thead > tr > th:last-child,
.card-condenced .card-table > tbody > tr > td:last-child,
.card-condenced .card-table > tbody > tr > th:last-child,
.card-condenced .card-table > tfoot > tr > td:last-child,
.card-condenced .card-table > tfoot > tr > th:last-child {
  padding-right: 1rem;
  border-right: 0; }

.btn {
  cursor: pointer; }
  .btn.disabled, .btn:disabled {
    cursor: default; }

.btn .badge {
  transition: all 0.2s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .btn .badge {
      transition: none; } }

label.btn {
  margin-bottom: 0; }

.btn-secondary {
  border-color: transparent;
  background: #8897AA;
  color: #fff; }
  .btn-secondary:hover {
    border-color: transparent;
    background: #818fa2;
    color: #fff; }
  .btn-secondary:focus, .btn-secondary.focus {
    box-shadow: 0 0 0 2px rgba(136, 151, 170, 0.4); }
  .btn-secondary.disabled, .btn-secondary:disabled {
    border-color: transparent !important;
    background: #8897AA !important;
    box-shadow: none !important;
    color: #fff !important; }

.btn-secondary .badge {
  background: #fff;
  color: #8897AA; }

.btn-secondary:active,
.btn-secondary.active,
.show > .btn-secondary.dropdown-toggle {
  border-color: transparent;
  background: #768394;
  box-shadow: none; }

.btn-group .btn-secondary,
.input-group-prepend .btn-secondary,
.input-group-append .btn-secondary {
  border-right: 1px solid #768394;
  border-left: 1px solid #768394; }

.btn-outline-secondary {
  border-color: #8897AA;
  background: transparent;
  color: #8897AA; }
  .btn-outline-secondary:hover {
    border-color: transparent;
    background: #8897AA;
    color: #fff; }
  .btn-outline-secondary:focus, .btn-outline-secondary.focus {
    box-shadow: 0 0 0 2px rgba(136, 151, 170, 0.4); }
  .btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
    border-color: #8897AA !important;
    background: transparent !important;
    color: #8897AA !important; }

.btn-outline-secondary:active,
.btn-outline-secondary.active,
.show > .btn-outline-secondary.dropdown-toggle {
  border-color: transparent;
  background: #818fa2;
  color: #fff;
  box-shadow: none; }

.btn-outline-secondary .badge {
  background: #8897AA;
  border-color: #8897AA;
  color: #fff; }

.btn-outline-secondary:hover .badge,
.btn-outline-secondary:focus .badge,
.btn-outline-secondary:active .badge,
.btn-outline-secondary.active .badge,
.show > .btn-outline-secondary.dropdown-toggle .badge {
  background: #fff;
  border-color: #fff;
  color: #8897AA; }

.btn-success {
  border-color: transparent;
  background: #02BC77;
  color: #fff; }
  .btn-success:hover {
    border-color: transparent;
    background: #02b371;
    color: #fff; }
  .btn-success:focus, .btn-success.focus {
    box-shadow: 0 0 0 2px rgba(2, 188, 119, 0.4); }
  .btn-success.disabled, .btn-success:disabled {
    border-color: transparent !important;
    background: #02BC77 !important;
    box-shadow: none !important;
    color: #fff !important; }

.btn-success .badge {
  background: #fff;
  color: #02BC77; }

.btn-success:active,
.btn-success.active,
.show > .btn-success.dropdown-toggle {
  border-color: transparent;
  background: #02a468;
  box-shadow: none; }

.btn-group .btn-success,
.input-group-prepend .btn-success,
.input-group-append .btn-success {
  border-right: 1px solid #02a468;
  border-left: 1px solid #02a468; }

.btn-outline-success {
  border-color: #02BC77;
  background: transparent;
  color: #02BC77; }
  .btn-outline-success:hover {
    border-color: transparent;
    background: #02BC77;
    color: #fff; }
  .btn-outline-success:focus, .btn-outline-success.focus {
    box-shadow: 0 0 0 2px rgba(2, 188, 119, 0.4); }
  .btn-outline-success.disabled, .btn-outline-success:disabled {
    border-color: #02BC77 !important;
    background: transparent !important;
    color: #02BC77 !important; }

.btn-outline-success:active,
.btn-outline-success.active,
.show > .btn-outline-success.dropdown-toggle {
  border-color: transparent;
  background: #02b371;
  color: #fff;
  box-shadow: none; }

.btn-outline-success .badge {
  background: #02BC77;
  border-color: #02BC77;
  color: #fff; }

.btn-outline-success:hover .badge,
.btn-outline-success:focus .badge,
.btn-outline-success:active .badge,
.btn-outline-success.active .badge,
.show > .btn-outline-success.dropdown-toggle .badge {
  background: #fff;
  border-color: #fff;
  color: #02BC77; }

.btn-info {
  border-color: transparent;
  background: #28c3d7;
  color: #fff; }
  .btn-info:hover {
    border-color: transparent;
    background: #26b9cc;
    color: #fff; }
  .btn-info:focus, .btn-info.focus {
    box-shadow: 0 0 0 2px rgba(40, 195, 215, 0.4); }
  .btn-info.disabled, .btn-info:disabled {
    border-color: transparent !important;
    background: #28c3d7 !important;
    box-shadow: none !important;
    color: #fff !important; }

.btn-info .badge {
  background: #fff;
  color: #28c3d7; }

.btn-info:active,
.btn-info.active,
.show > .btn-info.dropdown-toggle {
  border-color: transparent;
  background: #23aabb;
  box-shadow: none; }

.btn-group .btn-info,
.input-group-prepend .btn-info,
.input-group-append .btn-info {
  border-right: 1px solid #23aabb;
  border-left: 1px solid #23aabb; }

.btn-outline-info {
  border-color: #28c3d7;
  background: transparent;
  color: #28c3d7; }
  .btn-outline-info:hover {
    border-color: transparent;
    background: #28c3d7;
    color: #fff; }
  .btn-outline-info:focus, .btn-outline-info.focus {
    box-shadow: 0 0 0 2px rgba(40, 195, 215, 0.4); }
  .btn-outline-info.disabled, .btn-outline-info:disabled {
    border-color: #28c3d7 !important;
    background: transparent !important;
    color: #28c3d7 !important; }

.btn-outline-info:active,
.btn-outline-info.active,
.show > .btn-outline-info.dropdown-toggle {
  border-color: transparent;
  background: #26b9cc;
  color: #fff;
  box-shadow: none; }

.btn-outline-info .badge {
  background: #28c3d7;
  border-color: #28c3d7;
  color: #fff; }

.btn-outline-info:hover .badge,
.btn-outline-info:focus .badge,
.btn-outline-info:active .badge,
.btn-outline-info.active .badge,
.show > .btn-outline-info.dropdown-toggle .badge {
  background: #fff;
  border-color: #fff;
  color: #28c3d7; }

.btn-warning {
  border-color: transparent;
  background: #FFD950;
  color: #665720; }
  .btn-warning:hover {
    border-color: transparent;
    background: #f2ce4c;
    color: #665720; }
  .btn-warning:focus, .btn-warning.focus {
    box-shadow: 0 0 0 2px rgba(255, 217, 80, 0.4); }
  .btn-warning.disabled, .btn-warning:disabled {
    border-color: transparent !important;
    background: #FFD950 !important;
    box-shadow: none !important;
    color: #665720 !important; }

.btn-warning .badge {
  background: #665720;
  color: #FFD950; }

.btn-warning:active,
.btn-warning.active,
.show > .btn-warning.dropdown-toggle {
  border-color: transparent;
  background: #debd46;
  box-shadow: none; }

.btn-group .btn-warning,
.input-group-prepend .btn-warning,
.input-group-append .btn-warning {
  border-right: 1px solid #debd46;
  border-left: 1px solid #debd46; }

.btn-outline-warning {
  border-color: #FFD950;
  background: transparent;
  color: #FFD950; }
  .btn-outline-warning:hover {
    border-color: transparent;
    background: #FFD950;
    color: #665720; }
  .btn-outline-warning:focus, .btn-outline-warning.focus {
    box-shadow: 0 0 0 2px rgba(255, 217, 80, 0.4); }
  .btn-outline-warning.disabled, .btn-outline-warning:disabled {
    border-color: #FFD950 !important;
    background: transparent !important;
    color: #FFD950 !important; }

.btn-outline-warning:active,
.btn-outline-warning.active,
.show > .btn-outline-warning.dropdown-toggle {
  border-color: transparent;
  background: #f2ce4c;
  color: #665720;
  box-shadow: none; }

.btn-outline-warning .badge {
  background: #FFD950;
  border-color: #FFD950;
  color: #fff; }

.btn-outline-warning:hover .badge,
.btn-outline-warning:focus .badge,
.btn-outline-warning:active .badge,
.btn-outline-warning.active .badge,
.show > .btn-outline-warning.dropdown-toggle .badge {
  background: #665720;
  border-color: #665720;
  color: #FFD950; }

.btn-danger {
  border-color: transparent;
  background: #d9534f;
  color: #fff; }
  .btn-danger:hover {
    border-color: transparent;
    background: #ce4f4b;
    color: #fff; }
  .btn-danger:focus, .btn-danger.focus {
    box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.4); }
  .btn-danger.disabled, .btn-danger:disabled {
    border-color: transparent !important;
    background: #d9534f !important;
    box-shadow: none !important;
    color: #fff !important; }

.btn-danger .badge {
  background: #fff;
  color: #d9534f; }

.btn-danger:active,
.btn-danger.active,
.show > .btn-danger.dropdown-toggle {
  border-color: transparent;
  background: #bd4845;
  box-shadow: none; }

.btn-group .btn-danger,
.input-group-prepend .btn-danger,
.input-group-append .btn-danger {
  border-right: 1px solid #bd4845;
  border-left: 1px solid #bd4845; }

.btn-outline-danger {
  border-color: #d9534f;
  background: transparent;
  color: #d9534f; }
  .btn-outline-danger:hover {
    border-color: transparent;
    background: #d9534f;
    color: #fff; }
  .btn-outline-danger:focus, .btn-outline-danger.focus {
    box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.4); }
  .btn-outline-danger.disabled, .btn-outline-danger:disabled {
    border-color: #d9534f !important;
    background: transparent !important;
    color: #d9534f !important; }

.btn-outline-danger:active,
.btn-outline-danger.active,
.show > .btn-outline-danger.dropdown-toggle {
  border-color: transparent;
  background: #ce4f4b;
  color: #fff;
  box-shadow: none; }

.btn-outline-danger .badge {
  background: #d9534f;
  border-color: #d9534f;
  color: #fff; }

.btn-outline-danger:hover .badge,
.btn-outline-danger:focus .badge,
.btn-outline-danger:active .badge,
.btn-outline-danger.active .badge,
.show > .btn-outline-danger.dropdown-toggle .badge {
  background: #fff;
  border-color: #fff;
  color: #d9534f; }

.btn-light {
  border-color: transparent;
  background: rgba(24, 28, 33, 0.06);
  color: #0a0b0d; }
  .btn-light:hover {
    border-color: transparent;
    background: rgba(24, 28, 33, 0.11);
    color: #0a0b0d; }
  .btn-light:focus, .btn-light.focus {
    box-shadow: 0 0 0 2px rgba(24, 28, 33, 0.027); }
  .btn-light.disabled, .btn-light:disabled {
    border-color: transparent !important;
    background: rgba(24, 28, 33, 0.06) !important;
    box-shadow: none !important;
    color: #0a0b0d !important; }

.btn-light .badge {
  background: #0a0b0d;
  color: #f1f1f2; }

.btn-light:active,
.btn-light.active,
.show > .btn-light.dropdown-toggle {
  border-color: transparent;
  background: rgba(24, 28, 33, 0.19);
  box-shadow: none; }

.btn-group .btn-light,
.input-group-prepend .btn-light,
.input-group-append .btn-light {
  border-right: 1px solid rgba(24, 28, 33, 0.19);
  border-left: 1px solid rgba(24, 28, 33, 0.19); }

.btn-outline-light {
  border-color: rgba(24, 28, 33, 0.06);
  background: transparent;
  color: rgba(24, 28, 33, 0.06); }
  .btn-outline-light:hover {
    border-color: transparent;
    background: rgba(24, 28, 33, 0.06);
    color: #0a0b0d; }
  .btn-outline-light:focus, .btn-outline-light.focus {
    box-shadow: 0 0 0 2px rgba(24, 28, 33, 0.027); }
  .btn-outline-light.disabled, .btn-outline-light:disabled {
    border-color: rgba(24, 28, 33, 0.06) !important;
    background: transparent !important;
    color: rgba(24, 28, 33, 0.06) !important; }

.btn-outline-light:active,
.btn-outline-light.active,
.show > .btn-outline-light.dropdown-toggle {
  border-color: transparent;
  background: rgba(24, 28, 33, 0.11);
  color: #0a0b0d;
  box-shadow: none; }

.btn-outline-light .badge {
  background: rgba(24, 28, 33, 0.06);
  border-color: rgba(24, 28, 33, 0.06);
  color: #fff; }

.btn-outline-light:hover .badge,
.btn-outline-light:focus .badge,
.btn-outline-light:active .badge,
.btn-outline-light.active .badge,
.show > .btn-outline-light.dropdown-toggle .badge {
  background: #0a0b0d;
  border-color: #0a0b0d;
  color: #fff; }

.btn-dark {
  border-color: transparent;
  background: rgba(24, 28, 33, 0.9);
  color: #fff; }
  .btn-dark:hover {
    border-color: transparent;
    background: rgba(24, 28, 33, 0.95);
    color: #fff; }
  .btn-dark:focus, .btn-dark.focus {
    box-shadow: 0 0 0 2px rgba(24, 28, 33, 0.405); }
  .btn-dark.disabled, .btn-dark:disabled {
    border-color: transparent !important;
    background: rgba(24, 28, 33, 0.9) !important;
    box-shadow: none !important;
    color: #fff !important; }

.btn-dark .badge {
  background: #fff;
  color: #2f3337; }

.btn-dark:active,
.btn-dark.active,
.show > .btn-dark.dropdown-toggle {
  border-color: transparent;
  background: #181c21;
  box-shadow: none; }

.btn-group .btn-dark,
.input-group-prepend .btn-dark,
.input-group-append .btn-dark {
  border-right: 1px solid #181c21;
  border-left: 1px solid #181c21; }

.btn-outline-dark {
  border-color: rgba(24, 28, 33, 0.9);
  background: transparent;
  color: rgba(24, 28, 33, 0.9); }
  .btn-outline-dark:hover {
    border-color: transparent;
    background: rgba(24, 28, 33, 0.9);
    color: #fff; }
  .btn-outline-dark:focus, .btn-outline-dark.focus {
    box-shadow: 0 0 0 2px rgba(24, 28, 33, 0.405); }
  .btn-outline-dark.disabled, .btn-outline-dark:disabled {
    border-color: rgba(24, 28, 33, 0.9) !important;
    background: transparent !important;
    color: rgba(24, 28, 33, 0.9) !important; }

.btn-outline-dark:active,
.btn-outline-dark.active,
.show > .btn-outline-dark.dropdown-toggle {
  border-color: transparent;
  background: rgba(24, 28, 33, 0.95);
  color: #fff;
  box-shadow: none; }

.btn-outline-dark .badge {
  background: rgba(24, 28, 33, 0.9);
  border-color: rgba(24, 28, 33, 0.9);
  color: #fff; }

.btn-outline-dark:hover .badge,
.btn-outline-dark:focus .badge,
.btn-outline-dark:active .badge,
.btn-outline-dark.active .badge,
.show > .btn-outline-dark.dropdown-toggle .badge {
  background: #fff;
  border-color: #fff;
  color: #666666; }

.btn-default {
  border-color: rgba(24, 28, 33, 0.1);
  background: transparent;
  color: #4E5155; }
  .btn-default:hover {
    border-color: rgba(24, 28, 33, 0.1);
    background: rgba(24, 28, 33, 0.06);
    color: #4E5155; }
  .btn-default:focus, .btn-default.focus {
    box-shadow: 0 0 0 2px rgba(2, 3, 3, 0.05); }
  .btn-default.disabled, .btn-default:disabled {
    border-color: rgba(24, 28, 33, 0.1) !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #4E5155 !important; }

.btn-default .badge {
  background: #4E5155;
  color: white; }

.btn-default:active,
.btn-default.active,
.show > .btn-default.dropdown-toggle {
  border-color: rgba(24, 28, 33, 0.1);
  background: rgba(24, 28, 33, 0.12);
  box-shadow: none; }

.btn-group .btn-default,
.input-group-prepend .btn-default,
.input-group-append .btn-default {
  border-right: 1px solid rgba(24, 28, 33, 0.12);
  border-left: 1px solid rgba(24, 28, 33, 0.12); }

.btn-outline-default {
  border-color: rgba(24, 28, 33, 0.1);
  background: transparent;
  color: rgba(24, 28, 33, 0.1); }
  .btn-outline-default:hover {
    border-color: transparent;
    background: rgba(24, 28, 33, 0.1);
    color: #4E5155; }
  .btn-outline-default:focus, .btn-outline-default.focus {
    box-shadow: 0 0 0 2px rgba(24, 28, 33, 0.045); }
  .btn-outline-default.disabled, .btn-outline-default:disabled {
    border-color: rgba(24, 28, 33, 0.1) !important;
    background: transparent !important;
    color: rgba(24, 28, 33, 0.1) !important; }

.btn-outline-default:active,
.btn-outline-default.active,
.show > .btn-outline-default.dropdown-toggle {
  border-color: transparent;
  background: rgba(24, 28, 33, 0.15);
  color: #4E5155;
  box-shadow: none; }

.btn-outline-default .badge {
  background: rgba(24, 28, 33, 0.1);
  border-color: rgba(24, 28, 33, 0.1);
  color: #fff; }

.btn-outline-default:hover .badge,
.btn-outline-default:focus .badge,
.btn-outline-default:active .badge,
.btn-outline-default.active .badge,
.show > .btn-outline-default.dropdown-toggle .badge {
  background: #4E5155;
  border-color: #4E5155;
  color: #fff; }

.btn-xl, .btn-group-xl > .btn {
  padding: 0.875rem 2.125rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.25rem; }

.btn-xs, .btn-group-xs > .btn {
  padding: 0 0.5rem;
  font-size: 0.75rem;
  line-height: 1.5;
  border-radius: 0.25rem; }

.btn.btn-link {
  font-size: inherit; }

.icon-btn {
  width: calc(2.25276rem + 2px);
  padding: 0;
  line-height: 2.25276rem; }
  .icon-btn.btn-xl, .btn-group-xl > .icon-btn.btn {
    width: calc(3.625rem + 2px);
    line-height: 3.625rem; }
  .icon-btn.btn-lg {
    width: calc(3rem + 2px);
    line-height: 3rem; }
  .icon-btn.btn-sm {
    width: calc(1.501rem + 2px);
    line-height: 1.501rem; }
  .icon-btn.btn-xs, .btn-group-xs > .icon-btn.btn {
    width: calc(1.125rem + 2px);
    line-height: 1.125rem; }

.btn.borderless:not(.active):not(:active):not(:hover):not(:focus),
:not(.show) > .btn.borderless.dropdown-toggle:not(:hover):not(:focus) {
  border-color: transparent;
  box-shadow: none; }

:not(.btn-group):not(.input-group-prepend):not(.input-group-append) > .btn-group > .btn:not(.btn-default):not([class*="btn-outline-"]):first-child,
.btn-group > .btn-group:first-child > .btn:not(.btn-default):not([class*="btn-outline-"]):first-child,
.input-group-prepend > .btn:not(.btn-default):not([class*="btn-outline-"]):first-child,
.input-group-append > .btn:not(.btn-default):not([class*="btn-outline-"]):first-child,
.input-group-prepend > .btn-group:first-child > .btn:not(.btn-default):not([class*="btn-outline-"]):first-child,
.input-group-append > .btn-group:first-child > .btn:not(.btn-default):not([class*="btn-outline-"]):first-child {
  border-left-color: transparent; }

:not(.btn-group):not(.input-group-prepend):not(.input-group-append) > .btn-group > .btn:not(.btn-default):not([class*="btn-outline-"]):last-of-type,
.btn-group > .btn-group:last-child > .btn:not(.btn-default):not([class*="btn-outline-"]):last-of-type,
.input-group-append > .btn:not(.btn-default):not([class*="btn-outline-"]):last-of-type,
.input-group-prepend > .btn:not(.btn-default):not([class*="btn-outline-"]):last-of-type,
.input-group-append > .btn-group:last-child > .btn:not(.btn-default):not([class*="btn-outline-"]):last-of-type,
.input-group-prepend > .btn-group:last-child > .btn:not(.btn-default):not([class*="btn-outline-"]):last-of-type {
  border-right-color: transparent; }

.dropdown-toggle-split,
.btn-lg + .dropdown-toggle-split,
.btn-group-lg > .btn + .dropdown-toggle-split,
.input-group-lg .btn + .dropdown-toggle-split,
.btn-xl + .dropdown-toggle-split,
.btn-group-xl > .btn + .dropdown-toggle-split,
.btn-group-xl > .btn + .dropdown-toggle-split {
  padding-right: .7em;
  padding-left: .7em; }

.btn-sm + .dropdown-toggle-split,
.btn-group-sm > .btn + .dropdown-toggle-split,
.input-group-sm .btn + .dropdown-toggle-split {
  padding-right: .6em;
  padding-left: .6em; }

.btn-xs + .dropdown-toggle-split, .btn-group-xs > .btn + .dropdown-toggle-split,
.btn-group-xs > .btn + .dropdown-toggle-split {
  padding-right: .5em;
  padding-left: .5em; }

.badge-secondary {
  background-color: #8897AA;
  color: #fff; }

.badge-secondary[href]:hover, .badge-secondary[href]:focus {
  background-color: #818fa2;
  color: #fff;
  text-decoration: none; }

.btn .badge-secondary {
  background: #8897AA !important;
  border-color: #8897AA !important;
  color: #fff !important; }

.badge-outline-secondary {
  background-color: transparent;
  box-shadow: 0 0 0 1px #8897AA inset;
  color: #8897AA; }

.badge-outline-secondary[href]:hover, .badge-outline-secondary[href]:focus {
  color: #8897AA;
  text-decoration: none; }

.btn .badge-outline-secondary {
  background-color: transparent !important;
  box-shadow: 0 0 0 1px #8897AA inset !important;
  color: #8897AA !important; }

.badge-success {
  background-color: #02BC77;
  color: #fff; }

.badge-success[href]:hover, .badge-success[href]:focus {
  background-color: #02b371;
  color: #fff;
  text-decoration: none; }

.btn .badge-success {
  background: #02BC77 !important;
  border-color: #02BC77 !important;
  color: #fff !important; }

.badge-outline-success {
  background-color: transparent;
  box-shadow: 0 0 0 1px #02BC77 inset;
  color: #02BC77; }

.badge-outline-success[href]:hover, .badge-outline-success[href]:focus {
  color: #02BC77;
  text-decoration: none; }

.btn .badge-outline-success {
  background-color: transparent !important;
  box-shadow: 0 0 0 1px #02BC77 inset !important;
  color: #02BC77 !important; }

.badge-info {
  background-color: #28c3d7;
  color: #fff; }

.badge-info[href]:hover, .badge-info[href]:focus {
  background-color: #26b9cc;
  color: #fff;
  text-decoration: none; }

.btn .badge-info {
  background: #28c3d7 !important;
  border-color: #28c3d7 !important;
  color: #fff !important; }

.badge-outline-info {
  background-color: transparent;
  box-shadow: 0 0 0 1px #28c3d7 inset;
  color: #28c3d7; }

.badge-outline-info[href]:hover, .badge-outline-info[href]:focus {
  color: #28c3d7;
  text-decoration: none; }

.btn .badge-outline-info {
  background-color: transparent !important;
  box-shadow: 0 0 0 1px #28c3d7 inset !important;
  color: #28c3d7 !important; }

.badge-warning {
  background-color: #FFD950;
  color: #665720; }

.badge-warning[href]:hover, .badge-warning[href]:focus {
  background-color: #f2ce4c;
  color: #665720;
  text-decoration: none; }

.btn .badge-warning {
  background: #FFD950 !important;
  border-color: #FFD950 !important;
  color: #665720 !important; }

.badge-outline-warning {
  background-color: transparent;
  box-shadow: 0 0 0 1px #FFD950 inset;
  color: #FFD950; }

.badge-outline-warning[href]:hover, .badge-outline-warning[href]:focus {
  color: #FFD950;
  text-decoration: none; }

.btn .badge-outline-warning {
  background-color: transparent !important;
  box-shadow: 0 0 0 1px #FFD950 inset !important;
  color: #FFD950 !important; }

.badge-danger {
  background-color: #d9534f;
  color: #fff; }

.badge-danger[href]:hover, .badge-danger[href]:focus {
  background-color: #ce4f4b;
  color: #fff;
  text-decoration: none; }

.btn .badge-danger {
  background: #d9534f !important;
  border-color: #d9534f !important;
  color: #fff !important; }

.badge-outline-danger {
  background-color: transparent;
  box-shadow: 0 0 0 1px #d9534f inset;
  color: #d9534f; }

.badge-outline-danger[href]:hover, .badge-outline-danger[href]:focus {
  color: #d9534f;
  text-decoration: none; }

.btn .badge-outline-danger {
  background-color: transparent !important;
  box-shadow: 0 0 0 1px #d9534f inset !important;
  color: #d9534f !important; }

.badge-dark {
  background-color: rgba(24, 28, 33, 0.9);
  color: #fff; }

.badge-dark[href]:hover, .badge-dark[href]:focus {
  background-color: rgba(24, 28, 33, 0.93);
  color: #fff;
  text-decoration: none; }

.btn .badge-dark {
  background: rgba(24, 28, 33, 0.9) !important;
  border-color: rgba(24, 28, 33, 0.9) !important;
  color: #fff !important; }

.badge-outline-dark {
  background-color: transparent;
  box-shadow: 0 0 0 1px rgba(24, 28, 33, 0.9) inset;
  color: rgba(24, 28, 33, 0.9); }

.badge-outline-dark[href]:hover, .badge-outline-dark[href]:focus {
  color: rgba(24, 28, 33, 0.9);
  text-decoration: none; }

.btn .badge-outline-dark {
  background-color: transparent !important;
  box-shadow: 0 0 0 1px rgba(24, 28, 33, 0.9) inset !important;
  color: rgba(24, 28, 33, 0.9) !important; }

.badge-default {
  background-color: rgba(24, 28, 33, 0.1);
  color: #4E5155; }

.badge-default[href]:hover, .badge-default[href]:focus {
  background-color: rgba(24, 28, 33, 0.13);
  color: #4E5155;
  text-decoration: none; }

.btn .badge-default {
  background: rgba(24, 28, 33, 0.1) !important;
  border-color: rgba(24, 28, 33, 0.1) !important;
  color: #4E5155 !important; }

.badge-outline-default {
  background-color: transparent;
  box-shadow: 0 0 0 1px rgba(24, 28, 33, 0.1) inset;
  color: #4E5155; }

.badge-outline-default[href]:hover, .badge-outline-default[href]:focus {
  color: #4E5155;
  text-decoration: none; }

.btn .badge-outline-default {
  background-color: transparent !important;
  box-shadow: 0 0 0 1px rgba(24, 28, 33, 0.1) inset !important;
  color: #4E5155 !important; }

.badge.badge-dot {
  display: inline-block;
  margin: 0;
  padding: 0;
  width: .5em;
  height: .5em;
  border-radius: 50%;
  vertical-align: middle; }

.badge.indicator {
  position: absolute;
  top: auto;
  display: inline-block;
  margin: 0;
  -webkit-transform: translate(-50%, 25%);
          transform: translate(-50%, 25%); }
  .badge.indicator:not(.badge-dot) {
    padding: 0 .2em;
    font-size: .6em;
    line-height: 1.2em;
    -webkit-transform: translate(-50%, -10%);
            transform: translate(-50%, -10%); }

[data-trigger=hover] {
  outline: 0; }

.dropdown-menu {
  margin: 0.125rem 0;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.09);
  -webkit-animation: dropdownAnimation .1s;
          animation: dropdownAnimation .1s; }
  .mega-dropdown > .dropdown-menu {
    left: 0 !important;
    right: 0 !important; }

.dropdown-item {
  line-height: 1.54; }

.dropdown-menu .badge[class^="float-"],
.dropdown-menu .badge[class*=" float-"] {
  position: relative;
  top: .071em; }

.dropdown-toggle.hide-arrow::before, .dropdown-toggle.hide-arrow::after,
.dropdown-toggle-hide-arrow > .dropdown-toggle::before,
.dropdown-toggle-hide-arrow > .dropdown-toggle::after {
  display: none; }

.dropdown-menu > li:not(.dropdown-item) > a:not(.dropdown-item) {
  display: block;
  clear: both;
  padding: 0.438rem 1.25rem;
  width: 100%;
  border: 0;
  background: none;
  color: #4E5155;
  text-align: inherit;
  white-space: nowrap;
  font-weight: 400;
  line-height: 1.54; }
  .dropdown-menu > li:not(.dropdown-item) > a:not(.dropdown-item):hover, .dropdown-menu > li:not(.dropdown-item) > a:not(.dropdown-item):focus {
    background-color: rgba(24, 28, 33, 0.03);
    color: #4E5155;
    text-decoration: none; }

.dropdown-menu > li:not(.dropdown-item).active > a:not(.dropdown-item),
.dropdown-menu > li:not(.dropdown-item) > a:not(.dropdown-item):active {
  background-color: #6610f2;
  color: #fff;
  text-decoration: none; }

.dropdown-menu > li:not(.dropdown-item).disabled > a:not(.dropdown-item) {
  background-color: transparent;
  color: #d1d2d3; }

.dropleft .dropdown-toggle::before,
.dropright .dropdown-toggle::after {
  vertical-align: middle; }

.dropdown-toggle-split::after,
.dropdown-toggle-split::before {
  margin-right: 0 !important;
  margin-left: 0 !important; }

.dropdown-menu .dropdown-toggle {
  position: relative; }
  .dropdown-menu .dropdown-toggle::after {
    display: none; }

.dropdown-menu .dropdown-toggle > .dropdown-item {
  position: relative;
  cursor: default; }

@media (max-width: 767px) {
  .dropdown-menu .dropdown-menu {
    position: static;
    display: block;
    margin: 0;
    padding-left: 1.25rem;
    width: 100%;
    border-width: 0;
    border-radius: 0;
    box-shadow: none; } }

@media (min-width: 768px) {
  .dropdown-menu .dropdown-toggle > .dropdown-item::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0.625rem;
    display: block;
    width: .375rem;
    height: .375rem;
    border: 1px solid #a3a4a6;
    border-top: 0;
    border-left: 0;
    -webkit-transform: rotate(-45deg) translate(0, -50%);
            transform: rotate(-45deg) translate(0, -50%); }
  .dropdown-menu .dropdown-toggle:hover > .dropdown-item:not(.disabled) {
    background: rgba(24, 28, 33, 0.03);
    color: #4E5155; }
    .dropdown-menu .dropdown-toggle:hover > .dropdown-item:not(.disabled) + .dropdown-menu {
      display: block; }
  .dropdown-menu .dropdown-menu {
    top: 0;
    left: 100%; }
  .dropdown-menu-right .dropdown-menu {
    right: 100%;
    left: auto; } }

.nav-link {
  line-height: 1.54; }
  .nav-link.disabled {
    border-color: transparent !important;
    background: transparent !important;
    color: #d1d2d3 !important; }

.nav .nav-item,
.nav .nav-link,
.tab-pane,
.tab-pane .card-body {
  outline: none !important; }

.nav-tabs .nav-link:not(.active),
.nav-pills .nav-link:not(.active) {
  color: #8c8e90; }
  .nav-tabs .nav-link:not(.active):hover, .nav-tabs .nav-link:not(.active):focus,
  .nav-pills .nav-link:not(.active):hover,
  .nav-pills .nav-link:not(.active):focus {
    color: #4E5155; }

.nav-tabs:not(.nav-fill):not(.nav-justified) .nav-link,
.nav-pills:not(.nav-fill):not(.nav-justified) .nav-link {
  margin-right: 0.125rem; }

.nav-tabs .nav-link .badge,
.nav-pills .nav-link .badge {
  position: relative;
  top: -1px; }

.nav-tabs .nav-item.show .nav-link:not(.active),
.nav-pills .nav-item.show .nav-link:not(.active) {
  background-color: transparent; }

.nav-tabs .nav-link {
  background-clip: padding-box; }
  .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
    border-bottom-color: transparent; }
  .nav-tabs .nav-link.active {
    border-bottom-color: #fff; }

.nav-tabs.tabs-alt .nav-link, .nav-tabs.tabs-alt .nav-link.active,
.tabs-alt > .nav-tabs .nav-link,
.tabs-alt > .nav-tabs .nav-link.active {
  border-width: 0;
  border-radius: 0;
  background-color: transparent; }

.nav-lg > .nav .nav-link,
.nav-lg.nav .nav-link {
  padding: 0.875rem 1.3125rem;
  font-size: 1rem;
  line-height: 1.5; }

.nav-sm > .nav .nav-link,
.nav-sm.nav .nav-link {
  padding: 0.3125rem 0.875rem;
  font-size: 0.75rem;
  line-height: 1.5; }

.nav-tabs-top,
.nav-tabs-right,
.nav-tabs-bottom,
.nav-tabs-left {
  display: -ms-flexbox;
  display: flex; }
  .nav-tabs-top > .nav,
  .nav-tabs-top > div > .nav,
  .nav-tabs-right > .nav,
  .nav-tabs-right > div > .nav,
  .nav-tabs-bottom > .nav,
  .nav-tabs-bottom > div > .nav,
  .nav-tabs-left > .nav,
  .nav-tabs-left > div > .nav {
    position: relative;
    z-index: 1;
    border: 0; }
  .nav-tabs-top > .nav .nav-link:hover, .nav-tabs-top > .nav .nav-link:focus,
  .nav-tabs-top > div > .nav .nav-link:hover,
  .nav-tabs-top > div > .nav .nav-link:focus,
  .nav-tabs-right > .nav .nav-link:hover,
  .nav-tabs-right > .nav .nav-link:focus,
  .nav-tabs-right > div > .nav .nav-link:hover,
  .nav-tabs-right > div > .nav .nav-link:focus,
  .nav-tabs-bottom > .nav .nav-link:hover,
  .nav-tabs-bottom > .nav .nav-link:focus,
  .nav-tabs-bottom > div > .nav .nav-link:hover,
  .nav-tabs-bottom > div > .nav .nav-link:focus,
  .nav-tabs-left > .nav .nav-link:hover,
  .nav-tabs-left > .nav .nav-link:focus,
  .nav-tabs-left > div > .nav .nav-link:hover,
  .nav-tabs-left > div > .nav .nav-link:focus {
    border-color: rgba(24, 28, 33, 0.06); }
  .nav-tabs-top > .nav .nav-link.active,
  .nav-tabs-top > div > .nav .nav-link.active,
  .nav-tabs-right > .nav .nav-link.active,
  .nav-tabs-right > div > .nav .nav-link.active,
  .nav-tabs-bottom > .nav .nav-link.active,
  .nav-tabs-bottom > div > .nav .nav-link.active,
  .nav-tabs-left > .nav .nav-link.active,
  .nav-tabs-left > div > .nav .nav-link.active {
    border-color: rgba(24, 28, 33, 0.06); }
  .nav-tabs-top .row-bordered > [class^="col-"]::before, .nav-tabs-top .row-bordered > [class^="col-"]::after,
  .nav-tabs-top .row-bordered > [class*=" col-"]::before,
  .nav-tabs-top .row-bordered > [class*=" col-"]::after,
  .nav-tabs-top .row-bordered > [class^="col "]::before,
  .nav-tabs-top .row-bordered > [class^="col "]::after,
  .nav-tabs-top .row-bordered > [class*=" col "]::before,
  .nav-tabs-top .row-bordered > [class*=" col "]::after,
  .nav-tabs-top .row-bordered > [class$=" col"]::before,
  .nav-tabs-top .row-bordered > [class$=" col"]::after,
  .nav-tabs-top .row-bordered > [class="col"]::before,
  .nav-tabs-top .row-bordered > [class="col"]::after,
  .nav-tabs-right .row-bordered > [class^="col-"]::before,
  .nav-tabs-right .row-bordered > [class^="col-"]::after,
  .nav-tabs-right .row-bordered > [class*=" col-"]::before,
  .nav-tabs-right .row-bordered > [class*=" col-"]::after,
  .nav-tabs-right .row-bordered > [class^="col "]::before,
  .nav-tabs-right .row-bordered > [class^="col "]::after,
  .nav-tabs-right .row-bordered > [class*=" col "]::before,
  .nav-tabs-right .row-bordered > [class*=" col "]::after,
  .nav-tabs-right .row-bordered > [class$=" col"]::before,
  .nav-tabs-right .row-bordered > [class$=" col"]::after,
  .nav-tabs-right .row-bordered > [class="col"]::before,
  .nav-tabs-right .row-bordered > [class="col"]::after,
  .nav-tabs-bottom .row-bordered > [class^="col-"]::before,
  .nav-tabs-bottom .row-bordered > [class^="col-"]::after,
  .nav-tabs-bottom .row-bordered > [class*=" col-"]::before,
  .nav-tabs-bottom .row-bordered > [class*=" col-"]::after,
  .nav-tabs-bottom .row-bordered > [class^="col "]::before,
  .nav-tabs-bottom .row-bordered > [class^="col "]::after,
  .nav-tabs-bottom .row-bordered > [class*=" col "]::before,
  .nav-tabs-bottom .row-bordered > [class*=" col "]::after,
  .nav-tabs-bottom .row-bordered > [class$=" col"]::before,
  .nav-tabs-bottom .row-bordered > [class$=" col"]::after,
  .nav-tabs-bottom .row-bordered > [class="col"]::before,
  .nav-tabs-bottom .row-bordered > [class="col"]::after,
  .nav-tabs-left .row-bordered > [class^="col-"]::before,
  .nav-tabs-left .row-bordered > [class^="col-"]::after,
  .nav-tabs-left .row-bordered > [class*=" col-"]::before,
  .nav-tabs-left .row-bordered > [class*=" col-"]::after,
  .nav-tabs-left .row-bordered > [class^="col "]::before,
  .nav-tabs-left .row-bordered > [class^="col "]::after,
  .nav-tabs-left .row-bordered > [class*=" col "]::before,
  .nav-tabs-left .row-bordered > [class*=" col "]::after,
  .nav-tabs-left .row-bordered > [class$=" col"]::before,
  .nav-tabs-left .row-bordered > [class$=" col"]::after,
  .nav-tabs-left .row-bordered > [class="col"]::before,
  .nav-tabs-left .row-bordered > [class="col"]::after {
    border-color: rgba(24, 28, 33, 0.075); }

.nav-tabs-right,
.nav-tabs-left {
  -ms-flex-align: stretch;
      align-items: stretch; }
  .nav-tabs-right > .nav,
  .nav-tabs-right > div > .nav,
  .nav-tabs-left > .nav,
  .nav-tabs-left > div > .nav {
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-positive: 0;
        flex-grow: 0; }
  .nav-tabs-right > .nav .nav-link,
  .nav-tabs-right > div > .nav .nav-link,
  .nav-tabs-left > .nav .nav-link,
  .nav-tabs-left > div > .nav .nav-link {
    margin: 0 0 0.125rem 0 !important; }
  .nav-tabs-right > .tab-content,
  .nav-tabs-left > .tab-content {
    -ms-flex-positive: 1;
        flex-grow: 1; }

.nav-tabs-top {
  -ms-flex-direction: column;
      flex-direction: column; }
  .nav-tabs-top > .nav .nav-link:hover, .nav-tabs-top > .nav .nav-link:focus,
  .nav-tabs-top > div > .nav .nav-link:hover,
  .nav-tabs-top > div > .nav .nav-link:focus {
    border-bottom-color: transparent; }
  .nav-tabs-top > .nav .nav-link.active,
  .nav-tabs-top > div > .nav .nav-link.active {
    border-bottom-color: #fff; }

.nav-tabs-right {
  -ms-flex-direction: row-reverse;
      flex-direction: row-reverse; }
  .nav-tabs-right > .nav .nav-item,
  .nav-tabs-right > div > .nav .nav-item {
    margin-bottom: 0;
    margin-left: -1px; }
  .nav-tabs-right > .nav .nav-link,
  .nav-tabs-right > div > .nav .nav-link {
    border-radius: 0 0.25rem 0.25rem 0; }
    .nav-tabs-right > .nav .nav-link:hover, .nav-tabs-right > .nav .nav-link:focus,
    .nav-tabs-right > div > .nav .nav-link:hover,
    .nav-tabs-right > div > .nav .nav-link:focus {
      border-left-color: transparent; }
    .nav-tabs-right > .nav .nav-link.active,
    .nav-tabs-right > div > .nav .nav-link.active {
      border-left-color: #fff; }

.nav-tabs-bottom {
  -ms-flex-direction: column-reverse;
      flex-direction: column-reverse; }
  .nav-tabs-bottom > .nav .nav-item,
  .nav-tabs-bottom > div > .nav .nav-item {
    margin-top: -1px;
    margin-bottom: 0; }
  .nav-tabs-bottom > .nav .nav-link,
  .nav-tabs-bottom > div > .nav .nav-link {
    border-radius: 0 0 0.25rem 0.25rem; }
    .nav-tabs-bottom > .nav .nav-link:hover, .nav-tabs-bottom > .nav .nav-link:focus,
    .nav-tabs-bottom > div > .nav .nav-link:hover,
    .nav-tabs-bottom > div > .nav .nav-link:focus {
      border-top-color: transparent; }
    .nav-tabs-bottom > .nav .nav-link.active,
    .nav-tabs-bottom > div > .nav .nav-link.active {
      border-top-color: #fff; }

.nav-tabs-left > .nav .nav-item,
.nav-tabs-left > div > .nav .nav-item {
  margin-right: -1px;
  margin-bottom: 0; }

.nav-tabs-left > .nav .nav-link,
.nav-tabs-left > div > .nav .nav-link {
  border-radius: 0.25rem 0 0 0.25rem; }
  .nav-tabs-left > .nav .nav-link:hover, .nav-tabs-left > .nav .nav-link:focus,
  .nav-tabs-left > div > .nav .nav-link:hover,
  .nav-tabs-left > div > .nav .nav-link:focus {
    border-right-color: transparent; }
  .nav-tabs-left > .nav .nav-link.active,
  .nav-tabs-left > div > .nav .nav-link.active {
    border-right-color: #fff; }

.nav-tabs-top > .tab-content,
.nav-tabs-right > .tab-content,
.nav-tabs-bottom > .tab-content,
.nav-tabs-left > .tab-content {
  -ms-flex-negative: 1;
      flex-shrink: 1;
  border: 1px solid rgba(24, 28, 33, 0.06);
  background: #fff;
  background-clip: padding-box;
  box-shadow: 0 1px 4px rgba(24, 28, 33, 0.012); }

.nav-tabs-top > .tab-content {
  border-radius: 0 0 0.25rem 0.25rem; }

.nav-tabs-right > .tab-content {
  border-radius: 0.25rem 0 0 0.25rem; }

.nav-tabs-bottom > .tab-content {
  border-radius: 0.25rem 0.25rem 0 0; }

.nav-tabs-left > .tab-content {
  border-radius: 0 0.25rem 0.25rem 0; }

@media (max-width: 575px) {
  .nav-responsive-sm > .nav,
  .nav-responsive-sm > div > .nav {
    -ms-flex-direction: column;
        flex-direction: column;
    border: 0; }
    .nav-responsive-sm > .nav .nav-item,
    .nav-responsive-sm > div > .nav .nav-item {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }
    .nav-responsive-sm > .nav.card-header-tabs, .nav-responsive-sm > .nav.card-header-pills,
    .nav-responsive-sm > div > .nav.card-header-tabs,
    .nav-responsive-sm > div > .nav.card-header-pills {
      margin-bottom: -0.125rem; }
  .nav-responsive-sm > .nav-tabs .nav-item,
  .nav-responsive-sm > .nav-pills .nav-item,
  .nav-responsive-sm > div > .nav-tabs .nav-item,
  .nav-responsive-sm > div > .nav-pills .nav-item {
    margin: 0 !important; }
  .nav-responsive-sm > .nav-tabs .nav-link,
  .nav-responsive-sm > .nav-pills .nav-link,
  .nav-responsive-sm > div > .nav-tabs .nav-link,
  .nav-responsive-sm > div > .nav-pills .nav-link {
    margin: 0 0 0.125rem 0 !important; }
  .nav-responsive-sm > .nav-tabs:not(.tabs-alt) .nav-link,
  .nav-responsive-sm > div > .nav-tabs:not(.tabs-alt) .nav-link {
    border-radius: 0.25rem; }
    .nav-responsive-sm > .nav-tabs:not(.tabs-alt) .nav-link:hover, .nav-responsive-sm > .nav-tabs:not(.tabs-alt) .nav-link:focus,
    .nav-responsive-sm > div > .nav-tabs:not(.tabs-alt) .nav-link:hover,
    .nav-responsive-sm > div > .nav-tabs:not(.tabs-alt) .nav-link:focus {
      border-color: rgba(24, 28, 33, 0.06); }
  .nav-responsive-sm > .nav-tabs:not(.tabs-alt) .nav-link.active,
  .nav-responsive-sm > div > .nav-tabs:not(.tabs-alt) .nav-link.active {
    border-color: rgba(24, 28, 33, 0.06); }
  .nav-responsive-sm.nav-tabs-top > .tab-content,
  .nav-responsive-sm.nav-tabs-right > .tab-content,
  .nav-responsive-sm.nav-tabs-bottom > .tab-content,
  .nav-responsive-sm.nav-tabs-left > .tab-content {
    border-radius: 0.25rem; }
  .nav-responsive-sm.nav-tabs-bottom, .nav-responsive-sm.nav-tabs-right, .nav-responsive-sm.nav-tabs-left {
    -ms-flex-direction: column;
        flex-direction: column; } }

@media (max-width: 767px) {
  .nav-responsive-md > .nav,
  .nav-responsive-md > div > .nav {
    -ms-flex-direction: column;
        flex-direction: column;
    border: 0; }
    .nav-responsive-md > .nav .nav-item,
    .nav-responsive-md > div > .nav .nav-item {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }
    .nav-responsive-md > .nav.card-header-tabs, .nav-responsive-md > .nav.card-header-pills,
    .nav-responsive-md > div > .nav.card-header-tabs,
    .nav-responsive-md > div > .nav.card-header-pills {
      margin-bottom: -0.125rem; }
  .nav-responsive-md > .nav-tabs .nav-item,
  .nav-responsive-md > .nav-pills .nav-item,
  .nav-responsive-md > div > .nav-tabs .nav-item,
  .nav-responsive-md > div > .nav-pills .nav-item {
    margin: 0 !important; }
  .nav-responsive-md > .nav-tabs .nav-link,
  .nav-responsive-md > .nav-pills .nav-link,
  .nav-responsive-md > div > .nav-tabs .nav-link,
  .nav-responsive-md > div > .nav-pills .nav-link {
    margin: 0 0 0.125rem 0 !important; }
  .nav-responsive-md > .nav-tabs:not(.tabs-alt) .nav-link,
  .nav-responsive-md > div > .nav-tabs:not(.tabs-alt) .nav-link {
    border-radius: 0.25rem; }
    .nav-responsive-md > .nav-tabs:not(.tabs-alt) .nav-link:hover, .nav-responsive-md > .nav-tabs:not(.tabs-alt) .nav-link:focus,
    .nav-responsive-md > div > .nav-tabs:not(.tabs-alt) .nav-link:hover,
    .nav-responsive-md > div > .nav-tabs:not(.tabs-alt) .nav-link:focus {
      border-color: rgba(24, 28, 33, 0.06); }
  .nav-responsive-md > .nav-tabs:not(.tabs-alt) .nav-link.active,
  .nav-responsive-md > div > .nav-tabs:not(.tabs-alt) .nav-link.active {
    border-color: rgba(24, 28, 33, 0.06); }
  .nav-responsive-md.nav-tabs-top > .tab-content,
  .nav-responsive-md.nav-tabs-right > .tab-content,
  .nav-responsive-md.nav-tabs-bottom > .tab-content,
  .nav-responsive-md.nav-tabs-left > .tab-content {
    border-radius: 0.25rem; }
  .nav-responsive-md.nav-tabs-bottom, .nav-responsive-md.nav-tabs-right, .nav-responsive-md.nav-tabs-left {
    -ms-flex-direction: column;
        flex-direction: column; } }

@media (max-width: 991px) {
  .nav-responsive-lg > .nav,
  .nav-responsive-lg > div > .nav {
    -ms-flex-direction: column;
        flex-direction: column;
    border: 0; }
    .nav-responsive-lg > .nav .nav-item,
    .nav-responsive-lg > div > .nav .nav-item {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }
    .nav-responsive-lg > .nav.card-header-tabs, .nav-responsive-lg > .nav.card-header-pills,
    .nav-responsive-lg > div > .nav.card-header-tabs,
    .nav-responsive-lg > div > .nav.card-header-pills {
      margin-bottom: -0.125rem; }
  .nav-responsive-lg > .nav-tabs .nav-item,
  .nav-responsive-lg > .nav-pills .nav-item,
  .nav-responsive-lg > div > .nav-tabs .nav-item,
  .nav-responsive-lg > div > .nav-pills .nav-item {
    margin: 0 !important; }
  .nav-responsive-lg > .nav-tabs .nav-link,
  .nav-responsive-lg > .nav-pills .nav-link,
  .nav-responsive-lg > div > .nav-tabs .nav-link,
  .nav-responsive-lg > div > .nav-pills .nav-link {
    margin: 0 0 0.125rem 0 !important; }
  .nav-responsive-lg > .nav-tabs:not(.tabs-alt) .nav-link,
  .nav-responsive-lg > div > .nav-tabs:not(.tabs-alt) .nav-link {
    border-radius: 0.25rem; }
    .nav-responsive-lg > .nav-tabs:not(.tabs-alt) .nav-link:hover, .nav-responsive-lg > .nav-tabs:not(.tabs-alt) .nav-link:focus,
    .nav-responsive-lg > div > .nav-tabs:not(.tabs-alt) .nav-link:hover,
    .nav-responsive-lg > div > .nav-tabs:not(.tabs-alt) .nav-link:focus {
      border-color: rgba(24, 28, 33, 0.06); }
  .nav-responsive-lg > .nav-tabs:not(.tabs-alt) .nav-link.active,
  .nav-responsive-lg > div > .nav-tabs:not(.tabs-alt) .nav-link.active {
    border-color: rgba(24, 28, 33, 0.06); }
  .nav-responsive-lg.nav-tabs-top > .tab-content,
  .nav-responsive-lg.nav-tabs-right > .tab-content,
  .nav-responsive-lg.nav-tabs-bottom > .tab-content,
  .nav-responsive-lg.nav-tabs-left > .tab-content {
    border-radius: 0.25rem; }
  .nav-responsive-lg.nav-tabs-bottom, .nav-responsive-lg.nav-tabs-right, .nav-responsive-lg.nav-tabs-left {
    -ms-flex-direction: column;
        flex-direction: column; } }

@media (max-width: 1199px) {
  .nav-responsive-xl > .nav,
  .nav-responsive-xl > div > .nav {
    -ms-flex-direction: column;
        flex-direction: column;
    border: 0; }
    .nav-responsive-xl > .nav .nav-item,
    .nav-responsive-xl > div > .nav .nav-item {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }
    .nav-responsive-xl > .nav.card-header-tabs, .nav-responsive-xl > .nav.card-header-pills,
    .nav-responsive-xl > div > .nav.card-header-tabs,
    .nav-responsive-xl > div > .nav.card-header-pills {
      margin-bottom: -0.125rem; }
  .nav-responsive-xl > .nav-tabs .nav-item,
  .nav-responsive-xl > .nav-pills .nav-item,
  .nav-responsive-xl > div > .nav-tabs .nav-item,
  .nav-responsive-xl > div > .nav-pills .nav-item {
    margin: 0 !important; }
  .nav-responsive-xl > .nav-tabs .nav-link,
  .nav-responsive-xl > .nav-pills .nav-link,
  .nav-responsive-xl > div > .nav-tabs .nav-link,
  .nav-responsive-xl > div > .nav-pills .nav-link {
    margin: 0 0 0.125rem 0 !important; }
  .nav-responsive-xl > .nav-tabs:not(.tabs-alt) .nav-link,
  .nav-responsive-xl > div > .nav-tabs:not(.tabs-alt) .nav-link {
    border-radius: 0.25rem; }
    .nav-responsive-xl > .nav-tabs:not(.tabs-alt) .nav-link:hover, .nav-responsive-xl > .nav-tabs:not(.tabs-alt) .nav-link:focus,
    .nav-responsive-xl > div > .nav-tabs:not(.tabs-alt) .nav-link:hover,
    .nav-responsive-xl > div > .nav-tabs:not(.tabs-alt) .nav-link:focus {
      border-color: rgba(24, 28, 33, 0.06); }
  .nav-responsive-xl > .nav-tabs:not(.tabs-alt) .nav-link.active,
  .nav-responsive-xl > div > .nav-tabs:not(.tabs-alt) .nav-link.active {
    border-color: rgba(24, 28, 33, 0.06); }
  .nav-responsive-xl.nav-tabs-top > .tab-content,
  .nav-responsive-xl.nav-tabs-right > .tab-content,
  .nav-responsive-xl.nav-tabs-bottom > .tab-content,
  .nav-responsive-xl.nav-tabs-left > .tab-content {
    border-radius: 0.25rem; }
  .nav-responsive-xl.nav-tabs-bottom, .nav-responsive-xl.nav-tabs-right, .nav-responsive-xl.nav-tabs-left {
    -ms-flex-direction: column;
        flex-direction: column; } }

.page-item + .page-item .page-link,
.pagination li + li > a:not(.page-link) {
  margin-left: 0.1875rem; }

.page-link,
.page-link > a {
  min-width: calc(2.144rem + 2px);
  text-align: center;
  line-height: 1;
  border-radius: 0.25rem; }
  .page-link:focus,
  .page-link > a:focus {
    color: #4E5155; }

.page-link.btn-primary {
  box-shadow: none !important; }

.pagination > li > a:not(.page-link) {
  position: relative;
  display: block;
  padding: 0.625rem 0.3125rem;
  min-width: calc(2.144rem + 2px);
  border: 1px solid rgba(24, 28, 33, 0.075);
  background-color: transparent;
  color: #a3a4a6;
  text-align: center;
  line-height: 1 !important;
  border-radius: 0.25rem; }
  .pagination > li > a:not(.page-link):hover, .pagination > li > a:not(.page-link):focus {
    border-color: rgba(24, 28, 33, 0.1);
    background-color: transparent;
    color: #4E5155;
    text-decoration: none; }
  .pagination > li > a:not(.page-link):focus {
    color: #4E5155; }

.pagination-lg .page-link,
.pagination-lg > li > a:not(.page-link) {
  min-width: calc(2.875rem + 2px);
  line-height: 1;
  border-radius: 0.25rem; }

.pagination-sm .page-link,
.pagination-sm > li > a:not(.page-link) {
  min-width: calc(1.5rem + 2px);
  line-height: 1;
  border-radius: 0.25rem; }

.alert-secondary {
  border-color: #dfe1e3;
  background-color: #edeff2;
  color: #5f6061; }
  .alert-secondary hr {
    border-top-color: #dfe1e3; }
  .alert-secondary .alert-link {
    color: #5f6061; }

.alert-dark-secondary {
  background-color: #8897AA;
  color: #fff; }
  .alert-dark-secondary hr {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .alert-dark-secondary .close,
  .alert-dark-secondary .alert-link {
    color: #fff; }

.alert-success {
  border-color: #cce6dd;
  background-color: #d9f5eb;
  color: #57625e; }
  .alert-success hr {
    border-top-color: #cce6dd; }
  .alert-success .alert-link {
    color: #57625e; }

.alert-dark-success {
  background-color: #02BC77;
  color: #fff; }
  .alert-dark-success hr {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .alert-dark-success .close,
  .alert-dark-success .alert-link {
    color: #fff; }

.alert-info {
  border-color: #d2e7ea;
  background-color: #dff6f9;
  color: #596264; }
  .alert-info hr {
    border-top-color: #d2e7ea; }
  .alert-info .alert-link {
    color: #596264; }

.alert-dark-info {
  background-color: #28c3d7;
  color: #fff; }
  .alert-dark-info hr {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .alert-dark-info .close,
  .alert-dark-info .alert-link {
    color: #fff; }

.alert-warning {
  border-color: #f0ead7;
  background-color: #fff9e5;
  color: #66645c; }
  .alert-warning hr {
    border-top-color: #f0ead7; }
  .alert-warning .alert-link {
    color: #66645c; }

.alert-dark-warning {
  background-color: #FFD950;
  color: #665720; }
  .alert-dark-warning hr {
    border-top-color: rgba(102, 87, 32, 0.2); }
  .alert-dark-warning .close,
  .alert-dark-warning .alert-link {
    color: #665720; }

.alert-danger {
  border-color: #ead7d7;
  background-color: #f9e5e5;
  color: #645c5c; }
  .alert-danger hr {
    border-top-color: #ead7d7; }
  .alert-danger .alert-link {
    color: #645c5c; }

.alert-dark-danger {
  background-color: #d9534f;
  color: #fff; }
  .alert-dark-danger hr {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .alert-dark-danger .close,
  .alert-dark-danger .alert-link {
    color: #fff; }

.alert-dark {
  border-color: #cfd0d1;
  background-color: #dcddde;
  color: #585859; }
  .alert-dark hr {
    border-top-color: #cfd0d1; }
  .alert-dark .alert-link {
    color: #585859; }

.alert-dark-dark {
  background-color: rgba(24, 28, 33, 0.9);
  color: #fff; }
  .alert-dark-dark hr {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .alert-dark-dark .close,
  .alert-dark-dark .alert-link {
    color: #fff; }

.tooltip-inner {
  box-shadow: none; }

.modal-open .tooltip {
  z-index: 1092; }

.tooltip-secondary .tooltip-inner, .tooltip-secondary > .tooltip .tooltip-inner, .ngb-tooltip-secondary + ngb-tooltip-window .tooltip-inner {
  background: #8897AA;
  color: #fff; }

.tooltip-secondary.bs-tooltip-top .arrow::before, .tooltip-secondary.bs-tooltip-auto[x-placement^="top"] .arrow::before, .tooltip-secondary > .tooltip.bs-tooltip-top .arrow::before, .tooltip-secondary > .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before, .ngb-tooltip-secondary + ngb-tooltip-window.bs-tooltip-top .arrow::before, .ngb-tooltip-secondary + ngb-tooltip-window.bs-tooltip-auto[x-placement^="top"] .arrow::before {
  border-top-color: #8897AA; }

.tooltip-secondary.bs-tooltip-right .arrow::before, .tooltip-secondary.bs-tooltip-auto[x-placement^="right"] .arrow::before, .tooltip-secondary > .tooltip.bs-tooltip-right .arrow::before, .tooltip-secondary > .tooltip.bs-tooltip-auto[x-placement^="right"] .arrow::before, .ngb-tooltip-secondary + ngb-tooltip-window.bs-tooltip-right .arrow::before, .ngb-tooltip-secondary + ngb-tooltip-window.bs-tooltip-auto[x-placement^="right"] .arrow::before {
  border-right-color: #8897AA; }

.tooltip-secondary.bs-tooltip-bottom .arrow::before, .tooltip-secondary.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .tooltip-secondary > .tooltip.bs-tooltip-bottom .arrow::before, .tooltip-secondary > .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .ngb-tooltip-secondary + ngb-tooltip-window.bs-tooltip-bottom .arrow::before, .ngb-tooltip-secondary + ngb-tooltip-window.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  border-bottom-color: #8897AA; }

.tooltip-secondary.bs-tooltip-left .arrow::before, .tooltip-secondary.bs-tooltip-auto[x-placement^="left"] .arrow::before, .tooltip-secondary > .tooltip.bs-tooltip-left .arrow::before, .tooltip-secondary > .tooltip.bs-tooltip-auto[x-placement^="left"] .arrow::before, .ngb-tooltip-secondary + ngb-tooltip-window.bs-tooltip-left .arrow::before, .ngb-tooltip-secondary + ngb-tooltip-window.bs-tooltip-auto[x-placement^="left"] .arrow::before {
  border-left-color: #8897AA; }

.tooltip-success .tooltip-inner, .tooltip-success > .tooltip .tooltip-inner, .ngb-tooltip-success + ngb-tooltip-window .tooltip-inner {
  background: #02BC77;
  color: #fff; }

.tooltip-success.bs-tooltip-top .arrow::before, .tooltip-success.bs-tooltip-auto[x-placement^="top"] .arrow::before, .tooltip-success > .tooltip.bs-tooltip-top .arrow::before, .tooltip-success > .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before, .ngb-tooltip-success + ngb-tooltip-window.bs-tooltip-top .arrow::before, .ngb-tooltip-success + ngb-tooltip-window.bs-tooltip-auto[x-placement^="top"] .arrow::before {
  border-top-color: #02BC77; }

.tooltip-success.bs-tooltip-right .arrow::before, .tooltip-success.bs-tooltip-auto[x-placement^="right"] .arrow::before, .tooltip-success > .tooltip.bs-tooltip-right .arrow::before, .tooltip-success > .tooltip.bs-tooltip-auto[x-placement^="right"] .arrow::before, .ngb-tooltip-success + ngb-tooltip-window.bs-tooltip-right .arrow::before, .ngb-tooltip-success + ngb-tooltip-window.bs-tooltip-auto[x-placement^="right"] .arrow::before {
  border-right-color: #02BC77; }

.tooltip-success.bs-tooltip-bottom .arrow::before, .tooltip-success.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .tooltip-success > .tooltip.bs-tooltip-bottom .arrow::before, .tooltip-success > .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .ngb-tooltip-success + ngb-tooltip-window.bs-tooltip-bottom .arrow::before, .ngb-tooltip-success + ngb-tooltip-window.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  border-bottom-color: #02BC77; }

.tooltip-success.bs-tooltip-left .arrow::before, .tooltip-success.bs-tooltip-auto[x-placement^="left"] .arrow::before, .tooltip-success > .tooltip.bs-tooltip-left .arrow::before, .tooltip-success > .tooltip.bs-tooltip-auto[x-placement^="left"] .arrow::before, .ngb-tooltip-success + ngb-tooltip-window.bs-tooltip-left .arrow::before, .ngb-tooltip-success + ngb-tooltip-window.bs-tooltip-auto[x-placement^="left"] .arrow::before {
  border-left-color: #02BC77; }

.tooltip-info .tooltip-inner, .tooltip-info > .tooltip .tooltip-inner, .ngb-tooltip-info + ngb-tooltip-window .tooltip-inner {
  background: #28c3d7;
  color: #fff; }

.tooltip-info.bs-tooltip-top .arrow::before, .tooltip-info.bs-tooltip-auto[x-placement^="top"] .arrow::before, .tooltip-info > .tooltip.bs-tooltip-top .arrow::before, .tooltip-info > .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before, .ngb-tooltip-info + ngb-tooltip-window.bs-tooltip-top .arrow::before, .ngb-tooltip-info + ngb-tooltip-window.bs-tooltip-auto[x-placement^="top"] .arrow::before {
  border-top-color: #28c3d7; }

.tooltip-info.bs-tooltip-right .arrow::before, .tooltip-info.bs-tooltip-auto[x-placement^="right"] .arrow::before, .tooltip-info > .tooltip.bs-tooltip-right .arrow::before, .tooltip-info > .tooltip.bs-tooltip-auto[x-placement^="right"] .arrow::before, .ngb-tooltip-info + ngb-tooltip-window.bs-tooltip-right .arrow::before, .ngb-tooltip-info + ngb-tooltip-window.bs-tooltip-auto[x-placement^="right"] .arrow::before {
  border-right-color: #28c3d7; }

.tooltip-info.bs-tooltip-bottom .arrow::before, .tooltip-info.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .tooltip-info > .tooltip.bs-tooltip-bottom .arrow::before, .tooltip-info > .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .ngb-tooltip-info + ngb-tooltip-window.bs-tooltip-bottom .arrow::before, .ngb-tooltip-info + ngb-tooltip-window.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  border-bottom-color: #28c3d7; }

.tooltip-info.bs-tooltip-left .arrow::before, .tooltip-info.bs-tooltip-auto[x-placement^="left"] .arrow::before, .tooltip-info > .tooltip.bs-tooltip-left .arrow::before, .tooltip-info > .tooltip.bs-tooltip-auto[x-placement^="left"] .arrow::before, .ngb-tooltip-info + ngb-tooltip-window.bs-tooltip-left .arrow::before, .ngb-tooltip-info + ngb-tooltip-window.bs-tooltip-auto[x-placement^="left"] .arrow::before {
  border-left-color: #28c3d7; }

.tooltip-warning .tooltip-inner, .tooltip-warning > .tooltip .tooltip-inner, .ngb-tooltip-warning + ngb-tooltip-window .tooltip-inner {
  background: #FFD950;
  color: #665720; }

.tooltip-warning.bs-tooltip-top .arrow::before, .tooltip-warning.bs-tooltip-auto[x-placement^="top"] .arrow::before, .tooltip-warning > .tooltip.bs-tooltip-top .arrow::before, .tooltip-warning > .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before, .ngb-tooltip-warning + ngb-tooltip-window.bs-tooltip-top .arrow::before, .ngb-tooltip-warning + ngb-tooltip-window.bs-tooltip-auto[x-placement^="top"] .arrow::before {
  border-top-color: #FFD950; }

.tooltip-warning.bs-tooltip-right .arrow::before, .tooltip-warning.bs-tooltip-auto[x-placement^="right"] .arrow::before, .tooltip-warning > .tooltip.bs-tooltip-right .arrow::before, .tooltip-warning > .tooltip.bs-tooltip-auto[x-placement^="right"] .arrow::before, .ngb-tooltip-warning + ngb-tooltip-window.bs-tooltip-right .arrow::before, .ngb-tooltip-warning + ngb-tooltip-window.bs-tooltip-auto[x-placement^="right"] .arrow::before {
  border-right-color: #FFD950; }

.tooltip-warning.bs-tooltip-bottom .arrow::before, .tooltip-warning.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .tooltip-warning > .tooltip.bs-tooltip-bottom .arrow::before, .tooltip-warning > .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .ngb-tooltip-warning + ngb-tooltip-window.bs-tooltip-bottom .arrow::before, .ngb-tooltip-warning + ngb-tooltip-window.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  border-bottom-color: #FFD950; }

.tooltip-warning.bs-tooltip-left .arrow::before, .tooltip-warning.bs-tooltip-auto[x-placement^="left"] .arrow::before, .tooltip-warning > .tooltip.bs-tooltip-left .arrow::before, .tooltip-warning > .tooltip.bs-tooltip-auto[x-placement^="left"] .arrow::before, .ngb-tooltip-warning + ngb-tooltip-window.bs-tooltip-left .arrow::before, .ngb-tooltip-warning + ngb-tooltip-window.bs-tooltip-auto[x-placement^="left"] .arrow::before {
  border-left-color: #FFD950; }

.tooltip-danger .tooltip-inner, .tooltip-danger > .tooltip .tooltip-inner, .ngb-tooltip-danger + ngb-tooltip-window .tooltip-inner {
  background: #d9534f;
  color: #fff; }

.tooltip-danger.bs-tooltip-top .arrow::before, .tooltip-danger.bs-tooltip-auto[x-placement^="top"] .arrow::before, .tooltip-danger > .tooltip.bs-tooltip-top .arrow::before, .tooltip-danger > .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before, .ngb-tooltip-danger + ngb-tooltip-window.bs-tooltip-top .arrow::before, .ngb-tooltip-danger + ngb-tooltip-window.bs-tooltip-auto[x-placement^="top"] .arrow::before {
  border-top-color: #d9534f; }

.tooltip-danger.bs-tooltip-right .arrow::before, .tooltip-danger.bs-tooltip-auto[x-placement^="right"] .arrow::before, .tooltip-danger > .tooltip.bs-tooltip-right .arrow::before, .tooltip-danger > .tooltip.bs-tooltip-auto[x-placement^="right"] .arrow::before, .ngb-tooltip-danger + ngb-tooltip-window.bs-tooltip-right .arrow::before, .ngb-tooltip-danger + ngb-tooltip-window.bs-tooltip-auto[x-placement^="right"] .arrow::before {
  border-right-color: #d9534f; }

.tooltip-danger.bs-tooltip-bottom .arrow::before, .tooltip-danger.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .tooltip-danger > .tooltip.bs-tooltip-bottom .arrow::before, .tooltip-danger > .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .ngb-tooltip-danger + ngb-tooltip-window.bs-tooltip-bottom .arrow::before, .ngb-tooltip-danger + ngb-tooltip-window.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  border-bottom-color: #d9534f; }

.tooltip-danger.bs-tooltip-left .arrow::before, .tooltip-danger.bs-tooltip-auto[x-placement^="left"] .arrow::before, .tooltip-danger > .tooltip.bs-tooltip-left .arrow::before, .tooltip-danger > .tooltip.bs-tooltip-auto[x-placement^="left"] .arrow::before, .ngb-tooltip-danger + ngb-tooltip-window.bs-tooltip-left .arrow::before, .ngb-tooltip-danger + ngb-tooltip-window.bs-tooltip-auto[x-placement^="left"] .arrow::before {
  border-left-color: #d9534f; }

.tooltip-dark .tooltip-inner, .tooltip-dark > .tooltip .tooltip-inner, .ngb-tooltip-dark + ngb-tooltip-window .tooltip-inner {
  background: #2f3337;
  color: #fff; }

.tooltip-dark.bs-tooltip-top .arrow::before, .tooltip-dark.bs-tooltip-auto[x-placement^="top"] .arrow::before, .tooltip-dark > .tooltip.bs-tooltip-top .arrow::before, .tooltip-dark > .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before, .ngb-tooltip-dark + ngb-tooltip-window.bs-tooltip-top .arrow::before, .ngb-tooltip-dark + ngb-tooltip-window.bs-tooltip-auto[x-placement^="top"] .arrow::before {
  border-top-color: #2f3337; }

.tooltip-dark.bs-tooltip-right .arrow::before, .tooltip-dark.bs-tooltip-auto[x-placement^="right"] .arrow::before, .tooltip-dark > .tooltip.bs-tooltip-right .arrow::before, .tooltip-dark > .tooltip.bs-tooltip-auto[x-placement^="right"] .arrow::before, .ngb-tooltip-dark + ngb-tooltip-window.bs-tooltip-right .arrow::before, .ngb-tooltip-dark + ngb-tooltip-window.bs-tooltip-auto[x-placement^="right"] .arrow::before {
  border-right-color: #2f3337; }

.tooltip-dark.bs-tooltip-bottom .arrow::before, .tooltip-dark.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .tooltip-dark > .tooltip.bs-tooltip-bottom .arrow::before, .tooltip-dark > .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .ngb-tooltip-dark + ngb-tooltip-window.bs-tooltip-bottom .arrow::before, .ngb-tooltip-dark + ngb-tooltip-window.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  border-bottom-color: #2f3337; }

.tooltip-dark.bs-tooltip-left .arrow::before, .tooltip-dark.bs-tooltip-auto[x-placement^="left"] .arrow::before, .tooltip-dark > .tooltip.bs-tooltip-left .arrow::before, .tooltip-dark > .tooltip.bs-tooltip-auto[x-placement^="left"] .arrow::before, .ngb-tooltip-dark + ngb-tooltip-window.bs-tooltip-left .arrow::before, .ngb-tooltip-dark + ngb-tooltip-window.bs-tooltip-auto[x-placement^="left"] .arrow::before {
  border-left-color: #2f3337; }

.popover {
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.09); }
  .popover .arrow {
    z-index: 1; }

.modal-open .popover {
  z-index: 1091; }

.popover-secondary, .popover-secondary > .popover, .ngb-popover-secondary + ngb-popover-window {
  border-color: transparent;
  background: #8897AA; }
  .popover-secondary .popover-header, .popover-secondary > .popover .popover-header, .ngb-popover-secondary + ngb-popover-window .popover-header {
    border-color: rgba(255, 255, 255, 0.2);
    background: transparent;
    color: #fff; }
  .popover-secondary .popover-body, .popover-secondary > .popover .popover-body, .ngb-popover-secondary + ngb-popover-window .popover-body {
    background: transparent;
    color: #fff; }
  .popover-secondary > .arrow::before, .popover-secondary > .popover > .arrow::before, .ngb-popover-secondary + ngb-popover-window > .arrow::before {
    border-color: transparent; }
  .popover-secondary.bs-popover-top > .arrow::after, .popover-secondary.bs-popover-auto[x-placement^="top"] > .arrow::after, .popover-secondary > .popover.bs-popover-top > .arrow::after, .popover-secondary > .popover.bs-popover-auto[x-placement^="top"] > .arrow::after, .ngb-popover-secondary + ngb-popover-window.bs-popover-top > .arrow::after, .ngb-popover-secondary + ngb-popover-window.bs-popover-auto[x-placement^="top"] > .arrow::after {
    border-top-color: #8897AA; }
  .popover-secondary.bs-popover-right > .arrow::after, .popover-secondary.bs-popover-auto[x-placement^="right"] > .arrow::after, .popover-secondary > .popover.bs-popover-right > .arrow::after, .popover-secondary > .popover.bs-popover-auto[x-placement^="right"] > .arrow::after, .ngb-popover-secondary + ngb-popover-window.bs-popover-right > .arrow::after, .ngb-popover-secondary + ngb-popover-window.bs-popover-auto[x-placement^="right"] > .arrow::after {
    border-right-color: #8897AA; }
  .popover-secondary.bs-popover-bottom > .arrow::after, .popover-secondary.bs-popover-auto[x-placement^="bottom"] > .arrow::after, .popover-secondary > .popover.bs-popover-bottom > .arrow::after, .popover-secondary > .popover.bs-popover-auto[x-placement^="bottom"] > .arrow::after, .ngb-popover-secondary + ngb-popover-window.bs-popover-bottom > .arrow::after, .ngb-popover-secondary + ngb-popover-window.bs-popover-auto[x-placement^="bottom"] > .arrow::after {
    border-bottom-color: #8897AA; }
  .popover-secondary.bs-popover-left > .arrow::after, .popover-secondary.bs-popover-auto[x-placement^="left"] > .arrow::after, .popover-secondary > .popover.bs-popover-left > .arrow::after, .popover-secondary > .popover.bs-popover-auto[x-placement^="left"] > .arrow::after, .ngb-popover-secondary + ngb-popover-window.bs-popover-left > .arrow::after, .ngb-popover-secondary + ngb-popover-window.bs-popover-auto[x-placement^="left"] > .arrow::after {
    border-left-color: #8897AA; }

.popover-success, .popover-success > .popover, .ngb-popover-success + ngb-popover-window {
  border-color: transparent;
  background: #02BC77; }
  .popover-success .popover-header, .popover-success > .popover .popover-header, .ngb-popover-success + ngb-popover-window .popover-header {
    border-color: rgba(255, 255, 255, 0.2);
    background: transparent;
    color: #fff; }
  .popover-success .popover-body, .popover-success > .popover .popover-body, .ngb-popover-success + ngb-popover-window .popover-body {
    background: transparent;
    color: #fff; }
  .popover-success > .arrow::before, .popover-success > .popover > .arrow::before, .ngb-popover-success + ngb-popover-window > .arrow::before {
    border-color: transparent; }
  .popover-success.bs-popover-top > .arrow::after, .popover-success.bs-popover-auto[x-placement^="top"] > .arrow::after, .popover-success > .popover.bs-popover-top > .arrow::after, .popover-success > .popover.bs-popover-auto[x-placement^="top"] > .arrow::after, .ngb-popover-success + ngb-popover-window.bs-popover-top > .arrow::after, .ngb-popover-success + ngb-popover-window.bs-popover-auto[x-placement^="top"] > .arrow::after {
    border-top-color: #02BC77; }
  .popover-success.bs-popover-right > .arrow::after, .popover-success.bs-popover-auto[x-placement^="right"] > .arrow::after, .popover-success > .popover.bs-popover-right > .arrow::after, .popover-success > .popover.bs-popover-auto[x-placement^="right"] > .arrow::after, .ngb-popover-success + ngb-popover-window.bs-popover-right > .arrow::after, .ngb-popover-success + ngb-popover-window.bs-popover-auto[x-placement^="right"] > .arrow::after {
    border-right-color: #02BC77; }
  .popover-success.bs-popover-bottom > .arrow::after, .popover-success.bs-popover-auto[x-placement^="bottom"] > .arrow::after, .popover-success > .popover.bs-popover-bottom > .arrow::after, .popover-success > .popover.bs-popover-auto[x-placement^="bottom"] > .arrow::after, .ngb-popover-success + ngb-popover-window.bs-popover-bottom > .arrow::after, .ngb-popover-success + ngb-popover-window.bs-popover-auto[x-placement^="bottom"] > .arrow::after {
    border-bottom-color: #02BC77; }
  .popover-success.bs-popover-left > .arrow::after, .popover-success.bs-popover-auto[x-placement^="left"] > .arrow::after, .popover-success > .popover.bs-popover-left > .arrow::after, .popover-success > .popover.bs-popover-auto[x-placement^="left"] > .arrow::after, .ngb-popover-success + ngb-popover-window.bs-popover-left > .arrow::after, .ngb-popover-success + ngb-popover-window.bs-popover-auto[x-placement^="left"] > .arrow::after {
    border-left-color: #02BC77; }

.popover-info, .popover-info > .popover, .ngb-popover-info + ngb-popover-window {
  border-color: transparent;
  background: #28c3d7; }
  .popover-info .popover-header, .popover-info > .popover .popover-header, .ngb-popover-info + ngb-popover-window .popover-header {
    border-color: rgba(255, 255, 255, 0.2);
    background: transparent;
    color: #fff; }
  .popover-info .popover-body, .popover-info > .popover .popover-body, .ngb-popover-info + ngb-popover-window .popover-body {
    background: transparent;
    color: #fff; }
  .popover-info > .arrow::before, .popover-info > .popover > .arrow::before, .ngb-popover-info + ngb-popover-window > .arrow::before {
    border-color: transparent; }
  .popover-info.bs-popover-top > .arrow::after, .popover-info.bs-popover-auto[x-placement^="top"] > .arrow::after, .popover-info > .popover.bs-popover-top > .arrow::after, .popover-info > .popover.bs-popover-auto[x-placement^="top"] > .arrow::after, .ngb-popover-info + ngb-popover-window.bs-popover-top > .arrow::after, .ngb-popover-info + ngb-popover-window.bs-popover-auto[x-placement^="top"] > .arrow::after {
    border-top-color: #28c3d7; }
  .popover-info.bs-popover-right > .arrow::after, .popover-info.bs-popover-auto[x-placement^="right"] > .arrow::after, .popover-info > .popover.bs-popover-right > .arrow::after, .popover-info > .popover.bs-popover-auto[x-placement^="right"] > .arrow::after, .ngb-popover-info + ngb-popover-window.bs-popover-right > .arrow::after, .ngb-popover-info + ngb-popover-window.bs-popover-auto[x-placement^="right"] > .arrow::after {
    border-right-color: #28c3d7; }
  .popover-info.bs-popover-bottom > .arrow::after, .popover-info.bs-popover-auto[x-placement^="bottom"] > .arrow::after, .popover-info > .popover.bs-popover-bottom > .arrow::after, .popover-info > .popover.bs-popover-auto[x-placement^="bottom"] > .arrow::after, .ngb-popover-info + ngb-popover-window.bs-popover-bottom > .arrow::after, .ngb-popover-info + ngb-popover-window.bs-popover-auto[x-placement^="bottom"] > .arrow::after {
    border-bottom-color: #28c3d7; }
  .popover-info.bs-popover-left > .arrow::after, .popover-info.bs-popover-auto[x-placement^="left"] > .arrow::after, .popover-info > .popover.bs-popover-left > .arrow::after, .popover-info > .popover.bs-popover-auto[x-placement^="left"] > .arrow::after, .ngb-popover-info + ngb-popover-window.bs-popover-left > .arrow::after, .ngb-popover-info + ngb-popover-window.bs-popover-auto[x-placement^="left"] > .arrow::after {
    border-left-color: #28c3d7; }

.popover-warning, .popover-warning > .popover, .ngb-popover-warning + ngb-popover-window {
  border-color: transparent;
  background: #FFD950; }
  .popover-warning .popover-header, .popover-warning > .popover .popover-header, .ngb-popover-warning + ngb-popover-window .popover-header {
    border-color: rgba(102, 87, 32, 0.2);
    background: transparent;
    color: #665720; }
  .popover-warning .popover-body, .popover-warning > .popover .popover-body, .ngb-popover-warning + ngb-popover-window .popover-body {
    background: transparent;
    color: #665720; }
  .popover-warning > .arrow::before, .popover-warning > .popover > .arrow::before, .ngb-popover-warning + ngb-popover-window > .arrow::before {
    border-color: transparent; }
  .popover-warning.bs-popover-top > .arrow::after, .popover-warning.bs-popover-auto[x-placement^="top"] > .arrow::after, .popover-warning > .popover.bs-popover-top > .arrow::after, .popover-warning > .popover.bs-popover-auto[x-placement^="top"] > .arrow::after, .ngb-popover-warning + ngb-popover-window.bs-popover-top > .arrow::after, .ngb-popover-warning + ngb-popover-window.bs-popover-auto[x-placement^="top"] > .arrow::after {
    border-top-color: #FFD950; }
  .popover-warning.bs-popover-right > .arrow::after, .popover-warning.bs-popover-auto[x-placement^="right"] > .arrow::after, .popover-warning > .popover.bs-popover-right > .arrow::after, .popover-warning > .popover.bs-popover-auto[x-placement^="right"] > .arrow::after, .ngb-popover-warning + ngb-popover-window.bs-popover-right > .arrow::after, .ngb-popover-warning + ngb-popover-window.bs-popover-auto[x-placement^="right"] > .arrow::after {
    border-right-color: #FFD950; }
  .popover-warning.bs-popover-bottom > .arrow::after, .popover-warning.bs-popover-auto[x-placement^="bottom"] > .arrow::after, .popover-warning > .popover.bs-popover-bottom > .arrow::after, .popover-warning > .popover.bs-popover-auto[x-placement^="bottom"] > .arrow::after, .ngb-popover-warning + ngb-popover-window.bs-popover-bottom > .arrow::after, .ngb-popover-warning + ngb-popover-window.bs-popover-auto[x-placement^="bottom"] > .arrow::after {
    border-bottom-color: #FFD950; }
  .popover-warning.bs-popover-left > .arrow::after, .popover-warning.bs-popover-auto[x-placement^="left"] > .arrow::after, .popover-warning > .popover.bs-popover-left > .arrow::after, .popover-warning > .popover.bs-popover-auto[x-placement^="left"] > .arrow::after, .ngb-popover-warning + ngb-popover-window.bs-popover-left > .arrow::after, .ngb-popover-warning + ngb-popover-window.bs-popover-auto[x-placement^="left"] > .arrow::after {
    border-left-color: #FFD950; }

.popover-danger, .popover-danger > .popover, .ngb-popover-danger + ngb-popover-window {
  border-color: transparent;
  background: #d9534f; }
  .popover-danger .popover-header, .popover-danger > .popover .popover-header, .ngb-popover-danger + ngb-popover-window .popover-header {
    border-color: rgba(255, 255, 255, 0.2);
    background: transparent;
    color: #fff; }
  .popover-danger .popover-body, .popover-danger > .popover .popover-body, .ngb-popover-danger + ngb-popover-window .popover-body {
    background: transparent;
    color: #fff; }
  .popover-danger > .arrow::before, .popover-danger > .popover > .arrow::before, .ngb-popover-danger + ngb-popover-window > .arrow::before {
    border-color: transparent; }
  .popover-danger.bs-popover-top > .arrow::after, .popover-danger.bs-popover-auto[x-placement^="top"] > .arrow::after, .popover-danger > .popover.bs-popover-top > .arrow::after, .popover-danger > .popover.bs-popover-auto[x-placement^="top"] > .arrow::after, .ngb-popover-danger + ngb-popover-window.bs-popover-top > .arrow::after, .ngb-popover-danger + ngb-popover-window.bs-popover-auto[x-placement^="top"] > .arrow::after {
    border-top-color: #d9534f; }
  .popover-danger.bs-popover-right > .arrow::after, .popover-danger.bs-popover-auto[x-placement^="right"] > .arrow::after, .popover-danger > .popover.bs-popover-right > .arrow::after, .popover-danger > .popover.bs-popover-auto[x-placement^="right"] > .arrow::after, .ngb-popover-danger + ngb-popover-window.bs-popover-right > .arrow::after, .ngb-popover-danger + ngb-popover-window.bs-popover-auto[x-placement^="right"] > .arrow::after {
    border-right-color: #d9534f; }
  .popover-danger.bs-popover-bottom > .arrow::after, .popover-danger.bs-popover-auto[x-placement^="bottom"] > .arrow::after, .popover-danger > .popover.bs-popover-bottom > .arrow::after, .popover-danger > .popover.bs-popover-auto[x-placement^="bottom"] > .arrow::after, .ngb-popover-danger + ngb-popover-window.bs-popover-bottom > .arrow::after, .ngb-popover-danger + ngb-popover-window.bs-popover-auto[x-placement^="bottom"] > .arrow::after {
    border-bottom-color: #d9534f; }
  .popover-danger.bs-popover-left > .arrow::after, .popover-danger.bs-popover-auto[x-placement^="left"] > .arrow::after, .popover-danger > .popover.bs-popover-left > .arrow::after, .popover-danger > .popover.bs-popover-auto[x-placement^="left"] > .arrow::after, .ngb-popover-danger + ngb-popover-window.bs-popover-left > .arrow::after, .ngb-popover-danger + ngb-popover-window.bs-popover-auto[x-placement^="left"] > .arrow::after {
    border-left-color: #d9534f; }

.popover-dark, .popover-dark > .popover, .ngb-popover-dark + ngb-popover-window {
  border-color: transparent;
  background: #2f3337; }
  .popover-dark .popover-header, .popover-dark > .popover .popover-header, .ngb-popover-dark + ngb-popover-window .popover-header {
    border-color: rgba(255, 255, 255, 0.2);
    background: transparent;
    color: #fff; }
  .popover-dark .popover-body, .popover-dark > .popover .popover-body, .ngb-popover-dark + ngb-popover-window .popover-body {
    background: transparent;
    color: #fff; }
  .popover-dark > .arrow::before, .popover-dark > .popover > .arrow::before, .ngb-popover-dark + ngb-popover-window > .arrow::before {
    border-color: transparent; }
  .popover-dark.bs-popover-top > .arrow::after, .popover-dark.bs-popover-auto[x-placement^="top"] > .arrow::after, .popover-dark > .popover.bs-popover-top > .arrow::after, .popover-dark > .popover.bs-popover-auto[x-placement^="top"] > .arrow::after, .ngb-popover-dark + ngb-popover-window.bs-popover-top > .arrow::after, .ngb-popover-dark + ngb-popover-window.bs-popover-auto[x-placement^="top"] > .arrow::after {
    border-top-color: #2f3337; }
  .popover-dark.bs-popover-right > .arrow::after, .popover-dark.bs-popover-auto[x-placement^="right"] > .arrow::after, .popover-dark > .popover.bs-popover-right > .arrow::after, .popover-dark > .popover.bs-popover-auto[x-placement^="right"] > .arrow::after, .ngb-popover-dark + ngb-popover-window.bs-popover-right > .arrow::after, .ngb-popover-dark + ngb-popover-window.bs-popover-auto[x-placement^="right"] > .arrow::after {
    border-right-color: #2f3337; }
  .popover-dark.bs-popover-bottom > .arrow::after, .popover-dark.bs-popover-auto[x-placement^="bottom"] > .arrow::after, .popover-dark > .popover.bs-popover-bottom > .arrow::after, .popover-dark > .popover.bs-popover-auto[x-placement^="bottom"] > .arrow::after, .ngb-popover-dark + ngb-popover-window.bs-popover-bottom > .arrow::after, .ngb-popover-dark + ngb-popover-window.bs-popover-auto[x-placement^="bottom"] > .arrow::after {
    border-bottom-color: #2f3337; }
  .popover-dark.bs-popover-left > .arrow::after, .popover-dark.bs-popover-auto[x-placement^="left"] > .arrow::after, .popover-dark > .popover.bs-popover-left > .arrow::after, .popover-dark > .popover.bs-popover-auto[x-placement^="left"] > .arrow::after, .ngb-popover-dark + ngb-popover-window.bs-popover-left > .arrow::after, .ngb-popover-dark + ngb-popover-window.bs-popover-auto[x-placement^="left"] > .arrow::after {
    border-left-color: #2f3337; }

select.form-control[size="0"]:not([multiple]) {
  height: calc(1.54em + 0.876rem + 2px); }

select.form-control-sm[size="0"]:not([multiple]) {
  height: calc(1.5em + 0.376rem + 2px); }

select.form-control-lg[size="0"]:not([multiple]) {
  height: calc(1.5em + 1.5rem + 2px); }

.form-control-inverted {
  border-color: rgba(255, 255, 255, 0.3); }
  .form-control-inverted, .form-control-inverted:hover, .form-control-inverted:focus {
    background-color: rgba(255, 255, 255, 0.3);
    color: #fff; }
  .form-control-inverted::-webkit-input-placeholder {
    color: rgba(255, 255, 255, 0.7); }
  .form-control-inverted::-moz-placeholder {
    color: rgba(255, 255, 255, 0.7); }
  .form-control-inverted:-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.7); }
  .form-control-inverted::-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.7); }
  .form-control-inverted::placeholder {
    color: rgba(255, 255, 255, 0.7); }
  .form-control-inverted:disabled {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.1) !important; }
  .form-control-inverted option {
    color: #4E5155 !important; }

.form-label,
.col-form-label {
  margin-bottom: calc(0.438rem - 2px);
  font-weight: 500;
  font-size: 0.83125rem;
  padding-bottom: 0; }

.form-label-sm,
.col-form-label-sm {
  font-size: 0.75rem; }

.form-label-lg,
.col-form-label-lg {
  font-size: 1rem; }

.form-check {
  min-height: 1.31418rem; }

.valid-feedback {
  display: none;
  font-size: 85%;
  width: 100%;
  margin-top: 0.25rem;
  color: #02BC77; }

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.75rem;
  line-height: 1.47;
  color: #fff;
  background-color: #02bc77;
  border-radius: 0.25rem; }

.was-validated .form-control:valid ~ .valid-feedback,
.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,
.form-control.is-valid ~ .valid-tooltip, .was-validated .custom-select:valid ~ .valid-feedback,
.was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,
.custom-select.is-valid ~ .valid-tooltip, .was-validated .form-control-file:valid ~ .valid-feedback,
.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,
.form-control-file.is-valid ~ .valid-tooltip, .was-validated .custom-control-input:valid ~ .valid-feedback,
.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,
.custom-control-input.is-valid ~ .valid-tooltip {
  display: block; }

.was-validated .form-control:valid, .form-control.is-valid, .was-validated .custom-select:valid, .custom-select.is-valid {
  border-color: #02BC77; }

.was-validated .custom-control[class] .custom-control-input:valid ~ .custom-control-label, .custom-control[class] .custom-control-input.is-valid ~ .custom-control-label {
  color: #02BC77; }

.was-validated .custom-control[class] .custom-control-input:valid ~ .custom-control-label::before,
.was-validated .custom-control[class] .custom-control-input:valid:focus ~ .custom-control-label::before,
.was-validated .custom-control[class] .custom-control-input:valid:active ~ .custom-control-label::before, .custom-control[class] .custom-control-input.is-valid ~ .custom-control-label::before,
.custom-control[class] .custom-control-input.is-valid:focus ~ .custom-control-label::before,
.custom-control[class] .custom-control-input.is-valid:active ~ .custom-control-label::before {
  border-color: #02BC77; }

.was-validated .custom-control[class] .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control[class] .custom-control-input.is-valid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 2px rgba(2, 188, 119, 0.4); }

.was-validated .custom-control[class] .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control[class] .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  border-color: #02BC77;
  background-color: #02BC77; }

.was-validated .custom-checkbox .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-checkbox .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); }

.was-validated .custom-radio .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-radio .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); }

.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
  border-color: #02BC77; }
  .was-validated .custom-file-input:valid ~ .custom-file-label::after, .custom-file-input.is-valid ~ .custom-file-label::after {
    border-color: inherit; }

.invalid-feedback {
  display: none;
  font-size: 85%;
  width: 100%;
  margin-top: 0.25rem;
  color: #d9534f; }

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.75rem;
  line-height: 1.47;
  color: #fff;
  background-color: #d9534f;
  border-radius: 0.25rem; }

.was-validated .form-control:invalid ~ .invalid-feedback,
.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,
.form-control.is-invalid ~ .invalid-tooltip, .was-validated .custom-select:invalid ~ .invalid-feedback,
.was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,
.custom-select.is-invalid ~ .invalid-tooltip, .was-validated .form-control-file:invalid ~ .invalid-feedback,
.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,
.form-control-file.is-invalid ~ .invalid-tooltip, .was-validated .custom-control-input:invalid ~ .invalid-feedback,
.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,
.custom-control-input.is-invalid ~ .invalid-tooltip {
  display: block; }

.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated .custom-select:invalid, .custom-select.is-invalid {
  border-color: #d9534f; }

.was-validated .custom-control[class] .custom-control-input:invalid ~ .custom-control-label, .custom-control[class] .custom-control-input.is-invalid ~ .custom-control-label {
  color: #d9534f; }

.was-validated .custom-control[class] .custom-control-input:invalid ~ .custom-control-label::before,
.was-validated .custom-control[class] .custom-control-input:invalid:focus ~ .custom-control-label::before,
.was-validated .custom-control[class] .custom-control-input:invalid:active ~ .custom-control-label::before, .custom-control[class] .custom-control-input.is-invalid ~ .custom-control-label::before,
.custom-control[class] .custom-control-input.is-invalid:focus ~ .custom-control-label::before,
.custom-control[class] .custom-control-input.is-invalid:active ~ .custom-control-label::before {
  border-color: #d9534f; }

.was-validated .custom-control[class] .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control[class] .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.4); }

.was-validated .custom-control[class] .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control[class] .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  border-color: #d9534f;
  background-color: #d9534f; }

.was-validated .custom-checkbox .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-checkbox .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); }

.was-validated .custom-radio .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-radio .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); }

.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
  border-color: #d9534f; }
  .was-validated .custom-file-input:invalid ~ .custom-file-label::after, .custom-file-input.is-invalid ~ .custom-file-label::after {
    border-color: inherit; }

.form-inline .custom-control {
  width: 100%; }

@media (min-width: 576px) {
  .form-inline .custom-control,
  .form-inline .custom-select,
  .form-inline .form-control-plaintext {
    width: auto; }
  .form-inline .form-text {
    margin-top: 0; } }

.custom-control {
  min-height: 1.125rem;
  cursor: default; }

.custom-control-label {
  position: static; }
  .custom-control-label::before {
    top: 0.0625rem;
    left: 0;
    background-position: center center;
    background-repeat: no-repeat;
    background-clip: padding-box;
    transition: all .2s;
    pointer-events: auto; }
  .custom-control-label::after {
    display: none; }

.custom-checkbox .custom-control-label::before {
  background-size: 65%; }

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  background-size: 0.5rem; }

.custom-radio .custom-control-label::before {
  background-size: 0.5rem; }

.custom-control-input:active ~ .custom-control-label::before {
  box-shadow: none; }

.custom-control-input:not(:checked):active ~ .custom-control-label::before {
  background-color: #fff; }

.custom-control-input:disabled ~ .custom-control-label::before {
  border-color: rgba(24, 28, 33, 0.1) !important;
  background-color: #f1f1f2 !important; }

.custom-control.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23a3a4a6' d='M0 2h4'/%3E%3C/svg%3E"); }

.custom-control.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23a3a4a6;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); }

.custom-control.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23a3a4a6'/%3E%3C/svg%3E"); }

.custom-controls-stacked .custom-control {
  display: block;
  margin-bottom: .5rem; }

.custom-select {
  display: block;
  background-clip: padding-box; }

.custom-select-inverted {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAYCAYAAACfpi8JAAAABGdBTUEAALGPC/xhBQAAAJ5JREFUSA3t1G0KgCAMBuCMDtZlojOFhzVfUaFlH44N/0yIspw+vGhTCGHFNQ1u8+D16/IGqVHkB0vEEqEJ0P5CX3D78V+0x9qNWe/FNqtz7ogIz4B41IpBAGBgEgK1opBOTEWoQH5iLgg1yAfmhlCFPGCaCIwVO76YrNWwgePRTp/yZm4N04dg1TdAUYmfmjJx790gNDFLxBKhCdD+CQ3GHngvJTGKAAAAAElFTkSuQmCC"); }
  .custom-select-inverted, .custom-select-inverted:focus {
    background-color: rgba(255, 255, 255, 0.3);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.3); }
  .custom-select-inverted:disabled {
    background-color: rgba(255, 255, 255, 0.1);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.1); }
  .custom-select-inverted::-webkit-input-placeholder {
    color: rgba(255, 255, 255, 0.7); }
  .custom-select-inverted::-moz-placeholder {
    color: rgba(255, 255, 255, 0.7); }
  .custom-select-inverted:-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.7); }
  .custom-select-inverted::-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.7); }
  .custom-select-inverted::placeholder {
    color: rgba(255, 255, 255, 0.7); }
  .custom-select-inverted option {
    color: #4E5155; }

.custom-select-sm,
.input-group-sm .custom-select {
  padding-right: 2.5rem;
  background-position: right 0.625rem center;
  line-height: 1.5; }
  .custom-select-sm[size="0"]:not([multiple]),
  .input-group-sm .custom-select[size="0"]:not([multiple]) {
    padding-right: 2.5rem; }

.custom-select-lg,
.input-group-lg .custom-select {
  padding-right: 3.125rem;
  background-position: right 1.25rem center;
  line-height: 1.5; }
  .custom-select-lg[size="0"]:not([multiple]),
  .input-group-lg .custom-select[size="0"]:not([multiple]) {
    padding-right: 3.125rem; }

.custom-select[multiple],
.custom-select[size]:not([size="1"]) {
  padding-right: 0.875rem;
  padding-left: 0.875rem; }

.custom-select-sm[multiple], .custom-select-sm[size]:not([size="1"]),
.input-group-sm .custom-select[multiple],
.input-group-sm .custom-select[size]:not([size="1"]) {
  padding-right: 0.625rem;
  padding-left: 0.625rem; }

.custom-select-lg[multiple], .custom-select-lg[size]:not([size="1"]),
.input-group-lg .custom-select[multiple],
.input-group-lg .custom-select[size]:not([size="1"]) {
  padding-right: 1.25rem;
  padding-left: 1.25rem; }

.custom-file {
  display: block; }

.custom-file-label {
  background-clip: padding-box;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
  .custom-file-input:disabled ~ .custom-file-label {
    background: #f1f1f2; }
    .custom-file-input:disabled ~ .custom-file-label::before {
      opacity: .65; }

.custom-range::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 6px rgba(0, 0, 0, 0.09);
  transition: -webkit-transform .2s;
  transition: transform .2s;
  transition: transform .2s, -webkit-transform .2s;
  -webkit-transform-origin: center;
          transform-origin: center; }
  .custom-range::-webkit-slider-thumb:active {
    -webkit-transform: scale(1.4, 1.4);
            transform: scale(1.4, 1.4); }

.custom-range::-moz-range-thumb {
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 6px rgba(0, 0, 0, 0.09);
  transition: -webkit-transform .2s;
  transition: transform .2s;
  transition: transform .2s, -webkit-transform .2s;
  transform-origin: center; }
  .custom-range::-moz-range-thumb:active {
    transform: scale(1.4, 1.4); }

.custom-range::-ms-thumb {
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px 6px rgba(0, 0, 0, 0.09);
  transition: -webkit-transform .2s;
  transition: transform .2s;
  transition: transform .2s, -webkit-transform .2s;
  transform-origin: center; }
  .custom-range::-ms-thumb:active {
    transform: scale(1.4, 1.4); }

.custom-range:disabled::-webkit-slider-runnable-track {
  background-color: rgba(24, 28, 33, 0.03); }

.custom-range:disabled::-moz-range-track {
  background-color: rgba(24, 28, 33, 0.03); }

.custom-range:disabled::-ms-fill-lower {
  background-color: rgba(24, 28, 33, 0.03); }

.custom-range:disabled::-ms-fill-upper {
  background-color: rgba(24, 28, 33, 0.03); }

.switcher {
  position: relative;
  display: inline-block;
  margin-right: 0.75rem;
  margin-bottom: 0;
  border-radius: 60rem;
  vertical-align: middle;
  font-weight: normal;
  cursor: default;
  padding-left: 2.375rem;
  min-height: 1.375rem;
  font-size: 0.894rem;
  line-height: 1.4; }
  .switcher .switcher-indicator {
    width: 2.375rem;
    height: 1.375rem;
    font-size: 0.625rem;
    line-height: 1.375rem;
    top: 0; }
  .switcher .switcher-label {
    top: 0.0617rem; }
  .switcher .switcher-input:checked ~ .switcher-indicator::after {
    left: 1rem; }
  .switcher .switcher-indicator::after {
    top: 0;
    margin: 0.25rem 0 0 0.25rem;
    width: 0.875rem;
    height: 0.875rem; }
  .switcher .switcher-no {
    padding-right: 0.25rem;
    padding-left: 1.125rem; }
  .switcher .switcher-yes {
    padding-right: 1.125rem;
    padding-left: 0.25rem; }
  @media (min-width: 576px) {
    .form-inline .switcher {
      display: block;
      margin-right: 0; } }

.switcher-input {
  position: absolute;
  z-index: -1;
  margin: 0;
  padding: 0;
  opacity: 0; }

.switcher-indicator {
  position: absolute;
  left: 0;
  overflow: hidden;
  border-radius: 60rem;
  background: rgba(24, 28, 33, 0.1);
  color: rgba(24, 28, 33, 0.3);
  font-weight: bold;
  cursor: default;
  transition-duration: .2s;
  transition-property: left, right, background, box-shadow;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.switcher-label {
  position: relative;
  display: inline-block;
  padding-left: 0.5rem;
  color: #4E5155;
  font-weight: 400;
  cursor: default; }

.switcher-no,
.switcher-yes {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  transition-duration: .2s;
  transition-property: left, right; }

.switcher-no {
  left: 0; }

.switcher-yes {
  left: -100%; }
  .switcher-input:not(:checked) ~ .switcher-indicator .switcher-yes {
    color: transparent; }

.switcher-input:checked ~ .switcher-indicator .switcher-no {
  left: 100%;
  color: transparent; }

.switcher-input:checked ~ .switcher-indicator .switcher-yes {
  left: 0; }

.switcher-indicator::after {
  content: "";
  position: absolute;
  left: 0;
  display: block;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 0 0 1px rgba(24, 28, 33, 0.04), 0 1px 6px rgba(24, 28, 33, 0.09);
  transition-duration: .2s;
  transition-property: left, right, background; }

.switcher-input:disabled ~ .switcher-indicator {
  opacity: .5; }
  .switcher-input:disabled ~ .switcher-indicator::after {
    box-shadow: none; }

.switcher-input:disabled ~ .switcher-label {
  color: #a3a4a6; }

.switchers-stacked::after {
  display: block;
  clear: both;
  content: ""; }

.switchers-stacked .switcher {
  display: block;
  margin-right: 0;
  margin-bottom: 0.5rem; }

.switcher-square,
.switcher-square .switcher-indicator {
  border-radius: 0.25rem; }

.switcher-square .switcher-indicator::after {
  border-radius: calc(0.25rem - 2px); }

.switcher-sm,
.form-group-sm .switcher {
  padding-left: 2rem;
  min-height: 1.125rem;
  font-size: 0.75rem;
  line-height: 1.486; }
  .switcher-sm .switcher-indicator,
  .form-group-sm .switcher .switcher-indicator {
    width: 2rem;
    height: 1.125rem;
    font-size: 0.625rem;
    line-height: 1.125rem;
    top: 0; }
  .switcher-sm .switcher-label,
  .form-group-sm .switcher .switcher-label {
    top: 0.00525rem; }
  .switcher-sm .switcher-input:checked ~ .switcher-indicator::after,
  .form-group-sm .switcher .switcher-input:checked ~ .switcher-indicator::after {
    left: 0.875rem; }
  .switcher-sm .switcher-indicator::after,
  .form-group-sm .switcher .switcher-indicator::after {
    top: 0;
    margin: 0.25rem 0 0 0.25rem;
    width: 0.625rem;
    height: 0.625rem; }
  .switcher-sm .switcher-no,
  .form-group-sm .switcher .switcher-no {
    padding-right: 0.25rem;
    padding-left: 0.875rem; }
  .switcher-sm .switcher-yes,
  .form-group-sm .switcher .switcher-yes {
    padding-right: 0.875rem;
    padding-left: 0.25rem; }

.switcher-lg,
.form-group-lg .switcher {
  padding-left: 3.25rem;
  min-height: 1.75rem;
  font-size: 1rem;
  line-height: 1.47; }
  .switcher-lg .switcher-indicator,
  .form-group-lg .switcher .switcher-indicator {
    width: 3.25rem;
    height: 1.75rem;
    font-size: 0.625rem;
    line-height: 1.75rem;
    top: 0; }
  .switcher-lg .switcher-label,
  .form-group-lg .switcher .switcher-label {
    top: 0.14rem; }
  .switcher-lg .switcher-input:checked ~ .switcher-indicator::after,
  .form-group-lg .switcher .switcher-input:checked ~ .switcher-indicator::after {
    left: 1.5rem; }
  .switcher-lg .switcher-indicator::after,
  .form-group-lg .switcher .switcher-indicator::after {
    top: 0;
    margin: 0.25rem 0 0 0.25rem;
    width: 1.25rem;
    height: 1.25rem; }
  .switcher-lg .switcher-no,
  .form-group-lg .switcher .switcher-no {
    padding-right: 0.25rem;
    padding-left: 1.5rem; }
  .switcher-lg .switcher-yes,
  .form-group-lg .switcher .switcher-yes {
    padding-right: 1.5rem;
    padding-left: 0.25rem; }

.switcher-secondary.switcher .switcher-input:checked ~ .switcher-indicator {
  background: #8897AA;
  color: #fff; }

.switcher-secondary.switcher .switcher-input:focus ~ .switcher-indicator {
  box-shadow: 0 0 0 2px rgba(136, 151, 170, 0.4); }

.switcher-secondary.switcher .switcher-input:active ~ .switcher-indicator {
  box-shadow: none; }

.switcher-success.switcher .switcher-input:checked ~ .switcher-indicator {
  background: #02BC77;
  color: #fff; }

.switcher-success.switcher .switcher-input:focus ~ .switcher-indicator {
  box-shadow: 0 0 0 2px rgba(2, 188, 119, 0.4); }

.switcher-success.switcher .switcher-input:active ~ .switcher-indicator {
  box-shadow: none; }

.switcher-info.switcher .switcher-input:checked ~ .switcher-indicator {
  background: #28c3d7;
  color: #fff; }

.switcher-info.switcher .switcher-input:focus ~ .switcher-indicator {
  box-shadow: 0 0 0 2px rgba(40, 195, 215, 0.4); }

.switcher-info.switcher .switcher-input:active ~ .switcher-indicator {
  box-shadow: none; }

.switcher-warning.switcher .switcher-input:checked ~ .switcher-indicator {
  background: #FFD950;
  color: #665720; }

.switcher-warning.switcher .switcher-input:focus ~ .switcher-indicator {
  box-shadow: 0 0 0 2px rgba(255, 217, 80, 0.4); }

.switcher-warning.switcher .switcher-input:active ~ .switcher-indicator {
  box-shadow: none; }

.switcher-danger.switcher .switcher-input:checked ~ .switcher-indicator {
  background: #d9534f;
  color: #fff; }

.switcher-danger.switcher .switcher-input:focus ~ .switcher-indicator {
  box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.4); }

.switcher-danger.switcher .switcher-input:active ~ .switcher-indicator {
  box-shadow: none; }

.switcher-dark.switcher .switcher-input:checked ~ .switcher-indicator {
  background: rgba(24, 28, 33, 0.9);
  color: #fff; }

.switcher-dark.switcher .switcher-input:focus ~ .switcher-indicator {
  box-shadow: 0 0 0 2px rgba(24, 28, 33, 0.4); }

.switcher-dark.switcher .switcher-input:active ~ .switcher-indicator {
  box-shadow: none; }

.switcher .valid-feedback,
.switcher .invalid-feedback {
  padding-left: 0.5rem; }

.was-validated .switcher-input[class]:valid:checked ~ .switcher-indicator, .switcher-input[class].is-valid:checked ~ .switcher-indicator {
  background: #02BC77;
  color: #fff; }

.was-validated .switcher-input[class]:valid:focus ~ .switcher-indicator, .switcher-input[class].is-valid:focus ~ .switcher-indicator {
  box-shadow: 0 0 0 2px rgba(2, 188, 119, 0.4); }

.was-validated .switcher-input[class]:valid:active ~ .switcher-indicator, .switcher-input[class].is-valid:active ~ .switcher-indicator {
  box-shadow: none; }

.was-validated .switcher-input[class]:valid ~ .switcher-label, .switcher-input[class].is-valid ~ .switcher-label {
  color: #02BC77; }

.was-validated .switcher-input[class]:valid ~ .valid-feedback,
.was-validated .switcher-input[class]:valid ~ .valid-tooltip, .switcher-input[class].is-valid ~ .valid-feedback,
.switcher-input[class].is-valid ~ .valid-tooltip {
  display: block; }

.was-validated .switcher-input[class]:invalid:checked ~ .switcher-indicator, .switcher-input[class].is-invalid:checked ~ .switcher-indicator {
  background: #d9534f;
  color: #fff; }

.was-validated .switcher-input[class]:invalid:focus ~ .switcher-indicator, .switcher-input[class].is-invalid:focus ~ .switcher-indicator {
  box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.4); }

.was-validated .switcher-input[class]:invalid:active ~ .switcher-indicator, .switcher-input[class].is-invalid:active ~ .switcher-indicator {
  box-shadow: none; }

.was-validated .switcher-input[class]:invalid ~ .switcher-label, .switcher-input[class].is-invalid ~ .switcher-label {
  color: #d9534f; }

.was-validated .switcher-input[class]:invalid ~ .invalid-feedback,
.was-validated .switcher-input[class]:invalid ~ .invalid-tooltip, .switcher-input[class].is-invalid ~ .invalid-feedback,
.switcher-input[class].is-invalid ~ .invalid-tooltip {
  display: block; }

.input-group .custom-select {
  -ms-flex: 0 1 auto;
      flex: 0 1 auto;
  width: auto; }

.input-group-text {
  background-clip: padding-box; }

.input-group > .input-group-append > .btn-group > .btn,
.input-group > .input-group-prepend:first-child > .btn-group:not(:first-child) > .btn,
.input-group > .input-group-prepend:not(:first-child) > .btn-group > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

.input-group > .input-group-prepend > .btn-group > .btn,
.input-group > .input-group-append:last-child > .btn-group:not(:last-child) > .btn,
.input-group > .input-group-append:not(:last-child) > .btn-group > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.input-group-append .btn + .btn-group,
.input-group-append .btn-group + .btn,
.input-group-append .btn-group + .btn-group,
.input-group-append .btn-group + .input-group-text,
.input-group-append .input-group-text + .btn-group,
.input-group-prepend .btn + .btn-group,
.input-group-prepend .btn-group + .btn,
.input-group-prepend .btn-group + .btn-group,
.input-group-prepend .btn-group + .input-group-text,
.input-group-prepend .input-group-text + .btn-group {
  margin-left: -1px; }

.modal {
  z-index: 1090; }

.modal-backdrop {
  z-index: 1089; }

.modal-content {
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.09); }

.modal-header {
  position: relative;
  padding-right: 2.5625rem; }

.modal-footer {
  padding: 1.25rem 1.5625rem; }

.modal-header .close,
.modal-slide .close {
  position: absolute;
  top: 50%;
  right: 1.5625rem;
  margin: 0;
  padding: 0;
  line-height: 1.47;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%); }

@media (min-width: 576px) {
  .modal-content {
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.09); }
  ngb-modal-window.modal-sm {
    max-width: none; }
  .modal-sm .modal-dialog {
    max-width: 22.5rem; } }

@media (min-width: 992px) {
  ngb-modal-window.modal-lg,
  ngb-modal-window.modal-xl {
    max-width: none; }
  .modal-lg .modal-dialog,
  .modal-xl .modal-dialog {
    max-width: 50rem; } }

@media (min-width: 1200px) {
  ngb-modal-window.modal-xl {
    max-width: none; }
  .modal-xl .modal-dialog {
    max-width: 1140px; } }

.modal-top .modal-dialog {
  margin-top: 0; }

.modal-top .modal-content {
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.modal-slide,
.modal-slide .modal {
  overflow: hidden !important;
  padding: 0 !important; }

.modal-slide .modal-dialog {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  margin: 0;
  max-width: none;
  width: 100%; }
  @media (min-width: 576px) {
    .modal-slide .modal-dialog {
      width: 20rem; } }

.modal-slide .modal-content {
  overflow: auto;
  padding-top: 3.22127rem;
  padding-bottom: 3.22127rem;
  height: 100%;
  border-radius: 0; }

.modal-slide .modal-body {
  -ms-flex-positive: 0;
      flex-grow: 0;
  margin: auto 0;
  padding-top: 0;
  padding-bottom: 0; }

.modal-slide .close {
  top: 0.625rem;
  z-index: 10;
  -webkit-transform: none;
          transform: none; }

.modal-fill-in .modal-dialog {
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  padding-top: 3.22127rem;
  padding-bottom: 3.22127rem;
  min-height: 100vh; }

.modal-fill-in .modal-content {
  margin: auto;
  width: 100%;
  border: 0;
  background: transparent;
  box-shadow: none; }

.modal-fill-in .close {
  position: absolute;
  top: -2rem;
  right: 1.5625rem;
  font-size: 2rem;
  -webkit-transform: none;
          transform: none; }

.modal.fade .modal-dialog {
  -webkit-transform: translateY(150px) scale(0.8);
          transform: translateY(150px) scale(0.8); }

.modal.show .modal-dialog {
  -webkit-transform: translateY(0) scale(1);
          transform: translateY(0) scale(1); }

.modal-top.fade .modal-dialog,
.modal-top .modal.fade .modal-dialog {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%); }

.modal-top.show .modal-dialog,
.modal-top .modal.show .modal-dialog {
  -webkit-transform: translateY(0);
          transform: translateY(0); }

.modal-slide.fade .modal-dialog,
.modal-slide .modal.fade .modal-dialog {
  -webkit-transform: translateX(100%);
          transform: translateX(100%); }

.modal-slide.show .modal-dialog,
.modal-slide .modal.show .modal-dialog {
  -webkit-transform: translateX(0) !important;
          transform: translateX(0) !important; }

.modal-fill-in.fade .modal-dialog,
.modal-fill-in .modal.fade .modal-dialog {
  -webkit-transform: scale(0.5, 0.5);
          transform: scale(0.5, 0.5); }

.modal-fill-in.show .modal-dialog,
.modal-fill-in .modal.show .modal-dialog {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1); }

.breadcrumb-item,
.breadcrumb-item a {
  color: #a3a4a6; }
  .breadcrumb-item:hover, .breadcrumb-item:focus,
  .breadcrumb-item a:hover,
  .breadcrumb-item a:focus {
    color: #4E5155; }

.breadcrumb-item.active a, .breadcrumb-item.active a:hover, .breadcrumb-item.active a:focus, .breadcrumb-item.active a:active {
  color: inherit; }

.list-group-item-secondary {
  border-color: rgba(0, 0, 0, 0.07);
  background-color: #f3f5f7;
  color: #616263; }

a.list-group-item-secondary,
button.list-group-item-secondary {
  color: #616263; }
  a.list-group-item-secondary:hover, a.list-group-item-secondary:focus,
  button.list-group-item-secondary:hover,
  button.list-group-item-secondary:focus {
    background-color: #f1f3f5;
    color: #616263; }
  a.list-group-item-secondary.active,
  button.list-group-item-secondary.active {
    border-color: #8897AA;
    background-color: #8897AA;
    color: #616263; }

.list-group-item-success {
  border-color: rgba(0, 0, 0, 0.07);
  background-color: #e6f8f1;
  color: #5c6360; }

a.list-group-item-success,
button.list-group-item-success {
  color: #5c6360; }
  a.list-group-item-success:hover, a.list-group-item-success:focus,
  button.list-group-item-success:hover,
  button.list-group-item-success:focus {
    background-color: #e4f6ef;
    color: #5c6360; }
  a.list-group-item-success.active,
  button.list-group-item-success.active {
    border-color: #02BC77;
    background-color: #02BC77;
    color: #5c6360; }

.list-group-item-info {
  border-color: rgba(0, 0, 0, 0.07);
  background-color: #eaf9fb;
  color: #5e6464; }

a.list-group-item-info,
button.list-group-item-info {
  color: #5e6464; }
  a.list-group-item-info:hover, a.list-group-item-info:focus,
  button.list-group-item-info:hover,
  button.list-group-item-info:focus {
    background-color: #e8f7f8;
    color: #5e6464; }
  a.list-group-item-info.active,
  button.list-group-item-info.active {
    border-color: #28c3d7;
    background-color: #28c3d7;
    color: #5e6464; }

.list-group-item-warning {
  border-color: rgba(0, 0, 0, 0.07);
  background-color: #fffbee;
  color: #66645f; }

a.list-group-item-warning,
button.list-group-item-warning {
  color: #66645f; }
  a.list-group-item-warning:hover, a.list-group-item-warning:focus,
  button.list-group-item-warning:hover,
  button.list-group-item-warning:focus {
    background-color: #fcf8ec;
    color: #66645f; }
  a.list-group-item-warning.active,
  button.list-group-item-warning.active {
    border-color: #FFD950;
    background-color: #FFD950;
    color: #66645f; }

.list-group-item-danger {
  border-color: rgba(0, 0, 0, 0.07);
  background-color: #fbeeed;
  color: #645f5f; }

a.list-group-item-danger,
button.list-group-item-danger {
  color: #645f5f; }
  a.list-group-item-danger:hover, a.list-group-item-danger:focus,
  button.list-group-item-danger:hover,
  button.list-group-item-danger:focus {
    background-color: #f8eceb;
    color: #645f5f; }
  a.list-group-item-danger.active,
  button.list-group-item-danger.active {
    border-color: #d9534f;
    background-color: #d9534f;
    color: #645f5f; }

.list-group-item-dark {
  border-color: rgba(0, 0, 0, 0.07);
  background-color: #e8e8e9;
  color: #5d5d5d; }

a.list-group-item-dark,
button.list-group-item-dark {
  color: #5d5d5d; }
  a.list-group-item-dark:hover, a.list-group-item-dark:focus,
  button.list-group-item-dark:hover,
  button.list-group-item-dark:focus {
    background-color: #e6e6e7;
    color: #5d5d5d; }
  a.list-group-item-dark.active,
  button.list-group-item-dark.active {
    border-color: rgba(24, 28, 33, 0.9);
    background-color: rgba(24, 28, 33, 0.9);
    color: #5d5d5d; }

.navbar {
  z-index: 2; }

.fixed-top {
  z-index: 1030; }

.navbar.navbar-dark {
  color: rgba(255, 255, 255, 0.8); }

.navbar-dark .navbar-nav .nav-link.disabled {
  color: rgba(255, 255, 255, 0.4) !important; }

.navbar.navbar-light {
  color: rgba(24, 28, 33, 0.4); }

.navbar-light .navbar-nav .nav-link.disabled {
  color: rgba(24, 28, 33, 0.2) !important; }

.navbar-collapse,
.navbar-brand,
.navbar-text {
  -ms-flex-negative: 1;
      flex-shrink: 1; }

.navbar-dark hr {
  border-color: rgba(255, 255, 255, 0.1); }

.navbar-light hr {
  border-color: rgba(24, 28, 33, 0.06); }

.navbar-icon {
  font-size: 130%; }

.navbar-search-box {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  margin: 0; }
  .navbar-search-box:not(.active) {
    cursor: pointer; }

.navbar-search-input {
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  -ms-flex-align: center;
      align-items: center;
  max-width: 0;
  transition: max-width .3s ease-in-out; }
  .navbar-search-box.active .navbar-search-input {
    max-width: 100vw; }
  .navbar-search-input .form-control {
    padding-right: 0;
    padding-left: 0;
    width: auto;
    border: 0;
    border-radius: 0;
    background: none;
    color: inherit !important; }
    .navbar-dark .navbar-search-input .form-control::-webkit-input-placeholder {
      color: rgba(255, 255, 255, 0.4); }
    .navbar-dark .navbar-search-input .form-control::-moz-placeholder {
      color: rgba(255, 255, 255, 0.4); }
    .navbar-dark .navbar-search-input .form-control:-ms-input-placeholder {
      color: rgba(255, 255, 255, 0.4); }
    .navbar-dark .navbar-search-input .form-control::-ms-input-placeholder {
      color: rgba(255, 255, 255, 0.4); }
    .navbar-dark .navbar-search-input .form-control::placeholder {
      color: rgba(255, 255, 255, 0.4); }
    .navbar-light .navbar-search-input .form-control::-webkit-input-placeholder {
      color: rgba(24, 28, 33, 0.2); }
    .navbar-light .navbar-search-input .form-control::-moz-placeholder {
      color: rgba(24, 28, 33, 0.2); }
    .navbar-light .navbar-search-input .form-control:-ms-input-placeholder {
      color: rgba(24, 28, 33, 0.2); }
    .navbar-light .navbar-search-input .form-control::-ms-input-placeholder {
      color: rgba(24, 28, 33, 0.2); }
    .navbar-light .navbar-search-input .form-control::placeholder {
      color: rgba(24, 28, 33, 0.2); }

.navbar-search-cancel {
  color: inherit !important;
  font-weight: 100;
  font-size: 1.55em;
  line-height: 1;
  opacity: .5; }
  .navbar-search-cancel:hover, .navbar-search-cancel:focus {
    opacity: 1; }

.navbar-expand-sm .navbar-search-box.nav-link {
  padding-top: 0;
  padding-bottom: 0; }

@media (max-width: 575.98px) {
  .navbar-expand-sm .navbar-search-input {
    max-width: 100vw;
    width: 100%; }
  .navbar-expand-sm .navbar-search-input .form-control {
    width: 100% !important; }
  .navbar-expand-sm .navbar-search-cancel {
    display: none; }
  .navbar-expand-sm.navbar-dark .navbar-search-box {
    color: #fff !important; }
  .navbar-expand-sm.navbar-light .navbar-search-box {
    color: #4E5155 !important; } }

@media (min-width: 576px) {
  .navbar-expand-md .navbar-search-box.nav-link {
    padding-top: 0;
    padding-bottom: 0; } }

@media (max-width: 767.98px) {
  .navbar-expand-md .navbar-search-input {
    max-width: 100vw;
    width: 100%; }
  .navbar-expand-md .navbar-search-input .form-control {
    width: 100% !important; }
  .navbar-expand-md .navbar-search-cancel {
    display: none; }
  .navbar-expand-md.navbar-dark .navbar-search-box {
    color: #fff !important; }
  .navbar-expand-md.navbar-light .navbar-search-box {
    color: #4E5155 !important; } }

@media (min-width: 768px) {
  .navbar-expand-lg .navbar-search-box.nav-link {
    padding-top: 0;
    padding-bottom: 0; } }

@media (max-width: 991.98px) {
  .navbar-expand-lg .navbar-search-input {
    max-width: 100vw;
    width: 100%; }
  .navbar-expand-lg .navbar-search-input .form-control {
    width: 100% !important; }
  .navbar-expand-lg .navbar-search-cancel {
    display: none; }
  .navbar-expand-lg.navbar-dark .navbar-search-box {
    color: #fff !important; }
  .navbar-expand-lg.navbar-light .navbar-search-box {
    color: #4E5155 !important; } }

@media (min-width: 992px) {
  .navbar-expand-xl .navbar-search-box.nav-link {
    padding-top: 0;
    padding-bottom: 0; } }

@media (max-width: 1199.98px) {
  .navbar-expand-xl .navbar-search-input {
    max-width: 100vw;
    width: 100%; }
  .navbar-expand-xl .navbar-search-input .form-control {
    width: 100% !important; }
  .navbar-expand-xl .navbar-search-cancel {
    display: none; }
  .navbar-expand-xl.navbar-dark .navbar-search-box {
    color: #fff !important; }
  .navbar-expand-xl.navbar-light .navbar-search-box {
    color: #4E5155 !important; } }

@media (min-width: 1200px) {
  .navbar-expand .navbar-search-box.nav-link {
    padding-top: 0;
    padding-bottom: 0; } }

.navbar-expand .navbar-search-input {
  max-width: 100vw;
  width: 100%; }

.navbar-expand .navbar-search-input .form-control {
  width: 100% !important; }

.navbar-expand .navbar-search-cancel {
  display: none; }

.navbar-expand.navbar-dark .navbar-search-box {
  color: #fff !important; }

.navbar-expand.navbar-light .navbar-search-box {
  color: #4E5155 !important; }

.mega-dropdown .dropdown-menu {
  width: 100%; }

.mega-dropdown .dropdown-toggle {
  outline: 0; }

.card {
  background-clip: padding-box;
  box-shadow: 0 1px 4px rgba(24, 28, 33, 0.012); }

.card-link {
  display: inline-block; }

.card-header {
  line-height: 1.54; }

.card-header,
.card-footer,
.card hr {
  border-color: rgba(24, 28, 33, 0.075); }

.card .list-group-item {
  border-color: #eeeeee; }

.card .row-bordered > [class^="col-"]::before, .card .row-bordered > [class^="col-"]::after,
.card .row-bordered > [class*=" col-"]::before,
.card .row-bordered > [class*=" col-"]::after,
.card .row-bordered > [class^="col "]::before,
.card .row-bordered > [class^="col "]::after,
.card .row-bordered > [class*=" col "]::before,
.card .row-bordered > [class*=" col "]::after,
.card .row-bordered > [class$=" col"]::before,
.card .row-bordered > [class$=" col"]::after,
.card .row-bordered > [class="col"]::before,
.card .row-bordered > [class="col"]::after {
  border-color: rgba(24, 28, 33, 0.075); }

.card-header.with-elements,
.card-title.with-elements {
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.card-header.with-elements {
  padding-top: 0.4375rem;
  padding-bottom: 0.4375rem; }

.card-header-elements,
.card-title-elements {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .card-header-elements + .card-header-elements,
  .card-header-elements > * + *,
  .card-title-elements + .card-header-elements,
  .card-title-elements > * + *, .card-header-elements +
  .card-title-elements,
  .card-title-elements +
  .card-title-elements {
    margin-left: .25rem; }

.card-header-title {
  padding: 0.4375rem 0; }

.card-header-elements {
  padding-top: .25rem;
  padding-bottom: .25rem; }

.card > .list-group .list-group-item {
  padding-right: 1.5rem;
  padding-left: 1.5rem; }

.card-condenced .card-header,
.card-condenced .card-footer,
.card-condenced > .list-group .list-group-item {
  padding-right: 1rem;
  padding-left: 1rem; }

.card-condenced .card-body,
.card-condenced .card-img-overlay {
  padding: 1rem; }

html:not([dir=rtl]) .card-hover[class],
html[dir=rtl] .card-hover[class] {
  transition: all .2s; }
  html:not([dir=rtl]) .card-hover[class]:not(:hover),
  html[dir=rtl] .card-hover[class]:not(:hover) {
    color: #4E5155 !important;
    border-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important; }

.collapse-icon {
  position: relative;
  display: block;
  -ms-flex-item-align: center;
      align-self: center;
  width: .875rem;
  height: .875rem; }
  .collapse-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    margin-top: -.25rem;
    margin-left: -.25rem;
    width: .5rem;
    height: .5rem;
    border-bottom: 0.0625rem solid rgba(24, 28, 33, 0.3);
    border-left: 0.0625rem solid rgba(24, 28, 33, 0.3);
    transition: all .3s;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
    [aria-expanded="true"] .collapse-icon::after {
      -webkit-transform: rotate(135deg);
              transform: rotate(135deg); }

.accordion > .card {
  border-radius: 0.25rem !important;
  border: 1px solid rgba(24, 28, 33, 0.06) !important; }
  .accordion > .card .card-header:last-child {
    border-bottom: 0; }

.close:focus {
  outline: 0; }

.toast.bs4-toast {
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box; }

.bs4-toast[class^="bg-"],
.bs4-toast[class*=" bg-"] {
  border: none; }

.bg-secondary.bs4-toast {
  color: #fff;
  background-color: rgba(136, 151, 170, 0.9) !important; }
  .bg-secondary.bs4-toast .toast-header {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.1); }

.bg-success.bs4-toast {
  color: #fff;
  background-color: rgba(2, 188, 119, 0.9) !important; }
  .bg-success.bs4-toast .toast-header {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.1); }

.bg-info.bs4-toast {
  color: #fff;
  background-color: rgba(40, 195, 215, 0.9) !important; }
  .bg-info.bs4-toast .toast-header {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.1); }

.bg-warning.bs4-toast {
  color: #665720;
  background-color: rgba(255, 217, 80, 0.9) !important; }
  .bg-warning.bs4-toast .toast-header {
    color: #665720;
    background-color: rgba(102, 87, 32, 0.1); }

.bg-danger.bs4-toast {
  color: #fff;
  background-color: rgba(217, 83, 79, 0.9) !important; }
  .bg-danger.bs4-toast .toast-header {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.1); }

.bg-light.bs4-toast {
  color: #0a0b0d;
  background-color: rgba(24, 28, 33, 0.9) !important; }
  .bg-light.bs4-toast .toast-header {
    color: #0a0b0d;
    background-color: rgba(10, 11, 13, 0.1); }

.bg-dark.bs4-toast {
  color: #fff;
  background-color: rgba(24, 28, 33, 0.9) !important; }
  .bg-dark.bs4-toast .toast-header {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.1); }

.footer-link {
  display: inline-block; }

.footer-dark {
  color: rgba(255, 255, 255, 0.8); }
  .footer-dark .footer-link {
    color: rgba(255, 255, 255, 0.8); }
    .footer-dark .footer-link:hover, .footer-dark .footer-link:focus {
      color: #fff; }
    .footer-dark .footer-link.disabled {
      color: rgba(255, 255, 255, 0.4) !important; }
  .footer-dark .footer-text {
    color: #fff; }
  .footer-dark .show > .footer-link,
  .footer-dark .active > .footer-link,
  .footer-dark .footer-link.show,
  .footer-dark .footer-link.active {
    color: #fff; }
  .footer-dark hr {
    border-color: rgba(255, 255, 255, 0.2); }

.footer-light {
  color: rgba(24, 28, 33, 0.4); }
  .footer-light .footer-link {
    color: rgba(24, 28, 33, 0.4); }
    .footer-light .footer-link:hover, .footer-light .footer-link:focus {
      color: #4E5155; }
    .footer-light .footer-link.disabled {
      color: rgba(24, 28, 33, 0.2) !important; }
  .footer-light .footer-text {
    color: #4E5155; }
  .footer-light .show > .footer-link,
  .footer-light .active > .footer-link,
  .footer-light .footer-link.show,
  .footer-light .footer-link.active {
    color: #4E5155; }
  .footer-light hr {
    border-color: rgba(0, 0, 0, 0.06); }

.sidenav {
  display: -ms-flexbox;
  display: flex; }
  .sidenav .ps__thumb-y,
  .sidenav .ps__rail-y {
    width: .125rem !important; }
  .sidenav .ps__rail-y {
    right: .25rem !important;
    left: auto !important;
    background: none !important; }
  .sidenav .ps__rail-y:hover,
  .sidenav .ps__rail-y:focus,
  .sidenav .ps__rail-y.ps--clicking,
  .sidenav .ps__rail-y:hover > .ps__thumb-y,
  .sidenav .ps__rail-y:focus > .ps__thumb-y,
  .sidenav .ps__rail-y.ps--clicking > .ps__thumb-y {
    width: .375rem !important; }

.sidenav-inner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
      align-items: flex-start;
  -ms-flex-pack: start;
      justify-content: flex-start;
  margin: 0;
  padding: 0; }

.sidenav-item,
.sidenav-header,
.sidenav-divider,
.sidenav-block {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  -ms-flex-direction: column;
      flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none; }

.sidenav-item {
  -ms-flex-align: start;
      align-items: flex-start;
  -ms-flex-pack: start;
      justify-content: flex-start; }
  .sidenav-item.sidenav-item-animating {
    transition: height 0.2s ease-in-out; }

.sidenav-item .sidenav-link {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex: 0 1 auto;
      flex: 0 1 auto; }
  .sidenav-item.active > .sidenav-item .sidenav-link {
    font-weight: 500; }
  .sidenav-item.disabled .sidenav-item .sidenav-link {
    cursor: default !important; }
  .sidenav:not(.sidenav-no-animation) .sidenav-item .sidenav-link {
    transition-duration: 0.2s;
    transition-property: color, background-color; }
  .sidenav-item .sidenav-link > :not(.sidenav-icon) {
    -ms-flex: 0 1 auto;
        flex: 0 1 auto; }

.sidenav-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  display: block;
  width: 0.42em;
  height: 0.42em;
  border: 1px solid;
  border-top: 0;
  border-right: 0;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg); }
  .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle::after {
    -webkit-transform: translateY(-50%) rotate(-45deg);
            transform: translateY(-50%) rotate(-45deg); }
  .sidenav:not(.sidenav-no-animation) .sidenav-toggle::after {
    transition-duration: 0.2s;
    transition-property: -webkit-transform, transform; }

.sidenav-menu {
  display: none;
  -ms-flex-direction: column;
      flex-direction: column;
  margin: 0;
  padding: 0; }
  .sidenav:not(.sidenav-no-animation) .sidenav-menu {
    transition: background-color 0.2s; }
  .sidenav-item.open > .sidenav-menu {
    display: -ms-flexbox;
    display: flex; }

.sidenav-icon {
  -ms-flex-positive: 0;
      flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 0.25rem;
  font-size: 1rem; }

.sidenav-divider {
  width: 100%;
  border: 0;
  border-top: 1px solid; }

.sidenav-vertical {
  overflow: hidden;
  -ms-flex-direction: column;
      flex-direction: column; }
  .sidenav-vertical:not(.sidenav-no-animation) {
    transition: width 0.2s; }
  .sidenav-vertical,
  .sidenav-vertical .sidenav-block,
  .sidenav-vertical .sidenav-inner > .sidenav-item,
  .sidenav-vertical .sidenav-inner > .sidenav-header {
    width: 15.625rem; }
  .sidenav-vertical .sidenav-inner {
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex: 1 1 auto;
        flex: 1 1 auto; }
    .sidenav-vertical .sidenav-inner > .sidenav-item {
      margin: 0.0625rem 0; }
  .sidenav-vertical .sidenav-item .sidenav-link,
  .sidenav-vertical .sidenav-header,
  .sidenav-vertical .sidenav-block {
    padding: 0.75rem 2rem; }
  .sidenav-vertical .sidenav-divider {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
    padding: 0; }
  .sidenav-vertical .sidenav-item .sidenav-toggle {
    padding-right: calc(2rem + 1.26em); }
    .sidenav-vertical .sidenav-item .sidenav-toggle::after {
      right: 2rem; }
  .sidenav-vertical .sidenav-menu {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem; }
    .sidenav-vertical .sidenav-menu .sidenav-link {
      padding-top: 0.625rem;
      padding-bottom: 0.625rem; }
  .sidenav-vertical .sidenav-icon {
    width: 1.75rem; }
  .sidenav-vertical .sidenav-menu .sidenav-icon {
    margin-right: 0; }
  .sidenav-vertical .sidenav-menu .sidenav-link {
    padding-left: 4rem; }
  .sidenav-vertical .sidenav-menu .sidenav-menu .sidenav-link {
    padding-left: 5rem; }
  .sidenav-vertical .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-link {
    padding-left: 6rem; }
  .sidenav-vertical .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-link {
    padding-left: 7rem; }
  .sidenav-vertical .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-link {
    padding-left: 8rem; }

.sidenav-horizontal {
  -ms-flex-direction: row;
      flex-direction: row;
  width: 100%; }
  .sidenav-horizontal .sidenav-inner {
    overflow: hidden;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex: 0 1 100%;
        flex: 0 1 100%; }
  .sidenav-horizontal .sidenav-item .sidenav-link {
    padding: 1rem 1rem; }
  .sidenav-horizontal .sidenav-item .sidenav-toggle {
    padding-right: calc(1rem + 1.26em); }
    .sidenav-horizontal .sidenav-item .sidenav-toggle::after {
      right: 1rem; }
  .sidenav-horizontal .sidenav-inner > .sidenav-item > .sidenav-toggle::after {
    -webkit-transform: translateY(-50%) rotate(-45deg);
            transform: translateY(-50%) rotate(-45deg); }
  .sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing).open > .sidenav-toggle::after {
    -webkit-transform: translateY(-50%) rotate(135deg);
            transform: translateY(-50%) rotate(135deg); }
  .sidenav-horizontal .sidenav-header,
  .sidenav-horizontal .sidenav-divider {
    display: none !important; }
  .sidenav-horizontal .sidenav-menu {
    position: absolute;
    width: 12.5rem; }
    .sidenav-horizontal .sidenav-menu .sidenav-menu {
      position: static;
      width: auto; }
    .sidenav-horizontal .sidenav-menu .sidenav-link {
      padding-top: 0.625rem;
      padding-bottom: 0.625rem; }
  .sidenav-horizontal .sidenav-inner > .sidenav-item > .sidenav-menu {
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem; }
  .sidenav-horizontal:not(.sidenav-no-animation) .sidenav-inner > .sidenav-item.open > .sidenav-menu {
    -webkit-animation: sidenavDropdownShow 0.2s ease-in-out;
            animation: sidenavDropdownShow 0.2s ease-in-out; }
  .sidenav-horizontal .sidenav-menu .sidenav-menu .sidenav-link {
    padding-left: 2rem; }
  .sidenav-horizontal .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-link {
    padding-left: 3rem; }
  .sidenav-horizontal .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-link {
    padding-left: 4rem; }
  .sidenav-horizontal .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-menu .sidenav-link {
    padding-left: 5rem; }

.sidenav-horizontal-wrapper {
  overflow: hidden;
  -ms-flex: 0 1 100%;
      flex: 0 1 100%;
  width: 0; }
  .sidenav:not(.sidenav-no-animation) .sidenav-horizontal-wrapper .sidenav-inner {
    transition: margin 0.2s; }

.sidenav-horizontal-prev,
.sidenav-horizontal-next {
  position: relative;
  display: block;
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  width: 2.25rem; }
  .sidenav-horizontal-prev::after,
  .sidenav-horizontal-next::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 0.5rem;
    height: 0.5rem;
    border: 1px solid;
    border-top: 0; }
  .sidenav-horizontal-prev.disabled,
  .sidenav-horizontal-next.disabled {
    cursor: default !important; }

.sidenav-horizontal-prev::after {
  border-right: 0;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg); }

.sidenav-horizontal-next::after {
  border-left: 0;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg); }

@-webkit-keyframes sidenavDropdownShow {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-0.5rem);
            transform: translateY(-0.5rem); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes sidenavDropdownShow {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-0.5rem);
            transform: translateY(-0.5rem); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

.sidenav-dark {
  color: rgba(255, 255, 255, 0.8); }
  .sidenav-dark .sidenav-link,
  .sidenav-dark .sidenav-horizontal-prev,
  .sidenav-dark .sidenav-horizontal-next {
    color: rgba(255, 255, 255, 0.8); }
    .sidenav-dark .sidenav-link:hover, .sidenav-dark .sidenav-link:focus,
    .sidenav-dark .sidenav-horizontal-prev:hover,
    .sidenav-dark .sidenav-horizontal-prev:focus,
    .sidenav-dark .sidenav-horizontal-next:hover,
    .sidenav-dark .sidenav-horizontal-next:focus {
      color: #fff; }
    .sidenav-dark .sidenav-link.active,
    .sidenav-dark .sidenav-horizontal-prev.active,
    .sidenav-dark .sidenav-horizontal-next.active {
      color: #fff; }
  .sidenav-dark .sidenav-item.disabled .sidenav-link {
    color: rgba(255, 255, 255, 0.4) !important; }
  .sidenav-dark .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav-dark .sidenav-item.active > .sidenav-link {
    color: #fff; }
  .sidenav-dark .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background: rgba(0, 0, 0, 0.06); }
  .sidenav-dark .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav-dark .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    color: rgba(255, 255, 255, 0.8); }
  .sidenav-dark .sidenav-text {
    color: #fff; }
  .sidenav-dark .sidenav-header {
    color: rgba(255, 255, 255, 0.8); }
  .sidenav-dark hr,
  .sidenav-dark .sidenav-divider,
  .sidenav-dark .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(255, 255, 255, 0.2) !important; }
  .sidenav-dark .sidenav-inner > .sidenav-header::before,
  .sidenav-dark .sidenav-block::before {
    background-color: rgba(255, 255, 255, 0.4); }
  .sidenav-dark .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: rgba(255, 255, 255, 0.2); }
  .sidenav-dark .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #fff; }
  .sidenav-dark .ps__thumb-y {
    background: rgba(255, 255, 255, 0.8) !important; }

.sidenav-light {
  color: rgba(24, 28, 33, 0.4); }
  .sidenav-light .sidenav-link,
  .sidenav-light .sidenav-horizontal-prev,
  .sidenav-light .sidenav-horizontal-next {
    color: rgba(24, 28, 33, 0.4); }
    .sidenav-light .sidenav-link:hover, .sidenav-light .sidenav-link:focus,
    .sidenav-light .sidenav-horizontal-prev:hover,
    .sidenav-light .sidenav-horizontal-prev:focus,
    .sidenav-light .sidenav-horizontal-next:hover,
    .sidenav-light .sidenav-horizontal-next:focus {
      color: #4E5155; }
    .sidenav-light .sidenav-link.active,
    .sidenav-light .sidenav-horizontal-prev.active,
    .sidenav-light .sidenav-horizontal-next.active {
      color: #4E5155; }
  .sidenav-light .sidenav-item.disabled .sidenav-link {
    color: rgba(24, 28, 33, 0.2) !important; }
  .sidenav-light .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav-light .sidenav-item.active > .sidenav-link {
    color: #4E5155; }
  .sidenav-light .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background: rgba(0, 0, 0, 0.05); }
  .sidenav-light .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav-light .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    color: rgba(24, 28, 33, 0.4); }
  .sidenav-light .sidenav-text {
    color: #4E5155; }
  .sidenav-light .sidenav-header {
    color: rgba(24, 28, 33, 0.4); }
  .sidenav-light hr,
  .sidenav-light .sidenav-divider,
  .sidenav-light .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(0, 0, 0, 0.06) !important; }
  .sidenav-light .sidenav-inner > .sidenav-header::before,
  .sidenav-light .sidenav-block::before {
    background-color: rgba(24, 28, 33, 0.2); }
  .sidenav-light .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: rgba(0, 0, 0, 0.06); }
  .sidenav-light .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #4E5155; }
  .sidenav-light .ps__thumb-y {
    background: rgba(24, 28, 33, 0.4) !important; }

.sidenav-collapsed:not(:hover) {
  width: 4.375rem; }
  .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-item {
    width: 16.25rem; }
  .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-item > .sidenav-link {
    padding-left: 4.375rem; }
  .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-header,
  .sidenav-collapsed:not(:hover) .sidenav-block {
    position: relative;
    margin-left: 4.375rem;
    padding-right: 3.75rem;
    padding-left: 0.25rem;
    width: 15.625rem; }
    .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-header::before,
    .sidenav-collapsed:not(:hover) .sidenav-block::before {
      content: "";
      position: absolute;
      top: 0.75rem;
      bottom: 0.75rem;
      left: -3.28125rem;
      display: block;
      width: 2.1875rem; }
  .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-item > .sidenav-menu,
  .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-item.open > .sidenav-menu {
    position: relative;
    margin-left: 0.625rem;
    background: none !important; }
    .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-item > .sidenav-menu .sidenav-link,
    .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-item.open > .sidenav-menu .sidenav-link {
      background: none !important;
      transition: none !important; }
  .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(2.1875rem - 1px);
    display: block;
    margin-left: -0.625rem;
    width: 0;
    border-left: 2px solid; }
  .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    margin-top: -4px;
    margin-left: calc(1.5625rem - 4px);
    width: 8px;
    height: 8px;
    border-radius: 50%; }
  .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-item > .sidenav-toggle::after {
    right: auto;
    left: 3.5rem; }
  .sidenav-collapsed:not(:hover) .sidenav-inner > .sidenav-item > .sidenav-link .sidenav-icon {
    margin-left: -4.375rem;
    width: 4.375rem;
    text-align: center; }

.layout-wrapper,
.layout-inner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: stretch;
      align-items: stretch;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  width: 100%; }

.layout-offcanvas .layout-wrapper,
.layout-fixed-offcanvas .layout-wrapper {
  overflow: hidden; }

.layout-inner {
  min-height: 100vh; }

.layout-container,
.layout-content,
.layout-content > *,
.layout-sidenav {
  min-height: 1px; }

.layout-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: stretch;
      align-items: stretch;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  padding: 0; }
  .layout-without-sidenav .layout-container {
    padding-right: 0 !important;
    padding-left: 0 !important; }

.layout-content {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: stretch;
      align-items: stretch;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: justify;
      justify-content: space-between; }

.layout-navbar,
.layout-footer {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto; }

.layout-navbar {
  position: relative;
  z-index: 2; }
  .layout-navbar .navbar {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }

.layout-sidenav {
  position: relative;
  -ms-flex: 1 0 auto;
      flex: 1 0 auto; }
  .layout-sidenav .sidenav {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  .layout-sidenav .sidenav-vertical {
    height: 100%; }

.layout-1 .layout-inner {
  -ms-flex-direction: column;
      flex-direction: column; }

.layout-1 .layout-content {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  width: 0;
  min-width: 0;
  max-width: 100%; }

.layout-2 .layout-container {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  -ms-flex-direction: column;
      flex-direction: column;
  width: 0;
  min-width: 0;
  max-width: 100%; }

.layout-2 .layout-content {
  width: 100%; }

.layout-reversed .layout-1 .layout-container {
  -ms-flex-direction: row-reverse;
      flex-direction: row-reverse; }

.layout-reversed .layout-2 .layout-inner {
  -ms-flex-direction: row-reverse;
      flex-direction: row-reverse; }

.layout-sidenav-toggle {
  display: block; }

@media (max-width: 991px) {
  .layout-sidenav {
    position: fixed !important;
    top: 0 !important;
    height: 100% !important;
    left: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
    will-change: transform, -webkit-transform; }
    .layout-reversed .layout-sidenav {
      right: 0 !important;
      left: auto !important;
      -webkit-transform: translate3d(100%, 0, 0);
              transform: translate3d(100%, 0, 0); }
    .layout-expanded .layout-sidenav {
      -webkit-transform: translate3d(0, 0, 0) !important;
              transform: translate3d(0, 0, 0) !important; }
  .layout-expanded body {
    overflow: hidden; }
  .layout-overlay {
    position: fixed;
    top: 0;
    right: 0;
    height: 100% !important;
    left: 0;
    display: none;
    background: #181C21;
    opacity: 0.5;
    cursor: pointer; }
    .layout-expanded .layout-overlay {
      display: block; }
  .layout-sidenav-100vh .layout-sidenav,
  .layout-sidenav-100vh .layout-overlay {
    height: 100vh !important; } }

@media (min-width: 992px) {
  .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav .sidenav-vertical,
  .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical {
    width: 4.375rem; }
    .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav .sidenav-vertical .sidenav-inner > .sidenav-item,
    .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical .sidenav-inner > .sidenav-item {
      width: 16.25rem; }
    .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav .sidenav-vertical .sidenav-inner > .sidenav-item > .sidenav-link,
    .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical .sidenav-inner > .sidenav-item > .sidenav-link {
      padding-left: 4.375rem; }
    .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav .sidenav-vertical .sidenav-inner > .sidenav-header,
    .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav .sidenav-vertical .sidenav-block,
    .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical .sidenav-inner > .sidenav-header,
    .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical .sidenav-block {
      position: relative;
      margin-left: 4.375rem;
      padding-right: 3.75rem;
      padding-left: 0.25rem;
      width: 15.625rem; }
      .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav .sidenav-vertical .sidenav-inner > .sidenav-header::before,
      .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav .sidenav-vertical .sidenav-block::before,
      .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical .sidenav-inner > .sidenav-header::before,
      .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical .sidenav-block::before {
        content: "";
        position: absolute;
        top: 0.75rem;
        bottom: 0.75rem;
        left: -3.28125rem;
        display: block;
        width: 2.1875rem; }
    .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav .sidenav-vertical .sidenav-inner > .sidenav-item > .sidenav-menu,
    .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav .sidenav-vertical .sidenav-inner > .sidenav-item.open > .sidenav-menu,
    .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical .sidenav-inner > .sidenav-item > .sidenav-menu,
    .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical .sidenav-inner > .sidenav-item.open > .sidenav-menu {
      position: relative;
      margin-left: 0.625rem;
      background: none !important; }
      .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav .sidenav-vertical .sidenav-inner > .sidenav-item > .sidenav-menu .sidenav-link,
      .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav .sidenav-vertical .sidenav-inner > .sidenav-item.open > .sidenav-menu .sidenav-link,
      .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical .sidenav-inner > .sidenav-item > .sidenav-menu .sidenav-link,
      .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical .sidenav-inner > .sidenav-item.open > .sidenav-menu .sidenav-link {
        background: none !important;
        transition: none !important; }
    .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav .sidenav-vertical .sidenav-inner > .sidenav-item.open > .sidenav-menu::before,
    .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: calc(2.1875rem - 1px);
      display: block;
      margin-left: -0.625rem;
      width: 0;
      border-left: 2px solid; }
    .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav .sidenav-vertical .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
    .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav .sidenav-vertical .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before,
    .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
    .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
      content: "";
      position: absolute;
      top: 50%;
      left: 0;
      display: block;
      margin-top: -4px;
      margin-left: calc(1.5625rem - 4px);
      width: 8px;
      height: 8px;
      border-radius: 50%; }
    .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav .sidenav-vertical .sidenav-inner > .sidenav-item > .sidenav-toggle::after,
    .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical .sidenav-inner > .sidenav-item > .sidenav-toggle::after {
      right: auto;
      left: 3.5rem; }
    .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav .sidenav-vertical .sidenav-inner > .sidenav-item > .sidenav-link .sidenav-icon,
    .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav.sidenav-vertical .sidenav-inner > .sidenav-item > .sidenav-link .sidenav-icon {
      margin-left: -4.375rem;
      width: 4.375rem;
      text-align: center; }
  .layout-sidenav-hover.layout-collapsed .layout-sidenav {
    margin-right: -11.25rem; }
  .layout-sidenav-hover.layout-collapsed.layout-reversed .layout-sidenav {
    margin-right: 0;
    margin-left: -11.25rem; } }

@media (min-width: 992px) {
  .layout-collapsed.layout-offcanvas .layout-sidenav {
    margin-right: -15.625rem;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  .layout-collapsed.layout-offcanvas.layout-reversed .layout-sidenav {
    margin-right: 0;
    margin-left: -15.625rem;
    -webkit-transform: translateX(100%);
            transform: translateX(100%); } }

@media (min-width: 992px) {
  .layout-fixed .layout-sidenav,
  .layout-fixed-offcanvas .layout-sidenav {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    margin-right: 0 !important;
    margin-left: 0 !important; }
  .layout-fixed.layout-reversed .layout-sidenav,
  .layout-fixed-offcanvas.layout-reversed .layout-sidenav {
    right: 0;
    left: auto; }
  .layout-fixed-offcanvas.layout-collapsed .layout-sidenav {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  .layout-fixed-offcanvas.layout-collapsed.layout-reversed .layout-sidenav {
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }
  .layout-fixed:not(.layout-collapsed) .layout-container,
  .layout-fixed-offcanvas:not(.layout-collapsed) .layout-container {
    padding-left: 15.625rem; }
  .layout-fixed:not(.layout-collapsed).layout-reversed .layout-container,
  .layout-fixed-offcanvas:not(.layout-collapsed).layout-reversed .layout-container {
    padding-right: 15.625rem;
    padding-left: 0; }
  .layout-fixed.layout-collapsed .layout-container {
    padding-left: 4.375rem; }
  .layout-fixed.layout-collapsed.layout-reversed .layout-container {
    padding-right: 4.375rem;
    padding-left: 0; } }

html:not(.layout-navbar-fixed):not(.layout-fixed):not(.layout-fixed-offcanvas) .layout-container,
html:not(.layout-navbar-fixed) .layout-2 .layout-container {
  padding-top: 0 !important; }

html:not(.layout-footer-fixed) .layout-content {
  padding-bottom: 0 !important; }

@media (max-width: 991px) {
  .layout-fixed .layout-wrapper.layout-1 .layout-sidenav,
  .layout-fixed-offcanvas .layout-wrapper.layout-1 .layout-sidenav {
    top: 0 !important; }
  html:not(.layout-navbar-fixed) .layout-1 .layout-container {
    padding-top: 0 !important; } }

.layout-navbar-fixed .layout-navbar {
  position: fixed;
  top: 0;
  right: 0;
  left: 0; }

@media (min-width: 992px) {
  .layout-fixed .layout-1 .layout-navbar,
  .layout-fixed-offcanvas .layout-1 .layout-navbar {
    position: fixed;
    top: 0;
    right: 0;
    left: 0; }
  .layout-navbar-fixed:not(.layout-collapsed) .layout-2 .layout-navbar,
  .layout-fixed.layout-navbar-fixed:not(.layout-collapsed) .layout-2 .layout-navbar,
  .layout-fixed-offcanvas.layout-navbar-fixed:not(.layout-collapsed) .layout-2 .layout-navbar {
    left: 15.625rem; }
  .layout-navbar-fixed:not(.layout-collapsed).layout-reversed .layout-2 .layout-navbar,
  .layout-fixed.layout-navbar-fixed:not(.layout-collapsed).layout-reversed .layout-2 .layout-navbar,
  .layout-fixed-offcanvas.layout-navbar-fixed:not(.layout-collapsed).layout-reversed .layout-2 .layout-navbar {
    right: 15.625rem;
    left: 0; }
  .layout-navbar-fixed.layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-2 .layout-navbar,
  .layout-fixed.layout-navbar-fixed.layout-collapsed .layout-2 .layout-navbar {
    left: 4.375rem; }
  .layout-navbar-fixed.layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas).layout-reversed .layout-2 .layout-navbar,
  .layout-fixed.layout-navbar-fixed.layout-collapsed.layout-reversed .layout-2 .layout-navbar {
    right: 4.375rem;
    left: 0; } }

.layout-footer-fixed .layout-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0; }

@media (min-width: 992px) {
  .layout-footer-fixed:not(.layout-collapsed) .layout-wrapper:not(.layout-without-sidenav) .layout-footer {
    left: 15.625rem; }
  .layout-footer-fixed:not(.layout-collapsed).layout-reversed .layout-wrapper:not(.layout-without-sidenav) .layout-footer {
    right: 15.625rem;
    left: 0; }
  .layout-footer-fixed.layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-wrapper:not(.layout-without-sidenav) .layout-footer {
    left: 4.375rem; }
  .layout-footer-fixed.layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas).layout-reversed .layout-wrapper:not(.layout-without-sidenav) .layout-footer {
    right: 4.375rem;
    left: 0; } }

.layout-navbar-fixed body:not(.modal-open) .layout-1 .layout-navbar,
.layout-fixed body:not(.modal-open) .layout-1 .layout-navbar,
.layout-fixed-offcanvas body:not(.modal-open) .layout-1 .layout-navbar {
  z-index: 1080; }

.layout-navbar-fixed body:not(.modal-open) .layout-2 .layout-navbar,
.layout-fixed body:not(.modal-open) .layout-2 .layout-navbar,
.layout-fixed-offcanvas body:not(.modal-open) .layout-2 .layout-navbar {
  z-index: 1075; }

.layout-footer-fixed .layout-footer {
  z-index: 1030; }

.layout-sidenav-horizontal {
  z-index: 9; }

@media (max-width: 991px) {
  .layout-sidenav {
    z-index: 1100; }
  .layout-overlay {
    z-index: 1099; } }

@media (min-width: 992px) {
  .layout-1 .layout-navbar {
    z-index: 10; }
  .layout-1 .layout-sidenav {
    z-index: 9; }
  .layout-2 .layout-navbar {
    z-index: 9; }
  .layout-2 .layout-sidenav {
    z-index: 10; }
  .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas).layout-sidenav-hover .layout-1 .layout-sidenav {
    z-index: 1075 !important; }
  .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-2 .layout-sidenav {
    z-index: 1085 !important; }
  .layout-fixed body:not(.modal-open) .layout-1 .layout-sidenav,
  .layout-fixed-offcanvas body:not(.modal-open) .layout-1 .layout-sidenav {
    z-index: 1075; }
  .layout-navbar-fixed body:not(.modal-open) .layout-2 .layout-sidenav,
  .layout-fixed body:not(.modal-open) .layout-2 .layout-sidenav,
  .layout-fixed-offcanvas body:not(.modal-open) .layout-2 .layout-sidenav {
    z-index: 1080; } }

.layout-sidenav-link-no-transition .layout-sidenav .sidenav-link,
.layout-sidenav-link-no-transition .layout-sidenav-horizontal .sidenav-link {
  transition: none !important;
  -webkit-animation: none !important;
          animation: none !important; }

.layout-no-transition .layout-sidenav,
.layout-no-transition .layout-sidenav .sidenav,
.layout-no-transition .layout-sidenav .sidenav-item,
.layout-no-transition .layout-sidenav-horizontal,
.layout-no-transition .layout-sidenav-horizontal .sidenav,
.layout-no-transition .layout-sidenav-horizontal .sidenav-item {
  transition: none !important;
  -webkit-animation: none !important;
          animation: none !important; }

@media (max-width: 991px) {
  .layout-transitioning .layout-overlay {
    -webkit-animation: layoutSidenavAnimation 0.2s;
            animation: layoutSidenavAnimation 0.2s; }
  .layout-transitioning .layout-sidenav {
    transition-duration: 0.2s;
    transition-property: transform, -webkit-transform; } }

@media (min-width: 992px) {
  .layout-collapsed:not(.layout-transitioning):not(.layout-offcanvas):not(.layout-fixed):not(.layout-fixed-offcanvas) .layout-sidenav {
    transition-duration: 0.2s;
    transition-property: margin-left, margin-right, width; }
  .layout-transitioning.layout-offcanvas .layout-sidenav {
    transition-duration: 0.2s;
    transition-property: margin-left, margin-right, transform, -webkit-transform; }
  .layout-transitioning.layout-fixed .layout-container, .layout-transitioning.layout-fixed-offcanvas .layout-container {
    transition-duration: 0.2s;
    transition-property: padding-left, padding-right; }
  .layout-transitioning.layout-fixed .layout-sidenav {
    transition: width 0.2s; }
  .layout-transitioning.layout-fixed-offcanvas .layout-sidenav {
    transition-duration: 0.2s;
    transition-property: transform, -webkit-transform; }
  .layout-transitioning.layout-navbar-fixed .layout-2 .layout-navbar,
  .layout-transitioning.layout-footer-fixed .layout-footer {
    transition-duration: 0.2s;
    transition-property: left, right; }
  .layout-transitioning:not(.layout-offcanvas):not(.layout-fixed):not(.layout-fixed-offcanvas) .layout-sidenav {
    transition-duration: 0.2s;
    transition-property: margin-left, margin-right, width; } }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .sidenav,
  .layout-sidenav,
  .layout-container,
  .layout-navbar,
  .layout-footer {
    transition: none !important;
    transition-duration: 0s !important; }
  .layout-overlay {
    -webkit-animation: none !important;
            animation: none !important; } }

@-webkit-keyframes layoutSidenavAnimation {
  0% {
    opacity: 0; }
  100% {
    opacity: 0.5; } }

@keyframes layoutSidenavAnimation {
  0% {
    opacity: 0; }
  100% {
    opacity: 0.5; } }

.app-brand {
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-positive: 0;
      flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  line-height: 1;
  min-height: 1px; }

.app-brand-logo {
  display: block;
  overflow: hidden;
  -ms-flex-positive: 0;
      flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  min-height: 1px; }
  .app-brand-logo img,
  .app-brand-logo svg {
    display: block; }

.app-brand-text {
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0; }

.app-brand .layout-sidenav-toggle {
  display: block; }

.sidenav-vertical .app-brand {
  padding-right: 1.75rem;
  padding-left: 1.75rem; }

.sidenav-horizontal .app-brand,
.sidenav-horizontal .app-brand + .sidenav-divider {
  display: none !important; }

:not(.layout-sidenav) > .sidenav-vertical.sidenav-collapsed:not(.layout-sidenav):not(:hover) .app-brand {
  padding-right: 0;
  padding-left: 0;
  width: 4.375rem; }

:not(.layout-sidenav) > .sidenav-vertical.sidenav-collapsed:not(.layout-sidenav):not(:hover) .app-brand-logo,
:not(.layout-sidenav) > .sidenav-vertical.sidenav-collapsed:not(.layout-sidenav):not(:hover) .app-brand-text {
  margin-right: auto;
  margin-left: auto; }

:not(.layout-sidenav) > .sidenav-vertical.sidenav-collapsed:not(.layout-sidenav):not(:hover) .app-brand-logo ~ .app-brand-text,
:not(.layout-sidenav) > .sidenav-vertical.sidenav-collapsed:not(.layout-sidenav):not(:hover) .app-brand .layout-sidenav-toggle {
  display: none; }

@media (min-width: 992px) {
  .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav .app-brand {
    padding-right: 0;
    padding-left: 0;
    width: 4.375rem; }
  .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav .app-brand-logo,
  .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav .app-brand-text {
    margin-right: auto;
    margin-left: auto; }
  .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav .app-brand-logo ~ .app-brand-text,
  .layout-collapsed:not(.layout-sidenav-hover):not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav .app-brand .layout-sidenav-toggle {
    display: none; } }

@-webkit-keyframes spinner-border-rtl {
  to {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg); } }

@keyframes spinner-border-rtl {
  to {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg); } }

.btn .spinner-border,
.btn .spinner-grow {
  height: 1em;
  width: 1em;
  top: -.0625rem;
  position: relative; }

.btn .spinner-border {
  border-width: .15em; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9yL2Nzcy9hcHB3b3JrLmNzcyIsInNvdXJjZXMiOlsidmVuZG9yL2Nzcy9hcHB3b3JrLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19pbmNsdWRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Z1bmN0aW9ucy5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fZnVuY3Rpb25zLnNjc3MiLCJ2ZW5kb3IvY3NzL19jdXN0b20tdmFyaWFibGVzL19hcHB3b3JrLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL192YXJpYWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21peGlucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19kZXByZWNhdGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhZGdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm94LXNoYWRvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zsb2F0LnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19taXhpbnMuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX3JlYm9vdC5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fdHlwZS5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fdXRpbGl0aWVzLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19iYXNlLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL190YWJsZXMuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2J1dHRvbnMuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2J1dHRvbi1ncm91cC5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fYmFkZ2Uuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2Ryb3Bkb3duLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19uYXYuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX3BhZ2luYXRpb24uc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2FsZXJ0LnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL190b29sdGlwLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19wb3BvdmVyLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19mb3Jtcy5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fY3VzdG9tLWZvcm1zLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19zd2l0Y2hlci5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9faW5wdXQtZ3JvdXAuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX21vZGFsLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19icmVhZGNydW1iLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19saXN0LWdyb3VwLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19uYXZiYXIuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2NhcmQuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2FjY29yZGlvbi5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fY2Fyb3VzZWwuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2Nsb3NlLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL190b2FzdHMuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2Zvb3Rlci5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fc2lkZW5hdi5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fbGF5b3V0LnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19hcHAtYnJhbmQuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX3NwaW5uZXJzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnX2FwcHdvcmsvaW5jbHVkZSc7XG5AaW1wb3J0ICdfYXBwd29yay9yZWJvb3QnO1xuQGltcG9ydCAnX2FwcHdvcmsvdHlwZSc7XG5AaW1wb3J0ICdfYXBwd29yay91dGlsaXRpZXMnO1xuQGltcG9ydCAnX2FwcHdvcmsvYmFzZSc7XG5AaW1wb3J0ICdfYXBwd29yay90YWJsZXMnO1xuQGltcG9ydCAnX2FwcHdvcmsvYnV0dG9ucyc7XG5AaW1wb3J0ICdfYXBwd29yay9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnX2FwcHdvcmsvYmFkZ2UnO1xuQGltcG9ydCAnX2FwcHdvcmsvZHJvcGRvd24nO1xuQGltcG9ydCAnX2FwcHdvcmsvbmF2JztcbkBpbXBvcnQgJ19hcHB3b3JrL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnX2FwcHdvcmsvYWxlcnQnO1xuQGltcG9ydCAnX2FwcHdvcmsvdG9vbHRpcCc7XG5AaW1wb3J0ICdfYXBwd29yay9wb3BvdmVyJztcbkBpbXBvcnQgJ19hcHB3b3JrL2Zvcm1zJztcbkBpbXBvcnQgJ19hcHB3b3JrL2N1c3RvbS1mb3Jtcyc7XG5AaW1wb3J0ICdfYXBwd29yay9zd2l0Y2hlcic7XG5AaW1wb3J0ICdfYXBwd29yay9pbnB1dC1ncm91cCc7XG5AaW1wb3J0ICdfYXBwd29yay9tb2RhbCc7XG5AaW1wb3J0ICdfYXBwd29yay9icmVhZGNydW1iJztcbkBpbXBvcnQgJ19hcHB3b3JrL2xpc3QtZ3JvdXAnO1xuQGltcG9ydCAnX2FwcHdvcmsvbmF2YmFyJztcbkBpbXBvcnQgJ19hcHB3b3JrL2NhcmQnO1xuQGltcG9ydCAnX2FwcHdvcmsvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ19hcHB3b3JrL2Nhcm91c2VsJztcbkBpbXBvcnQgJ19hcHB3b3JrL2Nsb3NlJztcbkBpbXBvcnQgJ19hcHB3b3JrL3RvYXN0cyc7XG5AaW1wb3J0ICdfYXBwd29yay9mb290ZXInO1xuQGltcG9ydCAnX2FwcHdvcmsvc2lkZW5hdic7XG5AaW1wb3J0ICdfYXBwd29yay9sYXlvdXQnO1xuQGltcG9ydCAnX2FwcHdvcmsvYXBwLWJyYW5kJztcbkBpbXBvcnQgJ19hcHB3b3JrL3NwaW5uZXJzJztcbiIsIkBpbXBvcnQgJy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mdW5jdGlvbnMnO1xuQGltcG9ydCAnZnVuY3Rpb25zJztcbkBpbXBvcnQgJy4uL19jdXN0b20tdmFyaWFibGVzL2FwcHdvcmsnO1xuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucyc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuIiwiLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xuLy9cbi8vIFV0aWxpdHkgbWl4aW5zIGFuZCBmdW5jdGlvbnMgZm9yIGV2YWx1YXRpbmcgc291cmNlIGNvZGUgYWNyb3NzIG91ciB2YXJpYWJsZXMsIG1hcHMsIGFuZCBtaXhpbnMuXG5cbi8vIEFzY2VuZGluZ1xuLy8gVXNlZCB0byBldmFsdWF0ZSBTYXNzIG1hcHMgbGlrZSBvdXIgZ3JpZCBicmVha3BvaW50cy5cbkBtaXhpbiBfYXNzZXJ0LWFzY2VuZGluZygkbWFwLCAkbWFwLW5hbWUpIHtcbiAgJHByZXYta2V5OiBudWxsO1xuICAkcHJldi1udW06IG51bGw7XG4gIEBlYWNoICRrZXksICRudW0gaW4gJG1hcCB7XG4gICAgQGlmICRwcmV2LW51bSA9PSBudWxsIG9yIHVuaXQoJG51bSkgPT0gXCIlXCIge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XG4gICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xuICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfVxuICAgICRwcmV2LWtleTogJGtleTtcbiAgICAkcHJldi1udW06ICRudW07XG4gIH1cbn1cblxuLy8gU3RhcnRzIGF0IHplcm9cbi8vIFVzZWQgdG8gZW5zdXJlIHRoZSBtaW4td2lkdGggb2YgdGhlIGxvd2VzdCBicmVha3BvaW50IHN0YXJ0cyBhdCAwLlxuQG1peGluIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJG1hcCwgJG1hcC1uYW1lOiBcIiRncmlkLWJyZWFrcG9pbnRzXCIpIHtcbiAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgJGZpcnN0LXZhbHVlOiBudGgoJHZhbHVlcywgMSk7XG4gIEBpZiAkZmlyc3QtdmFsdWUgIT0gMCB7XG4gICAgQHdhcm4gXCJGaXJzdCBicmVha3BvaW50IGluICN7JG1hcC1uYW1lfSBtdXN0IHN0YXJ0IGF0IDAsIGJ1dCBzdGFydHMgYXQgI3skZmlyc3QtdmFsdWV9LlwiO1xuICB9XG59XG5cbi8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vIFVzZWQgb24gb3VyIFNWRyBpY29uIGJhY2tncm91bmRzIGZvciBjdXN0b20gZm9ybXMuXG4vL1xuLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXG4vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBDb2xvciBjb250cmFzdFxuQGZ1bmN0aW9uIGNvbG9yLXlpcSgkY29sb3IsICRkYXJrOiAkeWlxLXRleHQtZGFyaywgJGxpZ2h0OiAkeWlxLXRleHQtbGlnaHQpIHtcbiAgJHI6IHJlZCgkY29sb3IpO1xuICAkZzogZ3JlZW4oJGNvbG9yKTtcbiAgJGI6IGJsdWUoJGNvbG9yKTtcblxuICAkeWlxOiAoKCRyICogMjk5KSArICgkZyAqIDU4NykgKyAoJGIgKiAxMTQpKSAvIDEwMDA7XG5cbiAgQGlmICgkeWlxID49ICR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQpIHtcbiAgICBAcmV0dXJuICRkYXJrO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRsaWdodDtcbiAgfVxufVxuXG4vLyBSZXRyaWV2ZSBjb2xvciBTYXNzIG1hcHNcbkBmdW5jdGlvbiBjb2xvcigka2V5OiBcImJsdWVcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiB0aGVtZS1jb2xvcigka2V5OiBcInByaW1hcnlcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiBncmF5KCRrZXk6IFwiMTAwXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRncmF5cywgJGtleSk7XG59XG5cbi8vIFJlcXVlc3QgYSB0aGVtZSBjb2xvciBsZXZlbFxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvci1uYW1lOiBcInByaW1hcnlcIiwgJGxldmVsOiAwKSB7XG4gICRjb2xvcjogdGhlbWUtY29sb3IoJGNvbG9yLW5hbWUpO1xuICAkY29sb3ItYmFzZTogaWYoJGxldmVsID4gMCwgJGJsYWNrLCAkd2hpdGUpO1xuICAkbGV2ZWw6IGFicygkbGV2ZWwpO1xuXG4gIEByZXR1cm4gbWl4KCRjb2xvci1iYXNlLCAkY29sb3IsICRsZXZlbCAqICR0aGVtZS1jb2xvci1pbnRlcnZhbCk7XG59XG4iLCIvLyBGdW5jdGlvbnNcbi8vXG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTWF0aFxuXG4kcGk6IDMuMTQxNTkyNjUzNTk7XG4kX3ByZWNpc2lvbjogMTA7XG5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHApIHtcbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHAgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGlmICRleHAgPCAxe1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBzcXJ0KCRyKSB7XG4gICR4MDogMTtcbiAgJHgxOiAkeDA7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMCB7XG4gICAgJHgxOiAkeDAgLSAoJHgwICogJHgwIC0gYWJzKCRyKSkgLyAoMiAqICR4MCk7XG4gICAgJHgwOiAkeDE7XG4gIH1cblxuICBAcmV0dXJuICR4MTtcbn1cblxuQGZ1bmN0aW9uIGZhY3QoJG51bSkge1xuICAkZmFjdDogMTtcbiAgQGlmICRudW0gPiAwe1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG51bSB7XG4gICAgICAkZmFjdDogJGZhY3QgKiAkaTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkZmFjdDtcbn1cblxuQGZ1bmN0aW9uIF90b191bml0bGVzc19yYWQoJGFuZ2xlKSB7XG4gIEBpZiB1bml0KCRhbmdsZSkgPT0gXCJkZWdcIiB7XG4gICAgJGFuZ2xlOiAkYW5nbGUgLyAxODBkZWcgKiAkcGk7XG4gIH1cbiAgQGlmIHVuaXQoJGFuZ2xlKSA9PSBcInJhZFwiIHtcbiAgICAkYW5nbGU6ICRhbmdsZSAvIDFyYWQ7XG4gIH1cbiAgQHJldHVybiAkYW5nbGU7XG59XG5cbkBmdW5jdGlvbiBzaW4oJGFuZ2xlKXtcbiAgJGE6IF90b191bml0bGVzc19yYWQoJGFuZ2xlKTtcbiAgJHNpbjogJGE7XG4gIEBmb3IgJG4gZnJvbSAxIHRocm91Z2ggJF9wcmVjaXNpb24ge1xuICAgICRzaW46ICRzaW4gKyAocG93KC0xLCAkbikgLyBmYWN0KDIgKiAkbiArIDEpICkgKiBwb3coJGEsICgyICogJG4gKyAxKSk7XG4gIH1cbiAgQHJldHVybiAkc2luO1xufVxuXG5AZnVuY3Rpb24gY29zKCRhbmdsZSl7XG4gICRhOiBfdG9fdW5pdGxlc3NfcmFkKCRhbmdsZSk7XG4gICRjb3M6IDE7XG4gIEBmb3IgJG4gZnJvbSAxIHRocm91Z2ggJF9wcmVjaXNpb24ge1xuICAgICRjb3M6ICRjb3MgKyAoIHBvdygtMSwkbikgLyBmYWN0KDIqJG4pICkgKiBwb3coJGEsMiokbik7XG4gIH1cbiAgQHJldHVybiAkY29zO1xufVxuXG5AZnVuY3Rpb24gdGFuKCRhbmdsZSl7XG4gIEByZXR1cm4gc2luKCRhbmdsZSkgLyBjb3MoJGFuZ2xlKTtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBMaXN0c1xuXG5AZnVuY3Rpb24gc2xpY2UtbGlzdCgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XG4gICRyZXN1bHQ6IG51bGw7XG5cbiAgQGlmIHR5cGUtb2YoJHN0YXJ0KSAhPSBudW1iZXIgb3IgdHlwZS1vZigkZW5kKSAhPSBudW1iZXIge1xuICAgIEB3YXJuIFwiRWl0aGVyICRzdGFydCBvciAkZW5kIGFyZSBub3QgYSBudW1iZXIgZm9yIGBzbGljZWAuXCI7XG4gIH1cblxuICBAZWxzZSBpZiAkc3RhcnQgPiAkZW5kIHtcbiAgICBAd2FybiBcIlRoZSBzdGFydCBpbmRleCBoYXMgdG8gYmUgbGVzc2VyIHRoYW4gb3IgZXF1YWxzIHRvIHRoZSBlbmQgaW5kZXggZm9yIGBzbGljZWAuXCI7XG4gIH1cblxuICBAZWxzZSBpZiAkc3RhcnQgPCAxIG9yICRlbmQgPCAxIHtcbiAgICBAd2FybiBcIkxpc3QgaW5kZXhlcyBtdXN0IGJlIG5vbi16ZXJvIGludGVnZXJzIGZvciBgc2xpY2VgLlwiO1xuICB9XG5cbiAgQGVsc2UgaWYgJHN0YXJ0ID4gbGVuZ3RoKCRsaXN0KSB7XG4gICAgQHdhcm4gXCJMaXN0IGluZGV4IGlzICN7JHN0YXJ0fSBidXQgbGlzdCBpcyBvbmx5ICN7bGVuZ3RoKCRsaXN0KX0gaXRlbSBsb25nIGZvciBgc2xpY2VgLlwiO1xuICB9XG5cbiAgQGVsc2UgaWYgJGVuZCA+IGxlbmd0aCgkbGlzdCkge1xuICAgIEB3YXJuIFwiTGlzdCBpbmRleCBpcyAjeyRlbmR9IGJ1dCBsaXN0IGlzIG9ubHkgI3tsZW5ndGgoJGxpc3QpfSBpdGVtIGxvbmcgZm9yIGBzbGljZWAuXCI7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgJHJlc3VsdDogKCk7XG5cbiAgICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTdHJpbmdzXG5cbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogJycpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENvbG9yc1xuXG5AZnVuY3Rpb24gcmdiYS10by1oZXgoJGNvbG9yLCAkYmFja2dyb3VuZDogI2ZmZikge1xuICBAaWYgJGNvbG9yIGFuZCBhbHBoYSgkY29sb3IpICE9IDEge1xuICAgICRwZXJjZW50OiBhbHBoYSgkY29sb3IpICogMTAwJTtcbiAgICAkb3BhcXVlOiBvcGFjaWZ5KCRjb2xvciwgMSk7XG5cbiAgICBAcmV0dXJuIG1peCgkb3BhcXVlLCAkYmFja2dyb3VuZCwgJHBlcmNlbnQpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRjb2xvcjtcbiAgfVxufVxuXG5AZnVuY3Rpb24geWlxLXZhbHVlKCRjb2xvcikge1xuICBAaWYgJGNvbG9yID09IHRyYW5zcGFyZW50IHtcbiAgICBAcmV0dXJuICRib2R5LWNvbG9yO1xuICB9IEBlbHNlIGlmIGFscGhhKCRjb2xvcikgIT0gMSB7XG4gICAgJGNvbG9yOiByZ2JhLXRvLWhleCgkY29sb3IpO1xuICB9XG5cbiAgJHI6IHJlZCgkY29sb3IpO1xuICAkZzogZ3JlZW4oJGNvbG9yKTtcbiAgJGI6IGJsdWUoJGNvbG9yKTtcblxuICBAcmV0dXJuICgoJHIgKiAyOTkpICsgKCRnICogNTg3KSArICgkYiAqIDExNCkpIC8gMTAwMDtcbn1cblxuLy8gQ29sb3IgY29udHJhc3RcbkBmdW5jdGlvbiB5aXEoJGNvbG9yKSB7XG4gICR5aXE6IHlpcS12YWx1ZSgkY29sb3IpO1xuXG4gIEBpZiAoJHlpcSA+PSAxNjApIHtcbiAgICBAcmV0dXJuIHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuNDApLCAjMDAwKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAjZmZmO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVW5pdHNcblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bWJlcikge1xuICBAaWYgdHlwZS1vZigkbnVtYmVyKSA9PSAnbnVtYmVyJyBhbmQgbm90IHVuaXRsZXNzKCRudW1iZXIpIHtcbiAgICBAcmV0dXJuICRudW1iZXIgLyAoJG51bWJlciAqIDAgKyAxKTtcbiAgfVxuXG4gIEByZXR1cm4gJG51bWJlcjtcbn1cblxuQGZ1bmN0aW9uIHB4LXRvLXJlbSgkdmFsdWUpIHtcbiAgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0IGZvbnQgc2l6ZSA9IGAxNnB4YFxuICBAcmV0dXJuIChzdHJpcC11bml0KCR2YWx1ZSkgLyAxNikgKiAxcmVtO1xufVxuXG5AZnVuY3Rpb24gcmVtLXRvLXB4KCR2YWx1ZSkge1xuICAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQgZm9udCBzaXplID0gYDE2cHhgXG4gIEByZXR1cm4gKHN0cmlwLXVuaXQoJHZhbHVlKSAqIDE2KSAqIDFweDtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBVdGlsaXRpZXNcblxuQGZ1bmN0aW9uIGdldC1idG4tY29sb3JzKCRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XG4gIEBpZiAkYmFja2dyb3VuZCA9PSB0cmFuc3BhcmVudCB7XG4gICAgJGJ0bi1zaGFkb3c6IHJnYmEocmdiYS10by1oZXgoJGJvcmRlciwgIzAwMCksIC4wNSk7XG5cbiAgICBAcmV0dXJuIChcbiAgICAgIGJnLWhvdmVyOiAgcmdiYSgkYm9yZGVyLCAuMDYpLFxuICAgICAgYmctYWN0aXZlOiByZ2JhKCRib3JkZXIsIC4xMiksXG4gICAgICBib3JkZXI6ICAgICRib3JkZXIsXG4gICAgICBzaGFkb3c6ICAgIGlmKCRlbmFibGUtc2hhZG93cywgKCRidG4tYm94LXNoYWRvdywgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggJGJ0bi1zaGFkb3cpLCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCAkYnRuLXNoYWRvdylcbiAgICApO1xuICB9IEBlbHNlIGlmIGFscGhhKCRiYWNrZ3JvdW5kKSAhPSAxIHtcbiAgICAkYmctYWxwaGE6ICAgYWxwaGEoJGJhY2tncm91bmQpO1xuICAgICRidG4tc2hhZG93OiByZ2JhKCRiYWNrZ3JvdW5kLCAkYmctYWxwaGEgLSAoJGJnLWFscGhhICogNTUgLyAxMDApICk7XG5cbiAgICBAcmV0dXJuIChcbiAgICAgIGJnLWhvdmVyOiAgcmdiYSgkYmFja2dyb3VuZCwgJGJnLWFscGhhICsgMC4wNSksXG4gICAgICBiZy1hY3RpdmU6IHJnYmEoJGJhY2tncm91bmQsICRiZy1hbHBoYSArIDAuMTMpLFxuICAgICAgYm9yZGVyOiAgICB0cmFuc3BhcmVudCxcbiAgICAgIHNoYWRvdzogICAgaWYoJGVuYWJsZS1zaGFkb3dzLCAoJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCAkYnRuLXNoYWRvdyksIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoICRidG4tc2hhZG93KVxuICAgICk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gKFxuICAgICAgYmctaG92ZXI6ICByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuOTUpLCAjMDAwKSxcbiAgICAgIGJnLWFjdGl2ZTogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjg3KSwgIzAwMCksXG4gICAgICBib3JkZXI6ICAgIHRyYW5zcGFyZW50LFxuICAgICAgc2hhZG93OiAgICBpZigkZW5hYmxlLXNoYWRvd3MsICgkYnRuLWJveC1zaGFkb3csIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGJhY2tncm91bmQsIC40KSksIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGJhY2tncm91bmQsIC40KSlcbiAgICApO1xuICB9XG59XG5cbkBmdW5jdGlvbiBnZXQtbWF0ZXJpYWwtYnRuLWNvbG9ycygkYmFja2dyb3VuZCkge1xuICBAaWYgYWxwaGEoJGJhY2tncm91bmQpICE9IDEge1xuICAgICRiYWNrZ3JvdW5kOiByZ2JhLXRvLWhleCgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAcmV0dXJuIChcbiAgICBiZy1ob3ZlcjogIHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC45NSksICNmZmYpLFxuICAgIGJnLWFjdGl2ZTogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjg3KSwgI2ZmZiksXG4gICk7XG59XG5cbkBmdW5jdGlvbiBnZXQtbmF2LWNvbG9ycygkYmcsICRhY3RpdmUtY29sb3I6IG51bGwsICRpbmFjdGl2ZS1jb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCkge1xuICAkYmc6IHJnYmEtdG8taGV4KCRiZyk7XG4gICRhY3RpdmUtY29sb3I6IHJnYmEtdG8taGV4KCRhY3RpdmUtY29sb3IpO1xuICAkYWN0aXZlLWNvbG9yOiBpZigkYWN0aXZlLWNvbG9yLCAkYWN0aXZlLWNvbG9yLCB5aXEoJGJnKSk7XG4gICR5aXEtcGVyY2VudDogeWlxLXZhbHVlKCRiZykgLyAyNTU7XG4gICR5aXEtcGVyY2VudC1pbnZlcnRlZDogMSAtICR5aXEtcGVyY2VudDtcblxuICAkb3BhY2l0eTogaWYoJGFjdGl2ZS1jb2xvciA9PSAjZmZmLCAuNiArICguNCAqICR5aXEtcGVyY2VudCksIC42ICsgKC40ICogKDEgLSAkeWlxLXBlcmNlbnQpKSk7XG5cbiAgJGNvbG9yOiBpZigkaW5hY3RpdmUtY29sb3IsIHJnYmEtdG8taGV4KCRpbmFjdGl2ZS1jb2xvciwgJGJnKSwgcmdiYS10by1oZXgocmdiYSgkYWN0aXZlLWNvbG9yLCBpZigkeWlxLXBlcmNlbnQgPCAuMjUsICRvcGFjaXR5IC0gLjE1LCAkb3BhY2l0eSkpLCAkYmcpKTtcbiAgJGRpc2FibGVkLWNvbG9yOiByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjYpLCAkYmcpO1xuICAkbXV0ZWQtY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuNzUpLCAkYmcpO1xuICAkYm9yZGVyOiBpZigkYm9yZGVyLCAkYm9yZGVyLCBpZigkeWlxLXBlcmNlbnQgPiAuNzUsIHJnYmEoJGFjdGl2ZS1jb2xvciwgJG9wYWNpdHkgLyA4KSwgaWYoJHlpcS1wZXJjZW50IDwgLjI1LCByZ2JhKCRhY3RpdmUtY29sb3IsIC4wNiksIHJnYmEoJGFjdGl2ZS1jb2xvciwgLjE1KSkpKTtcblxuICBAcmV0dXJuIChcbiAgICAvLyBNZXRhZGF0YVxuICAgIG9wYWNpdHk6ICRvcGFjaXR5LFxuICAgIHlpcS1wZXJjZW50OiAkeWlxLXBlcmNlbnQsXG4gICAgeWlxLXBlcmNlbnQtaW52ZXJ0ZWQ6ICR5aXEtcGVyY2VudC1pbnZlcnRlZCxcblxuICAgIC8vIENvbG9yc1xuICAgIGJnOiAkYmcsXG4gICAgY29sb3I6ICRjb2xvcixcbiAgICBhY3RpdmUtY29sb3I6ICRhY3RpdmUtY29sb3IsXG4gICAgZGlzYWJsZWQtY29sb3I6ICRkaXNhYmxlZC1jb2xvcixcbiAgICBtdXRlZC1jb2xvcjogJG11dGVkLWNvbG9yLFxuICAgIGJvcmRlcjogJGJvcmRlclxuICApO1xufVxuIiwiIiwiLy8gVmFyaWFibGVzXG4vL1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENvbG9yc1xuXG4kd2hpdGU6ICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJsYWNrOiAgICAgICAgIzE4MUMyMSAhZGVmYXVsdDtcbiRncmF5LTI1OiAgICAgIHJnYmEoJGJsYWNrLCAuMDE1KSAhZGVmYXVsdDtcbiRncmF5LTUwOiAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGdyYXktMTAwOiAgICAgcmdiYSgkYmxhY2ssIC4wNikgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGdyYXktMzAwOiAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRncmF5LTQwMDogICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICAgICByZ2JhKCRibGFjaywgLjQpICFkZWZhdWx0O1xuJGdyYXktNjAwOiAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRncmF5LTcwMDogICAgIHJnYmEoJGJsYWNrLCAuNikgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICAgICByZ2JhKCRibGFjaywgLjgpICFkZWZhdWx0O1xuJGdyYXktOTAwOiAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcblxuJGdyYXlzOiAoXG4gIFwiMjVcIjogJGdyYXktMjUsXG4gIFwiNTBcIjogJGdyYXktNTBcbikgIWRlZmF1bHQ7XG5cbiRibHVlOiAgICAgICAgICMxZTcwY2QgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgICAgICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICAgICAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAgICAgICNlODNlOGMgIWRlZmF1bHQ7XG4kcmVkOiAgICAgICAgICAjZDk1MzRmICFkZWZhdWx0O1xuJG9yYW5nZTogICAgICAgI0ZFQjc0NCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAgICAgICNGRkQ5NTAgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgICAgICAjMDJCQzc3ICFkZWZhdWx0O1xuJHRlYWw6ICAgICAgICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAgICAgICMyOGMzZDcgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6IChcbiAgXCJwcmltYXJ5XCI6ICAgJGluZGlnbyxcbiAgXCJzZWNvbmRhcnlcIjogIzg4OTdBQSxcbiAgXCJzdWNjZXNzXCI6ICAgJGdyZWVuLFxuICBcImluZm9cIjogICAgICAkY3lhbixcbiAgXCJ3YXJuaW5nXCI6ICAgJHllbGxvdyxcbiAgXCJkYW5nZXJcIjogICAgJHJlZCxcbiAgXCJkYXJrXCI6ICAgICAgJGdyYXktOTAwXG4pICFkZWZhdWx0O1xuXG4kYm9keS1jb2xvcjogICAgICAgIzRFNTE1NSAhZGVmYXVsdDsgLy8jNGE0YTRhXG5cbi8vICMwNmNcbiRsaW5rLWNvbG9yOiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiBsaWdodGVuKCRsaW5rLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEZvbnRzXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiBcIlJvYm90b1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1zZXJpZjogICAgICBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICBcIlNGTW9uby1SZWd1bGFyXCIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgIC44OTRyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXhsOiAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUteHM6ICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQ6ICAgNTAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgIDkwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodGVyOiAgICAxMDAgIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAxLjQ3ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXhsOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXhzOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgIDIuMjVyZW0gIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgMS44MTNyZW0gIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgMS41NjNyZW0gIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgMS4zMTNyZW0gIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAkZm9udC13ZWlnaHQtc2VtaWJvbGQgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgMS4xICFkZWZhdWx0O1xuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICA0cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkyLXNpemU6ICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAzcmVtICFkZWZhdWx0O1xuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG5cbiR0aW55LWZvbnQtc2l6ZTogICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgODUlICFkZWZhdWx0O1xuJGJpZy1mb250LXNpemU6ICAgICAgICAgIDExMiUgIWRlZmF1bHQ7XG4kbGFyZ2UtZm9udC1zaXplOiAgICAgICAgMTUwJSAhZGVmYXVsdDtcbiR4bGFyZ2UtZm9udC1zaXplOiAgICAgICAxNzAlICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgcmdiYS10by1oZXgoJGdyYXktNTAwKSAhZGVmYXVsdDtcbiR0ZXh0LW11dGVkLWhvdmVyOiAgICAgICByZ2JhLXRvLWhleCgkZ3JheS02MDApICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6IHJnYmEtdG8taGV4KCRncmF5LTUwMCkgIWRlZmF1bHQ7XG4kdGV4dC1saWdodDogICAgICAgICAgICAgcmdiYS10by1oZXgoJGdyYXktNDAwKSAhZGVmYXVsdDtcbiR0ZXh0LWxpZ2h0ZXI6ICAgICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS0zMDApICFkZWZhdWx0O1xuJHRleHQtbGlnaHRlc3Q6ICAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTIwMCkgIWRlZmF1bHQ7XG5cbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICBub25lICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEdyaWRcblxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRjb250YWluZXItcGFkZGluZy14OiAycmVtICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLXgtc206IDFyZW0gIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmcteTogMS41cmVtICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENvbXBvbmVudHNcblxuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLC4wNikgIWRlZmF1bHQ7XG4kYm9yZGVyLWlubmVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXhsOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXhzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGNvbXBvbmVudC1saW5lLWhlaWdodDogICAgICAgICAgIDEuNTQgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aDogICAgMnB4ICFkZWZhdWx0O1xuXG4kZmxvYXRpbmctY29tcG9uZW50LWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XG4kZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdzogICAgICAgMCAxcHggNnB4IHJnYmEoMCwgMCwgMCwgLjA5KSAhZGVmYXVsdDtcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRib3JkZXJlZC1yb3ctYm9yZGVyLWNvbG9yOiAgICAgICAkaHItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgLjQyZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAgICAgICAgICAgbWlkZGxlICFkZWZhdWx0O1xuJGNhcmV0LXNwYWNpbmc6ICAgICAgICAgICAgICAgICAgIC41ZW0gIWRlZmF1bHQ7XG5cbiRvdmVyZmxvd3M6IGF1dG8sIGhpZGRlbiwgc2Nyb2xsLCB2aXNpYmxlICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFotaW5kZXggbWFzdGVyIGxpc3RcblxuJHppbmRleC1sYXlvdXQtZml4ZWQ6ICAxMDgwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC10b3A6ICAgICAxMDkwICFkZWZhdWx0O1xuJHppbmRleC1sYXlvdXQtbW9iaWxlOiAxMTAwICFkZWZhdWx0O1xuJHppbmRleC1ub3RpZmljYXRpb246ICA5OTk5OTkgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVGFibGVzXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMjUpICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICByZ2JhKCRibGFjaywgLjAzNSkgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgIHJnYmEtdG8taGV4KCR0YWJsZS1ob3Zlci1iZykgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgcmdiYS10by1oZXgoJGdyYXktMjAwKSAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAkZ3JheS01MCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICByZ2JhKCR3aGl0ZSwgLjAzKSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6IGxpZ2h0ZW4ocmdiYS10by1oZXgoJGdyYXktOTAwKSwgNyUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQnV0dG9ucyArIEZvcm1zXG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgIC40MzhyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAxLjEyNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgIDEuNTQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXhzOiAgIDAgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC14czogICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXhzOiAgICRmb250LXNpemUteHMgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXhzOiAkbGluZS1oZWlnaHQteHMgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgIC4xODhyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAuNjg3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgIDEuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXhsOiAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC14bDogICAyLjEyNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXhsOiAgICRmb250LXNpemUteGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXhsOiAkbGluZS1oZWlnaHQteGwgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQnV0dG9uc1xuXG4kYnRuLXBhZGRpbmcteS14czogICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS14cyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXhzOiAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXhzICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUteHM6ICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUteHMgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LXhzOiAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXhzICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS14bDogICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS14bCAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXhsOiAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXhsICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUteGw6ICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUteGwgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LXhsOiAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXhsICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci1yYWRpdXMteHM6ICAkYm9yZGVyLXJhZGl1cy14cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy14bDogICRib3JkZXItcmFkaXVzLXhsICFkZWZhdWx0O1xuXG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICBub25lICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC4yNSkgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4kYnRuLWRlZmF1bHQtYmc6ICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1ib3JkZXI6ICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1jb2xvcjogICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEZvcm1zXG5cbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG5cbiRsYWJlbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgLjgzMTI1cmVtICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtc2VtaWJvbGQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgcmdiYS10by1oZXgoJGdyYXktMTAwKSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICR0ZXh0LWxpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgICAgIHB4LXRvLXJlbShmbG9vcihyZW0tdG8tcHgoKCRpbnB1dC1idG4tZm9udC1zaXplICogJGlucHV0LWJ0bi1saW5lLWhlaWdodCkgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXkgKiAyKSkpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItc206ICAgICAgICAgICAgICAgICAgICAgcHgtdG8tcmVtKGZsb29yKHJlbS10by1weCgoJGlucHV0LWJ0bi1mb250LXNpemUtc20gKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAqIDIpKSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1sZzogICAgICAgICAgICAgICAgICAgICBweC10by1yZW0oZmxvb3IocmVtLXRvLXB4KCgkZm9udC1zaXplLWxnICogJGxpbmUtaGVpZ2h0LWxnKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAqIDIpKSkpICFkZWZhdWx0O1xuXG4kaW5wdXQtaW52ZXJ0ZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoI2ZmZiwgLjMpICFkZWZhdWx0O1xuJGlucHV0LWludmVydGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGlucHV0LWludmVydGVkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtaW52ZXJ0ZWQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtaW52ZXJ0ZWQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgIHJnYmEoI2ZmZiwgLjcpICFkZWZhdWx0O1xuJGlucHV0LWludmVydGVkLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICByZ2JhKCNmZmYsIC4xKSAhZGVmYXVsdDtcbiRpbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgJGlucHV0LWludmVydGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgICAgIDEuMTI1cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZzogICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogICAgIDFweCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgICAgICAuNDM4cmVtICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZzogICAgICAgICAgICAgIFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOS41IDcuNSclM0UlM0Nwb2x5bGluZSBwb2ludHM9JzAuNzUgNC4zNSA0LjE4IDYuNzUgOC43NSAwLjc1JyBzdHlsZT0nZmlsbDpub25lO3N0cm9rZTpfQ09MT1JfO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6MS41cHgnLyUzRSUzQy9zdmclM0VcIiAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgICAgNjUlICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRldGVybWluYXRlLWJnOiAgICAgICAgICBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNCclM0UlM0NwYXRoIHN0cm9rZT0nX0NPTE9SXycgZD0nTTAgMmg0Jy8lM0UlM0Mvc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmctc2l6ZTogICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAgICAgICBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPSdfQ09MT1JfJy8lM0UlM0Mvc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZy1zaXplOiAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnOiAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgbm9uZSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAgICAgICAgICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW52ZXJ0ZWQtZGlzYWJsZWQtY29sb3I6ICAgICAkaW5wdXQtaW52ZXJ0ZWQtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbnZlcnRlZC1kaXNhYmxlZC1iZzogICAgICAgICRpbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgICAgICAgICAxN3B4IDEycHggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICAgICAgICAgIHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDSUFBQUFZQ0FZQUFBQ2ZwaThKQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUtCSlJFRlVTQTN0MWtFS2dDQVFCVkNURHRjaXVsSjJwV2pSaWFwVGFQd29rVUVqUlcwemdhSFNPSTlQUVdMYkQ0TWhmcjdrei8xdGU0YllLTzRKSjhLSjBBVG91cVVicWV1dUg1VFJla3lwYjZTY3NyMnM2eklySEJnTFFRMXFzMEVBaU1VOENOUm1oY1JnWEVRUnlCY01SUlNEdkdGOGlLSVFIeWFFd0xPaXhtOEFQbTJNcTJIb1ZnTVM2dTN1Wi85cTNNTmo1Z3loYVhFaW5BaE5nSzVQcHpoRU8vaFNNSzRBQUFBQVNVVk9SSzVDWUlJPScpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWludmVydGVkOiAgICAgICAgICB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0lBQUFBWUNBWUFBQUNmcGk4SkFBQUFCR2RCVFVFQUFMR1BDL3hoQlFBQUFKNUpSRUZVU0EzdDFHMEtnQ0FNQnVDTUR0Wmxvak9GaHpWZlVhRmxINDROLzB5SXNwdyt2R2hUQ0dIRk5RMXU4K0QxNi9JR3FWSGtCMHZFRXFFSjBQNUNYM0Q3OFYrMHg5cU5XZS9GTnF0ejdvZ0l6NEI0MUlwQkFHQmdFZ0sxb3BCT1RFV29RSDVpTGdnMXlBZm1obENGUEdDYUNJd1ZPNzZZck5Xd2dlUFJUcC95Wm00TjA0ZGcxVGRBVVltZm1qSng3OTBnTkRGTHhCS2hDZEQrQ1EzR0huZ3ZKVEdLQUFBQUFFbEZUa1N1UW1DQycpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXJ0bDogICAgICAgICAgICAgICB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0lBQUFBWUNBWUFBQUNmcGk4SkFBQUFCR2RCVFVFQUFMR1BDL3hoQlFBQUFLZEpSRUZVU0EzdGxsRUtnQ0FNaGxNNlhBL1JsYklyUlErZHFEcUZ4UjhwdEV3TkZIdVlEK0xjM0Q1K0hDcXF3bU5adHgwSXNqQ0hMYzhnVm9wcndZcXdJbFFCYXRkTjI2bGQ2NTQ2WW13aDVUQlBvNHFKRGNWSUpFTENVQ0QxcDRSQTdyTnJ2c0traHJBZ1dNVEM1SUM0Z2NUQTVJSjRnUGhnY2tJNFFWd3d1U0ZRVTJCNkcyaHQrRksxcUt1TytRWjRRVndIVSs4WkVINzBxTEtzQ0N0Q0ZhRDJiKzdJQVpHZFBQeHVXWUdNQUFBQUFFbEZUa1N1UW1DQycpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWludmVydGVkLXJ0bDogICAgICB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0lBQUFBWUNBWUFBQUNmcGk4SkFBQUFCR2RCVFVFQUFMR1BDL3hoQlFBQUFKdEpSRUZVU0EzdGxsRUt3Q0FJaG1kMHNGMW03RXlqdzdhTUNITFdXaGp0d1I0aVUzNC9maEtDYmZIeTN1K0lZQlp6NVBZS2txMUlCM1ZFSGFFTzBOaUdPVDdENVVFVG5iRURnS3V6dGxsbWtwQnJWdkZKTVFpVWoxTXpBQ01La1VIdzhBRkdIS0lBNllTWkF2RUFlWUdaQnNHQ1ZHQ21RbUJQaXh1MzhNMkUwWTZwOUg2NE1yRTdFRk1hRk5ML1NNMDQvUVpRWjlTUjN6cHlBMWlZSG5iU0xQSVFBQUFBQUVsRlRrU3VRbUNDJykgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtZGlzYWJsZWQtdHJhY2stYmc6ICAgICAgICAgICAgJGdyYXktNTAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi1iZyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgMCAwIDAgMXB4IHJnYmEoMCwwLDAsLjEpLCAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLWJnICFkZWZhdWx0O1xuXG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJkYW5nZXJcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAgICAgICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAgICAgICAgICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtcnRsOiAgICAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6JyB0cmFuc2Zvcm09J3NjYWxlKC0xLCAxKSB0cmFuc2xhdGUoLTgsIDApJy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHZpZXdCb3g9Jy0yIC0yIDcgNyclM2UlM2NwYXRoIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBkPSdNMCAwbDMgM20wLTNMMCAzJy8lM2UlM2NjaXJjbGUgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeD0nMycgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeT0nMycgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeD0nMycgY3k9JzMnIHI9Jy41Jy8lM2UlM2Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtcnRsOiAgICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHZpZXdCb3g9Jy0yIC0yIDcgNyclM2UlM2NwYXRoIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBkPSdNMCAwbDMgM20wLTNMMCAzJy8lM2UlM2NjaXJjbGUgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeD0nMycgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeT0nMycgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeD0nMycgY3k9JzMnIHI9Jy41Jy8lM2UlM2Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmc6ICAgICAgICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICsgJGlucHV0LWhlaWdodC1pbm5lciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1zbTogICAgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgKyAkaW5wdXQtaGVpZ2h0LWlubmVyLXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLWxnOiAgICAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyArICRpbnB1dC1oZWlnaHQtaW5uZXItbGcgIWRlZmF1bHQ7XG5cbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoXG4gIFwidmFsaWRcIjogKFxuICAgIFwiY29sb3JcIjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IsXG4gICAgXCJpY29uXCI6ICAgICAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLFxuICAgIFwiaWNvbi1ydGxcIjogJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1ydGxcbiAgKSxcbiAgXCJpbnZhbGlkXCI6IChcbiAgICBcImNvbG9yXCI6ICAgICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsXG4gICAgXCJpY29uXCI6ICAgICAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQsXG4gICAgXCJpY29uLXJ0bFwiOiAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtcnRsXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIERyb3Bkb3duc1xuXG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGZsb2F0aW5nLWNvbXBvbmVudC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgJGRyb3Bkb3duLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgLjQzOHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgJGRyb3Bkb3duLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgJGdyYXktNTAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1saW5lLWhlaWdodDogICAgJGNvbXBvbmVudC1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICR0ZXh0LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBOYXZzXG5cbiRuYXYtc3BhY2VyOiAgICAgICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgJGNvbXBvbmVudC1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJG5hdi1saW5rLXBhZGRpbmcteS1sZzogICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgIDEuMzEyNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1saW5lLWhlaWdodC1sZzogICAgICAgICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJG5hdi1saW5rLXBhZGRpbmcteS1zbTogICAgICAgICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14LXNtOiAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kbmF2LWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAkdGV4dC1tdXRlZC1ob3ZlciAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICR0ZXh0LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBOYXZiYXJcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuN3JlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuOCkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjQpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4wNikgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgIC45Mzc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgMSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgJGJvcmRlci1pbm5lci1jb2xvciAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICRncmF5LTEwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICBub25lICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1zcGFjZXI6ICAgICAgICAgICAgICAgIC4xODc1cmVtICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENhcmRzXG5cbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteC1zbTogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1jb2xvcjogICRib3JkZXItaW5uZXItY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCA0cHggcmdiYSgkYmxhY2ssIC4wMTIpICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFRvb2x0aXBzXG5cbiR0b29sdGlwLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS04MDApICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgMSAhZGVmYXVsdDtcbiR0b29sdGlwLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogUG9wb3ZlcnNcblxuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgJGZsb2F0aW5nLWNvbXBvbmVudC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICRncmF5LTUwICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6IC42MjVyZW0gIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAuODU4ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkZm9udC13ZWlnaHQtc2VtaWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgIC40MTdlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG5cbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgIC41ODNlbSAhZGVmYXVsdDtcbiRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXM6ICAgIDEwcmVtICFkZWZhdWx0O1xuXG4kYmFkZ2UtZGVmYXVsdC1iZzogICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kYmFkZ2Utb3V0bGluZS1kZWZhdWx0LWNvbG9yOiAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBNb2RhbHNcblxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgMS41NjI1cmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1wYWRkaW5nOiAgICAgICAgICAgMS4yNXJlbSAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgMXB4ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgJGJvcmRlci1pbm5lci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgJGZsb2F0aW5nLWNvbXBvbmVudC1zaGFkb3cgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcblxuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgMzVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgIDIyLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgIC41ICFkZWZhdWx0O1xuXG4kbW9kYWwtc2xpZGUtd2lkdGg6ICAgICAgICAgICAgICAyMHJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgLjE1cyAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkbW9kYWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBBbGVydHNcblxuJGFsZXJ0LXBhZGRpbmcteTogMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgIC42MjVyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgJGdyYXktNTAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogMTByZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgI2ZmZiAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYS10by1oZXgoJGdyYXktMjAwKSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgIC45Mzc1cmVtICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0yNSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAkdGV4dC1tdXRlZC1ob3ZlciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAkZ3JheS01MCAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogIDBweCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogMHB4ICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICBub25lICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgXCIvXCIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLXJ0bDogICBcIi9cIiAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTd2l0Y2hlcnNcblxuJHN3aXRjaGVyLXNwYWNlci14OiAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoZXItc3BhY2VyLXk6ICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHN3aXRjaGVyLWd1dHRlcjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1pbm5lci1zcGFjZXI6ICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kc3dpdGNoZXItc3F1YXJlLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kc3dpdGNoZXItbGFiZWwtY29sb3I6ICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHN3aXRjaGVyLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRzd2l0Y2hlci13aWR0aDogICAgICAgICAgICAgICAgMi4zNzVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoZXItaGVpZ2h0OiAgICAgICAgICAgICAgIDEuMzc1cmVtICFkZWZhdWx0O1xuJHN3aXRjaGVyLWZvbnQtc2l6ZTogICAgICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xuJHN3aXRjaGVyLWxhYmVsLWZvbnQtc2l6ZTogICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kc3dpdGNoZXItbGFiZWwtbGluZS1oZWlnaHQ6ICAgIDEuNCAhZGVmYXVsdDtcblxuJHN3aXRjaGVyLXdpZHRoLXNtOiAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJHN3aXRjaGVyLWhlaWdodC1zbTogICAgICAgICAgICAxLjEyNXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1sYWJlbC1mb250LXNpemUtc206ICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1sYWJlbC1saW5lLWhlaWdodC1zbTogMS40ODYgIWRlZmF1bHQ7XG5cbiRzd2l0Y2hlci13aWR0aC1sZzogICAgICAgICAgICAgMy4yNXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1oZWlnaHQtbGc6ICAgICAgICAgICAgMS43NXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1sYWJlbC1mb250LXNpemUtbGc6ICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRzd2l0Y2hlci1sYWJlbC1saW5lLWhlaWdodC1sZzogMS40NyAhZGVmYXVsdDtcblxuJHN3aXRjaGVyLW9mZi1jb2xvcjogICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kc3dpdGNoZXItb2ZmLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRzd2l0Y2hlci1ob2xkZXItYmc6ICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRzd2l0Y2hlci1ob2xkZXItc2hhZG93OiAgICAgICAgMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAuMDQpLCAwIDFweCA2cHggcmdiYSgkYmxhY2ssIC4wOSkgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQ2xvc2VcblxuJGNsb3NlLWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogSnVtYm90cm9uXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogM3JlbSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTaWRlbmF2XG5cbiRzaWRlbmF2LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTUuNjI1cmVtICFkZWZhdWx0OyAvLzI1MHB4XG4kc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg6ICAgICAgICAgICAgICAgIDQuMzc1cmVtICFkZWZhdWx0OyAvLzcwcHhcblxuJHNpZGVuYXYtaXRlbS1zcGFjZXI6ICAgICAgICAgICAgICAgICAgICAuMDYyNXJlbSAhZGVmYXVsdDtcblxuJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXk6ICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteDogICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc2lkZW5hdi12ZXJ0aWNhbC1tZW51LWxpbmstcGFkZGluZy15OiAgIC42MjVyZW0gIWRlZmF1bHQ7XG4kc2lkZW5hdi12ZXJ0aWNhbC1tZW51LWxldmVsLXNwYWNlcjogICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRzaWRlbmF2LWhvcml6b250YWwtbGluay1wYWRkaW5nLXk6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzaWRlbmF2LWhvcml6b250YWwtbGluay1wYWRkaW5nLXg6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzaWRlbmF2LWhvcml6b250YWwtbWVudS1saW5rLXBhZGRpbmcteTogLjYyNXJlbSAhZGVmYXVsdDtcbiRzaWRlbmF2LWhvcml6b250YWwtbWVudS1sZXZlbC1zcGFjZXI6ICAgMXJlbSAhZGVmYXVsdDtcblxuJHNpZGVuYXYtbWVudS13aWR0aDogICAgICAgICAgICAgICAgICAgICAxMi41cmVtICFkZWZhdWx0OzsgLy8yMDBweFxuJHNpZGVuYXYtY29udHJvbC13aWR0aDogICAgICAgICAgICAgICAgICAyLjI1cmVtICFkZWZhdWx0O1xuJHNpZGVuYXYtY29udHJvbC1hcnJvdy1zaXplOiAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJHNpZGVuYXYtaWNvbi1leHBhbmRlZC13aWR0aDogICAgICAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuJHNpZGVuYXYtaWNvbi1leHBhbmRlZC1mb250LXNpemU6ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNpZGVuYXYtaWNvbi1leHBhbmRlZC1zcGFjZXI6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgLjJzICFkZWZhdWx0O1xuXG4kc2lkZW5hdi1tYXgtbGV2ZWxzOiAgICAgICAgICAgICAgICAgICAgIDUgIWRlZmF1bHQ7XG5cbiRzaWRlbmF2LWRhcmstYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMikgIWRlZmF1bHQ7XG4kc2lkZW5hdi1kYXJrLW1lbnUtYmc6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA2KSAhZGVmYXVsdDtcbiRzaWRlbmF2LWxpZ2h0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDYpICFkZWZhdWx0O1xuJHNpZGVuYXYtbGlnaHQtbWVudS1iZzogICAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNSkgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVG9hc3RzXG5cbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgJGZsb2F0aW5nLWNvbXBvbmVudC1zaGFkb3cgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogJGNhcmQtaW5uZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBDb25maWdcbiRydGwtc3VwcG9ydDogZmFsc2UgIWRlZmF1bHQ7XG4kbWF0ZXJpYWwtc3R5bGU6IGZhbHNlO1xuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gQ29sb3Igc3lzdGVtXG5cbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZ3JheXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gICAgXCIzMDBcIjogJGdyYXktMzAwLFxuICAgIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gICAgXCI2MDBcIjogJGdyYXktNjAwLFxuICAgIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gICAgXCI5MDBcIjogJGdyYXktOTAwXG4gICksXG4gICRncmF5c1xuKTtcblxuJGJsdWU6ICAgICMwMDdiZmYgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNlODNlOGMgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzI4YTc0NSAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMxN2EyYjggIWRlZmF1bHQ7XG5cbiRjb2xvcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRjb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcbiAgICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gICAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gICAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXG4gICAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gICAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgICBcInRlYWxcIjogICAgICAgJHRlYWwsXG4gICAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICAgIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gICAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcbiAgICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4gICksXG4gICRjb2xvcnNcbik7XG5cbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuXG4kdGhlbWUtY29sb3JzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gICAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gICAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgICBcImRhcmtcIjogICAgICAgJGRhcmtcbiAgKSxcbiAgJHRoZW1lLWNvbG9yc1xuKTtcblxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuJHRoZW1lLWNvbG9yLWludGVydmFsOiAgICAgIDglICFkZWZhdWx0O1xuXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cbiR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQ6ICAxNTAgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJHlpcS10ZXh0LWRhcms6ICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR5aXEtdGV4dC1saWdodDogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5OiAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5OiAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQsIG5vIGxvbmdlciBhZmZlY3RzIGFueSBjb21waWxlZCBDU1NcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9uczogICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlczogICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHNwYWNlcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDA6IDAsXG4gICAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAgIDI6ICgkc3BhY2VyICogLjUpLFxuICAgIDM6ICRzcGFjZXIsXG4gICAgNDogKCRzcGFjZXIgKiAxLjUpLFxuICAgIDU6ICgkc3BhY2VyICogMylcbiAgKSxcbiAgJHNwYWNlcnNcbik7XG5cbi8vIFRoaXMgdmFyaWFibGUgYWZmZWN0cyB0aGUgYC5oLSpgIGFuZCBgLnctKmAgY2xhc3Nlcy5cbiRzaXplczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHNpemVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAyNTogMjUlLFxuICAgIDUwOiA1MCUsXG4gICAgNzU6IDc1JSxcbiAgICAxMDA6IDEwMCUsXG4gICAgYXV0bzogYXV0b1xuICApLFxuICAkc2l6ZXNcbik7XG5cblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4vLyBEYXJrZW4gcGVyY2VudGFnZSBmb3IgbGlua3Mgd2l0aCBgLnRleHQtKmAgY2xhc3MgKGUuZy4gYC50ZXh0LXN1Y2Nlc3NgKVxuJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZTogMTUlICFkZWZhdWx0O1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcblxuJHJvdW5kZWQtcGlsbDogICAgICAgICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG5cbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcblxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogam9pbihcbiAgKFxuICAgICgyMSA5KSxcbiAgICAoMTYgOSksXG4gICAgKDQgMyksXG4gICAgKDEgMSksXG4gICksXG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Ncbik7XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuODc1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICA1LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgICAgICA0LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTQtc2l6ZTogICAgICAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5Mi13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAgICAgICAgICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgODAlICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZTogICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjJlbSAhZGVmYXVsdDtcblxuJGR0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRrYmQtYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXNtOiAgICAgICAuM3JlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICAkdGFibGUtaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1jb2xvcjogICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItY29sb3I6ICAgICAgJHRhYmxlLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1iZzogICAgICAgICByZ2JhKCR3aGl0ZSwgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6ICAgICBsaWdodGVuKCR0YWJsZS1kYXJrLWJnLCA3LjUlKSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuJHRhYmxlLWJnLWxldmVsOiAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWxldmVsOiAgICAgICAgICAtNiAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAuMjUpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgMCAwIDAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1zbTogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1sZzogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEZvcm1zXG5cbiRsYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDI1JSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtfSArICN7JGlucHV0LXBhZGRpbmcteSAqIDJ9KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjogICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWxpbmUtaGVpZ2h0ICogLjVlbX0gKyAjeyRpbnB1dC1wYWRkaW5nLXl9KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBjYWxjKCN7JGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW19ICsgI3skaW5wdXQtcGFkZGluZy15IC8gMn0pICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1saW5lLWhlaWdodCAqIDFlbX0gKyAjeyRpbnB1dC1wYWRkaW5nLXkgKiAyfSArICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWxpbmUtaGVpZ2h0LXNtICogMWVtfSArICN7JGlucHV0LWJ0bi1wYWRkaW5nLXktc20gKiAyfSArICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWxpbmUtaGVpZ2h0LWxnICogMWVtfSArICN7JGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgKiAyfSArICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjogICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk6ICAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg6ICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14OiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDogICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZzogICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplOiAgICAgIDUwJSA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3c6ICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogJGdyYXktNTAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZzogIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuNSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdzogICBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c6ICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yOiAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3c6ICAgIG5vbmUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTogICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNCclM2UlM2NwYXRoIHN0cm9rZT0nI3skY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yfScgZD0nTTAgMmg0Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3c6ICAgbm9uZSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzZSUzY2NpcmNsZSByPSczJyBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplICogMS43NSAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAvIDIgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgICAgICAgICBjYWxjKCN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplfSAtICN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiA0fSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgJGlucHV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodDogICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAxcmVtICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSBiYXNlZCBpbmRpY2F0b3JcbiRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgIDhweCAxMHB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNSclM2UlM2NwYXRoIGZpbGw9JyN7JGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDogICAgICAgICAgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yIG5vLXJlcGVhdCByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyIC8gJGN1c3RvbS1zZWxlY3QtYmctc2l6ZSAhZGVmYXVsdDsgLy8gVXNlZCBzbyB3ZSBjYW4gaGF2ZSBtdWx0aXBsZSBiYWNrZ3JvdW5kIGVsZW1lbnRzIChlLmcuLCBhcnJvdyBhbmQgZmVlZGJhY2sgaWNvbilcblxuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0OiBjYWxjKCgxZW0gKyAjezIgKiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXl9KSAqIDMgLyA0ICsgI3skY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZ30pICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgICBjZW50ZXIgcmlnaHQgKCRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aDogICAgICAgICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc206ICAgICAgICAkaW5wdXQtcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgICRpbnB1dC1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtbGc6ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoOiAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1iZzogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIGluc2V0IDAgLjI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIC4xcmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gSUUvRWRnZVxuJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLWhlaWdodDogICAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtcGFkZGluZy14OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtZmFtaWx5OiAgICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogICAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3gtc2hhZG93OiAgICAgICAgICAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjogICAgICAgICAgJGN1c3RvbS1maWxlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXRleHQ6IChcbiAgZW46IFwiQnJvd3NlXCJcbikgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAgICAgICRmb3JtLXRleHQtbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTogICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICB0aGVtZS1jb2xvcihcImRhbmdlclwiKSAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyB2aWV3Qm94PSctMiAtMiA3IDcnJTNlJTNjcGF0aCBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgZD0nTTAgMGwzIDNtMC0zTDAgMycvJTNlJTNjY2lyY2xlIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3g9JzMnIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3k9JzMnIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3g9JzMnIGN5PSczJyByPScuNScvJTNlJTNjL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwidmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkXG4gICAgKSxcbiAgICBcImludmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZFxuICAgICksXG4gICksXG4gICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG4pO1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAgICAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG5cblxuLy8gTmF2c1xuXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTIwMCAkZ3JheS0yMDAgJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJGdyYXktMzAwICRncmF5LTMwMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG5cblxuLy8gTmF2YmFyXG5cbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4vLyBDb21wdXRlIHRoZSBuYXZiYXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBuYXZiYXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBuYXZiYXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgLyAyICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBzdHJva2U9JyN7JG5hdmJhci1kYXJrLWNvbG9yfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJHdoaXRlLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywgLjcpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtY29sb3J9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgY2FsYygjeyRkcm9wZG93bi1ib3JkZXItcmFkaXVzfSAtICN7JGRyb3Bkb3duLWJvcmRlci13aWR0aH0pICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgJG5hdi1kaXZpZGVyLW1hcmdpbi15ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRncmF5LTkwMCwgNSUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIFBhZ2luYXRpb25cblxuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTogICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTMwMCAhZGVmYXVsdDtcblxuXG4vLyBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gQ2FyZHNcblxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIGNhbGMoI3skY2FyZC1ib3JkZXItcmFkaXVzfSAtICN7JGNhcmQtYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1jb2xvcjogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1ncm91cC1tYXJnaW46ICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyICFkZWZhdWx0O1xuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLWNvdW50OiAgICAgICAgICAgICAgICAzICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICFkZWZhdWx0O1xuXG5cbi8vIFRvb2x0aXBzXG5cbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eTogICAgICAgJHRvb2x0aXAtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIGZhZGUtaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIFRvYXN0c1xuXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRvYXN0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4xKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjI1cmVtIC43NXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kdG9hc3QtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBCYWRnZXNcblxuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgNzUlICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC40ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGJhZGdlLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgJGJ0bi10cmFuc2l0aW9uICFkZWZhdWx0O1xuJGJhZGdlLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcblxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgICAgICAgICAgICAgLjZlbSAhZGVmYXVsdDtcbi8vIFVzZSBhIGhpZ2hlciB0aGFuIG5vcm1hbCB2YWx1ZSB0byBlbnN1cmUgY29tcGxldGVseSByb3VuZGVkIGVkZ2VzIHdoZW5cbi8vIGN1c3RvbWl6aW5nIHBhZGRpbmcgb3IgZm9udC1zaXplIG9uIGxhYmVscy5cbiRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gS2VlcCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuXG4kbW9kYWwteGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgICA4MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICAgICAgICAgICAgIHRyYW5zbGF0ZSgwLCAtNTBweCkgIWRlZmF1bHQ7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGFsZXJ0LWJnLWxldmVsOiAgICAgICAgICAgICAgICAgICAgLTEwICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1sZXZlbDogICAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3ItbGV2ZWw6ICAgICAgICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC43NSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgaW5zZXQgMCAuMXJlbSAuMXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nOiAgICAgMXMgbGluZWFyIGluZmluaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAgICAgICAgICAgd2lkdGggLjZzIGVhc2UgIWRlZmF1bHQ7XG5cblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuXG4vLyBGaWd1cmVzXG5cbiRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgIDkwJSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuLy8gQ2Fyb3VzZWxcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5OiAgICAgLjkgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uOiAgICAgICAgb3BhY2l0eSAuMTVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41LTIuNS0yLjUgMi41LTIuNS0xLjUtMS41eicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjUgMi41IDIuNS0yLjUgMi41IDEuNSAxLjUgNC00LTQtNHonLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG5cblxuLy8gU3Bpbm5lcnNcblxuJHNwaW5uZXItd2lkdGg6ICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgLjI1ZW0gIWRlZmF1bHQ7XG5cbiRzcGlubmVyLXdpZHRoLXNtOiAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodC1zbTogICAgICAgJHNwaW5uZXItd2lkdGgtc20gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGgtc206IC4yZW0gIWRlZmF1bHQ7XG5cblxuLy8gQ2xvc2VcblxuJGNsb3NlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAwIDFweCAwICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgIDg3LjUlICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJHBpbmsgIWRlZmF1bHQ7XG5cbiRrYmQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGtiZC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG5cbi8vIFV0aWxpdGllc1xuXG4kZGlzcGxheXM6IG5vbmUsIGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLXJvdywgdGFibGUtY2VsbCwgZmxleCwgaW5saW5lLWZsZXggIWRlZmF1bHQ7XG4kb3ZlcmZsb3dzOiBhdXRvLCBoaWRkZW4gIWRlZmF1bHQ7XG4kcG9zaXRpb25zOiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQsIHN0aWNreSAhZGVmYXVsdDtcblxuXG4vLyBQcmludGluZ1xuXG4kcHJpbnQtcGFnZS1zaXplOiAgICAgICAgICAgICAgICAgICBhMyAhZGVmYXVsdDtcbiRwcmludC1ib2R5LW1pbi13aWR0aDogICAgICAgICAgICAgIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIikgIWRlZmF1bHQ7XG4iLCIvLyBUb2dnbGVzXG4vL1xuLy8gVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGdsb2JhbCB2YXJpYWJsZXMgdG8gZW5hYmxlIGNlcnRhaW4gdGhlbWUgZmVhdHVyZXMuXG5cbi8vIFZlbmRvclxuQGltcG9ydCBcInZlbmRvci9yZnNcIjtcblxuLy8gRGVwcmVjYXRlXG5AaW1wb3J0IFwibWl4aW5zL2RlcHJlY2F0ZVwiO1xuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgXCJtaXhpbnMvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaG92ZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYmFkZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NjcmVlbi1yZWFkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtZW1waGFzaXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1oaWRlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtdHJ1bmNhdGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdmlzaWJpbGl0eVwiO1xuXG4vLyAvLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibWl4aW5zL2FsZXJ0XCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY2FyZXRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9saXN0c1wiO1xuQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi1kaXZpZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuXG4vLyAvLyBTa2luc1xuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcIm1peGlucy9ib3gtc2hhZG93XCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyYWRpZW50c1wiO1xuQGltcG9ydCBcIm1peGlucy90cmFuc2l0aW9uXCI7XG5cbi8vIC8vIExheW91dFxuQGltcG9ydCBcIm1peGlucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkLWZyYW1ld29ya1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zsb2F0XCI7XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgZm9udC1yZXNpemluZ1xuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnNcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIGZvbnQgc2l6ZVxuJHJmcy1iYXNlLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtZm9udC1zaXplLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSBmb250LXNpemUgc3RhcnRzIGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG4vLyBSZXNpemUgZm9udC1zaXplIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gXCJudW1iZXJcIiBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMgdG8gZmFsc2VcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtZm9udC1zaXplIHVuaXRcbiRyZnMtYmFzZS1mb250LXNpemUtdW5pdDogdW5pdCgkcmZzLWJhc2UtZm9udC1zaXplKTtcblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtZm9udC1zaXplIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJweFwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogJHJmcy1iYXNlLWZvbnQtc2l6ZSAvICgkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicmVtXCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiAkcmZzLWJhc2UtZm9udC1zaXplIC8gKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicHhcIiB7XG4gICRyZnMtYnJlYWtwb2ludDogJHJmcy1icmVha3BvaW50IC8gKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicmVtXCIgb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG59XG5cbi8vIFJlc3BvbnNpdmUgZm9udC1zaXplIG1peGluXG5AbWl4aW4gcmZzKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgLy8gQ2FjaGUgJGZzIHVuaXRcbiAgJGZzLXVuaXQ6IGlmKHR5cGUtb2YoJGZzKSA9PSBcIm51bWJlclwiLCB1bml0KCRmcyksIGZhbHNlKTtcblxuICAvLyBBZGQgIWltcG9ydGFudCBzdWZmaXggaWYgbmVlZGVkXG4gICRyZnMtc3VmZml4OiBpZigkaW1wb3J0YW50LCBcIiAhaW1wb3J0YW50XCIsIFwiXCIpO1xuXG4gIC8vIElmICRmcyBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkZnMgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICBAaWYgbm90ICRmcy11bml0IG9yICRmcy11bml0ICE9IFwiXCIgYW5kICRmcy11bml0ICE9IFwicHhcIiBhbmQgJGZzLXVuaXQgIT0gXCJyZW1cIiBvciAkZnMgPT0gMCB7XG4gICAgZm9udC1zaXplOiAjeyRmc30jeyRyZnMtc3VmZml4fTtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gVmFyaWFibGVzIGZvciBzdG9yaW5nIHN0YXRpYyBhbmQgZmx1aWQgcmVzY2FsaW5nXG4gICAgJHJmcy1zdGF0aWM6IG51bGw7XG4gICAgJHJmcy1mbHVpZDogbnVsbDtcblxuICAgIC8vIFJlbW92ZSBweC11bml0IGZyb20gJGZzIGZvciBjYWxjdWxhdGlvbnNcbiAgICBAaWYgJGZzLXVuaXQgPT0gXCJweFwiIHtcbiAgICAgICRmczogJGZzIC8gKCRmcyAqIDAgKyAxKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJGZzLXVuaXQgPT0gXCJyZW1cIiB7XG4gICAgICAkZnM6ICRmcyAvICgkZnMgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgZGVmYXVsdCBmb250LXNpemVcbiAgICBAaWYgJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0ge1xuICAgICAgJHJmcy1zdGF0aWM6ICN7JGZzIC8gJHJmcy1yZW0tdmFsdWV9cmVtI3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIGlmICRyZnMtZm9udC1zaXplLXVuaXQgPT0gcHgge1xuICAgICAgJHJmcy1zdGF0aWM6ICN7JGZzfXB4I3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciBcImAjeyRyZnMtZm9udC1zaXplLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWZvbnQtc2l6ZS11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbiAgICB9XG5cbiAgICAvLyBPbmx5IGFkZCBtZWRpYSBxdWVyeSBpZiBmb250LXNpemUgaXMgYmlnZ2VyIGFzIHRoZSBtaW5pbXVtIGZvbnQtc2l6ZVxuICAgIC8vIElmICRyZnMtZmFjdG9yID09IDEsIG5vIHJlc2NhbGluZyB3aWxsIHRha2UgcGxhY2VcbiAgICBAaWYgJGZzID4gJHJmcy1iYXNlLWZvbnQtc2l6ZSBhbmQgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMge1xuICAgICAgJG1pbi13aWR0aDogbnVsbDtcbiAgICAgICR2YXJpYWJsZS11bml0OiBudWxsO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgbWluaW11bSBmb250LXNpemUgZm9yIGdpdmVuIGZvbnQtc2l6ZVxuICAgICAgJGZzLW1pbjogJHJmcy1iYXNlLWZvbnQtc2l6ZSArICgkZnMgLSAkcmZzLWJhc2UtZm9udC1zaXplKSAvICRyZnMtZmFjdG9yO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGdpdmVuIGZvbnQtc2l6ZSBhbmQgbWluaW11bSBmb250LXNpemUgZm9yIGdpdmVuIGZvbnQtc2l6ZVxuICAgICAgJGZzLWRpZmY6ICRmcyAtICRmcy1taW47XG5cbiAgICAgIC8vIEJhc2UgZm9udC1zaXplIGZvcm1hdHRpbmdcbiAgICAgIC8vIE5vIG5lZWQgdG8gY2hlY2sgaWYgdGhlIHVuaXQgaXMgdmFsaWQsIGJlY2F1c2Ugd2UgZGlkIHRoYXQgYmVmb3JlXG4gICAgICAkbWluLXdpZHRoOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3skZnMtbWluIC8gJHJmcy1yZW0tdmFsdWV9cmVtLCAjeyRmcy1taW59cHgpO1xuXG4gICAgICAvLyBJZiB0d28tZGltZW5zaW9uYWwsIHVzZSBzbWFsbGVzdCBvZiBzY3JlZW4gd2lkdGggYW5kIGhlaWdodFxuICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICR2YXJpYWJsZS13aWR0aDogI3skZnMtZGlmZiAqIDEwMCAvICRyZnMtYnJlYWtwb2ludH0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgLy8gU2V0IHRoZSBjYWxjdWxhdGVkIGZvbnQtc2l6ZS5cbiAgICAgICRyZnMtZmx1aWQ6IGNhbGMoI3skbWluLXdpZHRofSArICN7JHZhcmlhYmxlLXdpZHRofSkgI3skcmZzLXN1ZmZpeH07XG4gICAgfVxuXG4gICAgLy8gUmVuZGVyaW5nXG4gICAgQGlmICRyZnMtZmx1aWQgPT0gbnVsbCB7XG4gICAgICAvLyBPbmx5IHJlbmRlciBzdGF0aWMgZm9udC1zaXplIGlmIG5vIGZsdWlkIGZvbnQtc2l6ZSBpcyBhdmFpbGFibGVcbiAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRtcS12YWx1ZTogbnVsbDtcblxuICAgICAgLy8gUkZTIGJyZWFrcG9pbnQgZm9ybWF0dGluZ1xuICAgICAgQGlmICRyZnMtYnJlYWtwb2ludC11bml0ID09IGVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0ID09IHJlbSB7XG4gICAgICAgICRtcS12YWx1ZTogI3skcmZzLWJyZWFrcG9pbnQgLyAkcmZzLXJlbS12YWx1ZX0jeyRyZnMtYnJlYWtwb2ludC11bml0fTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4IHtcbiAgICAgICAgJG1xLXZhbHVlOiAjeyRyZnMtYnJlYWtwb2ludH1weDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcmZzLWNsYXNzID09IFwiZGlzYWJsZVwiIHtcbiAgICAgICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSxcbiAgICAgICAgLy8gd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBmb250IHNpemVcbiAgICAgICAgJixcbiAgICAgICAgLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgJi5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICBmb250LXNpemU6ICRyZnMtc3RhdGljO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pLCAobWF4LWhlaWdodDogI3skbXEtdmFsdWV9KSB7XG4gICAgICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgICAgICAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXRcbiAgICAgICAgICAgIG1pbi13aWR0aDogMHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSB7XG4gICAgICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgICAgICAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXRcbiAgICAgICAgICAgIG1pbi13aWR0aDogMHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBUaGUgZm9udC1zaXplICYgcmVzcG9uc2l2ZS1mb250LXNpemUgbWl4aW4gdXNlcyBSRlMgdG8gcmVzY2FsZSBmb250IHNpemVzXG5AbWl4aW4gZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG5cbkBtaXhpbiByZXNwb25zaXZlLWZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuIiwiLy8gRGVwcmVjYXRlIG1peGluXG4vL1xuLy8gVGhpcyBtaXhpbiBjYW4gYmUgdXNlZCB0byBkZXByZWNhdGUgbWl4aW5zIG9yIGZ1bmN0aW9ucy5cbi8vIGAkZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzYCBpcyBhIGdsb2JhbCB2YXJpYWJsZSwgYCRpZ25vcmUtd2FybmluZ2AgaXMgYSB2YXJpYWJsZSB0aGF0IGNhbiBiZSBwYXNzZWQgdG9cbi8vIHNvbWUgZGVwcmVjYXRlZCBtaXhpbnMgdG8gc3VwcHJlc3MgdGhlIHdhcm5pbmcgKGZvciBleGFtcGxlIGlmIHRoZSBtaXhpbiBpcyBzdGlsbCBiZSB1c2VkIGluIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgQm9vdHN0cmFwKVxuQG1peGluIGRlcHJlY2F0ZSgkbmFtZSwgJGRlcHJlY2F0ZS12ZXJzaW9uLCAkcmVtb3ZlLXZlcnNpb24sICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgQGlmICgkZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzICE9IGZhbHNlIGFuZCAkaWdub3JlLXdhcm5pbmcgIT0gdHJ1ZSkge1xuICAgIEB3YXJuIFwiI3skbmFtZX0gaGFzIGJlZW4gZGVwcmVjYXRlZCBhcyBvZiAjeyRkZXByZWNhdGUtdmVyc2lvbn0uIEl0IHdpbGwgYmUgcmVtb3ZlZCBlbnRpcmVseSBpbiAjeyRyZW1vdmUtdmVyc2lvbn0uXCI7XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG92ZXIgbWl4aW4gYW5kIGAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5YCBhcmUgZGVwcmVjYXRlZC5cbi8vXG4vLyBPcmlnaW5hbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1MtYW4gaXNzdWUgd2hlcmUgaG92ZXIgc3R5bGVzXG4vLyB3b3VsZCBwZXJzaXN0IGFmdGVyIGluaXRpYWwgdG91Y2guXG4vL1xuLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlJ3ZlIGtlcHQgdGhlc2UgbWl4aW5zIGFuZCB1cGRhdGVkIHRoZW0gdG9cbi8vIGFsd2F5cyByZXR1cm4gdGhlaXIgcmVndWxhciBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIGEgc2hpbW1lZCBtZWRpYSBxdWVyeS5cbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTE5NVxuXG5AbWl4aW4gaG92ZXIge1xuICAmOmhvdmVyIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS5cblxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTF4KTtcblxuICAvLyBBdXRvcHJlZml4ZXIgdGFrZXMgY2FyZSBvZiBhZGRpbmcgLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvIGFuZCAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvLFxuICAvLyBidXQgZG9lc24ndCBjb252ZXJ0IGRwcHg9PmRwaS5cbiAgLy8gVGhlcmUncyBubyBzdWNoIHRoaW5nIGFzIHVucHJlZml4ZWQgbWluLWRldmljZS1waXhlbC1yYXRpbyBzaW5jZSBpdCdzIG5vbnN0YW5kYXJkLlxuICAvLyBDb21wYXRpYmlsaXR5IGluZm86IGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIC8vIElFOS0xMSBkb24ndCBzdXBwb3J0IGRwcHhcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYGltZy1yZXRpbmEoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge1xuICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcblxuICBAYXQtcm9vdCBhI3smfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiZywgMTAlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRiYWRnZS1mb2N1cy13aWR0aCByZ2JhKCRiZywgLjUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVzaXplIGFueXRoaW5nXG5cbkBtaXhpbiByZXNpemFibGUoJGRpcmVjdGlvbikge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gUGVyIENTUzMgVUksIGByZXNpemVgIG9ubHkgYXBwbGllcyB3aGVuIGBvdmVyZmxvd2AgaXNuJ3QgYHZpc2libGVgXG4gIHJlc2l6ZTogJGRpcmVjdGlvbjsgLy8gT3B0aW9uczogaG9yaXpvbnRhbCwgdmVydGljYWwsIGJvdGhcbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwczovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cbn1cbiIsIi8vIFNpemluZyBzaG9ydGN1dHNcblxuQG1peGluIHNpemUoJHdpZHRoLCAkaGVpZ2h0OiAkd2lkdGgpIHtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgc2l6ZSgpYFwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSAhPSAwIHtcbiAgICBhI3skcGFyZW50fSB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG5AbWl4aW4gdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcblxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1oaWRlKClgXCIsIFwidjQuMS4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFZpc2liaWxpdHlcblxuQG1peGluIGludmlzaWJsZSgkdmlzaWJpbGl0eSkge1xuICB2aXNpYmlsaXR5OiAkdmlzaWJpbGl0eSAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgaW52aXNpYmxlKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCJAbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG5cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA3LjUlKSwgJGhvdmVyLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEwJSksICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpLCAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyLjUlKSkge1xuICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRidG4tYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBmb3IgdGhlIHByZXNzZWQvYWN0aXZlIHN0YXRlXG4gICAgfVxuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3IsICRjb2xvci1ob3ZlcjogY29sb3IteWlxKCRjb2xvciksICRhY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yLCAkYWN0aXZlLWJvcmRlcjogJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAvLyBNYW51YWxseSBkZWNsYXJlIHRvIHByb3ZpZGUgYW4gb3ZlcnJpZGUgdG8gdGhlIGJyb3dzZXIgZGVmYXVsdFxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLCAwKTtcbn1cbiIsIkBtaXhpbiBjYXJldC1kb3duIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXJpZ2h0IHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LWxlZnQge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldCgkZGlyZWN0aW9uOiBkb3duKSB7XG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1kb3duO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtdXA7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1yaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1sZWZ0O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLnBhZ2UtbGluayB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgLnBhZ2UtaXRlbSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgJi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcblxuQG1peGluIG5hdi1kaXZpZGVyKCRjb2xvcjogJG5hdi1kaXZpZGVyLWNvbG9yLCAkbWFyZ2luLXk6ICRuYXYtZGl2aWRlci1tYXJnaW4teSkge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogJG1hcmdpbi15IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3I7XG59XG4iLCIvLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygpIHtcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZm9jdXMtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cblxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvciwgJGljb24pIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay1mb250LXNpemUpO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gQ29udGFpbiB0byBwYXJlbnQgd2hlbiBwb3NzaWJsZVxuICAgIHBhZGRpbmc6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14O1xuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAkZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHkpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGljb247XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQsICRpY29uICRjdXN0b20tc2VsZWN0LWJnIG5vLXJlcGVhdCAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uIC8gJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC5mb3JtLWNvbnRyb2wtZmlsZSB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCAxMCUpO1xuICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKGxpZ2h0ZW4oJGNvbG9yLCAxMCUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gY3VzdG9tIGZpbGVcbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkYm9yZGVyOiBudWxsKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICYsXG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBpZiAkYm9yZGVyICE9IG51bGwge1xuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIge1xuICAgICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcblxuICAgIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9LFxuICBidXR0b24jeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBiZy1ncmFkaWVudC12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXggIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG4iLCJAbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICRyZXN1bHQ6ICgpO1xuXG4gICAgQGlmIChsZW5ndGgoJHNoYWRvdykgPT0gMSkge1xuICAgICAgLy8gV2UgY2FuIHBhc3MgYEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7YFxuICAgICAgJHJlc3VsdDogJHNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEZpbHRlciB0byBhdm9pZCBpbnZhbGlkIHByb3BlcnRpZXMgZm9yIGV4YW1wbGUgYGJveC1zaGFkb3c6IG5vbmUsIDFweCAxcHggYmxhY2s7YFxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHNoYWRvdykge1xuICAgICAgICBAaWYgbnRoKCRzaGFkb3csICRpKSAhPSBcIm5vbmVcIiB7XG4gICAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkc2hhZG93LCAkaSksIFwiY29tbWFcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGlmIChsZW5ndGgoJHJlc3VsdCkgPiAwKSB7XG4gICAgICBib3gtc2hhZG93OiAkcmVzdWx0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gR3JhZGllbnRzXG5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXg7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbCN7JGluZml4fSxcbiAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tZmlyc3QgeyBvcmRlcjogLTE7IH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWxhc3QgeyBvcmRlcjogJGNvbHVtbnMgKyAxOyB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAub3JkZXIjeyRpbmZpeH0tI3skaX0geyBvcmRlcjogJGk7IH1cbiAgICAgIH1cblxuICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGd1dHRlciAvIDI7XG4gIG1hcmdpbi1sZWZ0OiAtJGd1dHRlciAvIDI7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2UgdXNlIGBmbGV4YCB2YWx1ZXNcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXG4gIG1heC13aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogJHNpemUgLyAkY29sdW1ucztcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQG1peGluIGZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZsb2F0LWxlZnRgIG1peGluXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG5AbWl4aW4gZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmbG9hdC1yaWdodGAgbWl4aW5cIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbkBtaXhpbiBmbG9hdC1ub25lIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmbG9hdC1ub25lYCBtaXhpblwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiLy8gTWl4aW5zXG4vL1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFJUTC9MVFJcblxuQG1peGluIGx0ci1vbmx5KCkge1xuICBAaWYgJHJ0bC1zdXBwb3J0IHtcbiAgICBodG1sOm5vdChbZGlyPXJ0bF0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHJ0bC1vbmx5KCkge1xuICBAaWYgJHJ0bC1zdXBwb3J0IHtcbiAgICBbZGlyPXJ0bF0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsdHItc3R5bGUoKSB7XG4gIEBpZiAkcnRsLXN1cHBvcnQge1xuICAgIGh0bWw6bm90KFtkaXI9cnRsXSkgJiB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBydGwtc3R5bGUoKSB7XG4gIEBpZiAkcnRsLXN1cHBvcnQge1xuICAgIFtkaXI9cnRsXSAmIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEtleWZyYW1lc1xuXG5AbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XG4gIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQC1tb3ota2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENhcmV0c1xuXG5AbWl4aW4gY2FyZXQtZG93biB7XG4gIG1hcmdpbi10b3A6IC0xICogKCRjYXJldC13aWR0aCAvIDEuNSk7XG4gIHdpZHRoOiAkY2FyZXQtd2lkdGg7XG4gIGhlaWdodDogJGNhcmV0LXdpZHRoO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuQG1peGluIGNhcmV0LXVwIHtcbiAgbWFyZ2luLXRvcDogLTA7XG4gIHdpZHRoOiAkY2FyZXQtd2lkdGg7XG4gIGhlaWdodDogJGNhcmV0LXdpZHRoO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG5cbkBtaXhpbiBjYXJldC1yaWdodCB7XG4gIG1hcmdpbi10b3A6IC0xICogKCRjYXJldC13aWR0aCAvIDIpO1xuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG5AbWl4aW4gY2FyZXQtbGVmdCB7XG4gIG1hcmdpbi10b3A6IC0xICogKCRjYXJldC13aWR0aCAvIDIpO1xuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFJlc3BvbnNpemUgbG9vcHNcblxuQG1peGluIHJlc3BvbnNpdmUtbG9vcC1iZWZvcmUoJHBhcmVudCwgJHN0YXJ0LWJyZWFrcG9pbnQ6IHNtKSB7XG4gICRjdXItYnJlYWtwb2ludDogJHN0YXJ0LWJyZWFrcG9pbnQ7XG5cbiAgQHdoaWxlICRjdXItYnJlYWtwb2ludCB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRjdXItYnJlYWtwb2ludCk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogKGJyZWFrcG9pbnQtbWluKCRjdXItYnJlYWtwb2ludCkgLSAxKSkge1xuICAgICAgI3skcGFyZW50fSN7JGluZml4fSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgICRjdXItYnJlYWtwb2ludDogYnJlYWtwb2ludC1uZXh0KCRjdXItYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuQG1peGluIHJlc3BvbnNpdmUtbG9vcC1hZnRlcigkcGFyZW50LCAkc3RhcnQtYnJlYWtwb2ludDogc20pIHtcbiAgJGN1ci1icmVha3BvaW50OiAkc3RhcnQtYnJlYWtwb2ludDtcblxuICBAd2hpbGUgJGN1ci1icmVha3BvaW50IHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGN1ci1icmVha3BvaW50KTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBicmVha3BvaW50LW1pbigkY3VyLWJyZWFrcG9pbnQpKSB7XG4gICAgICAjeyRwYXJlbnR9I3skaW5maXh9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGN1ci1icmVha3BvaW50OiBicmVha3BvaW50LW5leHQoJGN1ci1icmVha3BvaW50KTtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENvbG9yc1xuXG4vLyBDb250cmFzdFxuQG1peGluIGNvbG9yLXlpcSgkY29sb3IpIHtcbiAgY29sb3I6IHlpcSgkY29sb3IpO1xufVxuXG5AbWl4aW4gYmctY29sb3ItdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRydGgtY29sb3I6ICMwMDApIHtcbiAgI3skcGFyZW50fSB7IGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50OyB9XG4gIGEjeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuOTUpLCAkYmFja2dyb3VuZDogJHJ0aC1jb2xvcikgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJHJ0aC1jb2xvcjogIzAwMCkge1xuICBAaW5jbHVkZSBiZy1jb2xvci12YXJpYW50KCRwYXJlbnQsICRjb2xvcik7XG4gIEBpbmNsdWRlIGJnLWNvbG9yLXZhcmlhbnQoXCIjeyRwYXJlbnR9LWRhcmtcIiwgcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC45KSwgJGJhY2tncm91bmQ6ICRydGgtY29sb3IpKTtcbiAgQGluY2x1ZGUgYmctY29sb3ItdmFyaWFudChcIiN7JHBhcmVudH0tZGFya2VyXCIsIHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuODUpLCAkYmFja2dyb3VuZDogJHJ0aC1jb2xvcikpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kOiBudWxsLCAkYm9yZGVyOiBudWxsLCAkYWN0aXZlLWJhY2tncm91bmQ6IG51bGwsICRhY3RpdmUtYm9yZGVyOiBudWxsKSB7fVxuXG5AbWl4aW4gYXBwd29yay1idXR0b24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsKSB7XG4gICRidG4tY29sb3JzOiBnZXQtYnRuLWNvbG9ycygkYmFja2dyb3VuZCwgaWYoJGJvcmRlciwgJGJvcmRlciwgJGJhY2tncm91bmQpKTtcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkYnRuLWNvbG9ycywgc2hhZG93KTtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkLFxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudH0gLmJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgY29sb3I6IHJnYmEtdG8taGV4KCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gICN7JHBhcmVudH06YWN0aXZlLFxuICAjeyRwYXJlbnR9LmFjdGl2ZSxcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWFjdGl2ZSk7XG5cbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJ1dHRvbiBncm91cHNcbiAgLmJ0bi1ncm91cCAjeyRwYXJlbnR9LFxuICAuaW5wdXQtZ3JvdXAtcHJlcGVuZCAjeyRwYXJlbnR9LFxuICAuaW5wdXQtZ3JvdXAtYXBwZW5kICN7JHBhcmVudH0ge1xuICAgIGJvcmRlci1yaWdodDogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgbWFwLWdldCgkYnRuLWNvbG9ycywgYmctYWN0aXZlKTtcbiAgICBib3JkZXItbGVmdDogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgbWFwLWdldCgkYnRuLWNvbG9ycywgYmctYWN0aXZlKTtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1idXR0b24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkbWQtY29sb3I6ICRiYWNrZ3JvdW5kKSB7XG4gICRidG4tY29sb3JzOiBnZXQtbWF0ZXJpYWwtYnRuLWNvbG9ycygkYmFja2dyb3VuZCk7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIGJveC1zaGFkb3c6ICRidG4tYm94LXNoYWRvdztcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAkYnRuLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgI3skcGFyZW50fSAuYmFkZ2Uge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBjb2xvcjogcmdiYS10by1oZXgoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgI3skcGFyZW50fSAud2F2ZXMtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gI2ZmZiwgcmdiYSgkY29sb3IsIC4zKSwgcmdiYSgkY29sb3IsIC4yKSk7XG4gIH1cblxuICAjeyRwYXJlbnR9OmFjdGl2ZSxcbiAgI3skcGFyZW50fS5hY3RpdmUsXG4gIC5zaG93ID4gI3skcGFyZW50fS5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWFjdGl2ZSk7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIEZsYXQgYnV0dG9uc1xuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6ICRtZC1jb2xvcjtcblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRtZC1jb2xvciwgLjEpO1xuICAgIH1cblxuICAgIC53YXZlcy1yaXBwbGUge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkbWQtY29sb3IsIC4zKTtcbiAgICB9XG4gIH1cblxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0OmFjdGl2ZSxcbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdC5hY3RpdmUsXG4gIC5zaG93ID4gI3skcGFyZW50fS5tZC1idG4tZmxhdC5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJG1kLWNvbG9yLCAuMTUpO1xuICB9XG5cbiAgLy8gRGlzYWJsZWRcblxuICAjeyRwYXJlbnR9LmRpc2FibGVkLFxuICAjeyRwYXJlbnR9OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6ICRtYXRlcmlhbC1jb21wb25lbnQtc2hhZG93ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG5cbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdC5kaXNhYmxlZCxcbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE91dGxpbmUgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3I6IG51bGwsICRjb2xvci1ob3ZlcjogbnVsbCwgJGhvdmVyLWNvbG9yOiBudWxsKSB7fVxuXG5AbWl4aW4gYXBwd29yay1idXR0b24tb3V0bGluZS12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGhvdmVyLWNvbG9yOiBudWxsKSB7XG4gICRidG4tY29sb3JzOiBnZXQtYnRuLWNvbG9ycygkY29sb3IsICRjb2xvcik7XG4gICRjb2xvci1ob3ZlcjogaWYoJGhvdmVyLWNvbG9yLCAkaG92ZXItY29sb3IsIHlpcSgkY29sb3IpKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkYnRuLWNvbG9ycywgc2hhZG93KTtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkLFxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgI3skcGFyZW50fTphY3RpdmUsXG4gICN7JHBhcmVudH0uYWN0aXZlLFxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcik7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG5cbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudH0gLmJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICAjeyRwYXJlbnR9OmhvdmVyIC5iYWRnZSxcbiAgI3skcGFyZW50fTpmb2N1cyAuYmFkZ2UsXG4gICN7JHBhcmVudH06YWN0aXZlIC5iYWRnZSxcbiAgI3skcGFyZW50fS5hY3RpdmUgLmJhZGdlLFxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIC5iYWRnZSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiBpZihhbHBoYSgkY29sb3IpPT0xLCAkY29sb3IsIHlpcSgkY29sb3ItaG92ZXIpKTtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1idXR0b24tb3V0bGluZS12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGhvdmVyLWNvbG9yOiBudWxsKSB7XG4gICRidG4tY29sb3JzOiBnZXQtbWF0ZXJpYWwtYnRuLWNvbG9ycygkY29sb3IpO1xuICAkY29sb3ItaG92ZXI6IGlmKCRob3Zlci1jb2xvciwgJGhvdmVyLWNvbG9yLCB5aXEoJGNvbG9yKSk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjb2xvciBpbnNldDtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICAgICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkLFxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY29sb3IgaW5zZXQgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAjeyRwYXJlbnR9OmFjdGl2ZSxcbiAgI3skcGFyZW50fS5hY3RpdmUsXG4gIC5zaG93ID4gI3skcGFyZW50fS5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWhvdmVyKTtcbiAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93O1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cblxuICAjeyRwYXJlbnR9IC53YXZlcy1yaXBwbGUge1xuICAgIGJhY2tncm91bmQ6IGlmKCRjb2xvci1ob3Zlcj09I2ZmZiwgcmdiYSgkY29sb3ItaG92ZXIsIC4zKSwgcmdiYSgkY29sb3ItaG92ZXIsIC4yKSk7XG4gIH1cblxuICAjeyRwYXJlbnR9IC5iYWRnZSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgI3skcGFyZW50fTpob3ZlciAuYmFkZ2UsXG4gICN7JHBhcmVudH06Zm9jdXMgLmJhZGdlLFxuICAjeyRwYXJlbnR9OmFjdGl2ZSAuYmFkZ2UsXG4gICN7JHBhcmVudH0uYWN0aXZlIC5iYWRnZSxcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSAuYmFkZ2Uge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogaWYoYWxwaGEoJGNvbG9yKT09MSwgJGNvbG9yLCB5aXEoJGNvbG9yLWhvdmVyKSk7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBCYWRnZXNcblxuQG1peGluIGJhZGdlLXZhcmlhbnQoJGJnKSB7fVxuXG5AbWl4aW4gYXBwd29yay1iYWRnZS12YXJpYW50KCRwYXJlbnQsICRiZywgJGNvbG9yOiBudWxsKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmcpKTtcbiAgfVxuXG4gICN7JHBhcmVudH1baHJlZl0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGlmKGFscGhhKCRiZykgPT0gMSwgcmdiYS10by1oZXgocmdiYSgkYmcsIC45NSksICMwMDApLCByZ2JhKCRiZywgYWxwaGEoJGJnKSArIC4wMykpO1xuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJnKSk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmJ0biAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kOiAkYmcgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICRiZyAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiZykpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstYmFkZ2Utb3V0bGluZS12YXJpYW50KCRwYXJlbnQsICRiZywgJGNvbG9yOiAkYmcpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRiZyBpbnNldDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgI3skcGFyZW50fVtocmVmXSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuYnRuICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRiZyBpbnNldCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIERyb3Bkb3duc1xuXG5AbWl4aW4gYXBwd29yay1kcm9wZG93bi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgI3skcGFyZW50fSAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gICN7JHBhcmVudH0gLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCk6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuICB9XG5cbiAgI3skcGFyZW50fS5kcm9wZG93bi1tZW51ID4gbGk6bm90KC5kaXNhYmxlZCkgPiBhOm5vdCguZHJvcGRvd24taXRlbSk6YWN0aXZlLFxuICAjeyRwYXJlbnR9LmRyb3Bkb3duLW1lbnUgPiBsaS5hY3RpdmU6bm90KC5kaXNhYmxlZCkgPiBhOm5vdCguZHJvcGRvd24taXRlbSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstZHJvcGRvd24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLWRyb3Bkb3duLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1kcm9wZG93bi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgI3skcGFyZW50fSAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG4gIH1cblxuICAjeyRwYXJlbnR9LmRyb3Bkb3duLW1lbnUgPiBsaS5hY3RpdmU6bm90KC5kaXNhYmxlZCkgPiBhOm5vdCguZHJvcGRvd24taXRlbSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtZHJvcGRvd24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWRyb3Bkb3duLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE5hdnNcblxuQG1peGluIGFwcHdvcmstbmF2LXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KSB7XG4gICA+IC5uYXYgLm5hdi1saW5rLFxuICAmLm5hdiAubmF2LWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1uYXYtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICRwaWxscy1zZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJy5uYXYtcGlsbHMnLCAnI3skcGFyZW50fS5uYXYtcGlsbHMsICN7JHBhcmVudH0gPiAubmF2LXBpbGxzJyk7XG5cbiAgI3skcGlsbHMtc2VsZWN0b3J9IC5uYXYtbGluay5hY3RpdmUge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcbiAgICB9XG4gIH1cblxuICAjeyRwYXJlbnR9LnRhYnMtYWx0Lm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmUsXG4gICN7JHBhcmVudH0udGFicy1hbHQgPiAubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMCAtMnB4IDAgJGJhY2tncm91bmQgaW5zZXQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLW5hdi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gIEBpbmNsdWRlIGFwcHdvcmstbmF2LXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1uYXYtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRsaW5rLWNvbG9yOiBudWxsKSB7XG4gICR0YWJzLXNlbGVjdG9yOiBpZigkcGFyZW50ID09ICcnLCAnLm5hdi10YWJzJywgJyN7JHBhcmVudH0ubmF2LXRhYnMnKTtcbiAgJHBpbGxzLXNlbGVjdG9yOiBpZigkcGFyZW50ID09ICcnLCAnLm5hdi1waWxscycsICcjeyRwYXJlbnR9Lm5hdi1waWxscywgI3skcGFyZW50fSA+IC5uYXYtcGlsbHMnKTtcblxuICAjeyR0YWJzLXNlbGVjdG9yfSAubmF2LWxpbmsge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkY29sb3IsICRjb2xvcik7XG4gIH1cblxuICAjeyRwaWxscy1zZWxlY3Rvcn0gLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgY29sb3I6IGlmKCRsaW5rLWNvbG9yLCAkbGluay1jb2xvciwgeWlxKCRjb2xvcikpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1uYXYtdGhlbWUoJGNvbG9yLCAkbGluay1jb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLW5hdi12YXJpYW50KCcnLCAkY29sb3IsICRsaW5rLWNvbG9yKTtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBQYWdpbmF0aW9uXG5cbkBtaXhpbiBhcHB3b3JrLXBhZ2luYXRpb24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICN7JHBhcmVudH0gLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluayxcbiAgI3skcGFyZW50fS5wYWdpbmF0aW9uIGxpLmFjdGl2ZSA+IGE6bm90KC5wYWdlLWxpbmspIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1wYWdpbmF0aW9uLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgQGluY2x1ZGUgYXBwd29yay1wYWdpbmF0aW9uLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFByb2dyZXNzIGJhcnNcblxuQG1peGluIGFwcHdvcmstcHJvZ3Jlc3MtYmFyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgLnByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIExpc3QgZ3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGU6IG51bGwsICRiYWNrZ3JvdW5kOiBudWxsLCAkY29sb3I6IG51bGwpIHt9XG5cbkBtaXhpbiBhcHB3b3JrLWxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgJGJnOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuMSksICNmZmYpO1xuICAkY29sb3I6IHlpcSgkYmcpO1xuICAkaG92ZXItYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJnLCAuOTkpLCAjMDAwKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjA3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIGEjeyRwYXJlbnR9LFxuICBidXR0b24jeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJnO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1saXN0LWdyb3VwLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgQGluY2x1ZGUgYXBwd29yay1saXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgnLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5JywgJGJhY2tncm91bmQpO1xuXG4gIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEFsZXJ0c1xuXG5AbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZDogbnVsbCwgJGJvcmRlcjogbnVsbCwgJGNvbG9yOiBudWxsKSB7fVxuXG5AbWl4aW4gYXBwd29yay1hbGVydC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuMTUpLCAjZmZmKTtcbiAgJGJvcmRlcjogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjk0KSwgIzAwMCk7XG4gICRjb2xvcjogeWlxKCRiYWNrZ3JvdW5kKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIGhyIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRib3JkZXI7XG4gICAgfVxuXG4gICAgLmFsZXJ0LWxpbmsge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstYWxlcnQtZGFyay12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIGhyIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoeWlxKCRiYWNrZ3JvdW5kKSwuMik7XG4gICAgfVxuXG4gICAgLmNsb3NlLFxuICAgIC5hbGVydC1saW5rIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVG9vbHRpcHNcblxuQG1peGluIGFwcHdvcmstdG9vbHRpcC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgLnRvb2x0aXAtaW5uZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuICAgIH1cblxuICAgICYuYnMtdG9vbHRpcC10b3AgLmFycm93OjpiZWZvcmUsICYuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci10b3AtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gICAgJi5icy10b29sdGlwLXJpZ2h0IC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJyaWdodFwiXSAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci1yaWdodC1jb2xvcjogJGJhY2tncm91bmQ7IH1cbiAgICAmLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJib3R0b21cIl0gLmFycm93OjpiZWZvcmUgeyBib3JkZXItYm90dG9tLWNvbG9yOiAkYmFja2dyb3VuZDsgfVxuICAgICYuYnMtdG9vbHRpcC1sZWZ0IC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC5hcnJvdzo6YmVmb3JlIHsgYm9yZGVyLWxlZnQtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBQb3BvdmVyc1xuXG5AbWl4aW4gYXBwd29yay1wb3BvdmVyLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gICAgLnBvcG92ZXItaGVhZGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSh5aXEoJGJhY2tncm91bmQpLC4yKTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICAucG9wb3Zlci1ib2R5IHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICA+IC5hcnJvdzo6YmVmb3JlIHsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4gICAgJi5icy1wb3BvdmVyLXRvcCA+IC5hcnJvdzo6YWZ0ZXIsICYuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSA+IC5hcnJvdzo6YWZ0ZXIgeyBib3JkZXItdG9wLWNvbG9yOiAkYmFja2dyb3VuZDsgfVxuICAgICYuYnMtcG9wb3Zlci1yaWdodCA+IC5hcnJvdzo6YWZ0ZXIsICYuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdID4gLmFycm93OjphZnRlciB7IGJvcmRlci1yaWdodC1jb2xvcjogJGJhY2tncm91bmQ7IH1cbiAgICAmLmJzLXBvcG92ZXItYm90dG9tID4gLmFycm93OjphZnRlciwgJi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwiYm90dG9tXCJdID4gLmFycm93OjphZnRlciB7IGJvcmRlci1ib3R0b20tY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gICAgJi5icy1wb3BvdmVyLWxlZnQgPiAuYXJyb3c6OmFmdGVyLCAmLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdID4gLmFycm93OjphZnRlciB7IGJvcmRlci1sZWZ0LWNvbG9yOiAkYmFja2dyb3VuZDsgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRm9ybSBjb250cm9sc1xuXG5AbWl4aW4gYXBwd29yay1jdXN0b20tc2VsZWN0LXNpemUoJHNpemUsICRwYWRkaW5nLXgsICRsaW5lLWhlaWdodCwgJGZvbnQtc2l6ZSkge1xuICAuY3VzdG9tLXNlbGVjdC0jeyRzaXplfSxcbiAgLmlucHV0LWdyb3VwLSN7JHNpemV9IC5jdXN0b20tc2VsZWN0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJHBhZGRpbmcteCBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcblxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAmLFxuICAgICAgJltzaXplPVwiMFwiXTpub3QoW211bHRpcGxlXSkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAkcGFkZGluZy14IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW3NpemU9XCIwXCJdOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCwgJGRlZmF1bHQtYmFja2dyb3VuZDogbnVsbCkge1xuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBAaWYgJGRlZmF1bHQtYmFja2dyb3VuZCB7XG4gICAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAgIC5jdXN0b20tY29udHJvbC1pbnB1dDphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAgICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRiYWNrZ3JvdW5kLCAuNCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuICAgICYuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xuICAgIH1cblxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XG4gICAgfVxuXG4gICAgJi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstY3VzdG9tLWNvbnRyb2wtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJy5jdXN0b20tY29udHJvbCcsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1jdXN0b20tY29udHJvbC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwsICRkZWZhdWx0LWJhY2tncm91bmQ6IG51bGwpIHtcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgQGlmICRkZWZhdWx0LWJhY2tncm91bmQge1xuICAgICAgLmN1c3RvbS1jb250cm9sLWlucHV0IH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAmLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcbiAgICB9XG5cbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XG4gICAgfVxuXG4gICAgJi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0IH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRiYWNrZ3JvdW5kKSwgXCIjXCIsIFwiJTIzXCIpKTtcbiAgICB9XG5cbiAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmFja2dyb3VuZCwgLjE1KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWNvbnRyb2wtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJy5jdXN0b20tY29udHJvbCcsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZTogbnVsbCwgJGNvbG9yOiBudWxsLCAkaWNvbjogbnVsbCkge31cblxuQG1peGluIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJHBhcmVudCwgJHN0YXRlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1mb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IsICRpY29uLCAkaWNvbi1ydGwpIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6ICRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgZm9udC1zaXplOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogY29sb3IteWlxKCRjb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmZvcm0tY29udHJvbCwgLmN1c3RvbS1zZWxlY3QsIC5mb3JtLWNvbnRyb2wtZmlsZSwgLmN1c3RvbS1jb250cm9sLWlucHV0JywgJHN0YXRlKSB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5mb3JtLWNvbnRyb2wsIC5jdXN0b20tc2VsZWN0JywgJHN0YXRlKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLWNvbnRyb2xbY2xhc3NdIC5jdXN0b20tY29udHJvbC1pbnB1dCcsICRzdGF0ZSkge1xuICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuXG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgJjphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkY29sb3IsIC40KTtcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dCcsICRzdGF0ZSkge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZywgJ19DT0xPUl8nLCB5aXEoJGNvbG9yKSksIFwiI1wiLCBcIiUyM1wiKSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQnLCAkc3RhdGUpIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgeWlxKCRjb2xvcikpLCBcIiNcIiwgXCIlMjNcIikpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5jdXN0b20tZmlsZS1pbnB1dCcsICRzdGF0ZSkge1xuICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYWxpZGF0aW9uIGljb25zXG4gIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgIC8vIElucHV0c1xuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5mb3JtLWNvbnRyb2wnLCAkc3RhdGUpIHtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpO1xuXG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkaWNvbjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkaWNvbi1ydGw7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMyk7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5mb3JtLWNvbnRyb2wtc20nLCAkc3RhdGUpIHtcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXItc207XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gLyA0KTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGlucHV0LWhlaWdodC1pbm5lci1zbTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItc219IC8gNCk7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5mb3JtLWNvbnRyb2wtbGcnLCAkc3RhdGUpIHtcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXItbGc7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gLyAyLjUpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkaW5wdXQtaGVpZ2h0LWlubmVyLWxnO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gLyAyLjUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRleHRhcmVhc1xuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJ3RleHRhcmVhLmZvcm0tY29udHJvbCcsICRzdGF0ZSkge1xuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpIHJpZ2h0IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpIGxlZnQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMyk7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJ3RleHRhcmVhLmZvcm0tY29udHJvbC1zbScsICRzdGF0ZSkge1xuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLXNtfSAvIDQpIHJpZ2h0IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLXNtfSAvIDQpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLXNtfSAvIDQpIGxlZnQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItc219IC8gNCk7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJ3RleHRhcmVhLmZvcm0tY29udHJvbC1sZycsICRzdGF0ZSkge1xuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLWxnfSAvIDIuNSkgcmlnaHQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9IC8gMi41KTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gLyAyLjUpIGxlZnQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9IC8gMi41KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDdXN0b20gc2VsZWN0c1xuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5jdXN0b20tc2VsZWN0W3NpemU9XCIxXCJdLCAuY3VzdG9tLXNlbGVjdDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSknLCAkc3RhdGUpIHtcbiAgICAgICRmb3JtLWZlZWRiYWNrLWljb24tb2Zmc2V0OiAoKCRpbnB1dC1oZWlnaHQtaW5uZXIgLSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgpIC8gMykgKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLCAkaWNvbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciwgcmlnaHQgJGZvcm0tZmVlZGJhY2staWNvbi1vZmZzZXQgY2VudGVyO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmc7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1ydGwsICRpY29uLXJ0bDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyLCBsZWZ0ICRmb3JtLWZlZWRiYWNrLWljb24tb2Zmc2V0IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1zZWxlY3Qtc21bc2l6ZT1cIjFcIl0sIC5jdXN0b20tc2VsZWN0LXNtOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKScsICRzdGF0ZSkge1xuICAgICAgJGZvcm0tZmVlZGJhY2staWNvbi1vZmZzZXQ6ICgoJGlucHV0LWhlaWdodC1pbm5lci1zbSAtICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCkgLyA0KSArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXNtO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc20gY2VudGVyLCByaWdodCAkZm9ybS1mZWVkYmFjay1pY29uLW9mZnNldCBjZW50ZXI7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1zbTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc20gY2VudGVyLCBsZWZ0ICRmb3JtLWZlZWRiYWNrLWljb24tb2Zmc2V0IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1zZWxlY3QtbGdbc2l6ZT1cIjFcIl0sIC5jdXN0b20tc2VsZWN0LWxnOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKScsICRzdGF0ZSkge1xuICAgICAgJGZvcm0tZmVlZGJhY2staWNvbi1vZmZzZXQ6ICgoJGlucHV0LWhlaWdodC1pbm5lci1sZyAtICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCkgLyAyKSArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLWxnO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGcgY2VudGVyLCByaWdodCAkZm9ybS1mZWVkYmFjay1pY29uLW9mZnNldCBjZW50ZXI7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1sZztcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGcgY2VudGVyLCBsZWZ0ICRmb3JtLWZlZWRiYWNrLWljb24tb2Zmc2V0IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yLCAkaWNvbiwgJGljb24tcnRsKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiAkZm9ybS1mZWVkYmFjay1mb250LXNpemU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gQ29udGFpbiB0byBwYXJlbnQgd2hlbiBwb3NzaWJsZVxuICAgIHBhZGRpbmc6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14O1xuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAkZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHkpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5mb3JtLWNvbnRyb2wsIC5jdXN0b20tc2VsZWN0LCAuZm9ybS1jb250cm9sLWZpbGUsIC5jdXN0b20tY29udHJvbC1pbnB1dCcsICRzdGF0ZSkge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuZm9ybS1jb250cm9sLCAuY3VzdG9tLXNlbGVjdCcsICRzdGF0ZSkge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1jb250cm9sW2NsYXNzXSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQnLCAkc3RhdGUpIHtcbiAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cblxuICAgIH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgJjphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsIC4xNSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1jaGVja2JveFtjbGFzc10gLmN1c3RvbS1jb250cm9sLWlucHV0JywgJHN0YXRlKSB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsIHlpcSgkY29sb3IpKSwgXCIjXCIsIFwiJTIzXCIpKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLXJhZGlvW2NsYXNzXSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQnLCAkc3RhdGUpIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLWZpbGUtaW5wdXQnLCAkc3RhdGUpIHtcbiAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBWYWxpZGF0aW9uIGljb25zXG4gIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgIC8vIElucHV0c1xuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5mb3JtLWNvbnRyb2wnLCAkc3RhdGUpIHtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpO1xuXG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkaWNvbjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkaWNvbi1ydGw7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGV4dGFyZWFzXG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgndGV4dGFyZWEuZm9ybS1jb250cm9sJywgJHN0YXRlKSB7XG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMykgcmlnaHQ7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMykgbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgndGV4dGFyZWEuZm9ybS1jb250cm9sLXNtJywgJHN0YXRlKSB7XG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItc219IC8gNCkgcmlnaHQ7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItc219IC8gNCkgbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgndGV4dGFyZWEuZm9ybS1jb250cm9sLWxnJywgJHN0YXRlKSB7XG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9IC8gMi41KSByaWdodDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gLyAyLjUpIGxlZnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ3VzdG9tIHNlbGVjdHNcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLXNlbGVjdFtzaXplPVwiMVwiXSwgLmN1c3RvbS1zZWxlY3Q6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pJywgJHN0YXRlKSB7XG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmc7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tc2VsZWN0LWluZGljYXRvciwgJGljb247XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlciwgcmlnaHQgMXJlbSBjZW50ZXI7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXJ0bCwgJGljb24tcnRsO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlciwgbGVmdCAxcmVtIGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstY3VzdG9tLWZpbGUtaW5wdXQtdGhlbWUoJGNvbG9yKSB7XG4gIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWN1c3RvbS1maWxlLWlucHV0LXRoZW1lKCRjb2xvcikge1xuICAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwICRjb2xvciBpbnNldDtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1mb3JtLWNvbnRyb2wtc2l6ZSgkc2l6ZSwgJHBhZGRpbmcteSkge1xuICBAaWYgJHNpemUgPT0gJycge1xuICAgIC5mb3JtLWNvbnRyb2wsXG4gICAgLmN1c3RvbS1zZWxlY3QsXG4gICAgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgIC5pbnB1dC1ncm91cC10ZXh0IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JHBhZGRpbmcteX0gLSAxcHgpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLmZvcm0tY29udHJvbC0jeyRzaXplfSxcbiAgICAuY3VzdG9tLXNlbGVjdC0jeyRzaXplfSxcbiAgICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gPiAuZm9ybS1jb250cm9sLFxuICAgIC5pbnB1dC1ncm91cC0jeyRzaXplfSA+IC5jdXN0b20tc2VsZWN0LFxuICAgIC5pbnB1dC1ncm91cC0jeyRzaXplfSAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JHBhZGRpbmcteX0gLSAxcHgpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1mb3JtLWNvbnRyb2wtdGhlbWUoJGNvbG9yKSB7XG4gIC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gIC5jdXN0b20tc2VsZWN0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1mb3JtLWNvbnRyb2wtdGhlbWUoJGNvbG9yKSB7XG4gIC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gIC5jdXN0b20tc2VsZWN0OmZvY3VzIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkY29sb3IgaW5zZXQ7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTd2l0Y2hlcnNcblxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItc2l6ZS1iYXNlKCR3aWR0aCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0LCAkaW5uZXItc3BhY2VyOiAkc3dpdGNoZXItaW5uZXItc3BhY2VyKSB7XG4gIHBhZGRpbmctbGVmdDogJHdpZHRoO1xuICBtaW4taGVpZ2h0OiAkaGVpZ2h0O1xuICBmb250LXNpemU6ICRkZXNjcmlwdGlvbi1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XG5cbiAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAkZGVzY3JpcHRpb24tZm9udC1zaXplICogJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xuICAkZGVsdGE6IGlmKCRtYXRlcmlhbC1zdHlsZSwgcHgtdG8tcmVtKGNlaWwocmVtLXRvLXB4KCRoZWlnaHQgKiAuMTI1KSkpLCAwKTtcblxuICAuc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGhlaWdodDogJGhlaWdodCAtICgkZGVsdGEgKiAyKTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWlnaHQ7XG5cbiAgICBAaWYgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkID4gJGhlaWdodCB7XG4gICAgICB0b3A6ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC0gJGhlaWdodCkgLyAyKSArICRkZWx0YTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRvcDogMCArICRkZWx0YTtcbiAgICB9XG4gIH1cblxuICAuc3dpdGNoZXItbGFiZWwge1xuICAgIEBpZiAkbGluZS1oZWlnaHQtY29tcHV0ZWQgPCAkaGVpZ2h0IHtcbiAgICAgIHRvcDogKCRoZWlnaHQgLSAkbGluZS1oZWlnaHQtY29tcHV0ZWQpIC8gMjtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cblxuICAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgICBsZWZ0OiAkd2lkdGggLSAkaGVpZ2h0O1xuICB9XG5cbiAgLnN3aXRjaGVyLWluZGljYXRvcjo6YWZ0ZXIge1xuICAgIHRvcDogJGRlbHRhICogLTE7XG4gICAgbWFyZ2luOiAkaW5uZXItc3BhY2VyIDAgMCAkaW5uZXItc3BhY2VyO1xuICAgIHdpZHRoOiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlciAqIDI7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlciAqIDI7XG4gIH1cblxuICAuc3dpdGNoZXItbm8ge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRpbm5lci1zcGFjZXI7XG4gICAgcGFkZGluZy1sZWZ0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlcjtcbiAgfVxuXG4gIC5zd2l0Y2hlci15ZXMge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyO1xuICAgIHBhZGRpbmctbGVmdDogJGlubmVyLXNwYWNlcjtcbiAgfVxuXG4gIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAgIC5zd2l0Y2hlci1pbmRpY2F0b3I6OmJlZm9yZSB7XG4gICAgICB0b3A6ICRkZWx0YSAqIC0xO1xuICAgICAgd2lkdGg6ICRoZWlnaHQ7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuXG4gICAgLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yOjpiZWZvcmUge1xuICAgICAgbGVmdDogJHdpZHRoIC0gJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICBAaWYgJHJ0bC1zdXBwb3J0IHtcbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAkd2lkdGggLSAkaGVpZ2h0O1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRpbm5lci1zcGFjZXI7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItbm8ge1xuICAgICAgcGFkZGluZy1yaWdodDogJGhlaWdodCAtICRpbm5lci1zcGFjZXI7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRpbm5lci1zcGFjZXI7XG4gICAgfVxuXG4gICAgW2Rpcj1ydGxdICYgLnN3aXRjaGVyLXllcyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5uZXItc3BhY2VyO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlcjtcbiAgICB9XG5cbiAgICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgICAgIFtkaXI9cnRsXSAmIC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvcjo6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6ICR3aWR0aCAtICRoZWlnaHQ7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLXN3aXRjaGVyLXNpemUoJHNpemUsICR3aWR0aCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0LCAkaW5uZXItc3BhY2VyOiAkc3dpdGNoZXItaW5uZXItc3BhY2VyKSB7XG4gIC5zd2l0Y2hlci0jeyRzaXplfSxcbiAgLmZvcm0tZ3JvdXAtI3skc2l6ZX0gLnN3aXRjaGVyIHtcbiAgICBAaW5jbHVkZSBhcHB3b3JrLXN3aXRjaGVyLXNpemUtYmFzZSgkd2lkdGgsICRoZWlnaHQsICRmb250LXNpemUsICRkZXNjcmlwdGlvbi1mb250LXNpemUsICRkZXNjcmlwdGlvbi1saW5lLWhlaWdodCwgJGlubmVyLXNwYWNlcik7XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICRzZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJycsICcjeyRwYXJlbnR9LnN3aXRjaGVyJyk7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuXG4gICN7JHNlbGVjdG9yfSAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0gLnN3aXRjaGVyLWlucHV0OmZvY3VzIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkYmFja2dyb3VuZCwgLjQpO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IC5zd2l0Y2hlci1pbnB1dDphY3RpdmUgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLXN3aXRjaGVyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgQGluY2x1ZGUgYXBwd29yay1zd2l0Y2hlci12YXJpYW50KCcnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtc3dpdGNoZXItdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCkge1xuICAkc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcnLCAnI3skcGFyZW50fS5zd2l0Y2hlcicpO1xuXG4gICN7JHNlbGVjdG9yfSAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJGJhY2tncm91bmQsIC41KTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRiYWNrZ3JvdW5kLCAuMTUpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1zd2l0Y2hlci10aGVtZSgkYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLXN3aXRjaGVyLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kKTtcbn1cblxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvcikge1xuICAuc3dpdGNoZXItaW5wdXRbY2xhc3NdIHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICAmOmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogeWlxKCRjb2xvcik7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkY29sb3IsIC40KTtcbiAgICAgIH1cblxuICAgICAgJjphY3RpdmUgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cblxuICAgICAgfiAuc3dpdGNoZXItbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1zd2l0Y2hlci12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XG4gIC5zd2l0Y2hlci1pbnB1dFtjbGFzc10ge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLnN3aXRjaGVyLWluZGljYXRvcltjbGFzc10ge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsIC4xNSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgfiAuc3dpdGNoZXItbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGJvcmRlcjogbnVsbCkge31cblxuQG1peGluIGFwcHdvcmstdGFibGUtcm93LXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQpIHtcbiAgJGJnOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuMSksICNmZmYpO1xuICAkY29sb3I6IHlpcSgkYmcpO1xuICAkaG92ZXItYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJnLCAuOTkpLCAjMDAwKTtcblxuICAudGFibGUgI3skcGFyZW50fSxcbiAgLnRhYmxlICN7JHBhcmVudH0gPiB0aCxcbiAgLnRhYmxlICN7JHBhcmVudH0gPiB0ZCB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4wMzUpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAudGFibGUtaG92ZXIgI3skcGFyZW50fTpob3ZlcixcbiAgLnRhYmxlLWhvdmVyICN7JHBhcmVudH06aG92ZXIgPiB0ZCxcbiAgLnRhYmxlLWhvdmVyICN7JHBhcmVudH06aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJnO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTmF2YmFyXG5cbkBtaXhpbiBhcHB3b3JrLW5hdmJhci12YXJpYW50KCRwYXJlbnQsICRiZywgJGNvbG9yOiBudWxsLCAkYWN0aXZlLWNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsKSB7XG4gICRjb2xvcnM6IGdldC1uYXYtY29sb3JzKCRiZywgJGFjdGl2ZS1jb2xvciwgJGNvbG9yLCAkYm9yZGVyKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJnKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgIC5uYXZiYXItYnJhbmQge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItbmF2IHtcbiAgICAgIC5uYXYtbGluayB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGRpc2FibGVkLWNvbG9yKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAgIC5uYXYtbGluay5zaG93LFxuICAgICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBib3JkZXIpO1xuICAgIH1cblxuICAgIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKSA9PSAjZmZmLCAkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnLCAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZyk7XG4gICAgfVxuXG4gICAgLm5hdmJhci10ZXh0IHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG5cbiAgICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBociB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTaWRlbmF2XG5cbkBtaXhpbiBhcHB3b3JrLXNpZGVuYXYtdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogbnVsbCwgJGFjdGl2ZS1jb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCwgJG1lbnUtYmc6IG51bGwpIHtcbiAgJGNvbG9yczogZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yLCAkY29sb3IsICRib3JkZXIpO1xuICAkeWlxLXBlcmNlbnQ6IG1hcC1nZXQoJGNvbG9ycywgeWlxLXBlcmNlbnQpO1xuXG4gIEBpZiBub3QgJG1lbnUtYmcge1xuICAgICRtZW51LWJnOiByZ2JhLXRvLWhleChyZ2JhKG1hcC1nZXQoJGNvbG9ycywgYmcpLCAxIC0gaWYoJHlpcS1wZXJjZW50ID4gLjc1LCAuMDI1LCAuMDUpKSwgaWYoJHlpcS1wZXJjZW50IDwgLjI1LCAjZmZmLCAjMDAwKSk7XG4gIH1cblxuICAkbWVudS1hY3RpdmUtYmc6IHJnYmEtdG8taGV4KHJnYmEoJG1lbnUtYmcsIDEgLSBpZigkeWlxLXBlcmNlbnQgPiAuNzUsIC4wMjUsIC4wNSkpLCBpZigkeWlxLXBlcmNlbnQgPCAuMjUsICNmZmYsICMwMDApKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJnKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgIC5zaWRlbmF2LWxpbmssXG4gICAgLnNpZGVuYXYtaG9yaXpvbnRhbC1wcmV2LFxuICAgIC5zaWRlbmF2LWhvcml6b250YWwtbmV4dCB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaWRlbmF2LWl0ZW0uZGlzYWJsZWQgLnNpZGVuYXYtbGluayxcbiAgICAuc2lkZW5hdi1ob3Jpem9udGFsLXByZXYuZGlzYWJsZWQsXG4gICAgLnNpZGVuYXYtaG9yaXpvbnRhbC1uZXh0LmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGRpc2FibGVkLWNvbG9yKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaWRlbmF2LWl0ZW0ub3Blbjpub3QoLnNpZGVuYXYtaXRlbS1jbG9zaW5nKSA+IC5zaWRlbmF2LXRvZ2dsZSxcbiAgICAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbmsge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbms6bm90KC5zaWRlbmF2LXRvZ2dsZSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lbnUtYmc7XG4gICAgfVxuXG4gICAgJi5zaWRlbmF2LWhvcml6b250YWwgLnNpZGVuYXYtbWVudSA+IC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazpub3QoLnNpZGVuYXYtdG9nZ2xlKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudS1hY3RpdmUtYmc7XG4gICAgfVxuXG4gICAgJi5zaWRlbmF2LWhvcml6b250YWwgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtOm5vdCguc2lkZW5hdi1pdGVtLWNsb3NpbmcpID4gLnNpZGVuYXYtbWVudSxcbiAgICAmLnNpZGVuYXYtaG9yaXpvbnRhbCAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWVudS1iZztcbiAgICB9XG5cbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0uc2lkZW5hdi1pdGVtLWNsb3NpbmcgLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LW1lbnUsXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLnNpZGVuYXYtaXRlbS1jbG9zaW5nIC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi10b2dnbGUge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XG4gICAgfVxuXG4gICAgLnNpZGVuYXYtdGV4dCB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgIH1cblxuICAgIC5zaWRlbmF2LWhlYWRlciB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBtdXRlZC1jb2xvcik7XG4gICAgfVxuXG4gICAgaHIsXG4gICAgLnNpZGVuYXYtZGl2aWRlcixcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LW1lbnU6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaGVhZGVyOjpiZWZvcmUsXG4gICAgLnNpZGVuYXYtYmxvY2s6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcik7XG4gICAgfVxuXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtdG9nZ2xlOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYS10by1oZXgobWFwLWdldCgkY29sb3JzLCBib3JkZXIpLCAkbWVudS1iZyk7XG4gICAgfVxuXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgIH1cblxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZTo6YmVmb3JlLFxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazo6YmVmb3JlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAkbWVudS1iZztcbiAgICB9XG5cbiAgICAucHNfX3RodW1iLXksXG4gICAgLnBzX19yYWlsLXkucHMtLWNsaWNraW5nID4gLnBzX190aHVtYi15IHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEobWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpLCBpZigkeWlxLXBlcmNlbnQgPiAuNzUsIG1hcC1nZXQoJGNvbG9ycywgb3BhY2l0eSkgLSAuNCwgbWFwLWdldCgkY29sb3JzLCBvcGFjaXR5KSAtIC4yKSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBGb290ZXJcblxuQG1peGluIGFwcHdvcmstZm9vdGVyLXZhcmlhbnQoJHBhcmVudCwgJGJnLCAkY29sb3I6IG51bGwsICRhY3RpdmUtY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwpIHtcbiAgJGNvbG9yczogZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yLCAkY29sb3IsICRib3JkZXIpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmcpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xuXG4gICAgLmZvb3Rlci1saW5rIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgZGlzYWJsZWQtY29sb3IpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlci10ZXh0IHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgfVxuXG4gICAgLnNob3cgPiAuZm9vdGVyLWxpbmssXG4gICAgLmFjdGl2ZSA+IC5mb290ZXItbGluayxcbiAgICAuZm9vdGVyLWxpbmsuc2hvdyxcbiAgICAuZm9vdGVyLWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgfVxuXG4gICAgaHIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLXRvYXN0LXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcblxuICAjeyRwYXJlbnR9LmJzNC10b2FzdCB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRiYWNrZ3JvdW5kLCAuOSkgIWltcG9ydGFudDtcblxuICAgIC50b2FzdC1oZWFkZXIge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAuMSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLXRvYXN0LXRoZW1lKCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgQGluY2x1ZGUgYXBwd29yay10b2FzdC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuIiwiLy8gUmVib290XG4vL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xufVxuXG5AaW5jbHVkZSBydGwtb25seSB7XG4gIGRkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgY2FwdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cbiIsIi8vIFR5cGVcbi8vXG5cbkBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgLmxpc3QtdW5zdHlsZWQsXG4gIC5saXN0LWlubGluZSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICAubGlzdC1pbmxpbmUtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRsaXN0LWlubGluZS1wYWRkaW5nO1xuICB9XG59XG4iLCIvLyBVdGlsaXRpZXNcbi8vXG5cbi5vcGFjaXR5LTI1ICAgICAgICAgICAgeyBvcGFjaXR5OiAuMjUgIWltcG9ydGFudDsgfVxuLm9wYWNpdHktNTAgICAgICAgICAgICB7IG9wYWNpdHk6IC41ICFpbXBvcnRhbnQ7IH1cbi5vcGFjaXR5LTc1ICAgICAgICAgICAgeyBvcGFjaXR5OiAuNzUgIWltcG9ydGFudDsgfVxuLm9wYWNpdHktMTAwICAgICAgICAgICB7IG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfVxuXG4udGV4dC10aW55ICAgICAgICAgICAgIHsgZm9udC1zaXplOiAkdGlueS1mb250LXNpemUgIWltcG9ydGFudDsgfVxuLnRleHQtYmlnICAgICAgICAgICAgICB7IGZvbnQtc2l6ZTogJGJpZy1mb250LXNpemUgIWltcG9ydGFudDsgfVxuLnRleHQtbGFyZ2UgICAgICAgICAgICB7IGZvbnQtc2l6ZTogJGxhcmdlLWZvbnQtc2l6ZSAhaW1wb3J0YW50OyB9XG4udGV4dC14bGFyZ2UgICAgICAgICAgIHsgZm9udC1zaXplOiAkeGxhcmdlLWZvbnQtc2l6ZSAhaW1wb3J0YW50OyB9XG5cbi5saW5lLWhlaWdodC0xICAgICAgICAgeyBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50OyB9XG4ubGluZS1oZWlnaHQtY29uZGVuY2VkIHsgbGluZS1oZWlnaHQ6IDEuMyAhaW1wb3J0YW50OyB9XG4ubGluZS1oZWlnaHQtaW5oZXJpdCAgIHsgbGluZS1oZWlnaHQ6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuXG4udGV4dC1leHBhbmRlZCAgICAgICAgIHsgbGV0dGVyLXNwYWNpbmc6ICgoMSAvIChzdHJpcC11bml0KCRmb250LXNpemUtYmFzZSkgKiAxNikpICogMWVtKSAhaW1wb3J0YW50OyB9XG5cbi5mb250LXdlaWdodC1zZW1pYm9sZCAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWlib2xkICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXRyYW5zZm9ybS1ub25lICAgeyB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXNhbnMtc2VyaWYgICAgICAgeyBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWltcG9ydGFudDsgfVxuLnRleHQtc2VyaWYgICAgICAgICAgICB7IGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2VyaWYgIWltcG9ydGFudDsgfVxuXG4uY3Vyc29yLXBvaW50ZXIgICAgICAgIHsgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7IH1cbi5jdXJzb3ItbW92ZSB7XG4gIGN1cnNvcjogbW92ZSAhaW1wb3J0YW50OyAvLyBGYWxsYmFja1xuICBjdXJzb3I6IGdyYWIgIWltcG9ydGFudDtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBMYXlvdXQgY29udGFpbmVyc1xuXG4uY29udGFpbmVyLXAteCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy14LXNtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLXgtc20gIWltcG9ydGFudDtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLXggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy14ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5jb250YWluZXItbS1ueCB7XG4gIG1hcmdpbi1yaWdodDogLSRjb250YWluZXItcGFkZGluZy14LXNtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAtJGNvbnRhaW5lci1wYWRkaW5nLXgtc20gIWltcG9ydGFudDtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGNvbnRhaW5lci1wYWRkaW5nLXggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogLSRjb250YWluZXItcGFkZGluZy14ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmNvbnRhaW5lci1wLXkge1xuICAmOm5vdChbY2xhc3NePVwicHQtXCJdKTpub3QoW2NsYXNzKj1cIiBwdC1cIl0pIHtcbiAgICBwYWRkaW5nLXRvcDogJGNvbnRhaW5lci1wYWRkaW5nLXkgIWltcG9ydGFudDtcbiAgfVxuICAmOm5vdChbY2xhc3NePVwicGItXCJdKTpub3QoW2NsYXNzKj1cIiBwYi1cIl0pIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGNvbnRhaW5lci1wYWRkaW5nLXkgIWltcG9ydGFudDtcbiAgfVxufVxuLmNvbnRhaW5lci1tLW55IHtcbiAgJjpub3QoW2NsYXNzXj1cIm10LVwiXSk6bm90KFtjbGFzcyo9XCIgbXQtXCJdKSB7XG4gICAgbWFyZ2luLXRvcDogLSRjb250YWluZXItcGFkZGluZy15ICFpbXBvcnRhbnQ7XG4gIH1cbiAgJjpub3QoW2NsYXNzXj1cIm1iLVwiXSk6bm90KFtjbGFzcyo9XCIgbWItXCJdKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRjb250YWluZXItcGFkZGluZy15ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBUcmFuc2Zvcm1zXG5cbi5yb3RhdGUtOTAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cbi5yb3RhdGUtMTgwIHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuLnJvdGF0ZS0yNzAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9XG4ucm90YXRlLS05MCB7IHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH1cbi5yb3RhdGUtLTE4MCB7IHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpOyB9XG4ucm90YXRlLS0yNzAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMjcwZGVnKTsgfVxuLnJvdGF0ZS0wIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgIWltcG9ydGFudDsgfVxuXG4uc2NhbGVYLS0xIHsgdHJhbnNmb3JtOiBzY2FsZVgoLTEpOyB9XG4uc2NhbGVZLS0xIHsgdHJhbnNmb3JtOiBzY2FsZVkoLTEpOyB9XG5cbkBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgLnJvdGF0ZS05MCB7IHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH1cbiAgLnJvdGF0ZS0xODAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTsgfVxuICAucm90YXRlLTI3MCB7IHRyYW5zZm9ybTogcm90YXRlKC0yNzBkZWcpOyB9XG4gIC5yb3RhdGUtLTkwIHsgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG4gIC5yb3RhdGUtLTE4MCB7IHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLnJvdGF0ZS0tMjcwIHsgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxuXG4gIC5zY2FsZVgtLTEgeyB0cmFuc2Zvcm06IHNjYWxlWCgxKTsgfVxuICAuc2NhbGVZLS0xIHsgdHJhbnNmb3JtOiBzY2FsZVkoMSk7IH1cblxuICAuc2NhbGVYLS0xLXJ0bCB7IHRyYW5zZm9ybTogc2NhbGVYKC0xKTsgfVxuICAuc2NhbGVZLS0xLXJ0bCB7IHRyYW5zZm9ybTogc2NhbGVZKC0xKTsgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEJvcmRlcmVkIHJvd3NcblxuLnJvdy1ib3JkZXJlZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgID4gLmNvbCxcbiAgID4gW2NsYXNzXj1cImNvbC1cIl0sXG4gICA+IFtjbGFzcyo9XCIgY29sLVwiXSxcbiAgID4gW2NsYXNzXj1cImNvbCBcIl0sXG4gICA+IFtjbGFzcyo9XCIgY29sIFwiXSxcbiAgID4gW2NsYXNzJD1cIiBjb2xcIl0sXG4gICA+IFtjbGFzcz1cImNvbFwiXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAxcHg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXJlZC1yb3ctYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAtMXB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGJvcmRlcmVkLXJvdy1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJi5yb3ctYm9yZGVyLWxpZ2h0IHtcbiAgICAgPiAuY29sLFxuICAgICA+IFtjbGFzc149XCJjb2wtXCJdLFxuICAgICA+IFtjbGFzcyo9XCIgY29sLVwiXSxcbiAgICAgPiBbY2xhc3NePVwiY29sIFwiXSxcbiAgICAgPiBbY2xhc3MqPVwiIGNvbCBcIl0sXG4gICAgID4gW2NsYXNzJD1cIiBjb2xcIl0sXG4gICAgID4gW2NsYXNzPVwiY29sXCJdIHtcbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JheS0xMDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgLnJvdy1ib3JkZXJlZCA+IC5jb2w6OmFmdGVyLFxuICAucm93LWJvcmRlcmVkID4gW2NsYXNzXj1cImNvbC1cIl06OmFmdGVyLFxuICAucm93LWJvcmRlcmVkID4gW2NsYXNzKj1cIiBjb2wtXCJdOjphZnRlcixcbiAgLnJvdy1ib3JkZXJlZCA+IFtjbGFzc149XCJjb2wgXCJdOjphZnRlcixcbiAgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyo9XCIgY29sIFwiXTo6YWZ0ZXIsXG4gIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MkPVwiIGNvbFwiXTo6YWZ0ZXIsXG4gIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3M9XCJjb2xcIl06OmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAtMXB4O1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogV2lkdGhcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gc2xpY2UtbGlzdChtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cyksIDIpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgIC53I3skaW5maXh9LTEwMCB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICAudyN7JGluZml4fS1hdXRvIHsgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVGFibGUgY2VsbFxuXG4uY2VsbC1maXQge1xuICB3aWR0aDogLjElO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEZsZXhcblxuLmZsZXgtdHJ1bmNhdGUgIHsgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgIC5mbGV4LWJhc2lzI3skaW5maXh9LTEwMCB7IGZsZXgtYmFzaXM6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4LWJhc2lzI3skaW5maXh9LWF1dG8geyBmbGV4LWJhc2lzOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4vLyBJRSBmaXhcbi5kLWZsZXgsXG4uZC1pbmxpbmUtZmxleCxcbi5tZWRpYSxcbi5tZWRpYSA+IDpub3QoLm1lZGlhLWJvZHkpLFxuLmp1bWJvdHJvbixcbi5jYXJkIHtcbiAgZmxleC1zaHJpbms6IDE7XG59XG4vLyBGaXggSUUgcGFyZW50IGNvbnRhaW5lciBoZWlnaHQgYnVnIHdoZW4gY29udGFpbmluZyBpbWFnZSB3aXRoIGZsdWlkIHdpZHRoXG4uaWUtbWgtMSB7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBUZXh0IGNvbG9yXG5cbi50ZXh0LWJvZHlbaHJlZl06aG92ZXIge1xuICBjb2xvcjogJGxpbmstaG92ZXItY29sb3IgIWltcG9ydGFudDtcbn1cblxuLnRleHQtbXV0ZWRbaHJlZl0ge1xuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGNvbG9yOiAkdGV4dC1tdXRlZC1ob3ZlciAhaW1wb3J0YW50OyB9XG59XG5cbi50ZXh0LWxpZ2h0IHtcbiAgY29sb3I6ICR0ZXh0LWxpZ2h0ICFpbXBvcnRhbnQ7XG5cbiAgJltocmVmXSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBjb2xvcjogJHRleHQtbXV0ZWQtaG92ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi50ZXh0LWxpZ2h0ZXIge1xuICBjb2xvcjogJHRleHQtbGlnaHRlciAhaW1wb3J0YW50O1xuXG4gICZbaHJlZl0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgY29sb3I6ICR0ZXh0LW11dGVkLWhvdmVyICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4udGV4dC1saWdodGVzdCB7XG4gIGNvbG9yOiAkdGV4dC1saWdodGVzdCAhaW1wb3J0YW50O1xuXG4gICZbaHJlZl0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgY29sb3I6ICR0ZXh0LW11dGVkLWhvdmVyICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQmFja2dyb3VuZCBjb2xvclxuXG4uYmctZGFyayB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5LTkwMCAhaW1wb3J0YW50OyB9XG5hLmJnLWRhcmsge1xuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5LTkwMCAhaW1wb3J0YW50OyB9XG59XG5cbi5iZy1saWdodCB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5LTEwMCAhaW1wb3J0YW50OyB9XG5hLmJnLWxpZ2h0IHtcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0yMDAgIWltcG9ydGFudDsgfVxufVxuXG4uYmctbGlnaHRlciB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5LTUwICFpbXBvcnRhbnQ7IH1cbmEuYmctbGlnaHRlciB7XG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTAwICFpbXBvcnRhbnQ7IH1cbn1cblxuLmJnLWxpZ2h0ZXN0IHsgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMjUgIWltcG9ydGFudDsgfVxuYS5iZy1saWdodGVzdCB7XG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktNTAgIWltcG9ydGFudDsgfVxufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQm9yZGVyIGNvbG9yXG5cbi5ib3JkZXItbGlnaHQge1xuICBib3JkZXItY29sb3I6ICRncmF5LTEwMCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXRyYW5zcGFyZW50IHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFJUTFxuXG5AaW5jbHVkZSBydGwtb25seSB7XG4gIC8vIEJvcmRlclxuICAuYm9yZGVyICAgICAgICAgeyBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4gIC5ib3JkZXItdG9wICAgICB7IGJvcmRlci10b3A6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4gIC5ib3JkZXItcmlnaHQgICB7IGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuICAuYm9yZGVyLWJvdHRvbSAgeyBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuICAuYm9yZGVyLWxlZnQgICAgeyBib3JkZXItcmlnaHQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4gIC5ib3JkZXItMCAgICAgICAgeyBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuICAuYm9yZGVyLXRvcC0wICAgIHsgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC5ib3JkZXItcmlnaHQtMCAgeyBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC5ib3JkZXItYm90dG9tLTAgeyBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmJvcmRlci1sZWZ0LTAgICB7IGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC5ib3JkZXItI3skY29sb3J9IHsgYm9yZGVyLWNvbG9yOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICB9XG4gIC5ib3JkZXItd2hpdGUgeyBib3JkZXItY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50OyB9XG5cbiAgLy8gQm9yZGVyLXJhZGl1c1xuICAucm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgfVxuICAucm91bmRlZC10b3Age1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdW5kZWQtcmlnaHQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgfVxuICAucm91bmRlZC1ib3R0b20ge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdW5kZWQtbGVmdCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdW5kZWQtY2lyY2xlIHsgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7IH1cbiAgLnJvdW5kZWQtcGlsbCB7IGJvcmRlci1yYWRpdXM6ICRyb3VuZGVkLXBpbGwgIWltcG9ydGFudDsgfVxuICAucm91bmRlZC0wIHsgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50OyB9XG5cbiAgLy8gRmxvYXRcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICAgLmZsb2F0I3skaW5maXh9LWxlZnQgIHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5mbG9hdCN7JGluZml4fS1yaWdodCB7IGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIGFsaWdubWVudFxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgICAudGV4dCN7JGluZml4fS1sZWZ0ICAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgICAudGV4dCN7JGluZml4fS1yaWdodCAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICAvLyBNYXJnaW4gYW5kIFBhZGRpbmdcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICAgQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKG1hcmdpbjogbSwgcGFkZGluZzogcCkge1xuICAgICAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICAgICAgLiN7JGFiYnJldn0jeyRpbmZpeH0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgLiN7JGFiYnJldn10I3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgICAjeyRwcm9wfS10b3A6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JGFiYnJldn1yI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRhYmJyZXZ9YiN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRhYmJyZXZ9bCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICAgI3skcHJvcH0tcmlnaHQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2lucyAoZS5nLiwgd2hlcmUgYC5tYi1uMWAgaXMgbmVnYXRpdmUgdmVyc2lvbiBvZiBgLm1iLTFgKVxuICAgICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgICBAaWYgJHNpemUgIT0gMCB7XG4gICAgICAgICAgLm0jeyRpbmZpeH0tbiN7JHNpemV9IHsgbWFyZ2luOiAtJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgLm10I3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5tciN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLm1iI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5tbCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFNvbWUgc3BlY2lhbCBtYXJnaW4gdXRpbHNcbiAgICAgIC5tI3skaW5maXh9LWF1dG8geyBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxuICAgICAgLm10I3skaW5maXh9LWF1dG8sXG4gICAgICAubXkjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5tciN7JGluZml4fS1hdXRvLFxuICAgICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLm1iI3skaW5maXh9LWF1dG8sXG4gICAgICAubXkjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5tbCN7JGluZml4fS1hdXRvLFxuICAgICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhc2Vcbi8vXG5cbmJvZHkge1xuICAtbW96LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJsaWdhXCIgb247XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgIGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICBidXR0b24ubGlzdC1ncm91cC1pdGVtIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAud2F2ZXMtcmlwcGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIElFIEZpeGVzXG5cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gIC8vIEZpeCBJRSBwYXJlbnQgY29udGFpbmVyIGhlaWdodCBidWcgd2hlbiBjb250YWluaW5nIGltYWdlIHdpdGggZmx1aWQgd2lkdGhcbiAgLmNhcmQsXG4gIC5jYXJkLWJvZHksXG4gIC5tZWRpYSxcbiAgLmZsZXgtY29sdW1uLFxuICAudGFiLWNvbnRlbnQge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENvbnRhaW5lcnNcblxuLmNvbnRhaW5lcixcbi5jb250YWluZXItZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmcteC1zbTtcbiAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmcteC1zbTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLXg7XG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmcteDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFRodW1ibmFpbHNcblxuLmltZy10aHVtYm5haWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaW1nLXRodW1ibmFpbCBpbWcge1xuICB6LWluZGV4OiAxO1xufVxuXG4uaW1nLXRodW1ibmFpbC1jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB6LWluZGV4OiAzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgLmltZy10aHVtYm5haWw6aG92ZXIgJixcbiAgLmltZy10aHVtYm5haWw6Zm9jdXMgJiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vLyBPdmVybGF5IGVmZmVjdFxuLmltZy10aHVtYm5haWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcblxuICAuaW1nLXRodW1ibmFpbDpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSAmIHtcbiAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmltZy10aHVtYm5haWwtc2hhZG93IHtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuMnM7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDIwcHggcmdiYSgkYmxhY2ssIC40KTtcbiAgfVxufVxuXG4vLyBab29tLWluIGVmZmVjdFxuLmltZy10aHVtYm5haWwtem9vbS1pbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaW1nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCk7XG4gIH1cblxuICAuaW1nLXRodW1ibmFpbC1jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSguNik7XG4gIH1cblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgaW1nIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICB9XG5cbiAgICAuaW1nLXRodW1ibmFpbC1jb250ZW50IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE1hdGVyaWFsIGFuaW1hdGlvbnNcblxuQGlmIG5vdCAkbWF0ZXJpYWwtc3R5bGUge1xuICBAaW5jbHVkZSBrZXlmcmFtZXMoZHJvcGRvd25BbmltYXRpb24pIHtcbiAgICAwJSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59IEBlbHNlIHtcbiAgQGluY2x1ZGUga2V5ZnJhbWVzKGRyb3Bkb3duQW5pbWF0aW9uKSB7XG4gICAgMCUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgfVxuICAgIDgwJSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGtleWZyYW1lcyh0b3BUb29sdGlwQW5pbWF0aW9uKSB7XG4gICAgMCUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGtleWZyYW1lcyhib3R0b21Ub29sdGlwQW5pbWF0aW9uKSB7XG4gICAgMCUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBrZXlmcmFtZXMobGVmdFRvb2x0aXBBbmltYXRpb24pIHtcbiAgICAwJSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUga2V5ZnJhbWVzKHJpZ2h0VG9vbHRpcEFuaW1hdGlvbikge1xuICAgIDAlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBSVExcblxuQGlmICRydGwtc3VwcG9ydCB7XG4gIFtkaXI9cnRsXSBib2R5IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBkaXJlY3Rpb246IHJ0bDtcbiAgfVxufVxuIiwiLy8gVGFibGVzXG4vL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGlmICRjb2xvciAhPSBwcmltYXJ5IGFuZCAkY29sb3IgIT0gbGlnaHQge1xuICAgIEBpbmNsdWRlIGFwcHdvcmstdGFibGUtcm93LXZhcmlhbnQoJy50YWJsZS0jeyRjb2xvcn0nLCAkdmFsdWUpO1xuICB9XG59XG5cbi50YWJsZS50YWJsZS1maXhlZCB7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG59XG5cbi50YWJsZSB0aCB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaWJvbGQ7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQWN0aXZlXG5cbi50YWJsZS1hY3RpdmUsXG4udGFibGUtYWN0aXZlID4gdGgsXG4udGFibGUtYWN0aXZlID4gdGQge1xuICBib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMDM1KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWFjdGl2ZS1iZztcbn1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIsXG4udGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJHRhYmxlLWFjdGl2ZS1iZywgLjk5KSwgIzAwMCk7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogV2l0aGluIGNhcmRcblxuLmNhcmQtdGFibGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZCxcbi5uYXYtdGFicy10b3AsXG4ubmF2LXRhYnMtcmlnaHQsXG4ubmF2LXRhYnMtYm90dG9tLFxuLm5hdi10YWJzLWxlZnQge1xuICAudGFibGU6bm90KC50YWJsZS1kYXJrKSxcbiAgLnRhYmxlOm5vdCgudGFibGUtZGFyaykgdGhlYWQ6bm90KC50aGVhZC1kYXJrKSB0aCxcbiAgLnRhYmxlOm5vdCgudGFibGUtZGFyaykgdGQge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYS10by1oZXgoJGNhcmQtaW5uZXItYm9yZGVyLWNvbG9yKTtcbiAgfVxufVxuXG4uY2FyZC10YWJsZSA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQsXG4uY2FyZC10YWJsZSA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQsXG4uY2FyZC10YWJsZSA+IHRmb290OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgPiB0ZCxcbiAgID4gdGgge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQGluY2x1ZGUgbHRyLW9ubHkge1xuICAuY2FyZC10YWJsZSA+IHRoZWFkID4gdHIsXG4gIC5jYXJkLXRhYmxlID4gdGJvZHkgPiB0cixcbiAgLmNhcmQtdGFibGUgPiB0Zm9vdCA+IHRyIHtcbiAgICAgPiB0ZCxcbiAgICAgPiB0aCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLXNwYWNlci14O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29uZGVuY2VkXG4gIC5jYXJkLWNvbmRlbmNlZCAuY2FyZC10YWJsZSA+IHRoZWFkID4gdHIsXG4gIC5jYXJkLWNvbmRlbmNlZCAuY2FyZC10YWJsZSA+IHRib2R5ID4gdHIsXG4gIC5jYXJkLWNvbmRlbmNlZCAuY2FyZC10YWJsZSA+IHRmb290ID4gdHIge1xuICAgICA+IHRkLFxuICAgICA+IHRoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjYXJkLXNwYWNlci14LXNtO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNhcmQtc3BhY2VyLXgtc207XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgcnRsLW9ubHkge1xuICAuY2FyZC10YWJsZSA+IHRoZWFkID4gdHIsXG4gIC5jYXJkLXRhYmxlID4gdGJvZHkgPiB0cixcbiAgLmNhcmQtdGFibGUgPiB0Zm9vdCA+IHRyIHtcbiAgICAgPiB0ZCxcbiAgICAgPiB0aCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNhcmQtc3BhY2VyLXg7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29uZGVuY2VkXG4gIC5jYXJkLWNvbmRlbmNlZCAuY2FyZC10YWJsZSA+IHRoZWFkID4gdHIsXG4gIC5jYXJkLWNvbmRlbmNlZCAuY2FyZC10YWJsZSA+IHRib2R5ID4gdHIsXG4gIC5jYXJkLWNvbmRlbmNlZCAuY2FyZC10YWJsZSA+IHRmb290ID4gdHIge1xuICAgICA+IHRkLFxuICAgICA+IHRoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyZC1zcGFjZXIteDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbnNcbi8vXG5cbi5idG4ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG59XG5cbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAuYnRuIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59XG5cbi8vIEJhYmdlIHdpdGhpbiBidXR0b25cbi5idG4gLmJhZGdlIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xufVxuXG5sYWJlbC5idG4ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEFsdGVybmF0ZSBidXR0b25zXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaWYgJGNvbG9yICE9IHByaW1hcnkge1xuICAgIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAgICAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1idXR0b24tdmFyaWFudCgnLmJ0bi0jeyRjb2xvcn0nLCAkdmFsdWUpO1xuICAgICAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1idXR0b24tb3V0bGluZS12YXJpYW50KCcuYnRuLW91dGxpbmUtI3skY29sb3J9JywgJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLXZhcmlhbnQoJy5idG4tI3skY29sb3J9JywgJHZhbHVlKTtcbiAgICAgIEBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLW91dGxpbmUtdmFyaWFudCgnLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfScsICR2YWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbi8vIERlZmF1bHQgYnV0dG9uXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1idXR0b24tdmFyaWFudCgnLmJ0bi1kZWZhdWx0JywgJGJ0bi1kZWZhdWx0LWJnLCAkYnRuLWRlZmF1bHQtY29sb3IsICRidG4tZGVmYXVsdC1jb2xvcik7XG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLW91dGxpbmUtdmFyaWFudCgnLmJ0bi1vdXRsaW5lLWRlZmF1bHQnLCAkYnRuLWRlZmF1bHQtYm9yZGVyLCAkYnRuLWRlZmF1bHQtY29sb3IpO1xufSBAZWxzZSB7XG4gIEBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLXZhcmlhbnQoJy5idG4tZGVmYXVsdCcsICRidG4tZGVmYXVsdC1iZywgJGJ0bi1kZWZhdWx0LWNvbG9yLCAkYnRuLWRlZmF1bHQtYm9yZGVyKTtcbiAgQGluY2x1ZGUgYXBwd29yay1idXR0b24tb3V0bGluZS12YXJpYW50KCcuYnRuLW91dGxpbmUtZGVmYXVsdCcsICRidG4tZGVmYXVsdC1ib3JkZXIsICRidG4tZGVmYXVsdC1jb2xvcik7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU2l6ZXNcblxuLmJ0bi14bCB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LXhsLCAkYnRuLXBhZGRpbmcteC14bCwgJGJ0bi1mb250LXNpemUteGwsICRidG4tbGluZS1oZWlnaHQteGwsICRidG4tYm9yZGVyLXJhZGl1cy14bCk7XG59XG5cbi5idG4teHMge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS14cywgJGJ0bi1wYWRkaW5nLXgteHMsICRidG4tZm9udC1zaXplLXhzLCAkYnRuLWxpbmUtaGVpZ2h0LXhzLCAkYnRuLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIExpbmsgYnV0dG9uc1xuXG4uYnRuLmJ0bi1saW5rIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuXG4gIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgLndhdmVzLXJpcHBsZSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogSWNvbiBidXR0b25cblxuLmljb24tYnRuIHtcbiAgJGljb24tYnRuLXNpemU6ICAgICgkYnRuLWZvbnQtc2l6ZSAgICAqICRidG4tbGluZS1oZWlnaHQpICAgICsgKCRidG4tcGFkZGluZy15ICAgICogMik7XG4gICRpY29uLWJ0bi1zaXplLXhsOiAoJGJ0bi1mb250LXNpemUteGwgKiAkYnRuLWxpbmUtaGVpZ2h0LXhsKSArICgkYnRuLXBhZGRpbmcteS14bCAqIDIpO1xuICAkaWNvbi1idG4tc2l6ZS1sZzogKCRidG4tZm9udC1zaXplLWxnICogJGJ0bi1saW5lLWhlaWdodC1sZykgKyAoJGJ0bi1wYWRkaW5nLXktbGcgKiAyKTtcbiAgJGljb24tYnRuLXNpemUtc206ICgkYnRuLWZvbnQtc2l6ZS1zbSAqICRidG4tbGluZS1oZWlnaHQtc20pICsgKCRidG4tcGFkZGluZy15LXNtICogMik7XG4gICRpY29uLWJ0bi1zaXplLXhzOiAoJGJ0bi1mb250LXNpemUteHMgKiAkYnRuLWxpbmUtaGVpZ2h0LXhzKSArICgkYnRuLXBhZGRpbmcteS14cyAqIDIpO1xuICAkYm9yZGVycy13aWR0aDogICAgJGJ0bi1ib3JkZXItd2lkdGggKiAyO1xuXG4gIHdpZHRoOiBjYWxjKCN7JGljb24tYnRuLXNpemV9ICsgI3skYm9yZGVycy13aWR0aH0pO1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogJGljb24tYnRuLXNpemU7XG5cbiAgJi5idG4teGwge1xuICAgIHdpZHRoOiBjYWxjKCN7JGljb24tYnRuLXNpemUteGx9ICsgI3skYm9yZGVycy13aWR0aH0pO1xuICAgIGxpbmUtaGVpZ2h0OiAkaWNvbi1idG4tc2l6ZS14bDtcbiAgfVxuXG4gICYuYnRuLWxnIHtcbiAgICB3aWR0aDogY2FsYygjeyRpY29uLWJ0bi1zaXplLWxnfSArICN7JGJvcmRlcnMtd2lkdGh9KTtcbiAgICBsaW5lLWhlaWdodDogJGljb24tYnRuLXNpemUtbGc7XG4gIH1cblxuICAmLmJ0bi1zbSB7XG4gICAgd2lkdGg6IGNhbGMoI3skaWNvbi1idG4tc2l6ZS1zbX0gKyAjeyRib3JkZXJzLXdpZHRofSk7XG4gICAgbGluZS1oZWlnaHQ6ICRpY29uLWJ0bi1zaXplLXNtO1xuICB9XG5cbiAgJi5idG4teHMge1xuICAgIHdpZHRoOiBjYWxjKCN7JGljb24tYnRuLXNpemUteHN9ICsgI3skYm9yZGVycy13aWR0aH0pO1xuICAgIGxpbmUtaGVpZ2h0OiAkaWNvbi1idG4tc2l6ZS14cztcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFdpdGhvdXQgYm9yZGVyXG5cbi5idG4uYm9yZGVybGVzcyB7XG4gICY6bm90KC5hY3RpdmUpOm5vdCg6YWN0aXZlKTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSxcbiAgOm5vdCguc2hvdykgPiAmLmRyb3Bkb3duLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG4iLCIvLyBCdXR0b24gZ3JvdXBzXG4vL1xuXG5AaWYgbm90ICRtYXRlcmlhbC1zdHlsZSB7XG4gIDpub3QoLmJ0bi1ncm91cCk6bm90KC5pbnB1dC1ncm91cC1wcmVwZW5kKTpub3QoLmlucHV0LWdyb3VwLWFwcGVuZCk+LmJ0bi1ncm91cD4uYnRuOm5vdCguYnRuLWRlZmF1bHQpOm5vdChbY2xhc3MqPVwiYnRuLW91dGxpbmUtXCJdKTpmaXJzdC1jaGlsZCxcbiAgLmJ0bi1ncm91cD4uYnRuLWdyb3VwOmZpcnN0LWNoaWxkPi5idG46bm90KC5idG4tZGVmYXVsdCk6bm90KFtjbGFzcyo9XCJidG4tb3V0bGluZS1cIl0pOmZpcnN0LWNoaWxkLFxuICAuaW5wdXQtZ3JvdXAtcHJlcGVuZD4uYnRuOm5vdCguYnRuLWRlZmF1bHQpOm5vdChbY2xhc3MqPVwiYnRuLW91dGxpbmUtXCJdKTpmaXJzdC1jaGlsZCxcbiAgLmlucHV0LWdyb3VwLWFwcGVuZD4uYnRuOm5vdCguYnRuLWRlZmF1bHQpOm5vdChbY2xhc3MqPVwiYnRuLW91dGxpbmUtXCJdKTpmaXJzdC1jaGlsZCxcbiAgLmlucHV0LWdyb3VwLXByZXBlbmQ+LmJ0bi1ncm91cDpmaXJzdC1jaGlsZD4uYnRuOm5vdCguYnRuLWRlZmF1bHQpOm5vdChbY2xhc3MqPVwiYnRuLW91dGxpbmUtXCJdKTpmaXJzdC1jaGlsZCxcbiAgLmlucHV0LWdyb3VwLWFwcGVuZD4uYnRuLWdyb3VwOmZpcnN0LWNoaWxkPi5idG46bm90KC5idG4tZGVmYXVsdCk6bm90KFtjbGFzcyo9XCJidG4tb3V0bGluZS1cIl0pOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICA6bm90KC5idG4tZ3JvdXApOm5vdCguaW5wdXQtZ3JvdXAtcHJlcGVuZCk6bm90KC5pbnB1dC1ncm91cC1hcHBlbmQpPi5idG4tZ3JvdXA+LmJ0bjpub3QoLmJ0bi1kZWZhdWx0KTpub3QoW2NsYXNzKj1cImJ0bi1vdXRsaW5lLVwiXSk6bGFzdC1vZi10eXBlLFxuICAuYnRuLWdyb3VwPi5idG4tZ3JvdXA6bGFzdC1jaGlsZD4uYnRuOm5vdCguYnRuLWRlZmF1bHQpOm5vdChbY2xhc3MqPVwiYnRuLW91dGxpbmUtXCJdKTpsYXN0LW9mLXR5cGUsXG4gIC5pbnB1dC1ncm91cC1hcHBlbmQ+LmJ0bjpub3QoLmJ0bi1kZWZhdWx0KTpub3QoW2NsYXNzKj1cImJ0bi1vdXRsaW5lLVwiXSk6bGFzdC1vZi10eXBlLFxuICAuaW5wdXQtZ3JvdXAtcHJlcGVuZD4uYnRuOm5vdCguYnRuLWRlZmF1bHQpOm5vdChbY2xhc3MqPVwiYnRuLW91dGxpbmUtXCJdKTpsYXN0LW9mLXR5cGUsXG4gIC5pbnB1dC1ncm91cC1hcHBlbmQ+LmJ0bi1ncm91cDpsYXN0LWNoaWxkPi5idG46bm90KC5idG4tZGVmYXVsdCk6bm90KFtjbGFzcyo9XCJidG4tb3V0bGluZS1cIl0pOmxhc3Qtb2YtdHlwZSxcbiAgLmlucHV0LWdyb3VwLXByZXBlbmQ+LmJ0bi1ncm91cDpsYXN0LWNoaWxkPi5idG46bm90KC5idG4tZGVmYXVsdCk6bm90KFtjbGFzcyo9XCJidG4tb3V0bGluZS1cIl0pOmxhc3Qtb2YtdHlwZSB7XG4gICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU2l6aW5nXG5cbi5idG4tZ3JvdXAteHMgPiAuYnRuIHtcbiAgQGV4dGVuZCAuYnRuLXhzO1xufVxuXG4uYnRuLWdyb3VwLXhsID4gLmJ0biB7XG4gIEBleHRlbmQgLmJ0bi14bDtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTcGxpdCBidXR0b25cblxuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCxcbi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LFxuLmJ0bi1ncm91cC1sZyA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LFxuLmlucHV0LWdyb3VwLWxnIC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LFxuLmJ0bi14bCArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsXG4uYnRuLWdyb3VwLXhsID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAuN2VtO1xuICBwYWRkaW5nLWxlZnQ6IC43ZW07XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LFxuLmJ0bi1ncm91cC1zbSA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LFxuLmlucHV0LWdyb3VwLXNtIC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogLjZlbTtcbiAgcGFkZGluZy1sZWZ0OiAuNmVtO1xufVxuXG4uYnRuLXhzICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCxcbi5idG4tZ3JvdXAteHMgPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6IC41ZW07XG4gIHBhZGRpbmctbGVmdDogLjVlbTtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBSVExcblxuQGluY2x1ZGUgcnRsLW9ubHkge1xuICAuYnRuLWdyb3VwIC5idG5bY2xhc3NdIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5idG4tZ3JvdXAgLmJ0bi14c1tjbGFzc10sXG4gIC5idG4tZ3JvdXAteHMgLmJ0bltjbGFzc10ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMteHMpO1xuICB9XG5cbiAgLmJ0bi1ncm91cCAuYnRuLXNtW2NsYXNzXSxcbiAgLmJ0bi1ncm91cC1zbSAuYnRuW2NsYXNzXSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG4gIH1cblxuICAuYnRuLWdyb3VwIC5idG4tbGdbY2xhc3NdLFxuICAuYnRuLWdyb3VwLWxnIC5idG5bY2xhc3NdIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcbiAgfVxuXG4gIC5idG4tZ3JvdXAgLmJ0bi14bFtjbGFzc10sXG4gIC5idG4tZ3JvdXAteGwgLmJ0bltjbGFzc10ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMteGwpO1xuICB9XG5cbiAgLmJ0bi1ncm91cCB7XG4gICAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICAgIH1cblxuICAgID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuICAgIH1cblxuICAgID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gICAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICAgID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gICAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhZGdlc1xuLy9cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpZiAkY29sb3IgIT0gcHJpbWFyeSBhbmQgJGNvbG9yICE9IGxpZ2h0IHtcbiAgICBAaW5jbHVkZSBhcHB3b3JrLWJhZGdlLXZhcmlhbnQoJy5iYWRnZS0jeyRjb2xvcn0nLCAkdmFsdWUpO1xuICAgIEBpbmNsdWRlIGFwcHdvcmstYmFkZ2Utb3V0bGluZS12YXJpYW50KCcuYmFkZ2Utb3V0bGluZS0jeyRjb2xvcn0nLCAkdmFsdWUpO1xuICB9XG59XG5cbkBpbmNsdWRlIGFwcHdvcmstYmFkZ2UtdmFyaWFudCgnLmJhZGdlLWRlZmF1bHQnLCAkYmFkZ2UtZGVmYXVsdC1iZywgJGJvZHktY29sb3IpO1xuQGluY2x1ZGUgYXBwd29yay1iYWRnZS1vdXRsaW5lLXZhcmlhbnQoJy5iYWRnZS1vdXRsaW5lLWRlZmF1bHQnLCAkYmFkZ2UtZGVmYXVsdC1iZywgJGJhZGdlLW91dGxpbmUtZGVmYXVsdC1jb2xvcik7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRG90c1xuXG4uYmFkZ2UuYmFkZ2UtZG90IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAuNWVtO1xuICBoZWlnaHQ6IC41ZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBJbmRpY2F0b3JzXG5cbi5iYWRnZS5pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogYXV0bztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDI1JSk7XG5cbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIDI1JSk7XG4gIH1cblxuICAmOm5vdCguYmFkZ2UtZG90KSB7XG4gICAgcGFkZGluZzogMCAuMmVtO1xuICAgIGZvbnQtc2l6ZTogLjZlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEwJSk7XG5cbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtMTAlKTtcbiAgICB9XG4gIH1cbn1cblxuQGlmICRtYXRlcmlhbC1zdHlsZSB7XG4gIC5idG4gLmJhZGdlLmluZGljYXRvcjpub3QoLmJhZGdlLWRvdCkge1xuICAgIGZvbnQtc2l6ZTogLjc1ZW07XG4gIH1cbn1cbiIsIi8vIERyb3Bkb3duc1xuLy9cblxuW2RhdGEtdHJpZ2dlcj1ob3Zlcl0ge1xuICBvdXRsaW5lOiAwO1xufVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbjogJGRyb3Bkb3duLXNwYWNlciAwO1xuICBib3gtc2hhZG93OiAkZHJvcGRvd24tYm94LXNoYWRvdztcblxuICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uc1xuICBAaWYgbm90ICRtYXRlcmlhbC1zdHlsZSB7XG4gICAgYW5pbWF0aW9uOiBkcm9wZG93bkFuaW1hdGlvbiAuMXM7XG4gIH0gQGVsc2Uge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIGFuaW1hdGlvbjogZHJvcGRvd25BbmltYXRpb24gLjI1cztcblxuICAgICYuZHJvcGRvd24tbWVudS1yaWdodCxcbiAgICAmLmRyb3Bkb3duLW1lbnUtcmlnaHQgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xuICAgIH1cblxuICAgIC5kcm9wdXAgJiB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbiAgICB9XG5cbiAgICAuZHJvcHVwICYuZHJvcGRvd24tbWVudS1yaWdodCxcbiAgICAuZHJvcHVwICYuZHJvcGRvd24tbWVudS1yaWdodCAuZHJvcGRvd24tbWVudSB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLm1lZ2EtZHJvcGRvd24gPiAmIHtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZHJvcGRvd24taXRlbSB7XG4gIGxpbmUtaGVpZ2h0OiAkZHJvcGRvd24tbGluay1saW5lLWhlaWdodDtcbn1cblxuLy8gQmFkZ2Ugd2l0aGluIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IC5iYWRnZVtjbGFzc149XCJmbG9hdC1cIl0sXG4uZHJvcGRvd24tbWVudSAuYmFkZ2VbY2xhc3MqPVwiIGZsb2F0LVwiXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAuMDcxZW07XG59XG5cbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAuZHJvcGRvd24taXRlbSxcbiAgLmRyb3Bkb3duLW1lbnUgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAvLyBSaXBwbGVcbiAgICAud2F2ZXMtcmlwcGxlIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjEpO1xuICAgIH1cbiAgICAmLmFjdGl2ZSAud2F2ZXMtcmlwcGxlLFxuICAgICYuZGlzYWJsZWQgLndhdmVzLXJpcHBsZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBIaWRkZW4gZHJvcGRvd24gdG9nZ2xlIGFycm93XG4uZHJvcGRvd24tdG9nZ2xlLmhpZGUtYXJyb3csXG4uZHJvcGRvd24tdG9nZ2xlLWhpZGUtYXJyb3cgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE1ha2UgQm9vdHN0cmFwIDMgcGFnaW5hdGlvbiBjb21wYXRpYmxlIHdpdGggQm9vdHN0cmFwIDRcblxuLmRyb3Bkb3duLW1lbnUgPiBsaTpub3QoLmRyb3Bkb3duLWl0ZW0pIHtcbiAgID4gYTpub3QoLmRyb3Bkb3duLWl0ZW0pIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRkcm9wZG93bi1saW5rLWxpbmUtaGVpZ2h0O1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItYmc7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUgPiBhOm5vdCguZHJvcGRvd24taXRlbSksXG4gID4gYTpub3QoLmRyb3Bkb3duLWl0ZW0pOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnO1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5kaXNhYmxlZCA+IGE6bm90KC5kcm9wZG93bi1pdGVtKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRHJvcGRvd24gdG9nZ2xlXG5cbkBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgLmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmJlZm9yZSxcbiAgLmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gICAgdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgICAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmJlZm9yZSxcbiAgICAuZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQ7XG4gICAgfVxuXG4gICAgLmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG5cbiAgICAgIEBpbmNsdWRlIGNhcmV0LXJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlcixcbi5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmJlZm9yZSB7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE5lc3RlZCBkcm9wZG93bnNcblxuLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uZHJvcGRvd24tbWVudSAuZHJvcGRvd24tdG9nZ2xlID4gLmRyb3Bkb3duLWl0ZW0ge1xuIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAobWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbWQpIC0gMSkpIHtcbiAgLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctbGVmdDogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgcGFkZGluZy1yaWdodDogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbWQpKSB7XG4gIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bi10b2dnbGUgPiAuZHJvcGRvd24taXRlbTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXggLyAyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAuMzc1cmVtO1xuICAgIGhlaWdodDogLjM3NXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkdGV4dC1tdXRlZDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKDAsIC01MCUpO1xuXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14IC8gMjtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoMCwgLTUwJSkgc2NhbGVYKC0xKTtcbiAgICB9XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24tdG9nZ2xlOmhvdmVyID4gLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1saW5rLWhvdmVyLWJnO1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcblxuICAgICArIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51LXJpZ2h0IC5kcm9wZG93bi1tZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG4iLCIvLyBOYXZcbi8vXG5cbkBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgLm5hdiB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4ubmF2LWxpbmsge1xuICBsaW5lLWhlaWdodDogJG5hdi1saW5rLWxpbmUtaGVpZ2h0O1xuXG4gICYuZGlzYWJsZWQge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgIWltcG9ydGFudDtcbiAgfVxufVxuXG4ubmF2IC5uYXYtaXRlbSxcbi5uYXYgLm5hdi1saW5rLFxuLnRhYi1wYW5lLFxuLnRhYi1wYW5lIC5jYXJkLWJvZHkge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIFRhYiBhbmQgcGlsbHMgbGlua1xuLm5hdi10YWJzLFxuLm5hdi1waWxscyB7XG4gIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAgIC5uYXYtbGluayB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XG4gICAgICBmb250LXNpemU6ICRidG4tZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluazpub3QoLmFjdGl2ZSkge1xuICAgIGNvbG9yOiAkbmF2LWxpbmstY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KC5uYXYtZmlsbCk6bm90KC5uYXYtanVzdGlmaWVkKSAubmF2LWxpbmsge1xuICAgIG1hcmdpbi1yaWdodDogJG5hdi1zcGFjZXI7XG5cbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRuYXYtc3BhY2VyO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluayAuYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xcHg7XG4gIH1cblxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbms6bm90KC5hY3RpdmUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgLm5hdi10YWJzIC5uYXYtbGluayB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMCAycHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgfVxuXG4gIC5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LXRhYnMgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMnB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjNzIGVhc2Utb3V0O1xuICB9XG59XG5cbi8vIFRhYiBsaW5rXG4ubmF2LXRhYnMgLm5hdi1saW5rIHtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQWx0ZXJuYXRpdmUgdGFic1xuXG4ubmF2LXRhYnMudGFicy1hbHQgLm5hdi1saW5rLFxuLnRhYnMtYWx0ID4gLm5hdi10YWJzIC5uYXYtbGluayB7XG4gICYsXG4gICYuYWN0aXZlIHtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIExpZ2h0IG5hdnMgKG1hdGVyaWFsIG9ubHkpXG5cbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAkbWF0ZXJpYWwtbGlnaHQtbmF2LWxpbmstY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4gICRtYXRlcmlhbC1saWdodC1uYXYtbGluay1kaXNhYmxlZC1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiAgJG1hdGVyaWFsLWxpZ2h0LW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuICAkbWF0ZXJpYWwtbGlnaHQtbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiBudWxsICFkZWZhdWx0O1xuXG4gIC5uYXYtdGFicy5tZC10YWJzLWxpZ2h0LFxuICAubWQtdGFicy1saWdodCA+IC5uYXYtdGFicyxcbiAgLm1kLXRhYnMtbGlnaHQgPiBkaXYgPiAubmF2LXRhYnMsXG4gIC5uYXYtcGlsbHMubWQtcGlsbHMtbGlnaHQsXG4gIC5tZC1waWxscy1saWdodCA+IC5uYXYtcGlsbHMsXG4gIC5tZC1waWxscy1saWdodCA+IGRpdiA+IC5uYXYtcGlsbHMge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG1hdGVyaWFsLWxpZ2h0LW5hdi1saW5rLWNvbG9yO1xuICAgIH1cblxuICAgIC5uYXYtbGluazpob3ZlcixcbiAgICAubmF2LWxpbms6Zm9jdXMsXG4gICAgLm5hdi1saW5rLmZvY3VzLFxuICAgIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG1hdGVyaWFsLWxpZ2h0LW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIH1cblxuICAgIC5uYXYtbGluay5kaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJG1hdGVyaWFsLWxpZ2h0LW5hdi1saW5rLWRpc2FibGVkLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLm5hdi10YWJzLm1kLXRhYnMtbGlnaHQsXG4gIC5tZC10YWJzLWxpZ2h0ID4gLm5hdi10YWJzLFxuICAubWQtdGFicy1saWdodCA+IGRpdiA+IC5uYXYtdGFicyB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkbWF0ZXJpYWwtbGlnaHQtbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3IsICRtYXRlcmlhbC1saWdodC1uYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcikgIWltcG9ydGFudDtcblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJG1hdGVyaWFsLWxpZ2h0LW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tYXRlcmlhbC1zdHlsZSAubmF2LXBpbGxzLm1kLXBpbGxzLWxpZ2h0LFxuICAubWF0ZXJpYWwtc3R5bGUgLm1kLXBpbGxzLWxpZ2h0ID4gLm5hdi1waWxscyxcbiAgLm1hdGVyaWFsLXN0eWxlIC5tZC1waWxscy1saWdodCA+IGRpdiA+IC5uYXYtcGlsbHMge1xuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbWF0ZXJpYWwtbGlnaHQtbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIGNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU2l6aW5nXG5cbi5uYXYtbGcge1xuICBAaW5jbHVkZSBhcHB3b3JrLW5hdi1zaXplKCRuYXYtbGluay1wYWRkaW5nLXktbGcsICRuYXYtbGluay1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRuYXYtbGluay1saW5lLWhlaWdodC1sZyk7XG59XG4ubmF2LXNtIHtcbiAgQGluY2x1ZGUgYXBwd29yay1uYXYtc2l6ZSgkbmF2LWxpbmstcGFkZGluZy15LXNtLCAkbmF2LWxpbmstcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkbmF2LWxpbmstbGluZS1oZWlnaHQtc20pO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFRhYmJlZCBwYW5lbHNcblxuLm5hdi10YWJzLXRvcCxcbi5uYXYtdGFicy1yaWdodCxcbi5uYXYtdGFicy1ib3R0b20sXG4ubmF2LXRhYnMtbGVmdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgID4gLm5hdixcbiAgID4gZGl2ID4gLm5hdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgID4gLm5hdiAubmF2LWxpbmssXG4gICA+IGRpdiA+IC5uYXYgLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLnJvdy1ib3JkZXJlZCA+IFtjbGFzc149XCJjb2wtXCJdLFxuICAucm93LWJvcmRlcmVkID4gW2NsYXNzKj1cIiBjb2wtXCJdLFxuICAucm93LWJvcmRlcmVkID4gW2NsYXNzXj1cImNvbCBcIl0sXG4gIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MqPVwiIGNvbCBcIl0sXG4gIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MkPVwiIGNvbFwiXSxcbiAgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcz1cImNvbFwiXSB7XG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNhcmQtaW5uZXItYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4ubmF2LXRhYnMtcmlnaHQsXG4ubmF2LXRhYnMtbGVmdCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICA+IC5uYXYsXG4gICA+IGRpdiA+IC5uYXYge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAwO1xuICB9XG5cbiAgID4gLm5hdiAubmF2LWxpbmssXG4gICA+IGRpdiA+IC5uYXYgLm5hdi1saW5rIHtcbiAgICBtYXJnaW46IDAgMCAkbmF2LXNwYWNlciAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAgPiAudGFiLWNvbnRlbnQge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxufVxuXG4vLyBUb3AgdGFic1xuLm5hdi10YWJzLXRvcCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgID4gLm5hdiAubmF2LWxpbmssXG4gICA+IGRpdiA+IC5uYXYgLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XG4gICAgfVxuICB9XG59XG5cbi8vIFJpZ2h0IHRhYnNcbi5uYXYtdGFicy1yaWdodCB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblxuICAgPiAubmF2IC5uYXYtaXRlbSxcbiAgID4gZGl2ID4gLm5hdiAubmF2LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG5cbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgID4gLm5hdiAubmF2LWxpbmssXG4gICA+IGRpdiA+IC5uYXYgLm5hdi1saW5rIHtcbiAgICBAaWYgJG1hdGVyaWFsLXN0eWxlICE9IHRydWUge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwICRib3JkZXItcmFkaXVzICRib3JkZXItcmFkaXVzIDApO1xuXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzIDAgMCAkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XG5cbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQm90dG9tIHRhYnNcbi5uYXYtdGFicy1ib3R0b20ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG5cbiAgID4gLm5hdiAubmF2LWl0ZW0sXG4gICA+IGRpdiA+IC5uYXYgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAgPiAubmF2IC5uYXYtbGluayxcbiAgID4gZGl2ID4gLm5hdiAubmF2LWxpbmsge1xuICAgIEBpZiAkbWF0ZXJpYWwtc3R5bGUgIT0gdHJ1ZSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCAkYm9yZGVyLXJhZGl1cyAkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICAgIH1cbiAgfVxufVxuXG4vLyBMZWZ0IHRhYnNcbi5uYXYtdGFicy1sZWZ0IHtcbiAgID4gLm5hdiAubmF2LWl0ZW0sXG4gICA+IGRpdiA+IC5uYXYgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICB9XG4gIH1cblxuICAgPiAubmF2IC5uYXYtbGluayxcbiAgID4gZGl2ID4gLm5hdiAubmF2LWxpbmsge1xuICAgICBAaWYgJG1hdGVyaWFsLXN0eWxlICE9IHRydWUge1xuICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMgMCAwICRib3JkZXItcmFkaXVzKTtcblxuICAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGJvcmRlci1yYWRpdXMgJGJvcmRlci1yYWRpdXMgMCk7XG4gICAgICAgfVxuICAgICB9XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFRhYiBjb250ZW50XG5cbi5uYXYtdGFicy10b3AgPiAudGFiLWNvbnRlbnQsXG4ubmF2LXRhYnMtcmlnaHQgPiAudGFiLWNvbnRlbnQsXG4ubmF2LXRhYnMtYm90dG9tID4gLnRhYi1jb250ZW50LFxuLm5hdi10YWJzLWxlZnQgPiAudGFiLWNvbnRlbnQge1xuICBmbGV4LXNocmluazogMTtcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3gtc2hhZG93OiAkY2FyZC1zaGFkb3c7XG59XG5cbi5uYXYtdGFicy10b3AgPiAudGFiLWNvbnRlbnQge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCAkYm9yZGVyLXJhZGl1cyAkYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5uYXYtdGFicy1yaWdodCA+IC50YWItY29udGVudCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMgMCAwICRib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGJvcmRlci1yYWRpdXMgJGJvcmRlci1yYWRpdXMgMCk7XG4gIH1cbn1cblxuLm5hdi10YWJzLWJvdHRvbSA+IC50YWItY29udGVudCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMgJGJvcmRlci1yYWRpdXMgMCAwKTtcbn1cblxuLm5hdi10YWJzLWxlZnQgPiAudGFiLWNvbnRlbnQge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGJvcmRlci1yYWRpdXMgJGJvcmRlci1yYWRpdXMgMCk7XG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyAwIDAgJGJvcmRlci1yYWRpdXMpO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogUmVzcG9uc2l2ZSBuYXZcblxuQGluY2x1ZGUgcmVzcG9uc2l2ZS1sb29wLWJlZm9yZSgnLm5hdi1yZXNwb25zaXZlJykge1xuICAgPiAubmF2LFxuICAgPiBkaXYgPiAubmF2IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJvcmRlcjogMDtcblxuICAgIC5uYXYtaXRlbSB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgIH1cblxuICAgICYuY2FyZC1oZWFkZXItdGFicyxcbiAgICAmLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xICogJG5hdi1zcGFjZXI7XG4gICAgfVxuICB9XG5cbiAgID4gLm5hdi10YWJzLFxuICAgPiAubmF2LXBpbGxzLFxuICAgPiBkaXYgPiAubmF2LXRhYnMsXG4gICA+IGRpdiA+IC5uYXYtcGlsbHMge1xuICAgIC5uYXYtaXRlbSB7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubmF2LWxpbmsge1xuICAgICAgbWFyZ2luOiAwIDAgJG5hdi1zcGFjZXIgMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICA+IC5uYXYtdGFiczpub3QoLnRhYnMtYWx0KSxcbiAgID4gZGl2ID4gLm5hdi10YWJzOm5vdCgudGFicy1hbHQpIHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgQGlmIG5vdCAkbWF0ZXJpYWwtc3R5bGUge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJi5uYXYtdGFicy10b3AgPiAudGFiLWNvbnRlbnQsXG4gICYubmF2LXRhYnMtcmlnaHQgPiAudGFiLWNvbnRlbnQsXG4gICYubmF2LXRhYnMtYm90dG9tID4gLnRhYi1jb250ZW50LFxuICAmLm5hdi10YWJzLWxlZnQgPiAudGFiLWNvbnRlbnQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgJi5uYXYtdGFicy1ib3R0b20sXG4gICYubmF2LXRhYnMtcmlnaHQsXG4gICYubmF2LXRhYnMtbGVmdCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuIiwiLy8gUGFnaW5hdGlvblxuLy9cblxuQGluY2x1ZGUgcnRsLW9ubHkge1xuICAucGFnaW5hdGlvbiB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4vLyBBZGQgc3BhY2luZyBiZXR3ZWVuIHBhZ2luYXRpb24gaXRlbXNcbi5wYWdlLWl0ZW0gKyAucGFnZS1pdGVtIC5wYWdlLWxpbmssXG4ucGFnaW5hdGlvbiBsaSArIGxpID4gYTpub3QoLnBhZ2UtbGluaykge1xuICBtYXJnaW4tbGVmdDogJHBhZ2luYXRpb24tc3BhY2VyO1xuXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkcGFnaW5hdGlvbi1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLnBhZ2UtbGluayxcbi5wYWdlLWxpbmsgPiBhIHtcbiAgbWluLXdpZHRoOiBjYWxjKCN7XCIjeygkZm9udC1zaXplLWJhc2UgKiAkcGFnaW5hdGlvbi1saW5lLWhlaWdodCkgKyAoJHBhZ2luYXRpb24tcGFkZGluZy15ICogMil9ICsgI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggKiAyfVwifSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0O1xuXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuXG4gIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAgIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICB9XG59XG5cbi5wYWdlLWxpbmsuYnRuLXByaW1hcnkge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTWFrZSBCb290c3RyYXAgMyBwYWdpbmF0aW9uIGNvbXBhdGlibGUgd2l0aCBCb290c3RyYXAgNFxuXG4ucGFnaW5hdGlvbiA+IGxpID4gYTpub3QoLnBhZ2UtbGluaykge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXkgJHBhZ2luYXRpb24tcGFkZGluZy14O1xuICBtaW4td2lkdGg6IGNhbGMoI3tcIiN7KCRmb250LXNpemUtYmFzZSAqICRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0KSArICgkcGFnaW5hdGlvbi1wYWRkaW5nLXkgKiAyKX0gKyAjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aCAqIDJ9XCJ9KTtcbiAgYm9yZGVyOiAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1iZztcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAkcGFnaW5hdGlvbi1saW5lLWhlaWdodCAhaW1wb3J0YW50O1xuXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAgIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTWF0ZXJpYWwgcmlwcGxlXG5cbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAucGFnZS1saW5rIC53YXZlcy1yaXBwbGUsXG4gIC5wYWdpbmF0aW9uID4gbGkgLndhdmVzLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuMSk7XG4gIH1cblxuICAucGFnZS1saW5rLndhdmVzLWVmZmVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rIC53YXZlcy1yaXBwbGUsXG4gIC5wYWdlLWl0ZW0uZGlzYWJsZWQgLnBhZ2UtbGluayAud2F2ZXMtcmlwcGxlLFxuICAucGFnaW5hdGlvbiA+IGxpLmFjdGl2ZSAud2F2ZXMtcmlwcGxlLFxuICAucGFnaW5hdGlvbiA+IGxpLmRpc2FibGVkIC53YXZlcy1yaXBwbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTaXppbmdcblxuLnBhZ2luYXRpb24tbGcgLnBhZ2UtbGluayxcbi5wYWdpbmF0aW9uLWxnID4gbGkgPiBhOm5vdCgucGFnZS1saW5rKSB7XG4gIG1pbi13aWR0aDogY2FsYygje1wiI3soJGZvbnQtc2l6ZS1sZyAqICRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0KSArICgkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGcgKiAyKX0gKyAjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aCAqIDJ9XCJ9KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWxpbmssXG4ucGFnaW5hdGlvbi1zbSA+IGxpID4gYTpub3QoLnBhZ2UtbGluaykge1xuICBtaW4td2lkdGg6IGNhbGMoI3tcIiN7KCRmb250LXNpemUtc20gKiAkcGFnaW5hdGlvbi1saW5lLWhlaWdodCkgKyAoJHBhZ2luYXRpb24tcGFkZGluZy15LXNtICogMil9ICsgI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggKiAyfVwifSk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiLy8gQWxlcnRzXG4vL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGlmICRjb2xvciAhPSBwcmltYXJ5IGFuZCAkY29sb3IgIT0gbGlnaHQge1xuICAgIEBpbmNsdWRlIGFwcHdvcmstYWxlcnQtdmFyaWFudCgnLmFsZXJ0LSN7JGNvbG9yfScsICR2YWx1ZSk7XG4gICAgQGluY2x1ZGUgYXBwd29yay1hbGVydC1kYXJrLXZhcmlhbnQoJy5hbGVydC1kYXJrLSN7JGNvbG9yfScsICR2YWx1ZSk7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBSVExcblxuQGluY2x1ZGUgcnRsLW9ubHkge1xuICAuYWxlcnQtZGlzbWlzc2libGUge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRhbGVydC1wYWRkaW5nLXg7XG4gICAgcGFkZGluZy1sZWZ0OiAoJGNsb3NlLWZvbnQtc2l6ZSArICRhbGVydC1wYWRkaW5nLXggKiAyKTtcbiAgfVxuXG4gIC5hbGVydC1kaXNtaXNzaWJsZSAuY2xvc2Uge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cbiIsIi8vIFRvb2x0aXBzXG4vL1xuXG4udG9vbHRpcC1pbm5lciB7XG4gIGJveC1zaGFkb3c6ICR0b29sdGlwLWJveC1zaGFkb3c7XG59XG5cbi5tb2RhbC1vcGVuIC50b29sdGlwIHtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC10b3AgKyAyO1xufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGlmICRjb2xvciAhPSBwcmltYXJ5IGFuZCAkY29sb3IgIT0gbGlnaHQge1xuICAgIEBpbmNsdWRlIGFwcHdvcmstdG9vbHRpcC12YXJpYW50KCcudG9vbHRpcC0jeyRjb2xvcn0sIC50b29sdGlwLSN7JGNvbG9yfSA+IC50b29sdGlwLCAubmdiLXRvb2x0aXAtI3skY29sb3J9ICsgbmdiLXRvb2x0aXAtd2luZG93JywgcmdiYS10by1oZXgoJHZhbHVlKSk7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBNYXRlcmlhbFxuXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgLnRvb2x0aXAge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cblxuICAudG9vbHRpcC5icy10b29sdGlwLXRvcCxcbiAgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIGFuaW1hdGlvbjogdG9wVG9vbHRpcEFuaW1hdGlvbiAuMjVzO1xuICB9XG5cbiAgLnRvb2x0aXAuYnMtdG9vbHRpcC1yaWdodCxcbiAgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgYW5pbWF0aW9uOiByaWdodFRvb2x0aXBBbmltYXRpb24gLjI1cztcbiAgfVxuXG4gIC50b29sdGlwLmJzLXRvb2x0aXAtYm90dG9tLFxuICAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgYW5pbWF0aW9uOiBib3R0b21Ub29sdGlwQW5pbWF0aW9uIC4yNXM7XG4gIH1cblxuICAudG9vbHRpcC5icy10b29sdGlwLWxlZnQsXG4gIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgYW5pbWF0aW9uOiBsZWZ0VG9vbHRpcEFuaW1hdGlvbiAuMjVzO1xuICB9XG59XG4iLCIvLyBQb3BvdmVyc1xuLy9cblxuLnBvcG92ZXIge1xuICBib3gtc2hhZG93OiAkcG9wb3Zlci1ib3gtc2hhZG93O1xuXG4gIC5hcnJvdyB7XG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuXG4ubW9kYWwtb3BlbiAucG9wb3ZlciB7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtdG9wICsgMTtcbn1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpZiAkY29sb3IgIT0gcHJpbWFyeSBhbmQgJGNvbG9yICE9IGxpZ2h0IHtcbiAgICBAaW5jbHVkZSBhcHB3b3JrLXBvcG92ZXItdmFyaWFudCgnLnBvcG92ZXItI3skY29sb3J9LCAucG9wb3Zlci0jeyRjb2xvcn0gPiAucG9wb3ZlciwgLm5nYi1wb3BvdmVyLSN7JGNvbG9yfSArIG5nYi1wb3BvdmVyLXdpbmRvdycsIHJnYmEtdG8taGV4KCR2YWx1ZSkpO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTWF0ZXJpYWxcblxuQGlmICRtYXRlcmlhbC1zdHlsZSB7XG4gIC5wb3BvdmVyIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG5cbiAgLnBvcG92ZXItaGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gIH1cblxuICAuYnMtcG9wb3Zlci10b3AsXG4gIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBhbmltYXRpb246IHRvcFRvb2x0aXBBbmltYXRpb24gLjI1cztcbiAgfVxuXG4gIC5icy1wb3BvdmVyLXJpZ2h0LFxuICAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBhbmltYXRpb246IHJpZ2h0VG9vbHRpcEFuaW1hdGlvbiAuMjVzO1xuICB9XG5cbiAgLmJzLXBvcG92ZXItYm90dG9tLFxuICAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgYW5pbWF0aW9uOiBib3R0b21Ub29sdGlwQW5pbWF0aW9uIC4yNXM7XG4gIH1cblxuICAuYnMtcG9wb3Zlci1sZWZ0LFxuICAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIGFuaW1hdGlvbjogbGVmdFRvb2x0aXBBbmltYXRpb24gLjI1cztcbiAgfVxufVxuIiwiLy8gRm9ybXNcbi8vXG5cbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAuZm9ybS1jb250cm9sIHtcbiAgICAkbWF0ZXJpYWwtaW5wdXQtZGlzYWJsZWQtY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4gICAgJG1hdGVyaWFsLWlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvcjogbnVsbCAhZGVmYXVsdDtcblxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJG1hdGVyaWFsLWlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRtYXRlcmlhbC1pbnB1dC1kaXNhYmxlZC1jb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIDpub3QoLmlucHV0LWdyb3VwKSA+IC5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU2l6aW5nXG5cbnNlbGVjdC5mb3JtLWNvbnRyb2xbc2l6ZT1cIjBcIl06bm90KFttdWx0aXBsZV0pIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sLXNtW3NpemU9XCIwXCJdOm5vdChbbXVsdGlwbGVdKSB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbC1sZ1tzaXplPVwiMFwiXTpub3QoW211bHRpcGxlXSkge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG59XG5cbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWZvcm0tY29udHJvbC1zaXplKCcnLCAkaW5wdXQtYnRuLXBhZGRpbmcteSk7XG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtZm9ybS1jb250cm9sLXNpemUoJ3NtJywgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20pO1xuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWZvcm0tY29udHJvbC1zaXplKCdsZycsICRpbnB1dC1idG4tcGFkZGluZy15LWxnKTtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBJbnZlcnRlZFxuXG4uZm9ybS1jb250cm9sLWludmVydGVkIHtcbiAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtaW52ZXJ0ZWQtYm9yZGVyLWNvbG9yO1xuXG4gIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtaW52ZXJ0ZWQtYmc7XG4gICAgY29sb3I6ICRpbnB1dC1pbnZlcnRlZC1jb2xvcjtcbiAgfVxuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LWludmVydGVkLXBsYWNlaG9sZGVyLWNvbG9yO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWludmVydGVkLWRpc2FibGVkLWJnICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRpbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1jb2xvciAhaW1wb3J0YW50O1xuXG4gICAgQGlmICRtYXRlcmlhbC1zdHlsZSAhPSB0cnVlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWludmVydGVkLWRpc2FibGVkLWJnICFpbXBvcnRhbnQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkbWF0ZXJpYWwtaW5wdXQtaW52ZXJ0ZWQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuXG4gICAgICBib3JkZXItY29sb3I6ICRtYXRlcmlhbC1pbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1ib3JkZXItY29sb3IgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICBvcHRpb24ge1xuICAgIGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTGFiZWxzXG5cbi5mb3JtLWxhYmVsLFxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgQGlmIG5vdCAkbWF0ZXJpYWwtc3R5bGUge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoI3skaW5wdXQtcGFkZGluZy15fSAtICN7JGlucHV0LWJvcmRlci13aWR0aCAqIDJ9KTtcbiAgfSBAZWxzZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBmb250LXdlaWdodDogJGxhYmVsLWZvbnQtd2VpZ2h0O1xuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uZm9ybS1sYWJlbC1zbSxcbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbn1cblxuLmZvcm0tbGFiZWwtbGcsXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBmb250LXNpemU6ICRmb250LXNpemUtbGc7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG5cbi5mb3JtLWNoZWNrIHtcbiAgbWluLWhlaWdodDogJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2U7XG5cbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbkBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIG1hcmdpbi1yaWdodDogLSRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlubGluZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlubGluZSAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBWYWxpZGF0aW9uIHN0YXRlc1xuXG5AZWFjaCAkc3RhdGUsICRkYXRhIGluICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzIHtcbiAgQGlmICRtYXRlcmlhbC1zdHlsZSB7XG4gICAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1mb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCBtYXAtZ2V0KCRkYXRhLCBjb2xvciksIG1hcC1nZXQoJGRhdGEsIGljb24pLCBtYXAtZ2V0KCRkYXRhLCBpY29uLXJ0bCkpO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBhcHB3b3JrLWZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsIG1hcC1nZXQoJGRhdGEsIGNvbG9yKSwgbWFwLWdldCgkZGF0YSwgaWNvbiksIG1hcC1nZXQoJGRhdGEsIGljb24tcnRsKSk7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBJbmxpbmUgZm9ybXNcblxuLmZvcm0taW5saW5lIC5jdXN0b20tY29udHJvbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIEBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgICAuZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2sge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICAuZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14O1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWlubGluZSAuY3VzdG9tLWNvbnRyb2wsXG4gIC5mb3JtLWlubGluZSAuY3VzdG9tLXNlbGVjdCxcbiAgLmZvcm0taW5saW5lIC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC5mb3JtLWlubGluZSAuZm9ybS10ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG4iLCIvLyBDdXN0b20gZm9ybXNcbi8vXG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQ3VzdG9tIGNvbnRyb2xcblxuLmN1c3RvbS1jb250cm9sIHtcbiAgbWluLWhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gSW5kaWNhdG9yXG4gICY6OmJlZm9yZSB7XG4gICAgdG9wOiBweC10by1yZW0oZmxvb3IocmVtLXRvLXB4KCgoKCRsaW5lLWhlaWdodC1iYXNlICogJGZvbnQtc2l6ZS1iYXNlKSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyKSkpKTtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG5cbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICAgIH1cblxuICAgIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBNYXRlcmlhbCBzaGFkb3dcbiAgJjo6YWZ0ZXIge1xuICAgIEBpZiBub3QgJG1hdGVyaWFsLXN0eWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfSBAZWxzZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogcHgtdG8tcmVtKGZsb29yKHJlbS10by1weCgoKCgkbGluZS1oZWlnaHQtYmFzZSAqICRmb250LXNpemUtYmFzZSkgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMikpKSk7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIC4wOCk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgdHJhbnNsYXRlWigwKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ2hlY2tib3ggaW5kaWNhdG9yXG4uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1zaXplOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZy1zaXplO1xufVxuXG4uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXNpemU6ICRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1iZy1zaXplO1xufVxuXG4vLyBSYWRpbyBpbmRpY2F0b3Jcbi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXNpemU6ICRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLXNpemU7XG59XG5cbi8vIEluZGljYXRvciBzdGF0ZXNcbi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmFjdGl2ZSB+ICYge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6bm90KDpjaGVja2VkKTphY3RpdmUgfiAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIH4gJiB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvciAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmcgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkOmluZGV0ZXJtaW5hdGUgfiAmIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRldGVybWluYXRlLWJnLCAnX0NPTE9SXycsICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZDpjaGVja2VkIH4gJiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZDpjaGVja2VkIH4gJiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XG4gIH1cbn1cblxuLy8gTWF0ZXJpYWwgc3RhdGVzXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgLmN1c3RvbS1jb250cm9sLWlucHV0W2NsYXNzXTphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgLmN1c3RvbS1jb250cm9sLWlucHV0W2NsYXNzXTpub3QoOmNoZWNrZWQpOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAvLyBTaGFkb3dcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XG4gICAgLmN1c3RvbS1jb250cm9sLWlucHV0OmZvY3VzIH4gJiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgyLjI1KSB0cmFuc2xhdGVaKDApO1xuICAgIH1cblxuICAgIC5jdXN0b20tY29udHJvbC1pbnB1dDphY3RpdmUgfiAmIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDApIHRyYW5zbGF0ZVooMCk7XG4gICAgfVxuXG4gICAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIH4gJiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhpZGUgcmFkaW8gYnVsbGV0XG4gIC5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0Om5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAwO1xuICB9XG5cbiAgLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICB9XG59XG5cbi5jdXN0b20tY29udHJvbHMtc3RhY2tlZCAuY3VzdG9tLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG59XG5cbkBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgLmN1c3RvbS1jb250cm9sLWlubGluZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAkY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBDdXN0b20gc2VsZWN0XG5cbi5jdXN0b20tc2VsZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcnRsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14IGNlbnRlcjtcbiAgfVxuXG4gIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJG1hdGVyaWFsLWlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgICAgIGNvbG9yOiAkbWF0ZXJpYWwtaW5wdXQtZGlzYWJsZWQtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vIEludmVydGVkXG4uY3VzdG9tLXNlbGVjdC1pbnZlcnRlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1pbnZlcnRlZDtcblxuICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1pbnZlcnRlZC1ydGw7XG4gIH1cblxuICAmLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtaW52ZXJ0ZWQtYmc7XG4gICAgY29sb3I6ICRpbnB1dC1pbnZlcnRlZC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1pbnZlcnRlZC1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1pbnZlcnRlZC1kaXNhYmxlZC1iZztcbiAgICBjb2xvcjogJGN1c3RvbS1zZWxlY3QtaW52ZXJ0ZWQtZGlzYWJsZWQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiBpZigkbWF0ZXJpYWwtc3R5bGUsICRtYXRlcmlhbC1pbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1ib3JkZXItY29sb3IsICRpbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1iZyk7XG4gIH1cblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1pbnZlcnRlZC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgfVxuXG4gIG9wdGlvbiB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB9XG59XG5cbi8vIFNpemluZ1xuQGluY2x1ZGUgYXBwd29yay1jdXN0b20tc2VsZWN0LXNpemUoJ3NtJywgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtLCAkbGluZS1oZWlnaHQtc20sICRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbSk7XG5AaW5jbHVkZSBhcHB3b3JrLWN1c3RvbS1zZWxlY3Qtc2l6ZSgnbGcnLCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGcsICRsaW5lLWhlaWdodC1sZywgJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnKTtcblxuLy8gTWF0ZXJpYWwgc3R5bGVcbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICBAaW5jbHVkZSBsdHItb25seSB7XG4gICAgOm5vdCguaW5wdXQtZ3JvdXApID4gLmN1c3RvbS1zZWxlY3Qge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBydGwtb25seSB7XG4gICAgOm5vdCguaW5wdXQtZ3JvdXApID4gLmN1c3RvbS1zZWxlY3Qge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIE11bHRpcGxlIHNlbGVjdFxuLy9cblxuQGluY2x1ZGUgcnRsLW9ubHkge1xuICAuY3VzdG9tLXNlbGVjdFttdWx0aXBsZV0sXG4gIC5jdXN0b20tc2VsZWN0W3NpemVdOm5vdChbc2l6ZT1cIjFcIl0pIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBpZiBub3QgJG1hdGVyaWFsLXN0eWxlIHtcbiAgLmN1c3RvbS1zZWxlY3RbbXVsdGlwbGVdLFxuICAuY3VzdG9tLXNlbGVjdFtzaXplXTpub3QoW3NpemU9XCIxXCJdKSB7XG4gICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14O1xuICAgIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14O1xuICB9XG5cbiAgLmN1c3RvbS1zZWxlY3Qtc20sXG4gIC5pbnB1dC1ncm91cC1zbSAuY3VzdG9tLXNlbGVjdCB7XG4gICAgJlttdWx0aXBsZV0sXG4gICAgJltzaXplXTpub3QoW3NpemU9XCIxXCJdKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc207XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLXNlbGVjdC1sZyxcbiAgLmlucHV0LWdyb3VwLWxnIC5jdXN0b20tc2VsZWN0IHtcbiAgICAmW211bHRpcGxlXSxcbiAgICAmW3NpemVdOm5vdChbc2l6ZT1cIjFcIl0pIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZztcbiAgICAgIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnO1xuICAgIH1cbiAgfVxufSBAZWxzZSB7XG4gIC5jdXN0b20tc2VsZWN0W211bHRpcGxlXSxcbiAgLmN1c3RvbS1zZWxlY3Rbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEZpbGUgaW5wdXRcblxuLmN1c3RvbS1maWxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogMDtcblxuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAwIDAgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgfVxuXG4gIC5jdXN0b20tZmlsZS1pbnB1dDpkaXNhYmxlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1kaXNhYmxlZC1iZztcblxuICAgIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkbWF0ZXJpYWwtaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICAgICAgY29sb3I6ICRtYXRlcmlhbC1pbnB1dC1kaXNhYmxlZC1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogLjY1O1xuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFJhbmdlIHNlbGVjdFxuXG4uY3VzdG9tLXJhbmdlIHtcbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS40LCAxLjQpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS40LCAxLjQpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi1tcy10aHVtYiB7XG4gICAgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnM7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjQsIDEuNCk7XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS1kaXNhYmxlZC10cmFjay1iZztcbiAgICB9XG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLWRpc2FibGVkLXRyYWNrLWJnO1xuICAgIH1cblxuICAgICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtZGlzYWJsZWQtdHJhY2stYmc7XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS1kaXNhYmxlZC10cmFjay1iZztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFN3aXRjaGVyc1xuLy9cblxuLnN3aXRjaGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogJHN3aXRjaGVyLXNwYWNlci14O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiA2MHJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gIEBpbmNsdWRlIGFwcHdvcmstc3dpdGNoZXItc2l6ZS1iYXNlKCRzd2l0Y2hlci13aWR0aCwgJHN3aXRjaGVyLWhlaWdodCwgJHN3aXRjaGVyLWZvbnQtc2l6ZSwgJHN3aXRjaGVyLWxhYmVsLWZvbnQtc2l6ZSwgJHN3aXRjaGVyLWxhYmVsLWxpbmUtaGVpZ2h0KTtcblxuICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogJHN3aXRjaGVyLXNwYWNlci14O1xuICB9XG5cbiAgLmZvcm0taW5saW5lICYge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBJbnB1dFxuXG4uc3dpdGNoZXItaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogSW5kaWNhdG9yXG5cbi5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDYwcmVtO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoZXItb2ZmLWJnO1xuICBjb2xvcjogJHN3aXRjaGVyLW9mZi1jb2xvcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjJzO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBsZWZ0LCByaWdodCwgYmFja2dyb3VuZCwgYm94LXNoYWRvdztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgQGlmICRtYXRlcmlhbC1zdHlsZSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAuMDgpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDApIHRyYW5zbGF0ZVooMCk7XG5cbiAgICAgIC5zd2l0Y2hlci1pbnB1dDpmb2N1cyB+ICYge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDIuMjUpIHRyYW5zbGF0ZVooMCk7XG4gICAgICB9XG5cbiAgICAgIC5zd2l0Y2hlci1pbnB1dDphY3RpdmUgfiAmIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKSB0cmFuc2xhdGVaKDApO1xuICAgICAgfVxuXG4gICAgICAuc3dpdGNoZXItaW5wdXQ6ZGlzYWJsZWQgfiAmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBEZXNjcmlwdGlvblxuXG4uc3dpdGNoZXItbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAkc3dpdGNoZXItZ3V0dGVyO1xuICBjb2xvcjogJHN3aXRjaGVyLWxhYmVsLWNvbG9yO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQ2hlY2tlZCAvIFVuY2hlY2tlZCBzdGF0ZXNcblxuLnN3aXRjaGVyLW5vLFxuLnN3aXRjaGVyLXllcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IC4ycztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbGVmdCwgcmlnaHQ7XG5cbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgPiAqIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zd2l0Y2hlci1ubyB7XG4gIGxlZnQ6IDA7XG5cbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG5cbi5zd2l0Y2hlci15ZXMge1xuICBsZWZ0OiAtMTAwJTtcblxuICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgIHJpZ2h0OiAtMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgLnN3aXRjaGVyLWlucHV0Om5vdCg6Y2hlY2tlZCkgfiAuc3dpdGNoZXItaW5kaWNhdG9yICYge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLyBDaGVja2VkIHN0YXRlXG4uc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAuc3dpdGNoZXItbm8ge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cblxuICAuc3dpdGNoZXIteWVzIHtcbiAgICBsZWZ0OiAwO1xuXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBIb2xkZXJcblxuLnN3aXRjaGVyLWluZGljYXRvcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogJHN3aXRjaGVyLWhvbGRlci1iZztcbiAgYm94LXNoYWRvdzogJHN3aXRjaGVyLWhvbGRlci1zaGFkb3c7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IC4ycztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbGVmdCwgcmlnaHQsIGJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRGlzYWJsZWRcblxuLnN3aXRjaGVyLWlucHV0OmRpc2FibGVkIHtcbiAgIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XG4gICAgb3BhY2l0eTogLjU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICB+IC5zd2l0Y2hlci1sYWJlbCB7XG4gICAgY29sb3I6ICRzd2l0Y2hlci1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFN0YWNrZWRcblxuLnN3aXRjaGVycy1zdGFja2VkIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgLnN3aXRjaGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaGVyLXNwYWNlci15O1xuXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU3F1YXJlXG5cbi5zd2l0Y2hlci1zcXVhcmUsXG4uc3dpdGNoZXItc3F1YXJlIC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dpdGNoZXItc3F1YXJlLWJvcmRlci1yYWRpdXM7XG4gIH0gQGVsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLnN3aXRjaGVyLXNxdWFyZSAuc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IGlmKCRtYXRlcmlhbC1zdHlsZSwgJHN3aXRjaGVyLXNxdWFyZS1ib3JkZXItcmFkaXVzLCBjYWxjKCN7JHN3aXRjaGVyLXNxdWFyZS1ib3JkZXItcmFkaXVzfSAtIDJweCkpO1xuICB9IEBlbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU2l6ZXNcblxuQGluY2x1ZGUgYXBwd29yay1zd2l0Y2hlci1zaXplKFwic21cIiwgJHN3aXRjaGVyLXdpZHRoLXNtLCAkc3dpdGNoZXItaGVpZ2h0LXNtLCAkc3dpdGNoZXItZm9udC1zaXplLCAkc3dpdGNoZXItbGFiZWwtZm9udC1zaXplLXNtLCAkc3dpdGNoZXItbGFiZWwtbGluZS1oZWlnaHQtc20pO1xuQGluY2x1ZGUgYXBwd29yay1zd2l0Y2hlci1zaXplKFwibGdcIiwgJHN3aXRjaGVyLXdpZHRoLWxnLCAkc3dpdGNoZXItaGVpZ2h0LWxnLCAkc3dpdGNoZXItZm9udC1zaXplLCAkc3dpdGNoZXItbGFiZWwtZm9udC1zaXplLWxnLCAkc3dpdGNoZXItbGFiZWwtbGluZS1oZWlnaHQtbGcpO1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFZhcmlhdGlvbnNcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpZiAkY29sb3IgIT0gcHJpbWFyeSBhbmQgJGNvbG9yICE9IGxpZ2h0IHtcbiAgICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgICAgIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtc3dpdGNoZXItdmFyaWFudCgnLnN3aXRjaGVyLSN7JGNvbG9yfScsICR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBhcHB3b3JrLXN3aXRjaGVyLXZhcmlhbnQoJy5zd2l0Y2hlci0jeyRjb2xvcn0nLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFZhbGlkYXRpb24gc3RhdGVzXG5cbi5zd2l0Y2hlciAudmFsaWQtZmVlZGJhY2ssXG4uc3dpdGNoZXIgLmludmFsaWQtZmVlZGJhY2sge1xuICBwYWRkaW5nLWxlZnQ6ICRzd2l0Y2hlci1ndXR0ZXI7XG59XG5cbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLXN3aXRjaGVyLXZhbGlkYXRpb24tc3RhdGUoXCJ2YWxpZFwiLCAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcik7XG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtc3dpdGNoZXItdmFsaWRhdGlvbi1zdGF0ZShcImludmFsaWRcIiwgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcik7XG59IEBlbHNlIHtcbiAgQGluY2x1ZGUgYXBwd29yay1zd2l0Y2hlci12YWxpZGF0aW9uLXN0YXRlKFwidmFsaWRcIiwgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IpO1xuICBAaW5jbHVkZSBhcHB3b3JrLXN3aXRjaGVyLXZhbGlkYXRpb24tc3RhdGUoXCJpbnZhbGlkXCIsICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IpO1xufVxuIiwiLy8gSW5wdXQgZ3JvdXBzXG4vL1xuXG4uaW5wdXQtZ3JvdXAgLmN1c3RvbS1zZWxlY3Qge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBCdXR0b24gZ3JvdXBzIHdpdGhpbiBpbnB1dCBncm91cCBhZGRvblxuXG4uaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZD4uYnRuLWdyb3VwPi5idG4sXG4uaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQ+LmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKT4uYnRuLFxuLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpPi5idG4tZ3JvdXA+LmJ0biB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cblxuLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5idG4tZ3JvdXA+LmJ0bixcbi5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQ+LmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpPi5idG4sXG4uaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpPi5idG4tZ3JvdXA+LmJ0biB7XG4gIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG59XG5cbi5pbnB1dC1ncm91cC1hcHBlbmQsXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCB7XG4gIC5idG4gKyAuYnRuLWdyb3VwLFxuICAuYnRuLWdyb3VwICsgLmJ0bixcbiAgLmJ0bi1ncm91cCsuYnRuLWdyb3VwLFxuICAuYnRuLWdyb3VwKy5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXAtdGV4dCsuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tbGVmdDogLTEgKiAkaW5wdXQtYm9yZGVyLXdpZHRoO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTWF0ZXJpYWxcblxuQGlmICRtYXRlcmlhbC1zdHlsZSB7XG4gIC5pbnB1dC1ncm91cC10ZXh0IHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtdGV4dCsuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXByZXBlbmQgLmlucHV0LWdyb3VwLXRleHQ6Zmlyc3QtY2hpbGQsXG4gIC5pbnB1dC1ncm91cC1hcHBlbmQgLmlucHV0LWdyb3VwLXRleHQ6Zmlyc3QtY2hpbGQsXG4gIC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sOmZpcnN0LWNoaWxkLFxuICAuaW5wdXQtZ3JvdXA+LmN1c3RvbS1zZWxlY3Q6Zmlyc3QtY2hpbGQsXG4gIC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sKy5mb3JtLWNvbnRyb2wsXG4gIC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sKy5jdXN0b20tc2VsZWN0LFxuICAuaW5wdXQtZ3JvdXA+LmN1c3RvbS1zZWxlY3QrLmZvcm0tY29udHJvbCxcbiAgLmlucHV0LWdyb3VwPi5jdXN0b20tc2VsZWN0Ky5jdXN0b20tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1wcmVwZW5kIC5pbnB1dC1ncm91cC10ZXh0Omxhc3QtY2hpbGQsXG4gIC5pbnB1dC1ncm91cC1hcHBlbmQgLmlucHV0LWdyb3VwLXRleHQ6bGFzdC1jaGlsZCxcbiAgLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2w6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXA+LmN1c3RvbS1zZWxlY3Q6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBSVExcblxuQGluY2x1ZGUgcnRsLW9ubHkge1xuICAvLyBSZXNldCBib3JkZXIgcmFkaXVzXG5cbiAgLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2wsXG4gIC5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdCxcbiAgLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZD4uaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gIC5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWxhYmVsOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG4gIC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uYnRuLFxuICAuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZD4uYnRuLFxuICAuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLXByZXBlbmQ+LmJ0bi1ncm91cD4uYnRuLFxuICAuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZD4uYnRuLWdyb3VwPi5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJ0bi1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sZz4uZm9ybS1jb250cm9sLFxuICAuaW5wdXQtZ3JvdXAtbGc+LmN1c3RvbS1zZWxlY3QsXG4gIC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1hcHBlbmQ+LmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC1sZz4uY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAuaW5wdXQtZ3JvdXAtbGc+LmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1sYWJlbDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbiAgfVxuICAuaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLXByZXBlbmQ+LmJ0bixcbiAgLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1hcHBlbmQ+LmJ0bixcbiAgLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5idG4tZ3JvdXA+LmJ0bixcbiAgLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1hcHBlbmQ+LmJ0bi1ncm91cD4uYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtc20+LmZvcm0tY29udHJvbCxcbiAgLmlucHV0LWdyb3VwLXNtPi5jdXN0b20tc2VsZWN0LFxuICAuaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLXByZXBlbmQ+LmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXAtc20+LmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgLmlucHV0LWdyb3VwLXNtPi5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtbGFiZWw6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG4gIH1cbiAgLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5idG4sXG4gIC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5idG4tZ3JvdXA+LmJ0bixcbiAgLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5idG4tZ3JvdXA+LmJ0bixcbiAgLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1hcHBlbmQ+LmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xuICB9XG5cbiAgLy8gUmVtb3ZlIGJvcmRlciByYWRpdXNcblxuICAuaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbCxcbiAgLmlucHV0LWdyb3VwPi5jdXN0b20tc2VsZWN0IHtcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuICAgIH1cblxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlIHtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuICAgIH1cblxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5idG4sXG4gIC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKT4uYnRuLFxuICAuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpPi5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkPi5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gIC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQ+LmlucHV0LWdyb3VwLXRleHQ6bm90KDpsYXN0LWNoaWxkKSxcbiAgLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5idG4tZ3JvdXA+LmJ0bixcbiAgLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1hcHBlbmQ+LmJ0bi1ncm91cD4uYnRuOm5vdCg6bGFzdC1vZi10eXBlKSxcbiAgLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZD4uYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCk+LmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuICB9XG5cbiAgLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1hcHBlbmQ+LmJ0bixcbiAgLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1hcHBlbmQ+LmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKT4uYnRuLFxuICAuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCk+LmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZD4uYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQ+LmlucHV0LWdyb3VwLXRleHQ6bm90KDpmaXJzdC1jaGlsZCksXG4gIC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5idG4tZ3JvdXA+LmJ0bixcbiAgLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5idG4tZ3JvdXA+LmJ0bjpub3QoOmZpcnN0LW9mLXR5cGUpLFxuICAuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQ+LmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKT4uYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG5cbiAgLy8gTWFyZ2luc1xuXG4gIC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sLFxuICAuaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gIC5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdCxcbiAgLmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZSB7XG5cbiAgICArLmZvcm0tY29udHJvbCxcbiAgICArLmN1c3RvbS1zZWxlY3QsXG4gICAgKy5jdXN0b20tZmlsZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLXByZXBlbmQsXG4gIC5pbnB1dC1ncm91cC1hcHBlbmQge1xuICAgIC5idG4rLmJ0bixcbiAgICAuYnRuKy5pbnB1dC1ncm91cC10ZXh0LFxuICAgIC5pbnB1dC1ncm91cC10ZXh0Ky5pbnB1dC1ncm91cC10ZXh0LFxuICAgIC5pbnB1dC1ncm91cC10ZXh0Ky5idG4sXG4gICAgLmJ0bisuYnRuLWdyb3VwLFxuICAgIC5idG4tZ3JvdXArLmJ0bixcbiAgICAuYnRuLWdyb3VwKy5idG4tZ3JvdXAsXG4gICAgLmJ0bi1ncm91cCsuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgICAuaW5wdXQtZ3JvdXAtdGV4dCsuYnRuLWdyb3VwIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtcHJlcGVuZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1hcHBlbmQge1xuICAgIG1hcmdpbi1yaWdodDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbiIsIi8vIE1vZGFsc1xuLy9cblxuLm1vZGFsIHtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC10b3A7XG59XG5cbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtdG9wIC0gMTtcbn1cblxuLm1vZGFsLWNvbnRlbnQge1xuICBib3gtc2hhZG93OiAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzO1xufVxuXG4ubW9kYWwtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCArIDFyZW07XG5cbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICsgMXJlbTtcbiAgfVxufVxuXG4ubW9kYWwtZm9vdGVyIHtcbiAgcGFkZGluZzogJG1vZGFsLWZvb3Rlci1wYWRkaW5nO1xuXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgPiA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC4yNXJlbTtcbiAgICB9XG4gICAgPiA6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogLjI1cmVtO1xuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENsb3NlIGJ1dHRvblxuXG4ubW9kYWwtaGVhZGVyIC5jbG9zZSxcbi5tb2RhbC1zbGlkZSAuY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG5cbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFJlc3BvbnNpdmVcblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAubW9kYWwtY29udGVudCB7XG4gICAgYm94LXNoYWRvdzogJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDtcbiAgfVxuXG4gIG5nYi1tb2RhbC13aW5kb3cubW9kYWwtc20ge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuICAubW9kYWwtc20gLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtc207XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICBuZ2ItbW9kYWwtd2luZG93Lm1vZGFsLWxnLFxuICBuZ2ItbW9kYWwtd2luZG93Lm1vZGFsLXhsIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbiAgLm1vZGFsLWxnIC5tb2RhbC1kaWFsb2csXG4gIC5tb2RhbC14bCAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1sZztcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIG5nYi1tb2RhbC13aW5kb3cubW9kYWwteGwge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuICAubW9kYWwteGwgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwteGw7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBUb3AgbW9kYWxzXG5cbi5tb2RhbC10b3Age1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU2xpZGUgbW9kYWxzXG5cbi5tb2RhbC1zbGlkZSxcbi5tb2RhbC1zbGlkZSAubW9kYWwge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLm1vZGFsLXNsaWRlIHtcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogKG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIHNtKSkpIHtcbiAgICAgIHdpZHRoOiAkbW9kYWwtc2xpZGUtd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAoJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0ICogJGNsb3NlLWZvbnQtc2l6ZSkgKyAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteTtcbiAgICBwYWRkaW5nLWJvdHRvbTogKCRtb2RhbC10aXRsZS1saW5lLWhlaWdodCAqICRjbG9zZS1mb250LXNpemUpICsgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIG1hcmdpbjogYXV0byAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG5cbiAgLmNsb3NlIHtcbiAgICB0b3A6ICRtb2RhbC1oZWFkZXItcGFkZGluZy15IC8gMjtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBGaWxsLUluIG1vZGFsc1xuXG4ubW9kYWwtZmlsbC1pbiB7XG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZy10b3A6ICgkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQgKiAkY2xvc2UtZm9udC1zaXplKSArICRtb2RhbC1oZWFkZXItcGFkZGluZy15O1xuICAgIHBhZGRpbmctYm90dG9tOiAoJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0ICogJGNsb3NlLWZvbnQtc2l6ZSkgKyAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteTtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0ycmVtO1xuICAgIHJpZ2h0OiAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgdHJhbnNmb3JtOiBub25lO1xuXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQW5pbWF0aW9uc1xuXG4vLyBEZWZhdWx0XG5cbi5tb2RhbC5mYWRlIC5tb2RhbC1kaWFsb2cge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUwcHgpIHNjYWxlKC44KTtcbn1cblxuLm1vZGFsLnNob3cgLm1vZGFsLWRpYWxvZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTtcbn1cblxuLy8gVG9wXG5cbi5tb2RhbC10b3AuZmFkZSAubW9kYWwtZGlhbG9nLFxuLm1vZGFsLXRvcCAubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9nIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbn1cblxuLm1vZGFsLXRvcC5zaG93IC5tb2RhbC1kaWFsb2csXG4ubW9kYWwtdG9wIC5tb2RhbC5zaG93IC5tb2RhbC1kaWFsb2cge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi8vIFNsaWRlXG5cbi5tb2RhbC1zbGlkZS5mYWRlIC5tb2RhbC1kaWFsb2csXG4ubW9kYWwtc2xpZGUgLm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcblxuICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIH1cbn1cblxuLm1vZGFsLXNsaWRlLnNob3cgLm1vZGFsLWRpYWxvZyxcbi5tb2RhbC1zbGlkZSAubW9kYWwuc2hvdyAubW9kYWwtZGlhbG9nIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApICFpbXBvcnRhbnQ7XG59XG5cbi8vIEZpbGwtSW5cblxuLm1vZGFsLWZpbGwtaW4uZmFkZSAubW9kYWwtZGlhbG9nLFxuLm1vZGFsLWZpbGwtaW4gLm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gIHRyYW5zZm9ybTogc2NhbGUoLjUsIC41KTtcbn1cblxuLm1vZGFsLWZpbGwtaW4uc2hvdyAubW9kYWwtZGlhbG9nLFxuLm1vZGFsLWZpbGwtaW4gLm1vZGFsLnNob3cgLm1vZGFsLWRpYWxvZyB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG59XG4iLCIvLyBCcmVhZGNydW1ic1xuLy9cblxuLmJyZWFkY3J1bWItaXRlbSxcbi5icmVhZGNydW1iLWl0ZW0gYSB7XG4gIGNvbG9yOiAkYnJlYWRjcnVtYi1jb2xvcjtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjtcbiAgfVxufVxuXG4uYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZSBhIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogUlRMXG5cbkBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgLmJyZWFkY3J1bWItaXRlbSArLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBjb250ZW50OiBcIiN7JGJyZWFkY3J1bWItZGl2aWRlci1ydGx9XCI7XG4gICAgfVxuICB9XG59XG4iLCIvLyBMaXN0IGdyb3Vwc1xuLy9cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpZiAkY29sb3IgIT0gcHJpbWFyeSBhbmQgJGNvbG9yICE9IGxpZ2h0IHtcbiAgICBAaW5jbHVkZSBhcHB3b3JrLWxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCcubGlzdC1ncm91cC1pdGVtLSN7JGNvbG9yfScsICR2YWx1ZSk7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBSVExcblxuQGluY2x1ZGUgcnRsLW9ubHkge1xuICAubGlzdC1ncm91cCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuIiwiLy8gTmF2YmFyXG4vL1xuXG4ubmF2YmFyIHtcbiAgei1pbmRleDogMjtcbn1cblxuLmZpeGVkLXRvcCB7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbkBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgLm5hdmJhci1uYXYge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAubmF2YmFyLWJyYW5kIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRuYXZiYXItcGFkZGluZy14O1xuICB9XG59XG5cbi5uYXZiYXIubmF2YmFyLWRhcmsge1xuICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xufVxuXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLmRpc2FibGVkIHtcbiAgY29sb3I6ICRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvciAhaW1wb3J0YW50O1xufVxuXG4ubmF2YmFyLm5hdmJhci1saWdodCB7XG4gIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xufVxuXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5kaXNhYmxlZCB7XG4gIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi8vIElFIGZpeFxuLm5hdmJhci1jb2xsYXBzZSxcbi5uYXZiYXItYnJhbmQsXG4ubmF2YmFyLXRleHQge1xuICBmbGV4LXNocmluazogMTtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBSdWxlcnNcblxuLm5hdmJhci1kYXJrIGhyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKTtcbn1cblxuLm5hdmJhci1saWdodCBociB7XG4gIGJvcmRlci1jb2xvcjogJGdyYXktMTAwO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEljb25zXG5cbi5uYXZiYXItaWNvbiB7XG4gIGZvbnQtc2l6ZTogMTMwJTtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTZWFyY2ggYm94XG5cbi5uYXZiYXItc2VhcmNoLWJveCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMDtcblxuICAmOm5vdCguYWN0aXZlKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi5uYXZiYXItc2VhcmNoLWlucHV0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiAwO1xuICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggLjNzIGVhc2UtaW4tb3V0O1xuXG4gIC5uYXZiYXItc2VhcmNoLWJveC5hY3RpdmUgJiB7XG4gICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcblxuICAgIC5uYXZiYXItZGFyayAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yO1xuICAgIH1cblxuICAgIC5uYXZiYXItbGlnaHQgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5uYXZiYXItc2VhcmNoLWNhbmNlbCB7XG4gIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIGZvbnQtc2l6ZTogMS41NWVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgb3BhY2l0eTogLjU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ubmF2YmFyLWV4cGFuZCB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAgIC5uYXZiYXItc2VhcmNoLWJveC5uYXYtbGluayB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICAubmF2YmFyLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItc2VhcmNoLWlucHV0IC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLXNlYXJjaC1jYW5jZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLm5hdmJhci1kYXJrIC5uYXZiYXItc2VhcmNoLWJveCB7XG4gICAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYubmF2YmFyLWxpZ2h0IC5uYXZiYXItc2VhcmNoLWJveCB7XG4gICAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBNZWdhIGRyb3Bkb3duXG5cbi5tZWdhLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuIiwiLy8gQ2FyZHNcbi8vXG5cbi5jYXJkIHtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm94LXNoYWRvdzogJGNhcmQtc2hhZG93O1xufVxuXG4uY2FyZC1saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5AaW5jbHVkZSBydGwtb25seSB7XG4gIC5jYXJkLWxpbmsgKyAuY2FyZC1saW5rIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRjYXJkLXNwYWNlci14O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5jYXJkLWhlYWRlciB7XG4gIGxpbmUtaGVpZ2h0OiAkY29tcG9uZW50LWxpbmUtaGVpZ2h0O1xufVxuXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgLmNhcmQtaGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gIH1cblxuICAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgfVxufVxuXG4vLyBJbm5lciBib3JkZXJzXG5cbi5jYXJkLWhlYWRlcixcbi5jYXJkLWZvb3Rlcixcbi5jYXJkIGhyIHtcbiAgYm9yZGVyLWNvbG9yOiAkY2FyZC1pbm5lci1ib3JkZXItY29sb3I7XG59XG5cbi5jYXJkIC5saXN0LWdyb3VwLWl0ZW0ge1xuICBib3JkZXItY29sb3I6IHJnYmEtdG8taGV4KCRjYXJkLWlubmVyLWJvcmRlci1jb2xvcik7XG59XG5cbi5jYXJkIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3NePVwiY29sLVwiXSxcbi5jYXJkIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MqPVwiIGNvbC1cIl0sXG4uY2FyZCAucm93LWJvcmRlcmVkID4gW2NsYXNzXj1cImNvbCBcIl0sXG4uY2FyZCAucm93LWJvcmRlcmVkID4gW2NsYXNzKj1cIiBjb2wgXCJdLFxuLmNhcmQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyQ9XCIgY29sXCJdLFxuLmNhcmQgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcz1cImNvbFwiXSB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogJGNhcmQtaW5uZXItYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogSGVhZGVyIC8gVGl0bGUgd2l0aCBlbGVtZW50cyhjb250cm9scylcblxuLmNhcmQtaGVhZGVyLndpdGgtZWxlbWVudHMsXG4uY2FyZC10aXRsZS53aXRoLWVsZW1lbnRzIHtcbiAgZGlzcGxheTogZmxleDtcblxuICB3aWR0aDogMTAwJTtcblxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5jYXJkLWhlYWRlci53aXRoLWVsZW1lbnRzIHtcbiAgcGFkZGluZy10b3A6ICRjYXJkLXNwYWNlci15IC8gMjtcbiAgcGFkZGluZy1ib3R0b206ICRjYXJkLXNwYWNlci15IC8gMjtcbn1cblxuLmNhcmQtaGVhZGVyLWVsZW1lbnRzLFxuLmNhcmQtdGl0bGUtZWxlbWVudHMge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICAmICsgJixcbiAgPiAqICsgKiB7XG4gICAgbWFyZ2luLWxlZnQ6IC4yNXJlbTtcblxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC4yNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4uY2FyZC1oZWFkZXItdGl0bGUge1xuICBwYWRkaW5nOiAoJGNhcmQtc3BhY2VyLXkgLyAyKSAwO1xufVxuXG4uY2FyZC1oZWFkZXItZWxlbWVudHMge1xuICBwYWRkaW5nLXRvcDogLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogLjI1cmVtO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIExpc3QgZ3JvdXBzXG5cbi5jYXJkID4gLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRjYXJkLXNwYWNlci14O1xuICBwYWRkaW5nLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENvbmRlbmNlZFxuXG4uY2FyZC1jb25kZW5jZWQge1xuICAuY2FyZC1oZWFkZXIsXG4gIC5jYXJkLWZvb3RlcixcbiAgPiAubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyZC1zcGFjZXIteC1zbTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjYXJkLXNwYWNlci14LXNtO1xuICB9XG5cbiAgLmNhcmQtYm9keSxcbiAgLmNhcmQtaW1nLW92ZXJsYXkge1xuICAgIHBhZGRpbmc6ICRjYXJkLXNwYWNlci14LXNtO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogSG92ZXJhYmxlXG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmNhcmQtaG92ZXJbY2xhc3NdLFxuaHRtbFtkaXI9cnRsXSAuY2FyZC1ob3ZlcltjbGFzc10ge1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xuXG4gICY6bm90KDpob3Zlcikge1xuICAgIGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFJUTFxuXG5AaW5jbHVkZSBydGwtb25seSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAuY2FyZC1ncm91cCA+IC5jYXJkIHtcbiAgICAgIGJvcmRlcjogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXM7XG5cbiAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAuY2FyZC1oZWFkZXI6Zmlyc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cblxuICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgIC5jYXJkLWZvb3RlcjpsYXN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIHJvdW5kZWQgY29ybmVyc1xuICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgLmNhcmQtZ3JvdXAgPiAuY2FyZCB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQWNjb3JkaW9uc1xuLy9cblxuLmNvbGxhcHNlLWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIHdpZHRoOiAuODc1cmVtO1xuICBoZWlnaHQ6IC44NzVyZW07XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAtLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtLjI1cmVtO1xuICAgIHdpZHRoOiAuNXJlbTtcbiAgICBoZWlnaHQ6IC41cmVtO1xuICAgIGJvcmRlci1ib3R0b206IC4wNjI1cmVtIHNvbGlkICRncmF5LTQwMDtcbiAgICBib3JkZXItbGVmdDogLjA2MjVyZW0gc29saWQgJGdyYXktNDAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblxuICAgIFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSAmIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgfVxuICB9XG59XG5cbi5hY2NvcmRpb24gPiAuY2FyZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7XG5cbiAgLmNhcmQtaGVhZGVyOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cbn1cbiIsIi8vIENhcm91c2VsXG4vL1xuXG5AaW5jbHVkZSBydGwtb25seSB7XG4gIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblxuICAgIEBzdXBwb3J0cyAodHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZCkge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG4gIH1cblxuICAuY2Fyb3VzZWwtaXRlbS1uZXh0Om5vdCguY2Fyb3VzZWwtaXRlbS1sZWZ0KSxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXG4gICAgQHN1cHBvcnRzICh0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB9XG4gIH1cblxuICAuY2Fyb3VzZWwtaXRlbS1wcmV2Om5vdCguY2Fyb3VzZWwtaXRlbS1yaWdodCksXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG5cbiAgICBAc3VwcG9ydHMgKHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QpIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgfVxuICB9XG5cbiAgLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIC5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgLy8gb3ZlcnJpZGUgPG9sPiBkZWZhdWx0XG4gIH1cblxuICAuY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4gIC5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICB9XG59XG4iLCIvLyBDbG9zZSBidXR0b25zXG4vL1xuXG4uY2xvc2U6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG5AaW5jbHVkZSBydGwtb25seSB7XG4gIC5jbG9zZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cbiIsIi8vIFRvYXN0c1xuLy9cblxuLnRvYXN0LmJzNC10b2FzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xufVxuXG4uYnM0LXRvYXN0W2NsYXNzXj1cImJnLVwiXSxcbi5iczQtdG9hc3RbY2xhc3MqPVwiIGJnLVwiXSB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpZiAkY29sb3IgIT0gcHJpbWFyeSB7XG4gICAgQGluY2x1ZGUgYXBwd29yay10b2FzdC12YXJpYW50KCcuYmctI3skY29sb3J9JywgJHZhbHVlKTtcbiAgfVxufVxuIiwiLy8gRm9vdGVyXG4vL1xuXG4uZm9vdGVyLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8vIERhcmsgZm9vdGVyXG4uZm9vdGVyLWRhcmsge1xuICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuXG4gIC5mb290ZXItbGluayB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstaG92ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmZvb3Rlci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgfVxuXG4gIC5zaG93ID4gLmZvb3Rlci1saW5rLFxuICAuYWN0aXZlID4gLmZvb3Rlci1saW5rLFxuICAuZm9vdGVyLWxpbmsuc2hvdyxcbiAgLmZvb3Rlci1saW5rLmFjdGl2ZSB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gIH1cblxuICBociB7XG4gICAgYm9yZGVyLWNvbG9yOiAkc2lkZW5hdi1kYXJrLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG4vLyBMaWdodCBmb290ZXJcbi5mb290ZXItbGlnaHQge1xuICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcblxuICAuZm9vdGVyLWxpbmsge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5mb290ZXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICB9XG5cbiAgLnNob3cgPiAuZm9vdGVyLWxpbmssXG4gIC5hY3RpdmUgPiAuZm9vdGVyLWxpbmssXG4gIC5mb290ZXItbGluay5zaG93LFxuICAuZm9vdGVyLWxpbmsuYWN0aXZlIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gIH1cblxuICBociB7XG4gICAgYm9yZGVyLWNvbG9yOiAkc2lkZW5hdi1saWdodC1ib3JkZXItY29sb3I7XG4gIH1cbn1cbiIsIi5zaWRlbmF2IHtcbiAgZGlzcGxheTogZmxleDtcblxuICAucHNfX3RodW1iLXksXG4gIC5wc19fcmFpbC15IHtcbiAgICB3aWR0aDogLjEyNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBzX19yYWlsLXkge1xuICAgIHJpZ2h0OiAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBsZWZ0OiAuMjVyZW0gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAucHNfX3JhaWwteTpob3ZlcixcbiAgLnBzX19yYWlsLXk6Zm9jdXMsXG4gIC5wc19fcmFpbC15LnBzLS1jbGlja2luZyxcbiAgLnBzX19yYWlsLXk6aG92ZXIgPiAucHNfX3RodW1iLXksXG4gIC5wc19fcmFpbC15OmZvY3VzID4gLnBzX190aHVtYi15LFxuICAucHNfX3JhaWwteS5wcy0tY2xpY2tpbmcgPiAucHNfX3RodW1iLXkge1xuICAgIHdpZHRoOiAuMzc1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnNpZGVuYXYtaW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5zaWRlbmF2LWl0ZW0sXG4uc2lkZW5hdi1oZWFkZXIsXG4uc2lkZW5hdi1kaXZpZGVyLFxuLnNpZGVuYXYtYmxvY2sge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uc2lkZW5hdi1pdGVtIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAmLnNpZGVuYXYtaXRlbS1hbmltYXRpbmcge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAkc2lkZW5hdi1hbmltYXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQ7XG4gIH1cbn1cblxuLnNpZGVuYXYtaXRlbSAuc2lkZW5hdi1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4OiAwIDEgYXV0bztcblxuICAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+ICYge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaWJvbGQ7XG4gIH1cblxuICAuc2lkZW5hdi1pdGVtLmRpc2FibGVkICYge1xuICAgIGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNpZGVuYXY6bm90KC5zaWRlbmF2LW5vLWFuaW1hdGlvbikgJiB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHNpZGVuYXYtYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG5cbiAgID4gOm5vdCguc2lkZW5hdi1pY29uKSB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbn1cblxuLnNpZGVuYXYtdG9nZ2xlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG5cbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC00NWRlZyk7XG4gIH1cblxuICAuc2lkZW5hdi1pdGVtLm9wZW46bm90KC5zaWRlbmF2LWl0ZW0tY2xvc2luZykgPiAmIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC00NWRlZyk7XG5cbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICB9XG5cbiAgLnNpZGVuYXY6bm90KC5zaWRlbmF2LW5vLWFuaW1hdGlvbikgJiB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHNpZGVuYXYtYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtLCB0cmFuc2Zvcm07XG4gIH1cbn1cblxuLnNpZGVuYXYtbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICAuc2lkZW5hdjpub3QoLnNpZGVuYXYtbm8tYW5pbWF0aW9uKSAmIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbjtcbiAgfVxuXG4gIC5zaWRlbmF2LWl0ZW0ub3BlbiA+ICYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLnNpZGVuYXYtaWNvbiB7XG4gIGZsZXgtZ3JvdzogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1hcmdpbi1yaWdodDogJHNpZGVuYXYtaWNvbi1leHBhbmRlZC1zcGFjZXI7XG4gIGZvbnQtc2l6ZTogJHNpZGVuYXYtaWNvbi1leHBhbmRlZC1mb250LXNpemU7XG5cbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRzaWRlbmF2LWljb24tZXhwYW5kZWQtc3BhY2VyO1xuICB9XG59XG5cbi5zaWRlbmF2LWRpdmlkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQ7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVmVydGljYWxcblxuLnNpZGVuYXYtdmVydGljYWwge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICY6bm90KC5zaWRlbmF2LW5vLWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246IHdpZHRoICRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbjtcbiAgfVxuXG4gICYsXG4gIC5zaWRlbmF2LWJsb2NrLFxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0sXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaGVhZGVyIHtcbiAgICB3aWR0aDogJHNpZGVuYXYtd2lkdGg7XG4gIH1cblxuICAuc2lkZW5hdi1pbm5lciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgICA+IC5zaWRlbmF2LWl0ZW0ge1xuICAgICAgbWFyZ2luOiAkc2lkZW5hdi1pdGVtLXNwYWNlciAwO1xuICAgIH1cbiAgfVxuXG4gIC5zaWRlbmF2LWl0ZW0gLnNpZGVuYXYtbGluayxcbiAgLnNpZGVuYXYtaGVhZGVyLFxuICAuc2lkZW5hdi1ibG9jayB7XG4gICAgcGFkZGluZzogJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXkgJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXg7XG4gIH1cblxuICAuc2lkZW5hdi1kaXZpZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteTtcbiAgICBtYXJnaW4tYm90dG9tOiAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLnNpZGVuYXYtaXRlbSAuc2lkZW5hdi10b2dnbGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoI3skc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteH0gKyAjeyRjYXJldC13aWR0aCAqIDN9KTtcblxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteDtcbiAgICAgIHBhZGRpbmctbGVmdDogY2FsYygjeyRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy14fSArICN7JGNhcmV0LXdpZHRoICogM30pO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteDtcblxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6ICRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy14O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zaWRlbmF2LW1lbnUge1xuICAgIHBhZGRpbmctdG9wOiAkc2lkZW5hdi12ZXJ0aWNhbC1tZW51LWxpbmstcGFkZGluZy15O1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2lkZW5hdi12ZXJ0aWNhbC1tZW51LWxpbmstcGFkZGluZy15O1xuXG4gICAgLnNpZGVuYXYtbGluayB7XG4gICAgICBwYWRkaW5nLXRvcDogJHNpZGVuYXYtdmVydGljYWwtbWVudS1saW5rLXBhZGRpbmcteTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkc2lkZW5hdi12ZXJ0aWNhbC1tZW51LWxpbmstcGFkZGluZy15O1xuICAgIH1cbiAgfVxuXG4gIC5zaWRlbmF2LWljb24ge1xuICAgIHdpZHRoOiAkc2lkZW5hdi1pY29uLWV4cGFuZGVkLXdpZHRoO1xuICB9XG5cbiAgLnNpZGVuYXYtbWVudSAuc2lkZW5hdi1pY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gTGV2ZWxzXG4gIC8vXG5cbiAgJHNpZGVuYXYtZmlyc3QtbGV2ZWwtc3BhY2VyOiAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteCArICRzaWRlbmF2LWljb24tZXhwYW5kZWQtd2lkdGggKyAkc2lkZW5hdi1pY29uLWV4cGFuZGVkLXNwYWNlcjtcblxuICAuc2lkZW5hdi1tZW51IC5zaWRlbmF2LWxpbmsge1xuICAgIHBhZGRpbmctbGVmdDogJHNpZGVuYXYtZmlyc3QtbGV2ZWwtc3BhY2VyO1xuXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRzaWRlbmF2LWZpcnN0LWxldmVsLXNwYWNlcjtcbiAgICAgIHBhZGRpbmctbGVmdDogJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXg7XG4gICAgfVxuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkc2lkZW5hdi1tYXgtbGV2ZWxzIHtcbiAgICAkc2VsZWN0b3I6ICcnO1xuXG4gICAgQGZvciAkbCBmcm9tIDEgdGhyb3VnaCAkaSB7XG4gICAgICAkc2VsZWN0b3I6IFwiI3skc2VsZWN0b3J9IC5zaWRlbmF2LW1lbnVcIjtcbiAgICB9XG5cbiAgICAjeyRzZWxlY3Rvcn0gLnNpZGVuYXYtbGluayB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRzaWRlbmF2LWZpcnN0LWxldmVsLXNwYWNlciArICgkc2lkZW5hdi12ZXJ0aWNhbC1tZW51LWxldmVsLXNwYWNlciAqICgkaSAtIDEpKTtcblxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHNpZGVuYXYtZmlyc3QtbGV2ZWwtc3BhY2VyICsgKCRzaWRlbmF2LXZlcnRpY2FsLW1lbnUtbGV2ZWwtc3BhY2VyICogKCRpIC0gMSkpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy14O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogSG9yaXpvbnRhbFxuXG4uc2lkZW5hdi1ob3Jpem9udGFsIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLnNpZGVuYXYtaW5uZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4OiAwIDEgMTAwJTtcbiAgfVxuXG4gIC5zaWRlbmF2LWl0ZW0gLnNpZGVuYXYtbGluayB7XG4gICAgcGFkZGluZzogJHNpZGVuYXYtaG9yaXpvbnRhbC1saW5rLXBhZGRpbmcteSAkc2lkZW5hdi1ob3Jpem9udGFsLWxpbmstcGFkZGluZy14O1xuICB9XG5cbiAgLnNpZGVuYXYtaXRlbSAuc2lkZW5hdi10b2dnbGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoI3skc2lkZW5hdi1ob3Jpem9udGFsLWxpbmstcGFkZGluZy14fSArICN7JGNhcmV0LXdpZHRoICogM30pO1xuXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRzaWRlbmF2LWhvcml6b250YWwtbGluay1wYWRkaW5nLXg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoI3skc2lkZW5hdi1ob3Jpem9udGFsLWxpbmstcGFkZGluZy14fSArICN7JGNhcmV0LXdpZHRoICogM30pO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAkc2lkZW5hdi1ob3Jpem9udGFsLWxpbmstcGFkZGluZy14O1xuXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogJHNpZGVuYXYtaG9yaXpvbnRhbC1saW5rLXBhZGRpbmcteDtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbSA+IC5zaWRlbmF2LXRvZ2dsZTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcblxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG4gIH1cblxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW06bm90KC5zaWRlbmF2LWl0ZW0tY2xvc2luZykub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTM1ZGVnKTtcblxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC0xMzVkZWcpO1xuICAgIH1cbiAgfVxuXG4gIC5zaWRlbmF2LWhlYWRlcixcbiAgLnNpZGVuYXYtZGl2aWRlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNpZGVuYXYtbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAkc2lkZW5hdi1tZW51LXdpZHRoO1xuXG4gICAgLnNpZGVuYXYtbWVudSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLnNpZGVuYXYtbGluayB7XG4gICAgICBwYWRkaW5nLXRvcDogJHNpZGVuYXYtaG9yaXpvbnRhbC1tZW51LWxpbmstcGFkZGluZy15O1xuICAgICAgcGFkZGluZy1ib3R0b206ICRzaWRlbmF2LWhvcml6b250YWwtbWVudS1saW5rLXBhZGRpbmcteTtcbiAgICB9XG4gIH1cblxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0gPiAuc2lkZW5hdi1tZW51IHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOm5vdCguc2lkZW5hdi1uby1hbmltYXRpb24pIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtbWVudSB7XG4gICAgYW5pbWF0aW9uOiBzaWRlbmF2RHJvcGRvd25TaG93ICRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dDtcbiAgfVxuXG4gIC8vIExldmVsc1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRzaWRlbmF2LW1heC1sZXZlbHMge1xuICAgICRzZWxlY3RvcjogJyc7XG5cbiAgICBAZm9yICRsIGZyb20gMSB0aHJvdWdoICRpIHtcbiAgICAgICRzZWxlY3RvcjogXCIjeyRzZWxlY3Rvcn0gLnNpZGVuYXYtbWVudVwiO1xuICAgIH1cblxuICAgICN7JHNlbGVjdG9yfSAuc2lkZW5hdi1saW5rIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJHNpZGVuYXYtaG9yaXpvbnRhbC1tZW51LWxldmVsLXNwYWNlciAqICRpO1xuXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc2lkZW5hdi1ob3Jpem9udGFsLW1lbnUtbGV2ZWwtc3BhY2VyICogJGk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHNpZGVuYXYtaG9yaXpvbnRhbC1saW5rLXBhZGRpbmcteDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNpZGVuYXYtaG9yaXpvbnRhbC13cmFwcGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZmxleDogMCAxIDEwMCU7XG4gIHdpZHRoOiAwO1xuXG4gIC5zaWRlbmF2Om5vdCguc2lkZW5hdi1uby1hbmltYXRpb24pICYgLnNpZGVuYXYtaW5uZXIge1xuICAgIHRyYW5zaXRpb246IG1hcmdpbiAkc2lkZW5hdi1hbmltYXRpb24tZHVyYXRpb247XG4gIH1cbn1cblxuLnNpZGVuYXYtaG9yaXpvbnRhbC1wcmV2LFxuLnNpZGVuYXYtaG9yaXpvbnRhbC1uZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiAkc2lkZW5hdi1jb250cm9sLXdpZHRoO1xuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRzaWRlbmF2LWNvbnRyb2wtYXJyb3ctc2l6ZTtcbiAgICBoZWlnaHQ6ICRzaWRlbmF2LWNvbnRyb2wtYXJyb3ctc2l6ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG5cbiAgJi5kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnNpZGVuYXYtaG9yaXpvbnRhbC1wcmV2OjphZnRlciB7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcblxuICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgfVxufVxuXG4uc2lkZW5hdi1ob3Jpem9udGFsLW5leHQ6OmFmdGVyIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xuXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDEzNWRlZyk7XG4gIH1cbn1cblxuQGluY2x1ZGUga2V5ZnJhbWVzKHNpZGVuYXZEcm9wZG93blNob3cpIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0uNXJlbSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBVbml2ZXJzYWwgY29sb3JpbmdcblxuLnNpZGVuYXYtZGFyayB7XG4gIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG5cbiAgLnNpZGVuYXYtbGluayxcbiAgLnNpZGVuYXYtaG9yaXpvbnRhbC1wcmV2LFxuICAuc2lkZW5hdi1ob3Jpem9udGFsLW5leHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5zaWRlbmF2LWl0ZW0uZGlzYWJsZWQgLnNpZGVuYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNpZGVuYXYtaXRlbS5vcGVuOm5vdCguc2lkZW5hdi1pdGVtLWNsb3NpbmcpID4gLnNpZGVuYXYtdG9nZ2xlLFxuICAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICB9XG5cbiAgLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rOm5vdCguc2lkZW5hdi10b2dnbGUpIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2lkZW5hdi1kYXJrLW1lbnUtYmc7XG4gIH1cblxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0uc2lkZW5hdi1pdGVtLWNsb3NpbmcgLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LW1lbnUsXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5zaWRlbmF2LWl0ZW0tY2xvc2luZyAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtdG9nZ2xlIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICB9XG5cbiAgLnNpZGVuYXYtdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gIH1cblxuICAuc2lkZW5hdi1oZWFkZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG4gIH1cblxuICBocixcbiAgLnNpZGVuYXYtZGl2aWRlcixcbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gPiAuc2lkZW5hdi1tZW51OjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJHNpZGVuYXYtZGFyay1ib3JkZXItY29sb3IgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaGVhZGVyOjpiZWZvcmUsXG4gIC5zaWRlbmF2LWJsb2NrOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjtcbiAgfVxuXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZW5hdi1kYXJrLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICB9XG5cbiAgLnBzX190aHVtYi15IHtcbiAgICBiYWNrZ3JvdW5kOiAkbmF2YmFyLWRhcmstY29sb3IgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2lkZW5hdi1saWdodCB7XG4gIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuXG4gIC5zaWRlbmF2LWxpbmssXG4gIC5zaWRlbmF2LWhvcml6b250YWwtcHJldixcbiAgLnNpZGVuYXYtaG9yaXpvbnRhbC1uZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAuc2lkZW5hdi1pdGVtLmRpc2FibGVkIC5zaWRlbmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuc2lkZW5hdi1pdGVtLm9wZW46bm90KC5zaWRlbmF2LWl0ZW0tY2xvc2luZykgPiAuc2lkZW5hdi10b2dnbGUsXG4gIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICB9XG5cbiAgLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rOm5vdCguc2lkZW5hdi10b2dnbGUpIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2lkZW5hdi1saWdodC1tZW51LWJnO1xuICB9XG5cbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLnNpZGVuYXYtaXRlbS1jbG9zaW5nIC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1tZW51LFxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0uc2lkZW5hdi1pdGVtLWNsb3NpbmcgLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LXRvZ2dsZSB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gIH1cblxuICAuc2lkZW5hdi10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gIH1cblxuICAuc2lkZW5hdi1oZWFkZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICB9XG5cbiAgaHIsXG4gIC5zaWRlbmF2LWRpdmlkZXIsXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtbWVudTo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICRzaWRlbmF2LWxpZ2h0LWJvcmRlci1jb2xvciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1oZWFkZXI6OmJlZm9yZSxcbiAgLnNpZGVuYXYtYmxvY2s6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjtcbiAgfVxuXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZW5hdi1saWdodC1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbms6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gIH1cblxuICAucHNfX3RodW1iLXkge1xuICAgIGJhY2tncm91bmQ6ICRuYXZiYXItbGlnaHQtY29sb3IgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENvbGxhcHNlZFxuXG5AbWl4aW4gc2lkZW5hdi1jb2xsYXBzZWQoKSB7XG4gIHdpZHRoOiAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg7XG5cbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtIHtcbiAgICB3aWR0aDogJHNpZGVuYXYtd2lkdGggKyAoJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoIC0gJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXggLSAkc2lkZW5hdi1pY29uLWV4cGFuZGVkLXdpZHRoKTtcbiAgfVxuXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbSA+IC5zaWRlbmF2LWxpbmsge1xuICAgIHBhZGRpbmctbGVmdDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xuICB9XG5cbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1oZWFkZXIsXG4gIC5zaWRlbmF2LWJsb2NrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6ICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXggKiAyKSAtICRzaWRlbmF2LWljb24tZXhwYW5kZWQtc3BhY2VyO1xuICAgIHBhZGRpbmctbGVmdDogJHNpZGVuYXYtaWNvbi1leHBhbmRlZC1zcGFjZXI7XG4gICAgd2lkdGg6ICRzaWRlbmF2LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy15O1xuICAgICAgYm90dG9tOiAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteTtcbiAgICAgIGxlZnQ6IC0xICogKCRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aCAqIC43NSk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGggLyAyO1xuICAgIH1cbiAgfVxuXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbSA+IC5zaWRlbmF2LW1lbnUsXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtbWVudSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGggLSAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteCAtICRzaWRlbmF2LWljb24tZXhwYW5kZWQtd2lkdGg7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgLnNpZGVuYXYtbGluayB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gPiAuc2lkZW5hdi1tZW51IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IGNhbGMoI3skc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGggLyAyfSAtIDFweCk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAtKCRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aCAtICRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy14IC0gJHNpZGVuYXYtaWNvbi1leHBhbmRlZC13aWR0aCk7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQ7XG4gICAgfVxuICB9XG5cbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtdG9nZ2xlLFxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbmsge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoI3soJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoIC8gMikgLSAoJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoIC0gJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXggLSAkc2lkZW5hdi1pY29uLWV4cGFuZGVkLXdpZHRoKX0gLSA0cHgpO1xuICAgICAgd2lkdGg6IDhweDtcbiAgICAgIGhlaWdodDogOHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cbiAgfVxuXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbSA+IC5zaWRlbmF2LXRvZ2dsZTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6ICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aCAtICRzaWRlbmF2LWNvbnRyb2wtYXJyb3ctc2l6ZSAtIC4zNzVyZW07XG4gIH1cblxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0gPiAuc2lkZW5hdi1saW5rIC5zaWRlbmF2LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAtJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xuICAgIHdpZHRoOiAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbkBtaXhpbiBzaWRlbmF2LWNvbGxhcHNlZC1ydGwoKSB7XG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbSA+IC5zaWRlbmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy14O1xuICB9XG5cbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1oZWFkZXIsXG4gIC5zaWRlbmF2LWJsb2NrIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc2lkZW5hdi1pY29uLWV4cGFuZGVkLXNwYWNlcjtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteCAqIDIpIC0gJHNpZGVuYXYtaWNvbi1leHBhbmRlZC1zcGFjZXI7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IC0xICogKCRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aCAqIC43NSk7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbSA+IC5zaWRlbmF2LW1lbnUsXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtbWVudSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGggLSAkc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteCAtICRzaWRlbmF2LWljb24tZXhwYW5kZWQtd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LW1lbnU6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IGNhbGMoI3skc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGggLyAyfSAtIDFweCk7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IC0oJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoIC0gJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXggLSAkc2lkZW5hdi1pY29uLWV4cGFuZGVkLXdpZHRoKTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZTo6YmVmb3JlLFxuICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbms6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoI3soJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoIC8gMikgLSAoJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoIC0gJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXggLSAkc2lkZW5hdi1pY29uLWV4cGFuZGVkLXdpZHRoKX0gLSA0cHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtID4gLnNpZGVuYXYtdG9nZ2xlOjphZnRlciB7XG4gICAgcmlnaHQ6ICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aCAtICRzaWRlbmF2LWNvbnRyb2wtYXJyb3ctc2l6ZSAtIC4zNzVyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbSA+IC5zaWRlbmF2LWxpbmsgLnNpZGVuYXYtaWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAkc2lkZW5hdi1pY29uLWV4cGFuZGVkLXNwYWNlcjtcbiAgfVxufVxuXG4uc2lkZW5hdi1jb2xsYXBzZWQ6bm90KDpob3Zlcikge1xuICBAaW5jbHVkZSBzaWRlbmF2LWNvbGxhcHNlZCgpO1xuXG4gIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgQGluY2x1ZGUgc2lkZW5hdi1jb2xsYXBzZWQtcnRsKCk7XG4gIH1cbn1cbiIsIi8vIExheW91dHNcbi8vXG5cbi5sYXlvdXQtd3JhcHBlcixcbi5sYXlvdXQtaW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZmxleDogMSAxIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubGF5b3V0LW9mZmNhbnZhcyAubGF5b3V0LXdyYXBwZXIsXG4ubGF5b3V0LWZpeGVkLW9mZmNhbnZhcyAubGF5b3V0LXdyYXBwZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubGF5b3V0LWlubmVyIHtcbiAgbWluLWhlaWdodDogMTAwdmg7XG59XG5cbi5sYXlvdXQtY29udGFpbmVyLFxuLmxheW91dC1jb250ZW50LFxuLmxheW91dC1jb250ZW50ID4gKixcbi5sYXlvdXQtc2lkZW5hdiB7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbn1cblxuLmxheW91dC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IDA7XG5cbiAgLmxheW91dC13aXRob3V0LXNpZGVuYXYgJiB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5sYXlvdXQtY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ubGF5b3V0LW5hdmJhcixcbi5sYXlvdXQtZm9vdGVyIHtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5sYXlvdXQtbmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuXG4gIC5uYXZiYXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmxheW91dC1zaWRlbmF2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAxIDAgYXV0bztcblxuICAuc2lkZW5hdiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zaWRlbmF2LXZlcnRpY2FsIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBMYXlvdXQgMVxuXG4ubGF5b3V0LTEge1xuICAubGF5b3V0LWlubmVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgLmxheW91dC1jb250ZW50IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIHdpZHRoOiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBMYXlvdXQgMlxuXG4ubGF5b3V0LTIge1xuICAubGF5b3V0LWNvbnRhaW5lciB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAubGF5b3V0LWNvbnRlbnQge1xuICAgIC8vIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBSZXZlcnNlZCBsYXlvdXRcblxuLmxheW91dC1yZXZlcnNlZCB7XG4gIC5sYXlvdXQtMSAubGF5b3V0LWNvbnRhaW5lciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG5cbiAgLmxheW91dC0yIC5sYXlvdXQtaW5uZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFRvZ2dsZVxuXG4ubGF5b3V0LXNpZGVuYXYtdG9nZ2xlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogU21hbGwgc2NyZWVucyBsYXlvdXRcblxuQG1lZGlhIChtYXgtd2lkdGg6IChtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBsZykgLSAxKSkge1xuICAubGF5b3V0LXNpZGVuYXYge1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtO1xuXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIH1cblxuICAgIC5sYXlvdXQtcmV2ZXJzZWQgJiB7XG4gICAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB9XG5cbiAgICAubGF5b3V0LWV4cGFuZGVkICYge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5sYXlvdXQtZXhwYW5kZWQgYm9keSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgICAmLmxheW91dC1yZXZlcnNlZCAubGF5b3V0LXNpZGVuYXYge1xuICAgICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIH1cbiAgfVxuXG4gIC5sYXlvdXQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWJhY2tkcm9wLWJnO1xuICAgIG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC5sYXlvdXQtZXhwYW5kZWQgJiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAubGF5b3V0LXNpZGVuYXYtMTAwdmggLmxheW91dC1zaWRlbmF2LFxuICAubGF5b3V0LXNpZGVuYXYtMTAwdmggLmxheW91dC1vdmVybGF5IHtcbiAgICBoZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBDb2xsYXBzZWQgbGF5b3V0XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLy8gU2lkZW5hdiBzdHlsZVxuXG4gIC5sYXlvdXQtY29sbGFwc2VkOm5vdCgubGF5b3V0LXNpZGVuYXYtaG92ZXIpOm5vdCgubGF5b3V0LW9mZmNhbnZhcyk6bm90KC5sYXlvdXQtZml4ZWQtb2ZmY2FudmFzKSB7XG4gICAgLmxheW91dC1zaWRlbmF2IC5zaWRlbmF2LXZlcnRpY2FsLFxuICAgIC5sYXlvdXQtc2lkZW5hdi5zaWRlbmF2LXZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIHNpZGVuYXYtY29sbGFwc2VkKCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcnRsLW9ubHkge1xuICAgICYubGF5b3V0LWNvbGxhcHNlZDpub3QoLmxheW91dC1zaWRlbmF2LWhvdmVyKTpub3QoLmxheW91dC1vZmZjYW52YXMpOm5vdCgubGF5b3V0LWZpeGVkLW9mZmNhbnZhcykge1xuICAgICAgLmxheW91dC1zaWRlbmF2IC5zaWRlbmF2LXZlcnRpY2FsLFxuICAgICAgLmxheW91dC1zaWRlbmF2LnNpZGVuYXYtdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBzaWRlbmF2LWNvbGxhcHNlZC1ydGwoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTaWRlbmF2IHBvc2l0aW9uXG5cbiAgLmxheW91dC1zaWRlbmF2LWhvdmVyLmxheW91dC1jb2xsYXBzZWQge1xuICAgIC5sYXlvdXQtc2lkZW5hdiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0kc2lkZW5hdi13aWR0aCArICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDtcbiAgICB9XG5cbiAgICAmLmxheW91dC1yZXZlcnNlZCAubGF5b3V0LXNpZGVuYXYge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kc2lkZW5hdi13aWR0aCArICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBydGwtb25seSB7XG4gICAgJi5sYXlvdXQtc2lkZW5hdi1ob3Zlci5sYXlvdXQtY29sbGFwc2VkIHtcbiAgICAgIC5sYXlvdXQtc2lkZW5hdiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kc2lkZW5hdi13aWR0aCArICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDtcbiAgICAgIH1cblxuICAgICAgJi5sYXlvdXQtcmV2ZXJzZWQgLmxheW91dC1zaWRlbmF2IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJHNpZGVuYXYtd2lkdGggKyAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE9mZi1jYW52YXMgbGF5b3V0XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmxheW91dC1jb2xsYXBzZWQubGF5b3V0LW9mZmNhbnZhcyB7XG4gICAgLmxheW91dC1zaWRlbmF2IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLSRzaWRlbmF2LXdpZHRoO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB9XG5cbiAgICAmLmxheW91dC1yZXZlcnNlZCAubGF5b3V0LXNpZGVuYXYge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kc2lkZW5hdi13aWR0aDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBydGwtb25seSB7XG4gICAgJi5sYXlvdXQtY29sbGFwc2VkLmxheW91dC1vZmZjYW52YXMge1xuICAgICAgLmxheW91dC1zaWRlbmF2IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRzaWRlbmF2LXdpZHRoO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSlcbiAgICAgIH1cblxuICAgICAgJi5sYXlvdXQtcmV2ZXJzZWQgLmxheW91dC1zaWRlbmF2IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJHNpZGVuYXYtd2lkdGg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRml4ZWQgYW5kIGZpeGVkIG9mZi1jYW52YXMgbGF5b3V0XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLy8gU2lkZW5hdlxuXG4gIC5sYXlvdXQtZml4ZWQsXG4gIC5sYXlvdXQtZml4ZWQtb2ZmY2FudmFzIHtcbiAgICAubGF5b3V0LXNpZGVuYXYge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLmxheW91dC1yZXZlcnNlZCAubGF5b3V0LXNpZGVuYXYge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgICAmLmxheW91dC1maXhlZCxcbiAgICAmLmxheW91dC1maXhlZC1vZmZjYW52YXMge1xuICAgICAgLmxheW91dC1zaWRlbmF2IHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG5cbiAgICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtc2lkZW5hdiB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEZpeGVkIG9mZi1jYW52YXNcblxuICAubGF5b3V0LWZpeGVkLW9mZmNhbnZhcy5sYXlvdXQtY29sbGFwc2VkIHtcbiAgICAubGF5b3V0LXNpZGVuYXYge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB9XG5cbiAgICAmLmxheW91dC1yZXZlcnNlZCAubGF5b3V0LXNpZGVuYXYge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgICAmLmxheW91dC1maXhlZC1vZmZjYW52YXMubGF5b3V0LWNvbGxhcHNlZCB7XG4gICAgICAubGF5b3V0LXNpZGVuYXYge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICB9XG5cbiAgICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtc2lkZW5hdiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udGFpbmVyXG5cbiAgLmxheW91dC1maXhlZDpub3QoLmxheW91dC1jb2xsYXBzZWQpLFxuICAubGF5b3V0LWZpeGVkLW9mZmNhbnZhczpub3QoLmxheW91dC1jb2xsYXBzZWQpIHtcbiAgICAubGF5b3V0LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRzaWRlbmF2LXdpZHRoO1xuICAgIH1cblxuICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRzaWRlbmF2LXdpZHRoO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgICAmLmxheW91dC1maXhlZDpub3QoLmxheW91dC1jb2xsYXBzZWQpLFxuICAgICYubGF5b3V0LWZpeGVkLW9mZmNhbnZhczpub3QoLmxheW91dC1jb2xsYXBzZWQpIHtcbiAgICAgIC5sYXlvdXQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHNpZGVuYXYtd2lkdGg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgJi5sYXlvdXQtcmV2ZXJzZWQgLmxheW91dC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzaWRlbmF2LXdpZHRoO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5sYXlvdXQtZml4ZWQubGF5b3V0LWNvbGxhcHNlZCB7XG4gICAgLmxheW91dC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg7XG4gICAgfVxuXG4gICAgJi5sYXlvdXQtcmV2ZXJzZWQgLmxheW91dC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgICAmLmxheW91dC1maXhlZC5sYXlvdXQtY29sbGFwc2VkIHtcbiAgICAgIC5sYXlvdXQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFJlc2V0IHBhZGRpbmdzXG5odG1sOm5vdCgubGF5b3V0LW5hdmJhci1maXhlZCk6bm90KC5sYXlvdXQtZml4ZWQpOm5vdCgubGF5b3V0LWZpeGVkLW9mZmNhbnZhcykgLmxheW91dC1jb250YWluZXIsXG5odG1sOm5vdCgubGF5b3V0LW5hdmJhci1maXhlZCkgLmxheW91dC0yIC5sYXlvdXQtY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbn1cbmh0bWw6bm90KC5sYXlvdXQtZm9vdGVyLWZpeGVkKSAubGF5b3V0LWNvbnRlbnQge1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IChtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBsZykgLSAxKSkge1xuICAubGF5b3V0LWZpeGVkIC5sYXlvdXQtd3JhcHBlci5sYXlvdXQtMSAubGF5b3V0LXNpZGVuYXYsXG4gIC5sYXlvdXQtZml4ZWQtb2ZmY2FudmFzIC5sYXlvdXQtd3JhcHBlci5sYXlvdXQtMSAubGF5b3V0LXNpZGVuYXYge1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoLmxheW91dC1uYXZiYXItZml4ZWQpIC5sYXlvdXQtMSAubGF5b3V0LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEZpeGVkIG5hdmJhciBsYXlvdXRcblxuLmxheW91dC1uYXZiYXItZml4ZWQgLmxheW91dC1uYXZiYXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLy8gRml4IG5hdmJhciB3aXRoaW4gbGF5b3V0IDEgaW4gZml4ZWQgbW9kZVxuICAubGF5b3V0LWZpeGVkIC5sYXlvdXQtMSAubGF5b3V0LW5hdmJhcixcbiAgLmxheW91dC1maXhlZC1vZmZjYW52YXMgLmxheW91dC0xIC5sYXlvdXQtbmF2YmFyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAvLyBMYXlvdXQgZml4ZWRcblxuICAubGF5b3V0LW5hdmJhci1maXhlZDpub3QoLmxheW91dC1jb2xsYXBzZWQpLFxuICAubGF5b3V0LWZpeGVkLmxheW91dC1uYXZiYXItZml4ZWQ6bm90KC5sYXlvdXQtY29sbGFwc2VkKSxcbiAgLmxheW91dC1maXhlZC1vZmZjYW52YXMubGF5b3V0LW5hdmJhci1maXhlZDpub3QoLmxheW91dC1jb2xsYXBzZWQpIHtcbiAgICAubGF5b3V0LTIgLmxheW91dC1uYXZiYXIge1xuICAgICAgbGVmdDogJHNpZGVuYXYtd2lkdGg7XG4gICAgfVxuXG4gICAgJi5sYXlvdXQtcmV2ZXJzZWQgLmxheW91dC0yIC5sYXlvdXQtbmF2YmFyIHtcbiAgICAgIHJpZ2h0OiAkc2lkZW5hdi13aWR0aDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcnRsLW9ubHkge1xuICAgICYubGF5b3V0LW5hdmJhci1maXhlZDpub3QoLmxheW91dC1jb2xsYXBzZWQpLFxuICAgICYubGF5b3V0LWZpeGVkLmxheW91dC1uYXZiYXItZml4ZWQ6bm90KC5sYXlvdXQtY29sbGFwc2VkKSxcbiAgICAmLmxheW91dC1maXhlZC1vZmZjYW52YXMubGF5b3V0LW5hdmJhci1maXhlZDpub3QoLmxheW91dC1jb2xsYXBzZWQpIHtcbiAgICAgIC5sYXlvdXQtMiAubGF5b3V0LW5hdmJhciB7XG4gICAgICAgIHJpZ2h0OiAkc2lkZW5hdi13aWR0aDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgJi5sYXlvdXQtcmV2ZXJzZWQgLmxheW91dC0yIC5sYXlvdXQtbmF2YmFyIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6ICRzaWRlbmF2LXdpZHRoO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExheW91dCBmaXhlZCBvZmYtY2FudmFzXG5cbiAgLmxheW91dC1uYXZiYXItZml4ZWQubGF5b3V0LWNvbGxhcHNlZDpub3QoLmxheW91dC1vZmZjYW52YXMpOm5vdCgubGF5b3V0LWZpeGVkLW9mZmNhbnZhcyksXG4gIC5sYXlvdXQtZml4ZWQubGF5b3V0LW5hdmJhci1maXhlZC5sYXlvdXQtY29sbGFwc2VkIHtcbiAgICAubGF5b3V0LTIgLmxheW91dC1uYXZiYXIge1xuICAgICAgbGVmdDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xuICAgIH1cblxuICAgICYubGF5b3V0LXJldmVyc2VkIC5sYXlvdXQtMiAubGF5b3V0LW5hdmJhciB7XG4gICAgICByaWdodDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBydGwtb25seSB7XG4gICAgJi5sYXlvdXQtbmF2YmFyLWZpeGVkLmxheW91dC1jb2xsYXBzZWQ6bm90KC5sYXlvdXQtb2ZmY2FudmFzKTpub3QoLmxheW91dC1maXhlZC1vZmZjYW52YXMpLFxuICAgICYubGF5b3V0LWZpeGVkLmxheW91dC1uYXZiYXItZml4ZWQubGF5b3V0LWNvbGxhcHNlZCB7XG4gICAgICAubGF5b3V0LTIgLmxheW91dC1uYXZiYXIge1xuICAgICAgICByaWdodDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAmLmxheW91dC1yZXZlcnNlZCAubGF5b3V0LTIgLmxheW91dC1uYXZiYXIge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEZpeGVkIGZvb3RlclxuXG4ubGF5b3V0LWZvb3Rlci1maXhlZCAubGF5b3V0LWZvb3RlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubGF5b3V0LWZvb3Rlci1maXhlZDpub3QoLmxheW91dC1jb2xsYXBzZWQpIHtcbiAgICAubGF5b3V0LXdyYXBwZXI6bm90KC5sYXlvdXQtd2l0aG91dC1zaWRlbmF2KSAubGF5b3V0LWZvb3RlciB7XG4gICAgICBsZWZ0OiAkc2lkZW5hdi13aWR0aDtcbiAgICB9XG5cbiAgICAmLmxheW91dC1yZXZlcnNlZCAubGF5b3V0LXdyYXBwZXI6bm90KC5sYXlvdXQtd2l0aG91dC1zaWRlbmF2KSAubGF5b3V0LWZvb3RlciB7XG4gICAgICByaWdodDogJHNpZGVuYXYtd2lkdGg7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5sYXlvdXQtZm9vdGVyLWZpeGVkLmxheW91dC1jb2xsYXBzZWQ6bm90KC5sYXlvdXQtb2ZmY2FudmFzKTpub3QoLmxheW91dC1maXhlZC1vZmZjYW52YXMpIHtcbiAgICAubGF5b3V0LXdyYXBwZXI6bm90KC5sYXlvdXQtd2l0aG91dC1zaWRlbmF2KSAubGF5b3V0LWZvb3RlciB7XG4gICAgICBsZWZ0OiAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg7XG4gICAgfVxuXG4gICAgJi5sYXlvdXQtcmV2ZXJzZWQgLmxheW91dC13cmFwcGVyOm5vdCgubGF5b3V0LXdpdGhvdXQtc2lkZW5hdikgLmxheW91dC1mb290ZXIge1xuICAgICAgcmlnaHQ6ICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcnRsLW9ubHkge1xuICAgICYubGF5b3V0LWZvb3Rlci1maXhlZDpub3QoLmxheW91dC1jb2xsYXBzZWQpIHtcbiAgICAgIC5sYXlvdXQtd3JhcHBlcjpub3QoLmxheW91dC13aXRob3V0LXNpZGVuYXYpIC5sYXlvdXQtZm9vdGVyIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6ICRzaWRlbmF2LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAmLmxheW91dC1yZXZlcnNlZCAubGF5b3V0LXdyYXBwZXI6bm90KC5sYXlvdXQtd2l0aG91dC1zaWRlbmF2KSAubGF5b3V0LWZvb3RlciB7XG4gICAgICAgIGxlZnQ6ICRzaWRlbmF2LXdpZHRoO1xuICAgICAgICByaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxheW91dC1mb290ZXItZml4ZWQubGF5b3V0LWNvbGxhcHNlZDpub3QoLmxheW91dC1vZmZjYW52YXMpOm5vdCgubGF5b3V0LWZpeGVkLW9mZmNhbnZhcykge1xuICAgICAgLmxheW91dC13cmFwcGVyOm5vdCgubGF5b3V0LXdpdGhvdXQtc2lkZW5hdikgLmxheW91dC1mb290ZXIge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogJHNpZGVuYXYtY29sbGFwc2VkLXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAmLmxheW91dC1yZXZlcnNlZCAubGF5b3V0LXdyYXBwZXI6bm90KC5sYXlvdXQtd2l0aG91dC1zaWRlbmF2KSAubGF5b3V0LWZvb3RlciB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAkc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogWi1JbmRleGVzXG5cbi8vIE5hdmJhclxuLmxheW91dC1uYXZiYXItZml4ZWQgYm9keTpub3QoLm1vZGFsLW9wZW4pLFxuLmxheW91dC1maXhlZCBib2R5Om5vdCgubW9kYWwtb3BlbiksXG4ubGF5b3V0LWZpeGVkLW9mZmNhbnZhcyBib2R5Om5vdCgubW9kYWwtb3Blbikge1xuICAubGF5b3V0LTEgLmxheW91dC1uYXZiYXIge1xuICAgIHotaW5kZXg6ICR6aW5kZXgtbGF5b3V0LWZpeGVkO1xuICB9XG5cbiAgLmxheW91dC0yIC5sYXlvdXQtbmF2YmFyIHtcbiAgICB6LWluZGV4OiAkemluZGV4LWxheW91dC1maXhlZCAtIDU7XG4gIH1cbn1cblxuLmxheW91dC1mb290ZXItZml4ZWQgLmxheW91dC1mb290ZXIge1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4ubGF5b3V0LXNpZGVuYXYtaG9yaXpvbnRhbCB7XG4gIHotaW5kZXg6IDk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAobWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbGcpIC0gMSkpIHtcbiAgLmxheW91dC1zaWRlbmF2IHtcbiAgICB6LWluZGV4OiAkemluZGV4LWxheW91dC1tb2JpbGU7XG4gIH1cblxuICAubGF5b3V0LW92ZXJsYXkge1xuICAgIHotaW5kZXg6ICR6aW5kZXgtbGF5b3V0LW1vYmlsZSAtIDE7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubGF5b3V0LTEge1xuICAgIC5sYXlvdXQtbmF2YmFyIHtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgIH1cblxuICAgIC5sYXlvdXQtc2lkZW5hdiB7XG4gICAgICB6LWluZGV4OiA5O1xuICAgIH1cbiAgfVxuXG4gIC5sYXlvdXQtMiB7XG4gICAgLmxheW91dC1uYXZiYXIge1xuICAgICAgei1pbmRleDogOTtcbiAgICB9XG5cbiAgICAubGF5b3V0LXNpZGVuYXYge1xuICAgICAgei1pbmRleDogMTA7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sbGFwc2VkXG5cbiAgLmxheW91dC1jb2xsYXBzZWQ6bm90KC5sYXlvdXQtb2ZmY2FudmFzKTpub3QoLmxheW91dC1maXhlZC1vZmZjYW52YXMpIHtcbiAgICAmLmxheW91dC1zaWRlbmF2LWhvdmVyIC5sYXlvdXQtMSAubGF5b3V0LXNpZGVuYXYge1xuICAgICAgei1pbmRleDogJHppbmRleC1sYXlvdXQtZml4ZWQgLSA1ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmxheW91dC0yIC5sYXlvdXQtc2lkZW5hdiB7XG4gICAgICB6LWluZGV4OiAkemluZGV4LWxheW91dC1maXhlZCArIDUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBGaXhlZFxuXG4gIC5sYXlvdXQtZml4ZWQgYm9keTpub3QoLm1vZGFsLW9wZW4pIC5sYXlvdXQtMSAubGF5b3V0LXNpZGVuYXYsXG4gIC5sYXlvdXQtZml4ZWQtb2ZmY2FudmFzIGJvZHk6bm90KC5tb2RhbC1vcGVuKSAubGF5b3V0LTEgLmxheW91dC1zaWRlbmF2IHtcbiAgICB6LWluZGV4OiAkemluZGV4LWxheW91dC1maXhlZCAtIDU7XG4gIH1cblxuICAubGF5b3V0LW5hdmJhci1maXhlZCBib2R5Om5vdCgubW9kYWwtb3BlbikgLmxheW91dC0yIC5sYXlvdXQtc2lkZW5hdixcbiAgLmxheW91dC1maXhlZCBib2R5Om5vdCgubW9kYWwtb3BlbikgLmxheW91dC0yIC5sYXlvdXQtc2lkZW5hdixcbiAgLmxheW91dC1maXhlZC1vZmZjYW52YXMgYm9keTpub3QoLm1vZGFsLW9wZW4pIC5sYXlvdXQtMiAubGF5b3V0LXNpZGVuYXYge1xuICAgIHotaW5kZXg6ICR6aW5kZXgtbGF5b3V0LWZpeGVkO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnNcblxuLmxheW91dC1zaWRlbmF2LWxpbmstbm8tdHJhbnNpdGlvbiB7XG4gIC5sYXlvdXQtc2lkZW5hdiAuc2lkZW5hdi1saW5rLFxuICAubGF5b3V0LXNpZGVuYXYtaG9yaXpvbnRhbCAuc2lkZW5hdi1saW5rIHtcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmxheW91dC1uby10cmFuc2l0aW9uIC5sYXlvdXQtc2lkZW5hdixcbi5sYXlvdXQtbm8tdHJhbnNpdGlvbiAubGF5b3V0LXNpZGVuYXYtaG9yaXpvbnRhbCB7XG4gICYsXG4gICYgLnNpZGVuYXYsXG4gICYgLnNpZGVuYXYtaXRlbSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAobWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbGcpIC0gMSkpIHtcbiAgLmxheW91dC10cmFuc2l0aW9uaW5nIHtcbiAgICAubGF5b3V0LW92ZXJsYXkge1xuICAgICAgYW5pbWF0aW9uOiBsYXlvdXRTaWRlbmF2QW5pbWF0aW9uICRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbjtcbiAgICB9XG5cbiAgICAubGF5b3V0LXNpZGVuYXYge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHNpZGVuYXYtYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubGF5b3V0LWNvbGxhcHNlZDpub3QoLmxheW91dC10cmFuc2l0aW9uaW5nKTpub3QoLmxheW91dC1vZmZjYW52YXMpOm5vdCgubGF5b3V0LWZpeGVkKTpub3QoLmxheW91dC1maXhlZC1vZmZjYW52YXMpIC5sYXlvdXQtc2lkZW5hdiB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHNpZGVuYXYtYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG1hcmdpbi1sZWZ0LCBtYXJnaW4tcmlnaHQsIHdpZHRoO1xuICB9XG5cbiAgLmxheW91dC10cmFuc2l0aW9uaW5nIHtcbiAgICAmLmxheW91dC1vZmZjYW52YXMgLmxheW91dC1zaWRlbmF2IHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRzaWRlbmF2LWFuaW1hdGlvbi1kdXJhdGlvbjtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG1hcmdpbi1sZWZ0LCBtYXJnaW4tcmlnaHQsIHRyYW5zZm9ybSwgLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgfVxuXG4gICAgJi5sYXlvdXQtZml4ZWQsXG4gICAgJi5sYXlvdXQtZml4ZWQtb2ZmY2FudmFzIHtcbiAgICAgIC5sYXlvdXQtY29udGFpbmVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHNpZGVuYXYtYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBwYWRkaW5nLWxlZnQsIHBhZGRpbmctcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5sYXlvdXQtZml4ZWQge1xuICAgICAgLmxheW91dC1zaWRlbmF2IHtcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggJHNpZGVuYXYtYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgICAgfVxuICAgIH1cblxuICAgICYubGF5b3V0LWZpeGVkLW9mZmNhbnZhcyB7XG4gICAgICAubGF5b3V0LXNpZGVuYXYge1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkc2lkZW5hdi1hbmltYXRpb24tZHVyYXRpb247XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5sYXlvdXQtbmF2YmFyLWZpeGVkIC5sYXlvdXQtMiAubGF5b3V0LW5hdmJhcixcbiAgICAmLmxheW91dC1mb290ZXItZml4ZWQgLmxheW91dC1mb290ZXIge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHNpZGVuYXYtYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbGVmdCwgcmlnaHQ7XG4gICAgfVxuXG4gICAgJjpub3QoLmxheW91dC1vZmZjYW52YXMpOm5vdCgubGF5b3V0LWZpeGVkKTpub3QoLmxheW91dC1maXhlZC1vZmZjYW52YXMpIC5sYXlvdXQtc2lkZW5hdiB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkc2lkZW5hdi1hbmltYXRpb24tZHVyYXRpb247XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBtYXJnaW4tbGVmdCwgbWFyZ2luLXJpZ2h0LCB3aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLy8gRGlzYWJsZSB0cmFuc2l0aW9ucy9hbmltYXRpb25zIGluIElFIDEwLTExXG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAuc2lkZW5hdixcbiAgLmxheW91dC1zaWRlbmF2LFxuICAubGF5b3V0LWNvbnRhaW5lcixcbiAgLmxheW91dC1uYXZiYXIsXG4gIC5sYXlvdXQtZm9vdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHMgIWltcG9ydGFudDtcbiAgfVxuICAubGF5b3V0LW92ZXJsYXkge1xuICAgIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBpbmNsdWRlIGtleWZyYW1lcyhsYXlvdXRTaWRlbmF2QW5pbWF0aW9uKSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5O1xuICB9XG59XG4iLCIuYXBwLWJyYW5kIHtcbiAgZGlzcGxheTogZmxleDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1ncm93OiAwO1xuICBmbGV4LXNocmluazogMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbn1cblxuLmFwcC1icmFuZC1sb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZsZXgtZ3JvdzogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1pbi1oZWlnaHQ6IDFweDtcblxuICBpbWcsXG4gIHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmFwcC1icmFuZC10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uYXBwLWJyYW5kIC5sYXlvdXQtc2lkZW5hdi10b2dnbGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gV2l0aGluIHNpZGVuYXZcblxuQG1peGluIGFwcHdvcmstYXBwLWJyYW5kLWNvbGxhcHNlZCgpIHtcbiAgLmFwcC1icmFuZCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgd2lkdGg6ICRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDtcbiAgfVxuXG4gIC5hcHAtYnJhbmQtbG9nbyxcbiAgLmFwcC1icmFuZC10ZXh0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAuYXBwLWJyYW5kLWxvZ28gfiAuYXBwLWJyYW5kLXRleHQsXG4gIC5hcHAtYnJhbmQgLmxheW91dC1zaWRlbmF2LXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uc2lkZW5hdi12ZXJ0aWNhbCAuYXBwLWJyYW5kIHtcbiAgcGFkZGluZy1yaWdodDogJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXggLSAuMjVyZW07XG4gIHBhZGRpbmctbGVmdDogJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXggLSAuMjVyZW07XG59XG5cbi5zaWRlbmF2LWhvcml6b250YWwgLmFwcC1icmFuZCxcbi5zaWRlbmF2LWhvcml6b250YWwgLmFwcC1icmFuZCArIC5zaWRlbmF2LWRpdmlkZXIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbjpub3QoLmxheW91dC1zaWRlbmF2KSA+IC5zaWRlbmF2LXZlcnRpY2FsLnNpZGVuYXYtY29sbGFwc2VkOm5vdCgubGF5b3V0LXNpZGVuYXYpOm5vdCg6aG92ZXIpIHtcbiAgQGluY2x1ZGUgYXBwd29yay1hcHAtYnJhbmQtY29sbGFwc2VkKCk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBsZykpIHtcbiAgLmxheW91dC1jb2xsYXBzZWQ6bm90KC5sYXlvdXQtc2lkZW5hdi1ob3Zlcik6bm90KC5sYXlvdXQtb2ZmY2FudmFzKTpub3QoLmxheW91dC1maXhlZC1vZmZjYW52YXMpIC5sYXlvdXQtc2lkZW5hdiB7XG4gICAgQGluY2x1ZGUgYXBwd29yay1hcHAtYnJhbmQtY29sbGFwc2VkKCk7XG4gIH1cbn1cbiIsIi8vIFNwaW5uZXJzXG4vL1xuXG5AaW5jbHVkZSBrZXlmcmFtZXMoJ3NwaW5uZXItYm9yZGVyLXJ0bCcpIHtcbiAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTsgfVxufVxuXG5AaW5jbHVkZSBydGwtb25seSB7XG4gIC5zcGlubmVyLWJvcmRlciB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHNwaW5uZXItYm9yZGVyLXJ0bDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFdpdGhpbiBidXR0b25cblxuLmJ0biB7XG4gIC5zcGlubmVyLWJvcmRlcixcbiAgLnNwaW5uZXItZ3JvdyB7XG4gICAgaGVpZ2h0OiAxZW07XG4gICAgd2lkdGg6IDFlbTtcbiAgICB0b3A6IC0uMDYyNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3Bpbm5lci1ib3JkZXIge1xuICAgIGJvcmRlci13aWR0aDogLjE1ZW07XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQXlDR0EsQUFBQSxDQUFDO0FBQ0QsTUFBTSxDQUFDO0VBQ0wsV0FBVyxFbkN1UmlCLEdBQUcsR21DdFJoQzs7QUVIRCxBQUFBLFdBQVcsQ0FBWTtFQUFFLE9BQU8sRUFBRSxjQUFjLEdBQUk7O0FBQ3BELEFBQUEsV0FBVyxDQUFZO0VBQUUsT0FBTyxFQUFFLGFBQWEsR0FBSTs7QUFDbkQsQUFBQSxXQUFXLENBQVk7RUFBRSxPQUFPLEVBQUUsY0FBYyxHQUFJOztBQUNwRCxBQUFBLFlBQVksQ0FBVztFQUFFLE9BQU8sRUFBRSxZQUFZLEdBQUk7O0FBRWxELEFBQUEsVUFBVSxDQUFhO0VBQUUsU0FBUyxFdENzRlQsR0FBRyxDc0N0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 */

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlbmRvci9jc3MvYXBwd29yay5jc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL191dGlsaXRpZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL192YXJpYWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2hvdmVyLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19kcm9wZG93bi5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19iYXNlLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19mdW5jdGlvbnMuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX3RhYmxlcy5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fcmVib290LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fbmF2LnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19idXR0b25zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7O0VDQXlCLGdCQXlReEIsRUFBQTs7QUR6UUQ7RUFBeUIsdUJBQXVCLEVBQUE7O0FDQWhEO0VBQXVCLHNCQUFBLEVBQUE7O0FERXZCO0VDRmdELHVCQUFJLEVBQUE7O0FER3BEO0VBQXlCLHFCQUFxQixFQUFBOztBQUU5QztFQ0orQyx5QkFBSSxFQUFBOztBREtuRDtFQUF5QiwwQkFBb0MsRUFBQTs7QUNKN0Q7RUFBdUIsMEJBQUEsRUFBQTs7QURNdkI7RUNOZ0QsMEJBQUksRUFBQTs7QUFDcEQ7RUFBdUIseUJBQUEsRUFBQTs7QURRdkI7RUNSOEMsMkJBQUksRUFBQTs7QURTbEQ7RUFBeUIsK0JBQStCLEVBQUE7O0FBRXhEO0VDVG9ELG9DQUFj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VDtJQWpMRSxjTHRETyxFQUFBOztBRCtnQlg7RU14Y0EseUJMOUt1QztFSytLckMsV0wxRlMsRUFBQTtFRGlpQlg7SU1uY0EsMENMOUZXLEVBQUE7RURpaUJYOztJTTFiSSxXTHZHTyxFQUFBOztBS3lQVDtFQUNBLHFCTHhPUztFRCtmVCx5QkMvZlM7RUs2Q1gsY0w3Q1csRUFBQTtFS3VPVDtJQXZMQSx5QkxoRFMsRUFBQTtFS3VPVDtJQWpMRSxjTHRETyxFQUFBOztBRCtnQlg7RU14Y0EseUJMakxvQztFS2tMbEMsV0wxRlMsRUFBQTtFRGlpQlg7SU1uY0EsMENMOUZXLEVBQUE7RURpaUJYOztJTTFiSSxXTHZHTyxFQUFBOztBS3lQVDtFQUNBLHFCTHhPUztFRCtmVCx5QkMvZlM7RUs2Q1gsY0w3Q1csRUFBQTtFS3VPVDtJQXZMQSx5QkxoRFMsRUFBQTtFS3VPVDtJQWpMRSxjTHRETyxFQUFBOztBRCtnQlg7RU14Y0EseUJMaExxQjtFS2lMbkIsV0wxRlMsRUFBQTtFRGlpQlg7SU1uY0EsMENMOUZXLEVBQUE7RURpaUJYOztJTTFiSSxXTHZHTyxFQUFBOztBS3lQVDtFQUNBLHFCTHhPUztFRCtmVCx5QkMvZlM7RUs2Q1gsY0w3Q1csRUFBQTtFS3VPVDtJQXZMQSx5QkxoRFMsRUFBQTtFS3VPVDtJQWpMRSxjTHRETyxFQUFBOztBRCtnQlg7RU14Y0EseUJMakxvQjtFS2tMbEIsY0x4RVMsRUFBQTtFRCtnQlg7SU1uY0Esd0NMNUVXLEVBQUE7RUQrZ0JYOztJTTFiSSxjTHJGTyxFQUFBOztBS3VPVDtFQUNBLHFCTHhPUztFRCtmVCx5QkMvZlM7RUs2Q1gsY0w3Q1csRUFBQTtFS3VPVDtJQXZMQSx5QkxoRFMsRUFBQTtFS3VPVDtJQWpMRSxjTHRETyxFQUFBOztBRCtnQlg7RU14Y0EseUJMbExvQztFS21MbEMsV0wxRlMsRUFBQTtFRGlpQlg7SU1uY0EsMENMOUZXLEVBQUE7RURpaUJYOztJTTFiSSxXTHZHTyxFQUFBOztBS3lQVDtFQUNBLHFCTHhPUztFRCtmVCx5QkMvZlM7RUs2Q1gsY0w3Q1csRUFBQTtFS3VPVDtJQXZMQSx5QkxoRFMsRUFBQTtFS3VPVDtJQWpMRSxjTHRETyxFQUFBOztBRCtnQlg7RU14Y0EsdUNMM0xxQjtFSzRMbkIsV0wxRlMsRUFBQTtFRGlpQlg7SU1uY0EsMENMOUZXLEVBQUE7RURpaUJYOztJTTFiSSxXTHZHTyxFQUFBOztBRG5HYjtFQ0FBLGdCUVFDLEVBQUE7O0FSUEQ7RUFBeUIsYUErSFQsRUFBQTs7QUsyS1o7RUFFQSxtQkwvUnFDO0VHTHZDLFdIMEZXLEVBQUE7O0FLd01UO0VGbFNvQix5QkhLaUIsRUFBQTs7QUs2UnJDO0VBV1EsMkJMeFM2QixFQUFBOztBSzZSckM7RUFhQyw0QkwxU29DLEVBQUE7O0FLNlJyQztFQWdCVywwQkw3UzBCLEVBQUE7O0FLNlJyQztFQUVBLG1CTGxTa0M7RUdGcEMsV0gwRlcsRUFBQTs7QUt3TVQ7RUZsU29CLHlCSEVjLEVBQUE7O0FLZ1NsQztFQVdRLDJCTDNTMEIsRUFBQTs7QUtnU2xDO0VBYUMsNEJMN1NpQyxFQUFBOztBS2dTbEM7RUFnQlcsMEJMaFR1QixFQUFBOztBS2dTbEM7RUFFQSxtQkxqU21CO0VHSHJCLFdIMEZXLEVBQUE7O0FLd01UO0VGbFNvQix5QkhHRCxFQUFBOztBSytSbkI7RUFXUSwyQkwxU1csRUFBQTs7QUsrUm5CO0VBYUMsNEJMNVNrQixFQUFBOztBSytSbkI7RUFnQlcsMEJML1NRLEVBQUE7O0FLK1JuQjtFQUVBLG1CTGxTa0I7RUdGcEIsY0g0R1csRUFBQTs7QUtzTFQ7RUZsU29CLHlCSEVGLEVBQUE7O0FLZ1NsQjtFQVdRLDJCTDNTVSxFQUFBOztBS2dTbEI7RUFhQyw0Qkw3U2lCLEVBQUE7O0FLZ1NsQjtFQWdCVywwQkxoVE8sRUFBQTs7QUtnU2xCO0VBRUEsbUJMblNrQztFR0RwQyxXSDBGVyxFQUFBOztBS3dNVDtFRmxTb0IseUJIQ2MsRUFBQTs7QUtpU2xDO0VBV1EsMkJMNVMwQixFQUFBOztBS2lTbEM7RUFhQyw0Qkw5U2lDLEVBQUE7O0FLaVNsQztFQWdCVywwQkxqVHVCLEVBQUE7O0FLaVNsQztFQUVBLG1CTHhMUztFRzVHWCxXSDBGVyxFQUFBOztBS3dNVDtFRmxTb0IseUJINEdYLEVBQUE7O0FLc0xUO0VBV1EsMkJMak1DLEVBQUE7O0FLc0xUO0VBYUMsNEJMbk1RLEVBQUE7O0FLc0xUO0VBZ0JXLDBCTHRNRixFQUFBOztBRHJIYjtFQ0FBLHlDQW9Ia0IsRUFBQTtFRHBIbEI7SUNDQSxVQUF1QixFQUFBOztBRE92QjtFQUNFLGFDdUhjLEVBQUE7O0FLdU1aO0VBS0UseUJBRUg7RU44VkMsbUJDOXBCcUMsRUFBQTtFS3lUckM7SUFXQSxzQ0wvT1M7SUtnUFQsdUJBQ0Q7SU42VkcsV0M5a0JPLEVBQUE7RUtvT1Q7SUFrQkYsdUJBQTRCO0lBQ3ZCLFdMdlBNLEVBQUE7RUtvT1Q7SUF1QkQseUJBQUEsRUFBQTtFQXZCQztJQXJLUyx5QkxwSjRCLEVBQUE7RUt5VHJDO0lFbEh3QiwyQlB2TWEsRUFBQTtFS3lUckM7SUh4U2tCLDRCRmpCbUIsRUFBQTtFS3lUckM7SUE3SUQsMEJMNUtzQyxFQUFBOztBS3lUckM7RUFLRSx5QkFFSDtFTjhWQyxtQkNqcUJrQyxFQUFBO0VLNFRsQztJQVdBLHNDTC9PUztJS2dQVCx1QkFDRDtJTjZWRyxXQzlrQk8sRUFBQTtFS29PVDtJQWtCRix1QkFBNEI7SUFDdkIsV0x2UE0sRUFBQTtFS29PVDtJQXVCRCx5QkFBQSxFQUFBO0VBdkJDO0lBcktTLHlCTHZKeUIsRUFBQTtFSzRUbEM7SUVsSHdCLDJCUDFNVSxFQUFBO0VLNFRsQztJSHhTa0IsNEJGcEJnQixFQUFBO0VLNFRsQztJQTdJRCwwQkwvS21DLEVBQUE7O0FLNFRsQztFQUtFLHlCQUVIO0VOOFZDLG1CQ2hxQm1CLEVBQUE7RUsyVG5CO0lBV0Esc0NML09TO0lLZ1BULHVCQUNEO0lONlZHLFdDOWtCTyxFQUFBO0VLb09UO0lBa0JGLHVCQUE0QjtJQUN2QixXTHZQTSxFQUFBO0VLb09UO0lBdUJELHlCQUFBLEVBQUE7RUF2QkM7SUFyS1MseUJMdEpVLEVBQUE7RUsyVG5CO0lFbEh3QiwyQlB6TUwsRUFBQTtFSzJUbkI7SUh4U2tCLDRCRm5CQyxFQUFBO0VLMlRuQjtJQTdJRCwwQkw5S29CLEVBQUE7O0FLMlRuQjtFQUtFLHlCQUVIO0VOOFZDLG1CQ2pxQmtCLEVBQUE7RUs0VGxCO0lBV0Esb0NMN05TO0lLOE5ULHVCQUNEO0lONlZHLGNDNWpCTyxFQUFBO0VLa05UO0lBa0JGLHVCQUE0QjtJQUN2QixjTHJPTSxFQUFBO0VLa05UO0lBdUJELHlCQUFBLEVBQUE7RUF2QkM7SUFyS1MseUJMdkpTLEVBQUE7RUs0VGxCO0lFbEh3QiwyQlAxTU4sRUFBQTtFSzRUbEI7SUh4U2tCLDRCRnBCQSxFQUFBO0VLNFRsQjtJQTdJRCwwQkwvS21CLEVBQUE7O0FLNFRsQjtFQUtFLHlCQUVIO0VOOFZDLG1CQ2xxQmtDLEVBQUE7RUs2VGxDO0lBV0Esc0NML09TO0lLZ1BULHVCQUNEO0lONlZHLFdDOWtCTyxFQUFBO0VLb09UO0lBa0JGLHVCQUE0QjtJQUN2QixXTHZQTSxFQUFBO0VLb09UO0lBdUJELHlCQUFBLEVBQUE7RUF2QkM7SUFyS1MseUJMeEp5QixFQUFBO0VLNlRsQztJRWxId0IsMkJQM01VLEVBQUE7RUs2VGxDO0lIeFNrQiw0QkZyQmdCLEVBQUE7RUs2VGxDO0lBN0lELDBCTGhMbUMsRUFBQTs7QUs2VGxDO0VBS0UseUJBRUg7RU44VkMsbUJDdmpCUyxFQUFBO0VLa05UO0lBV0Esc0NML09TO0lLZ1BULHVCQUNEO0lONlZHLFdDOWtCTyxFQUFBO0VLb09UO0lBa0JGLHVCQUE0QjtJQUN2QixXTHZQTSxFQUFBO0VLb09UO0lBdUJELHlCQUFBLEVBQUE7RUF2QkM7SUFyS1MseUJMN0NBLEVBQUE7RUtrTlQ7SUVsSHdCLDJCUGhHZixFQUFBO0VLa05UO0lIeFNrQiw0QkZzRlQsRUFBQTtFS2tOVDtJQTdJRCwwQkxyRVUsRUFBQTs7QUQ5RmI7RUFDRSxxQ1NtQmlELEVBQUE7O0FUaEJuRDtFQ2hCQSxvQ1FpQzRCLEVBQUE7O0FSaEM1QjtFQUF5QixrQ1E4QkQsRUFBQTs7QVRFeEI7RUFDRSxzQ0NzTUQsRUFBQTtFQTVPd0I7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V0x6VFMsRUFBQTs7QUd0Rlg7RUVxWkksNkNMdFppQixFQUFBOztBRHF4Q3JCO0VNejNCSSxnQkFBWSxFQUFBOztBTmczQmhCO0VNNzNCQSxtQkxoWm9CO0VLaVpsQixjTHZTUyxFQUFBOztBR3hHWDtFRXFaSSw2Q0x2WmdCLEVBQUE7O0FEc3hDcEI7RU16M0JJLGdCQUFZLEVBQUE7O0FOZzNCaEI7RU03M0JBLG1CTGpab0M7RUtrWmxDLFdMelRTLEVBQUE7O0FHdEZYO0VFcVpJLDRDTHhaZ0MsRUFBQTs7QUR1eENwQztFTXozQkksZ0JBQVksRUFBQTs7QU5nM0JoQjtFTTczQkEsaUNMMVpxQjtFSzJabkIsV0x6VFMsRUFBQTs7QUd0Rlg7RUVxWkksMkNMamFpQixFQUFBOztBRGd5Q3JCO0VNejNCSSxnQkFBWSxFQUFBOztBTi9KbEI7O0VDWFksb0JEaVZ5QixFQUFBOztBTXJLakM7RUFNRixtQkxyYW9DO0VLc2FsQyxXTDlVUyxFQUFBOztBS3VVVDtFRjdaRiw0Q0hGb0MsRUFBQTs7QUsrWmxDO0VBbUJHLGdCQUFtQixFQUFBOztBQW5CdEI7RU5zNkJJLGNDcjBDOEIsRUFBQTs7QUsrWmxDOzs7RUY3WkYsY0FBQyxFQUFBOztBRTZaQztFQU1GLG1CTHRhb0M7RUt1YWxDLFdMOVVTLEVBQUE7O0FLdVVUO0VGN1pGLDRDSEhvQyxFQUFBOztBS2dhbEM7RUFtQkcsZ0JBQW1CLEVBQUE7O0FBbkJ0QjtFTnM2QkksY0N0MEM4QixFQUFBOztBS2dhbEM7OztFRjdaRixjQUFDLEVBQUE7O0FKYkg7RUNBQSxrQkFBdUI7TUFBdkIsY0FBdUI7RUFBRSxXQUFTLEVBQUE7O0FES2xDO0VBQ0UsNEJBQTRCLEVBQUE7O0FBTTlCOzs7RUNBeUIseUJER007RUFrQjNCLDRCQWxCMkIsRUFBQTs7QUFHL0I7OztFQUFJLDBCQUc0QjtFQ2RoQyw2QkRjZ0MsRUFBQTs7QUFHaEM7Ozs7Ozs7Ozs7RUNaQSxpQkFBdUIsRUFBQTs7QURadkI7RUNBQSxhQWdJZ0IsRUFBQTs7QUEvSGhCO0VBQXlCLGFBK0hULEVBQUE7O0FEeEho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d0I7RUZoQnhCLHlCTGhGUztFS3FGUCxjTHJGTyxFQUFBOztBSzJGWDs7RUFFRSxjTDdGUyxFQUFBO0VBaEhiOzs7SUtxU0UseUJMckxXO0lLc0xULGNMdExTLEVBQUE7RUsyRlg7O0lBZ0dJLHFCTHBTaUI7SUtxU2pCLHlCTHJTaUI7SUtzU2pCLGNMN0xPLEVBQUE7O0FLOEVYO0VBQ0UsaUNFaUJ3QjtFRmhCeEIseUJMaEZTO0VLcUZQLGNMckZPLEVBQUE7O0FLMkZYOztFQUVFLGNMN0ZTLEVBQUE7RUFoSGI7OztJS3FTRSx5QkxyTFc7SUtzTFQsY0x0TFMsRUFBQTtFSzJGWDs7SUFnR0kscUJMclNnQjtJS3NTaEIseUJMdFNnQjtJS3VTaEIsY0w3TE8sRUFBQTs7QUs4RVg7RUFDRSxpQ0VpQndCO0VGaEJ4Qix5QkxoRlM7RUtxRlAsY0xyRk8sRUFBQTs7QUsyRlg7O0VBRUUsY0w3RlMsRUFBQTtFQWhIYjs7O0lLcVNFLHlCTHJMVztJS3NMVCxjTHRMUyxFQUFBO0VLMkZYOztJQWdHSSxxQkx0U2dDO0lLdVNoQyx5Qkx2U2dDO0lLd1NoQyxjTDdMTyxFQUFBOztBSzhFWDtFQUNFLGlDRWlCd0I7RUZoQnhCLHlCTGhGUztFS3FGUCxjTHJGTyxFQUFBOztBSzJGWDs7RUFFRSxjTDdGUyxFQUFBO0VBaEhiOzs7SUtxU0UseUJMckxXO0lLc0xULGNMdExTLEVBQUE7RUsyRlg7O0lBZ0dJLG1DTC9TaUI7SUtnVGpCLHVDTGhUaUI7SUtpVGpCLGNMN0xPLEVBQUE7O0FEckhiO0VDQUEsVUFBdUIsRUFBQTs7QUFDdkI7RUFBeUIsYURtcUJlLEVBQUE7O0FDN3BCeEM7RUFBeUIsK0JESk4sRUFBQTs7QUFvQm5CO0VBQ0UsMENBQTZDLEVBQUE7O0FBRy9DO0VDaEJBLDRCQVZ1QixFQUFBOztBQVd2QjtFQUF5Qix1Q0FBbUMsRUFBQTs7QUR3QjVEOzs7RUFHRSxvQkFBYztNQUFkLGNBQWMsRUFBQTs7QUFNaEI7RUN6QkEsc0NBQXVCLEVBQUE7O0FBRXZCO0VBQXlCLG9DQXJCRixFQUFBOztBQThCdkI7RUFDRSxl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RUFBRSxpQkFBZ0IsRUFBQTs7QUFFaEI7O0VBQ3pCLGFBQXVCLEVBQUE7O0FBb0J2QjtFQTVCeUI7SURxQnJCLGdCQUFnQjtJQ25CcEIsZUFBdUI7SUFBRSxlR0xELEVBQUE7RUhPQzs7SUFDekIsa0JBQXVCO0lBQUUsaUJBQWdCLEVBQUE7RUFFaEI7O0lBQ3pCLGFBQXVCLEVBQUEsRUFBRTs7QUFEekI7RUFuQkE7SUFBQSxrQ0FBdUI7WUFBdkIsMEJBQXVCLEVBQUEsRUFBQTs7QUFzQnZCO0VBdEJBO0lBQUEsa0NBQXVCO1lBQXZCLDBCQUF1QixFQUFBLEVBQUE7O0FBS3ZCOztFQUNBLFdBQXVCO0VBQUUsVUV1RkE7RUgzRXJCLGNBQWM7RUNYbEIsa0JBQXVCLEVBQUE7O0FBRnZCO0VBR3lCLG1CQUE2QixFQUFBOztBRHM1SXRELGk3a25CQUFpN2tuQiIsImZpbGUiOiJ2ZW5kb3IvY3NzL2FwcHdvcmsuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gUmVib290XG4vL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xufVxuXG5AaW5jbHVkZSBydGwtb25seSB7XG4gIGRkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgY2FwdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cbiIsIi8vIFV0aWxpdGllc1xuLy9cblxuLm9wYWNpdHktMjUgICAgICAgICAgICB7IG9wYWNpdHk6IC4yNSAhaW1wb3J0YW50OyB9XG4ub3BhY2l0eS01MCAgICAgICAgICAgIHsgb3BhY2l0eTogLjUgIWltcG9ydGFudDsgfVxuLm9wYWNpdHktNzUgICAgICAgICAgICB7IG9wYWNpdHk6IC43NSAhaW1wb3J0YW50OyB9XG4ub3BhY2l0eS0xMDAgICAgICAgICAgIHsgb3BhY2l0eTogMSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXRpbnkgICAgICAgICAgICAgeyBmb250LXNpemU6ICR0aW55LWZvbnQtc2l6ZSAhaW1wb3J0YW50OyB9XG4udGV4dC1iaWcgICAgICAgICAgICAgIHsgZm9udC1zaXplOiAkYmlnLWZvbnQtc2l6ZSAhaW1wb3J0YW50OyB9XG4udGV4dC1sYXJnZSAgICAgICAgICAgIHsgZm9udC1zaXplOiAkbGFyZ2UtZm9udC1zaXplICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXhsYXJnZSAgICAgICAgICAgeyBmb250LXNpemU6ICR4bGFyZ2UtZm9udC1zaXplICFpbXBvcnRhbnQ7IH1cblxuLmxpbmUtaGVpZ2h0LTEgICAgICAgICB7IGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7IH1cbi5saW5lLWhlaWdodC1jb25kZW5jZWQgeyBsaW5lLWhlaWdodDogMS4zICFpbXBvcnRhbnQ7IH1cbi5saW5lLWhlaWdodC1pbmhlcml0ICAgeyBsaW5lLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWV4cGFuZGVkICAgICAgICAgeyBsZXR0ZXItc3BhY2luZzogKCgxIC8gKHN0cmlwLXVuaXQoJGZvbnQtc2l6ZS1iYXNlKSAqIDE2KSkgKiAxZW0pICFpbXBvcnRhbnQ7IH1cblxuLmZvbnQtd2VpZ2h0LXNlbWlib2xkICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaWJvbGQgIWltcG9ydGFudDsgfVxuLnRleHQtdHJhbnNmb3JtLW5vbmUgICB7IHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtc2Fucy1zZXJpZiAgICAgICB7IGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhaW1wb3J0YW50OyB9XG4udGV4dC1zZXJpZiAgICAgICAgICAgIHsgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZXJpZiAhaW1wb3J0YW50OyB9XG5cbi5jdXJzb3ItcG9pbnRlciAgICAgICAgeyBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDsgfVxuLmN1cnNvci1tb3ZlIHtcbiAgY3Vyc29yOiBtb3ZlICFpbXBvcnRhbnQ7IC8vIEZhbGxiYWNrXG4gIGN1cnNvcjogZ3JhYiAhaW1wb3J0YW50O1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIExheW91dCBjb250YWluZXJzXG5cbi5jb250YWluZXItcC14IHtcbiAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLXgtc20gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmcteC1zbSAhaW1wb3J0YW50O1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmcteCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLXggIWltcG9ydGFudDtcbiAgfVxufVxuLmNvbnRhaW5lci1tLW54IHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNvbnRhaW5lci1wYWRkaW5nLXgtc20gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IC0kY29udGFpbmVyLXBhZGRpbmcteC1zbSAhaW1wb3J0YW50O1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kY29udGFpbmVyLXBhZGRpbmcteCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAtJGNvbnRhaW5lci1wYWRkaW5nLXggIWltcG9ydGFudDtcbiAgfVxufVxuXG4uY29udGFpbmVyLXAteSB7XG4gICY6bm90KFtjbGFzc149XCJwdC1cIl0pOm5vdChbY2xhc3MqPVwiIHB0LVwiXSkge1xuICAgIHBhZGRpbmctdG9wOiAkY29udGFpbmVyLXBhZGRpbmcteSAhaW1wb3J0YW50O1xuICB9XG4gICY6bm90KFtjbGFzc149XCJwYi1cIl0pOm5vdChbY2xhc3MqPVwiIHBiLVwiXSkge1xuICAgIHBhZGRpbmctYm90dG9tOiAkY29udGFpbmVyLXBhZGRpbmcteSAhaW1wb3J0YW50O1xuICB9XG59XG4uY29udGFpbmVyLW0tbnkge1xuICAmOm5vdChbY2xhc3NePVwibXQtXCJdKTpub3QoW2NsYXNzKj1cIiBtdC1cIl0pIHtcbiAgICBtYXJnaW4tdG9wOiAtJGNvbnRhaW5lci1wYWRkaW5nLXkgIWltcG9ydGFudDtcbiAgfVxuICAmOm5vdChbY2xhc3NePVwibWItXCJdKTpub3QoW2NsYXNzKj1cIiBtYi1cIl0pIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtJGNvbnRhaW5lci1wYWRkaW5nLXkgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFRyYW5zZm9ybXNcblxuLnJvdGF0ZS05MCB7IHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuLnJvdGF0ZS0xODAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4ucm90YXRlLTI3MCB7IHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cbi5yb3RhdGUtLTkwIHsgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsgfVxuLnJvdGF0ZS0tMTgwIHsgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7IH1cbi5yb3RhdGUtLTI3MCB7IHRyYW5zZm9ybTogcm90YXRlKC0yNzBkZWcpOyB9XG4ucm90YXRlLTAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSAhaW1wb3J0YW50OyB9XG5cbi5zY2FsZVgtLTEgeyB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7IH1cbi5zY2FsZVktLTEgeyB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7IH1cblxuQGluY2x1ZGUgcnRsLW9ubHkge1xuICAucm90YXRlLTkwIHsgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsgfVxuICAucm90YXRlLTE4MCB7IHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpOyB9XG4gIC5yb3RhdGUtMjcwIHsgdHJhbnNmb3JtOiByb3RhdGUoLTI3MGRlZyk7IH1cbiAgLnJvdGF0ZS0tOTAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cbiAgLnJvdGF0ZS0tMTgwIHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAucm90YXRlLS0yNzAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9XG5cbiAgLnNjYWxlWC0tMSB7IHRyYW5zZm9ybTogc2NhbGVYKDEpOyB9XG4gIC5zY2FsZVktLTEgeyB0cmFuc2Zvcm06IHNjYWxlWSgxKTsgfVxuXG4gIC5zY2FsZVgtLTEtcnRsIHsgdHJhbnNmb3JtOiBzY2FsZVgoLTEpOyB9XG4gIC5zY2FsZVktLTEtcnRsIHsgdHJhbnNmb3JtOiBzY2FsZVkoLTEpOyB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQm9yZGVyZWQgcm93c1xuXG4ucm93LWJvcmRlcmVkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgPiAuY29sLFxuICAgPiBbY2xhc3NePVwiY29sLVwiXSxcbiAgID4gW2NsYXNzKj1cIiBjb2wtXCJdLFxuICAgPiBbY2xhc3NePVwiY29sIFwiXSxcbiAgID4gW2NsYXNzKj1cIiBjb2wgXCJdLFxuICAgPiBbY2xhc3MkPVwiIGNvbFwiXSxcbiAgID4gW2NsYXNzPVwiY29sXCJdIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDFweDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlcmVkLXJvdy1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYm9yZGVyZWQtcm93LWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLnJvdy1ib3JkZXItbGlnaHQge1xuICAgICA+IC5jb2wsXG4gICAgID4gW2NsYXNzXj1cImNvbC1cIl0sXG4gICAgID4gW2NsYXNzKj1cIiBjb2wtXCJdLFxuICAgICA+IFtjbGFzc149XCJjb2wgXCJdLFxuICAgICA+IFtjbGFzcyo9XCIgY29sIFwiXSxcbiAgICAgPiBbY2xhc3MkPVwiIGNvbFwiXSxcbiAgICAgPiBbY2xhc3M9XCJjb2xcIl0ge1xuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRncmF5LTEwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgcnRsLW9ubHkge1xuICAucm93LWJvcmRlcmVkID4gLmNvbDo6YWZ0ZXIsXG4gIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3NePVwiY29sLVwiXTo6YWZ0ZXIsXG4gIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MqPVwiIGNvbC1cIl06OmFmdGVyLFxuICAucm93LWJvcmRlcmVkID4gW2NsYXNzXj1cImNvbCBcIl06OmFmdGVyLFxuICAucm93LWJvcmRlcmVkID4gW2NsYXNzKj1cIiBjb2wgXCJdOjphZnRlcixcbiAgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyQ9XCIgY29sXCJdOjphZnRlcixcbiAgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcz1cImNvbFwiXTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0xcHg7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBXaWR0aFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBzbGljZS1saXN0KG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSwgMikge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgLncjeyRpbmZpeH0tMTAwIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgIC53I3skaW5maXh9LWF1dG8geyB3aWR0aDogYXV0byAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBUYWJsZSBjZWxsXG5cbi5jZWxsLWZpdCB7XG4gIHdpZHRoOiAuMSU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRmxleFxuXG4uZmxleC10cnVuY2F0ZSAgeyBtaW4td2lkdGg6IDAgIWltcG9ydGFudDsgfVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgLmZsZXgtYmFzaXMjeyRpbmZpeH0tMTAwIHsgZmxleC1iYXNpczogMTAwJSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgtYmFzaXMjeyRpbmZpeH0tYXV0byB7IGZsZXgtYmFzaXM6IGF1dG8gIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi8vIElFIGZpeFxuLmQtZmxleCxcbi5kLWlubGluZS1mbGV4LFxuLm1lZGlhLFxuLm1lZGlhID4gOm5vdCgubWVkaWEtYm9keSksXG4uanVtYm90cm9uLFxuLmNhcmQge1xuICBmbGV4LXNocmluazogMTtcbn1cbi8vIEZpeCBJRSBwYXJlbnQgY29udGFpbmVyIGhlaWdodCBidWcgd2hlbiBjb250YWluaW5nIGltYWdlIHdpdGggZmx1aWQgd2lkdGhcbi5pZS1taC0xIHtcbiAgbWluLWhlaWdodDogMXB4O1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFRleHQgY29sb3JcblxuLnRleHQtYm9keVtocmVmXTpob3ZlciB7XG4gIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvciAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1tdXRlZFtocmVmXSB7XG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgY29sb3I6ICR0ZXh0LW11dGVkLWhvdmVyICFpbXBvcnRhbnQ7IH1cbn1cblxuLnRleHQtbGlnaHQge1xuICBjb2xvcjogJHRleHQtbGlnaHQgIWltcG9ydGFudDtcblxuICAmW2hyZWZdIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGNvbG9yOiAkdGV4dC1tdXRlZC1ob3ZlciAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLnRleHQtbGlnaHRlciB7XG4gIGNvbG9yOiAkdGV4dC1saWdodGVyICFpbXBvcnRhbnQ7XG5cbiAgJltocmVmXSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBjb2xvcjogJHRleHQtbXV0ZWQtaG92ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi50ZXh0LWxpZ2h0ZXN0IHtcbiAgY29sb3I6ICR0ZXh0LWxpZ2h0ZXN0ICFpbXBvcnRhbnQ7XG5cbiAgJltocmVmXSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBjb2xvcjogJHRleHQtbXV0ZWQtaG92ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBCYWNrZ3JvdW5kIGNvbG9yXG5cbi5iZy1kYXJrIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktOTAwICFpbXBvcnRhbnQ7IH1cbmEuYmctZGFyayB7XG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktOTAwICFpbXBvcnRhbnQ7IH1cbn1cblxuLmJnLWxpZ2h0IHsgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTAwICFpbXBvcnRhbnQ7IH1cbmEuYmctbGlnaHQge1xuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5LTIwMCAhaW1wb3J0YW50OyB9XG59XG5cbi5iZy1saWdodGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktNTAgIWltcG9ydGFudDsgfVxuYS5iZy1saWdodGVyIHtcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDAgIWltcG9ydGFudDsgfVxufVxuXG4uYmctbGlnaHRlc3QgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0yNSAhaW1wb3J0YW50OyB9XG5hLmJnLWxpZ2h0ZXN0IHtcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS01MCAhaW1wb3J0YW50OyB9XG59XG5cbi5iZy10cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBCb3JkZXIgY29sb3JcblxuLmJvcmRlci1saWdodCB7XG4gIGJvcmRlci1jb2xvcjogJGdyYXktMTAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItdHJhbnNwYXJlbnQge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogUlRMXG5cbkBpbmNsdWRlIHJ0bC1vbmx5IHtcbiAgLy8gQm9yZGVyXG4gIC5ib3JkZXIgICAgICAgICB7IGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgLmJvcmRlci10b3AgICAgIHsgYm9yZGVyLXRvcDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgLmJvcmRlci1yaWdodCAgIHsgYm9yZGVyLWxlZnQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4gIC5ib3JkZXItYm90dG9tICB7IGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4gIC5ib3JkZXItbGVmdCAgICB7IGJvcmRlci1yaWdodDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgLmJvcmRlci0wICAgICAgICB7IGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG4gIC5ib3JkZXItdG9wLTAgICAgeyBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmJvcmRlci1yaWdodC0wICB7IGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLmJvcmRlci1ib3R0b20tMCB7IGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAuYm9yZGVyLWxlZnQtMCAgIHsgYm9yZGVyLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLmJvcmRlci0jeyRjb2xvcn0geyBib3JkZXItY29sb3I6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gIH1cbiAgLmJvcmRlci13aGl0ZSB7IGJvcmRlci1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7IH1cblxuICAvLyBCb3JkZXItcmFkaXVzXG4gIC5yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3VuZGVkLXRvcCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgfVxuICAucm91bmRlZC1yaWdodCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3VuZGVkLWJvdHRvbSB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgfVxuICAucm91bmRlZC1sZWZ0IHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgfVxuICAucm91bmRlZC1jaXJjbGUgeyBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDsgfVxuICAucm91bmRlZC1waWxsIHsgYm9yZGVyLXJhZGl1czogJHJvdW5kZWQtcGlsbCAhaW1wb3J0YW50OyB9XG4gIC5yb3VuZGVkLTAgeyBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7IH1cblxuICAvLyBGbG9hdFxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgICAuZmxvYXQjeyRpbmZpeH0tbGVmdCAgeyBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgICAgLmZsb2F0I3skaW5maXh9LXJpZ2h0IHsgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgYWxpZ25tZW50XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAgIC50ZXh0I3skaW5maXh9LWxlZnQgICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC50ZXh0I3skaW5maXh9LXJpZ2h0ICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1hcmdpbiBhbmQgUGFkZGluZ1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgICBAZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAobWFyZ2luOiBtLCBwYWRkaW5nOiBwKSB7XG4gICAgICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgICAgICAuI3skYWJicmV2fSN7JGluZml4fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAuI3skYWJicmV2fXQjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAgICN7JHByb3B9LXRvcDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuI3skYWJicmV2fXIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAgICN7JHByb3B9LWxlZnQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JGFiYnJldn1iI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgICAjeyRwcm9wfS1ib3R0b206ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JGFiYnJldn1sI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgICAjeyRwcm9wfS1yaWdodDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW5zIChlLmcuLCB3aGVyZSBgLm1iLW4xYCBpcyBuZWdhdGl2ZSB2ZXJzaW9uIG9mIGAubWItMWApXG4gICAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAwIHtcbiAgICAgICAgICAubSN7JGluZml4fS1uI3skc2l6ZX0geyBtYXJnaW46IC0kbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAubXQjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLm1yI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgICAubXgjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAubWIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLm1sI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgICAubXgjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gU29tZSBzcGVjaWFsIG1hcmdpbiB1dGlsc1xuICAgICAgLm0jeyRpbmZpeH0tYXV0byB7IG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgICAubXQjeyRpbmZpeH0tYXV0byxcbiAgICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLm1yI3skaW5maXh9LWF1dG8sXG4gICAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAubWIjeyRpbmZpeH0tYXV0byxcbiAgICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLm1sI3skaW5maXh9LWF1dG8sXG4gICAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQ29sb3JzXG5cbiR3aGl0ZTogICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICAgICAjMTgxQzIxICFkZWZhdWx0O1xuJGdyYXktMjU6ICAgICAgcmdiYSgkYmxhY2ssIC4wMTUpICFkZWZhdWx0O1xuJGdyYXktNTA6ICAgICAgcmdiYSgkYmxhY2ssIC4wMykgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICAgICByZ2JhKCRibGFjaywgLjA2KSAhZGVmYXVsdDtcbiRncmF5LTIwMDogICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJGdyYXktNDAwOiAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRncmF5LTUwMDogICAgIHJnYmEoJGJsYWNrLCAuNCkgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJGdyYXktNzAwOiAgICAgcmdiYSgkYmxhY2ssIC42KSAhZGVmYXVsdDtcbiRncmF5LTgwMDogICAgIHJnYmEoJGJsYWNrLCAuOCkgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuXG4kZ3JheXM6IChcbiAgXCIyNVwiOiAkZ3JheS0yNSxcbiAgXCI1MFwiOiAkZ3JheS01MFxuKSAhZGVmYXVsdDtcblxuJGJsdWU6ICAgICAgICAgIzFlNzBjZCAhZGVmYXVsdDtcbiRpbmRpZ286ICAgICAgICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgICAgICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICAgICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAgICAgICNkOTUzNGYgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgICAgICAjRkVCNzQ0ICFkZWZhdWx0O1xuJHllbGxvdzogICAgICAgI0ZGRDk1MCAhZGVmYXVsdDtcbiRncmVlbjogICAgICAgICMwMkJDNzcgIWRlZmF1bHQ7XG4kdGVhbDogICAgICAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICAgICAgIzI4YzNkNyAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKFxuICBcInByaW1hcnlcIjogICAkaW5kaWdvLFxuICBcInNlY29uZGFyeVwiOiAjODg5N0FBLFxuICBcInN1Y2Nlc3NcIjogICAkZ3JlZW4sXG4gIFwiaW5mb1wiOiAgICAgICRjeWFuLFxuICBcIndhcm5pbmdcIjogICAkeWVsbG93LFxuICBcImRhbmdlclwiOiAgICAkcmVkLFxuICBcImRhcmtcIjogICAgICAkZ3JheS05MDBcbikgIWRlZmF1bHQ7XG5cbiRib2R5LWNvbG9yOiAgICAgICAjNEU1MTU1ICFkZWZhdWx0OyAvLyM0YTRhNGFcblxuLy8gIzA2Y1xuJGxpbmstY29sb3I6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6IGxpZ2h0ZW4oJGxpbmstY29sb3IsIDEwJSkgIWRlZmF1bHQ7XG5cbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRm9udHNcblxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFwiUm9ib3RvXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogIFwiU0ZNb25vLVJlZ3VsYXJcIiwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgLjg5NHJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUteGw6ICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS14czogICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1zZW1pYm9sZDogICA1MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgOTAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgIDEwMCAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgIDEuNDcgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQteGw6ICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQteHM6ICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgMi4yNXJlbSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAxLjgxM3JlbSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAxLjU2M3JlbSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAxLjMxM3JlbSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICRmb250LXdlaWdodC1zZW1pYm9sZCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogJHNwYWNlciAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgIDRyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgMy41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkzLXNpemU6ICAgICAgICAgIDNyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTQtc2l6ZTogICAgICAgICAgMnJlbSAhZGVmYXVsdDtcblxuJHRpbnktZm9udC1zaXplOiAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRzbWFsbC1mb250LXNpemU6ICAgICAgICA4NSUgIWRlZmF1bHQ7XG4kYmlnLWZvbnQtc2l6ZTogICAgICAgICAgMTEyJSAhZGVmYXVsdDtcbiRsYXJnZS1mb250LXNpemU6ICAgICAgICAxNTAlICFkZWZhdWx0O1xuJHhsYXJnZS1mb250LXNpemU6ICAgICAgIDE3MCUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS01MDApICFkZWZhdWx0O1xuJHRleHQtbXV0ZWQtaG92ZXI6ICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTYwMCkgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogcmdiYS10by1oZXgoJGdyYXktNTAwKSAhZGVmYXVsdDtcbiR0ZXh0LWxpZ2h0OiAgICAgICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS00MDApICFkZWZhdWx0O1xuJHRleHQtbGlnaHRlcjogICAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTMwMCkgIWRlZmF1bHQ7XG4kdGV4dC1saWdodGVzdDogICAgICAgICAgcmdiYS10by1oZXgoJGdyYXktMjAwKSAhZGVmYXVsdDtcblxuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogIG5vbmUgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogR3JpZFxuXG4kZ3JpZC1ndXR0ZXItd2lkdGg6IDEuNXJlbSAhZGVmYXVsdDtcblxuJGNvbnRhaW5lci1wYWRkaW5nLXg6IDJyZW0gIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmcteC1zbTogMXJlbSAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy15OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQ29tcG9uZW50c1xuXG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssLjA2KSAhZGVmYXVsdDtcbiRib3JkZXItaW5uZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMteGw6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMteHM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgMS41NCAhZGVmYXVsdDtcbiRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoOiAgICAycHggIWRlZmF1bHQ7XG5cbiRmbG9hdGluZy1jb21wb25lbnQtYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbiRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93OiAgICAgICAwIDFweCA2cHggcmdiYSgwLCAwLCAwLCAuMDkpICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGJvcmRlcmVkLXJvdy1ib3JkZXItY29sb3I6ICAgICAgICRoci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgICAgICAuNDJlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICAgICBtaWRkbGUgIWRlZmF1bHQ7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAgICAgICAgICAgLjVlbSAhZGVmYXVsdDtcblxuJG92ZXJmbG93czogYXV0bywgaGlkZGVuLCBzY3JvbGwsIHZpc2libGUgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogWi1pbmRleCBtYXN0ZXIgbGlzdFxuXG4kemluZGV4LWxheW91dC1maXhlZDogIDEwODAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLXRvcDogICAgIDEwOTAgIWRlZmF1bHQ7XG4kemluZGV4LWxheW91dC1tb2JpbGU6IDExMDAgIWRlZmF1bHQ7XG4kemluZGV4LW5vdGlmaWNhdGlvbjogIDk5OTk5OSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBUYWJsZXNcblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAuNjI1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1zbTogICAuMzEyNXJlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICByZ2JhKCRibGFjaywgLjAyNSkgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDM1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgcmdiYS10by1oZXgoJHRhYmxlLWhvdmVyLWJnKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICByZ2JhLXRvLWhleCgkZ3JheS0yMDApICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICRncmF5LTUwICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgIHJnYmEoJHdoaXRlLCAuMDMpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogbGlnaHRlbihyZ2JhLXRvLWhleCgkZ3JheS05MDApLCA3JSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBCdXR0b25zICsgRm9ybXNcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgLjQzOHJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgIDEuMTI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgMS41NCAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXkteHM6ICAgMCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXhzOiAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUteHM6ICAgJGZvbnQtc2l6ZS14cyAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQteHM6ICRsaW5lLWhlaWdodC14cyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgLjE4OHJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgIC42ODc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgMS41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXkteGw6ICAgLjg3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXhsOiAgIDIuMTI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUteGw6ICAgJGZvbnQtc2l6ZS14bCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQteGw6ICRsaW5lLWhlaWdodC14bCAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBCdXR0b25zXG5cbiRidG4tcGFkZGluZy15LXhzOiAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXhzICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgteHM6ICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgteHMgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS14czogICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS14cyAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQteHM6ICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQteHMgIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LXhsOiAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXhsICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgteGw6ICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgteGwgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS14bDogICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS14bCAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQteGw6ICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQteGwgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXJhZGl1cy14czogICRib3JkZXItcmFkaXVzLXhzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXhsOiAgJGJvcmRlci1yYWRpdXMteGwgIWRlZmF1bHQ7XG5cbiRidG4tYm94LXNoYWRvdzogICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSwgLjI1KSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbiRidG4tZGVmYXVsdC1iZzogICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWJvcmRlcjogICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRm9ybXNcblxuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcblxuJGxhYmVsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAuODMxMjVyZW0gIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1zZW1pYm9sZCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS0xMDApICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJHRleHQtbGlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICAgICAgcHgtdG8tcmVtKGZsb29yKHJlbS10by1weCgoJGlucHV0LWJ0bi1mb250LXNpemUgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0KSArICgkaW5wdXQtYnRuLXBhZGRpbmcteSAqIDIpKSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1zbTogICAgICAgICAgICAgICAgICAgICBweC10by1yZW0oZmxvb3IocmVtLXRvLXB4KCgkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20pICsgKCRpbnB1dC1idG4tcGFkZGluZy15LXNtICogMikpKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWxnOiAgICAgICAgICAgICAgICAgICAgIHB4LXRvLXJlbShmbG9vcihyZW0tdG8tcHgoKCRmb250LXNpemUtbGcgKiAkbGluZS1oZWlnaHQtbGcpICsgKCRpbnB1dC1idG4tcGFkZGluZy15LWxnICogMikpKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1pbnZlcnRlZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgjZmZmLCAuMykgIWRlZmF1bHQ7XG4kaW5wdXQtaW52ZXJ0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kaW5wdXQtaW52ZXJ0ZWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1pbnZlcnRlZC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1pbnZlcnRlZC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgcmdiYSgjZmZmLCAuNykgIWRlZmF1bHQ7XG4kaW5wdXQtaW52ZXJ0ZWQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgIHJnYmEoI2ZmZiwgLjEpICFkZWZhdWx0O1xuJGlucHV0LWludmVydGVkLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAkaW5wdXQtaW52ZXJ0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgICAgMS4xMjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoOiAgICAgMXB4ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I6ICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgICAgIC40MzhyZW0gIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgICAgXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA5LjUgNy41JyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMC43NSA0LjM1IDQuMTggNi43NSA4Ljc1IDAuNzUnIHN0eWxlPSdmaWxsOm5vbmU7c3Ryb2tlOl9DT0xPUl87c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDoxLjVweCcvJTNFJTNDL3N2ZyUzRVwiICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmctc2l6ZTogICAgICAgICA2NSUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmc6ICAgICAgICAgIFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA0JyUzRSUzQ3BhdGggc3Ryb2tlPSdfQ09MT1JfJyBkPSdNMCAyaDQnLyUzRSUzQy9zdmclM0VcIiAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1iZy1zaXplOiAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZzogICAgICAgICAgICAgICAgIFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNFJTNDY2lyY2xlIHI9JzMnIGZpbGw9J19DT0xPUl8nLyUzRSUzQy9zdmclM0VcIiAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLXNpemU6ICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgICAgICAgICAgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbnZlcnRlZC1kaXNhYmxlZC1jb2xvcjogICAgICRpbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWludmVydGVkLWRpc2FibGVkLWJnOiAgICAgICAgJGlucHV0LWludmVydGVkLWRpc2FibGVkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICAgICAgICAgIDE3cHggMTJweCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgICAgICAgICAgdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNJQUFBQVlDQVlBQUFDZnBpOEpBQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBS0JKUkVGVVNBM3Qxa0VLZ0NBUUJWQ1REdGNpdWxKMnBXalJpYXBUYVB3b2tVRWpSVzB6Z2FIU09JOVBRV0xiRDRNaGZyN2t6LzF0ZTRiWUtPNEpKOEtKMEFUb3VxVWJxZXV1SDVUUmVreXBiNlNjc3IyczZ6SXJIQmdMUVExcXMwRUFpTVU4Q05SbWhjUmdYRVFSeUJjTVJSU0R2R0Y4aUtJUUh5YUV3TE9peG04QVBtMk1xMkhvVmdNUzZ1M3VaLzlxM01OajVneWhhWEVpbkFoTmdLNVBwemhFTy9oU01LNEFBQUFBU1VWT1JLNUNZSUk9JykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItaW52ZXJ0ZWQ6ICAgICAgICAgIHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDSUFBQUFZQ0FZQUFBQ2ZwaThKQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUo1SlJFRlVTQTN0MUcwS2dDQU1CdUNNRHRabG9qT0ZoelZmVWFGbEg0NE4vMHlJc3B3K3ZHaFRDR0hGTlExdTgrRDE2L0lHcVZIa0IwdkVFcUVKMFA1Q1gzRDc4VisweDlxTldlL0ZOcXR6N29nSXo0QjQxSXBCQUdCZ0VnSzFvcEJPVEVXb1FINWlMZ2cxeUFmbWhsQ0ZQR0NhQ0l3Vk83NllyTld3Z2VQUlRwL3labTROMDRkZzFUZEFVWW1mbWpKeDc5MGdOREZMeEJLaENkRCtDUTNHSG5ndkpUR0tBQUFBQUVsRlRrU3VRbUNDJykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcnRsOiAgICAgICAgICAgICAgIHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDSUFBQUFZQ0FZQUFBQ2ZwaThKQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUtkSlJFRlVTQTN0bGxFS2dDQU1obE02WEEvUmxiSXJSUStkcURxRnhSOHB0RXdORkh1WUQrTGMzRDUrSENxcXdtTlp0eDBJc2pDSExjOGdWb3Byd1lxd0lsUUJhdGROMjZsZDY1NDZZbXdoNVRCUG80cUpEY1ZJSkVMQ1VDRDFwNFJBN3JOcnZzS2tockFnV01UQzVJQzRnY1RBNUlKNGdQaGdja0k0UVZ3d3VTRlFVMkI2RzJodCtGSzFxS3VPK1FaNFFWd0hVKzhaRUg3MHFMS3NDQ3RDRmFEMmIrN0lBWkdkUFB4dVdZR01BQUFBQUVsRlRrU3VRbUNDJykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItaW52ZXJ0ZWQtcnRsOiAgICAgIHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDSUFBQUFZQ0FZQUFBQ2ZwaThKQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUp0SlJFRlVTQTN0bGxFS3dDQUlobWQwc0YxbTdFeWp3N2FNQ0hMV1doanR3UjRpVTM0L2ZoS0NiZkh5M3UrSVlCWno1UFlLa3ExSUIzVkVIYUVPME5pR09UN0Q1VUVUbmJFRGdLdXp0bGxta3BCclZ2RkpNUWlVajFNekFDTUtrVUh3OEFGR0hLSUE2WVNaQXZFQWVZR1pCc0dDVkdDbVFtQlBpeHUzOE0yRTBZNnA5SDY0TXJFN0VGTWFGTkwvU00wNC9RWlFaOVNSM3pweUExaVlIbmJTTFBJUUFBQUFBRWxGVGtTdVFtQ0MnKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS1kaXNhYmxlZC10cmFjay1iZzogICAgICAgICAgICAkZ3JheS01MCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAwIDAgMCAxcHggcmdiYSgwLDAsMCwuMSksICRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRjdXN0b20tcmFuZ2UtdGh1bWItYmcgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJzdWNjZXNzXCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcImRhbmdlclwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICAgICAgICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAgICAgICAgICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1ydGw6ICAgICAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonIHRyYW5zZm9ybT0nc2NhbGUoLTEsIDEpIHRyYW5zbGF0ZSgtOCwgMCknLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgdmlld0JveD0nLTIgLTIgNyA3JyUzZSUzY3BhdGggc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIGQ9J00wIDBsMyAzbTAtM0wwIDMnLyUzZSUzY2NpcmNsZSByPScuNScvJTNlJTNjY2lyY2xlIGN4PSczJyByPScuNScvJTNlJTNjY2lyY2xlIGN5PSczJyByPScuNScvJTNlJTNjY2lyY2xlIGN4PSczJyBjeT0nMycgcj0nLjUnLyUzZSUzYy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1ydGw6ICAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgdmlld0JveD0nLTIgLTIgNyA3JyUzZSUzY3BhdGggc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIGQ9J00wIDBsMyAzbTAtM0wwIDMnLyUzZSUzY2NpcmNsZSByPScuNScvJTNlJTNjY2lyY2xlIGN4PSczJyByPScuNScvJTNlJTNjY2lyY2xlIGN5PSczJyByPScuNScvJTNlJTNjY2lyY2xlIGN4PSczJyBjeT0nMycgcj0nLjUnLyUzZSUzYy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZzogICAgICAgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgKyAkaW5wdXQtaGVpZ2h0LWlubmVyICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXNtOiAgICAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyArICRpbnB1dC1oZWlnaHQtaW5uZXItc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctbGc6ICAgICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICsgJGlucHV0LWhlaWdodC1pbm5lci1sZyAhZGVmYXVsdDtcblxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IChcbiAgXCJ2YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcixcbiAgICBcImljb25cIjogICAgICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQsXG4gICAgXCJpY29uLXJ0bFwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLXJ0bFxuICApLFxuICBcImludmFsaWRcIjogKFxuICAgIFwiY29sb3JcIjogICAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcixcbiAgICBcImljb25cIjogICAgICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZCxcbiAgICBcImljb24tcnRsXCI6ICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1ydGxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRHJvcGRvd25zXG5cbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAkZmxvYXRpbmctY29tcG9uZW50LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAkZHJvcGRvd24tYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAuNDM4cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAkZHJvcGRvd24tbGluay1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAkZ3JheS01MCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWxpbmUtaGVpZ2h0OiAgICAkY29tcG9uZW50LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE5hdnNcblxuJG5hdi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcblxuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAkY29tcG9uZW50LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbmF2LWxpbmstcGFkZGluZy15LWxnOiAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteC1sZzogICAgICAgICAgICAgMS4zMTI1cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kbmF2LWxpbmstcGFkZGluZy15LXNtOiAgICAgICAgICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXgtc206ICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstbGluZS1oZWlnaHQtc206ICAgICAgICAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRuYXYtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICR0ZXh0LW11dGVkLWhvdmVyICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTEwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE5hdmJhclxuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC44KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuNCkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjA2KSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgLjkzNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAkYm9yZGVyLWlubmVyLWNvbG9yICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAkdGV4dC1saWdodGVyICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAkcGFnaW5hdGlvbi1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogJGdyYXktMTAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLXNwYWNlcjogICAgICAgICAgICAgICAgLjE4NzVyZW0gIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQ2FyZHNcblxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14LXNtOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLWNvbG9yOiAgJGJvcmRlci1pbm5lci1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtZ2FwOiAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDRweCByZ2JhKCRibGFjaywgLjAxMikgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVG9vbHRpcHNcblxuJHRvb2x0aXAtY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTgwMCkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAxICFkZWZhdWx0O1xuJHRvb2x0aXAtYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBQb3BvdmVyc1xuXG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgJGdyYXktNTAgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogLjYyNXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQmFkZ2VzXG5cbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgIC44NThlbSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICRmb250LXdlaWdodC1zZW1pYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgLjQxN2VtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcblxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgICAgICAgLjU4M2VtICFkZWZhdWx0O1xuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgMTByZW0gIWRlZmF1bHQ7XG5cbiRiYWRnZS1kZWZhdWx0LWJnOiAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRiYWRnZS1vdXRsaW5lLWRlZmF1bHQtY29sb3I6ICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE1vZGFsc1xuXG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAxLjU2MjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLXBhZGRpbmc6ICAgICAgICAgICAxLjI1cmVtICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAxcHggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAkYm9yZGVyLWlubmVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93ICFkZWZhdWx0O1xuXG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAzNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgMjIuNXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgLjUgIWRlZmF1bHQ7XG5cbiRtb2RhbC1zbGlkZS13aWR0aDogICAgICAgICAgICAgIDIwcmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAuMTVzICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgdHJhbnNmb3JtICRtb2RhbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEFsZXJ0c1xuXG4kYWxlcnQtcGFkZGluZy15OiAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogMXJlbSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAkZ3JheS01MCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAxMHJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAjZmZmICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS0yMDApICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAuNjI1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgLjkzNzVyZW0gIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTI1ICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAkdGV4dC1saWdodGVyICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICR0ZXh0LW11dGVkLWhvdmVyICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICRncmF5LTUwICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEltYWdlIHRodW1ibmFpbHNcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAwICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgMHB4ICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAwcHggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgIG5vbmUgIWRlZmF1bHQ7XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgIDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAkdGV4dC1saWdodGVyICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICBcIi9cIiAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItcnRsOiAgIFwiL1wiICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFN3aXRjaGVyc1xuXG4kc3dpdGNoZXItc3BhY2VyLXg6ICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1zcGFjZXIteTogICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoZXItZ3V0dGVyOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHN3aXRjaGVyLWlubmVyLXNwYWNlcjogICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRzd2l0Y2hlci1zcXVhcmUtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRzd2l0Y2hlci1sYWJlbC1jb2xvcjogICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kc3dpdGNoZXItbGFiZWwtZGlzYWJsZWQtY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuJHN3aXRjaGVyLXdpZHRoOiAgICAgICAgICAgICAgICAyLjM3NXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1oZWlnaHQ6ICAgICAgICAgICAgICAgMS4zNzVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoZXItZm9udC1zaXplOiAgICAgICAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoZXItbGFiZWwtZm9udC1zaXplOiAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRzd2l0Y2hlci1sYWJlbC1saW5lLWhlaWdodDogICAgMS40ICFkZWZhdWx0O1xuXG4kc3dpdGNoZXItd2lkdGgtc206ICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoZXItaGVpZ2h0LXNtOiAgICAgICAgICAgIDEuMTI1cmVtICFkZWZhdWx0O1xuJHN3aXRjaGVyLWxhYmVsLWZvbnQtc2l6ZS1zbTogICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHN3aXRjaGVyLWxhYmVsLWxpbmUtaGVpZ2h0LXNtOiAxLjQ4NiAhZGVmYXVsdDtcblxuJHN3aXRjaGVyLXdpZHRoLWxnOiAgICAgICAgICAgICAzLjI1cmVtICFkZWZhdWx0O1xuJHN3aXRjaGVyLWhlaWdodC1sZzogICAgICAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuJHN3aXRjaGVyLWxhYmVsLWZvbnQtc2l6ZS1sZzogICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJHN3aXRjaGVyLWxhYmVsLWxpbmUtaGVpZ2h0LWxnOiAxLjQ3ICFkZWZhdWx0O1xuXG4kc3dpdGNoZXItb2ZmLWNvbG9yOiAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRzd2l0Y2hlci1vZmYtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHN3aXRjaGVyLWhvbGRlci1iZzogICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHN3aXRjaGVyLWhvbGRlci1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIC4wNCksIDAgMXB4IDZweCByZ2JhKCRibGFjaywgLjA5KSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBDbG9zZVxuXG4kY2xvc2UtZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAzcmVtICFkZWZhdWx0O1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFNpZGVuYXZcblxuJHNpZGVuYXYtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAxNS42MjVyZW0gIWRlZmF1bHQ7IC8vMjUwcHhcbiRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDogICAgICAgICAgICAgICAgNC4zNzVyZW0gIWRlZmF1bHQ7IC8vNzBweFxuXG4kc2lkZW5hdi1pdGVtLXNwYWNlcjogICAgICAgICAgICAgICAgICAgIC4wNjI1cmVtICFkZWZhdWx0O1xuXG4kc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteTogICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy14OiAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzaWRlbmF2LXZlcnRpY2FsLW1lbnUtbGluay1wYWRkaW5nLXk6ICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRzaWRlbmF2LXZlcnRpY2FsLW1lbnUtbGV2ZWwtc3BhY2VyOiAgICAgMXJlbSAhZGVmYXVsdDtcblxuJHNpZGVuYXYtaG9yaXpvbnRhbC1saW5rLXBhZGRpbmcteTogICAgICAxcmVtICFkZWZhdWx0O1xuJHNpZGVuYXYtaG9yaXpvbnRhbC1saW5rLXBhZGRpbmcteDogICAgICAxcmVtICFkZWZhdWx0O1xuJHNpZGVuYXYtaG9yaXpvbnRhbC1tZW51LWxpbmstcGFkZGluZy15OiAuNjI1cmVtICFkZWZhdWx0O1xuJHNpZGVuYXYtaG9yaXpvbnRhbC1tZW51LWxldmVsLXNwYWNlcjogICAxcmVtICFkZWZhdWx0O1xuXG4kc2lkZW5hdi1tZW51LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgIDEyLjVyZW0gIWRlZmF1bHQ7OyAvLzIwMHB4XG4kc2lkZW5hdi1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAgICAgIDIuMjVyZW0gIWRlZmF1bHQ7XG4kc2lkZW5hdi1jb250cm9sLWFycm93LXNpemU6ICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kc2lkZW5hdi1pY29uLWV4cGFuZGVkLXdpZHRoOiAgICAgICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG4kc2lkZW5hdi1pY29uLWV4cGFuZGVkLWZvbnQtc2l6ZTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc2lkZW5hdi1pY29uLWV4cGFuZGVkLXNwYWNlcjogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJHNpZGVuYXYtYW5pbWF0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAuMnMgIWRlZmF1bHQ7XG5cbiRzaWRlbmF2LW1heC1sZXZlbHM6ICAgICAgICAgICAgICAgICAgICAgNSAhZGVmYXVsdDtcblxuJHNpZGVuYXYtZGFyay1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKSAhZGVmYXVsdDtcbiRzaWRlbmF2LWRhcmstbWVudS1iZzogICAgICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDYpICFkZWZhdWx0O1xuJHNpZGVuYXYtbGlnaHQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNikgIWRlZmF1bHQ7XG4kc2lkZW5hdi1saWdodC1tZW51LWJnOiAgICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA1KSAhZGVmYXVsdDtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBUb2FzdHNcblxuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAkY2FyZC1pbm5lci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbi8vIENvbmZpZ1xuJHJ0bC1zdXBwb3J0OiBmYWxzZSAhZGVmYXVsdDtcbiRtYXRlcmlhbC1zdHlsZTogZmFsc2U7XG4iLCIvLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdpbmFsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPUy1hbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlciB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBEcm9wZG93bnNcbi8vXG5cbltkYXRhLXRyaWdnZXI9aG92ZXJdIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLmRyb3Bkb3duLW1lbnUge1xuICBtYXJnaW46ICRkcm9wZG93bi1zcGFjZXIgMDtcbiAgYm94LXNoYWRvdzogJGRyb3Bkb3duLWJveC1zaGFkb3c7XG5cbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbnNcbiAgQGlmIG5vdCAkbWF0ZXJpYWwtc3R5bGUge1xuICAgIGFuaW1hdGlvbjogZHJvcGRvd25BbmltYXRpb24gLjFzO1xuICB9IEBlbHNlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb246IGRyb3Bkb3duQW5pbWF0aW9uIC4yNXM7XG5cbiAgICAmLmRyb3Bkb3duLW1lbnUtcmlnaHQsXG4gICAgJi5kcm9wZG93bi1tZW51LXJpZ2h0IC5kcm9wZG93bi1tZW51IHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcbiAgICB9XG5cbiAgICAuZHJvcHVwICYge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG4gICAgfVxuXG4gICAgLmRyb3B1cCAmLmRyb3Bkb3duLW1lbnUtcmlnaHQsXG4gICAgLmRyb3B1cCAmLmRyb3Bkb3duLW1lbnUtcmlnaHQgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5tZWdhLWRyb3Bkb3duID4gJiB7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmRyb3Bkb3duLWl0ZW0ge1xuICBsaW5lLWhlaWdodDogJGRyb3Bkb3duLWxpbmstbGluZS1oZWlnaHQ7XG59XG5cbi8vIEJhZGdlIHdpdGhpbiBkcm9wZG93biBtZW51XG4uZHJvcGRvd24tbWVudSAuYmFkZ2VbY2xhc3NePVwiZmxvYXQtXCJdLFxuLmRyb3Bkb3duLW1lbnUgLmJhZGdlW2NsYXNzKj1cIiBmbG9hdC1cIl0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLjA3MWVtO1xufVxuXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgLmRyb3Bkb3duLWl0ZW0sXG4gIC5kcm9wZG93bi1tZW51ID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLy8gUmlwcGxlXG4gICAgLndhdmVzLXJpcHBsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC4xKTtcbiAgICB9XG4gICAgJi5hY3RpdmUgLndhdmVzLXJpcHBsZSxcbiAgICAmLmRpc2FibGVkIC53YXZlcy1yaXBwbGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGlkZGVuIGRyb3Bkb3duIHRvZ2dsZSBhcnJvd1xuLmRyb3Bkb3duLXRvZ2dsZS5oaWRlLWFycm93LFxuLmRyb3Bkb3duLXRvZ2dsZS1oaWRlLWFycm93ID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBNYWtlIEJvb3RzdHJhcCAzIHBhZ2luYXRpb24gY29tcGF0aWJsZSB3aXRoIEJvb3RzdHJhcCA0XG5cbi5kcm9wZG93bi1tZW51ID4gbGk6bm90KC5kcm9wZG93bi1pdGVtKSB7XG4gICA+IGE6bm90KC5kcm9wZG93bi1pdGVtKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG4gICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZHJvcGRvd24tbGluay1saW5lLWhlaWdodDtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWJnO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlID4gYTpub3QoLmRyb3Bkb3duLWl0ZW0pLFxuICA+IGE6bm90KC5kcm9wZG93bi1pdGVtKTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZztcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICYuZGlzYWJsZWQgPiBhOm5vdCguZHJvcGRvd24taXRlbSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcblxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIERyb3Bkb3duIHRvZ2dsZVxuXG5AaWYgJGVuYWJsZS1jYXJldCB7XG4gIC5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjpiZWZvcmUsXG4gIC5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gIH1cblxuICBAaW5jbHVkZSBydGwtb25seSB7XG4gICAgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjpiZWZvcmUsXG4gICAgLmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICBAaW5jbHVkZSBjYXJldC1sZWZ0O1xuICAgIH1cblxuICAgIC5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuXG4gICAgICBAaW5jbHVkZSBjYXJldC1yaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDo6YWZ0ZXIsXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjpiZWZvcmUge1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBOZXN0ZWQgZHJvcGRvd25zXG5cbi5kcm9wZG93bi1tZW51IC5kcm9wZG93bi10b2dnbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLXRvZ2dsZSA+IC5kcm9wZG93bi1pdGVtIHtcbiBwb3NpdGlvbjogcmVsYXRpdmU7XG4gY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogKG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1kKSAtIDEpKSB7XG4gIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1kKSkge1xuICAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24tdG9nZ2xlID4gLmRyb3Bkb3duLWl0ZW06OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14IC8gMjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogLjM3NXJlbTtcbiAgICBoZWlnaHQ6IC4zNzVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHRleHQtbXV0ZWQ7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgwLCAtNTAlKTtcblxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAvIDI7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKDAsIC01MCUpIHNjYWxlWCgtMSk7XG4gICAgfVxuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLXRvZ2dsZTpob3ZlciA+IC5kcm9wZG93bi1pdGVtOm5vdCguZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbGluay1ob3Zlci1iZztcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I7XG5cbiAgICAgKyAuZHJvcGRvd24tbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudS1yaWdodCAuZHJvcGRvd24tbWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxufVxuIiwiLy8gTWl4aW5zXG4vL1xuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFJUTC9MVFJcblxuQG1peGluIGx0ci1vbmx5KCkge1xuICBAaWYgJHJ0bC1zdXBwb3J0IHtcbiAgICBodG1sOm5vdChbZGlyPXJ0bF0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHJ0bC1vbmx5KCkge1xuICBAaWYgJHJ0bC1zdXBwb3J0IHtcbiAgICBbZGlyPXJ0bF0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsdHItc3R5bGUoKSB7XG4gIEBpZiAkcnRsLXN1cHBvcnQge1xuICAgIGh0bWw6bm90KFtkaXI9cnRsXSkgJiB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBydGwtc3R5bGUoKSB7XG4gIEBpZiAkcnRsLXN1cHBvcnQge1xuICAgIFtkaXI9cnRsXSAmIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEtleWZyYW1lc1xuXG5AbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XG4gIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQC1tb3ota2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENhcmV0c1xuXG5AbWl4aW4gY2FyZXQtZG93biB7XG4gIG1hcmdpbi10b3A6IC0xICogKCRjYXJldC13aWR0aCAvIDEuNSk7XG4gIHdpZHRoOiAkY2FyZXQtd2lkdGg7XG4gIGhlaWdodDogJGNhcmV0LXdpZHRoO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuQG1peGluIGNhcmV0LXVwIHtcbiAgbWFyZ2luLXRvcDogLTA7XG4gIHdpZHRoOiAkY2FyZXQtd2lkdGg7XG4gIGhlaWdodDogJGNhcmV0LXdpZHRoO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG5cbkBtaXhpbiBjYXJldC1yaWdodCB7XG4gIG1hcmdpbi10b3A6IC0xICogKCRjYXJldC13aWR0aCAvIDIpO1xuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG5AbWl4aW4gY2FyZXQtbGVmdCB7XG4gIG1hcmdpbi10b3A6IC0xICogKCRjYXJldC13aWR0aCAvIDIpO1xuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFJlc3BvbnNpemUgbG9vcHNcblxuQG1peGluIHJlc3BvbnNpdmUtbG9vcC1iZWZvcmUoJHBhcmVudCwgJHN0YXJ0LWJyZWFrcG9pbnQ6IHNtKSB7XG4gICRjdXItYnJlYWtwb2ludDogJHN0YXJ0LWJyZWFrcG9pbnQ7XG5cbiAgQHdoaWxlICRjdXItYnJlYWtwb2ludCB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRjdXItYnJlYWtwb2ludCk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogKGJyZWFrcG9pbnQtbWluKCRjdXItYnJlYWtwb2ludCkgLSAxKSkge1xuICAgICAgI3skcGFyZW50fSN7JGluZml4fSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgICRjdXItYnJlYWtwb2ludDogYnJlYWtwb2ludC1uZXh0KCRjdXItYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuQG1peGluIHJlc3BvbnNpdmUtbG9vcC1hZnRlcigkcGFyZW50LCAkc3RhcnQtYnJlYWtwb2ludDogc20pIHtcbiAgJGN1ci1icmVha3BvaW50OiAkc3RhcnQtYnJlYWtwb2ludDtcblxuICBAd2hpbGUgJGN1ci1icmVha3BvaW50IHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGN1ci1icmVha3BvaW50KTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBicmVha3BvaW50LW1pbigkY3VyLWJyZWFrcG9pbnQpKSB7XG4gICAgICAjeyRwYXJlbnR9I3skaW5maXh9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGN1ci1icmVha3BvaW50OiBicmVha3BvaW50LW5leHQoJGN1ci1icmVha3BvaW50KTtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENvbG9yc1xuXG4vLyBDb250cmFzdFxuQG1peGluIGNvbG9yLXlpcSgkY29sb3IpIHtcbiAgY29sb3I6IHlpcSgkY29sb3IpO1xufVxuXG5AbWl4aW4gYmctY29sb3ItdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRydGgtY29sb3I6ICMwMDApIHtcbiAgI3skcGFyZW50fSB7IGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50OyB9XG4gIGEjeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuOTUpLCAkYmFja2dyb3VuZDogJHJ0aC1jb2xvcikgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJHJ0aC1jb2xvcjogIzAwMCkge1xuICBAaW5jbHVkZSBiZy1jb2xvci12YXJpYW50KCRwYXJlbnQsICRjb2xvcik7XG4gIEBpbmNsdWRlIGJnLWNvbG9yLXZhcmlhbnQoXCIjeyRwYXJlbnR9LWRhcmtcIiwgcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC45KSwgJGJhY2tncm91bmQ6ICRydGgtY29sb3IpKTtcbiAgQGluY2x1ZGUgYmctY29sb3ItdmFyaWFudChcIiN7JHBhcmVudH0tZGFya2VyXCIsIHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuODUpLCAkYmFja2dyb3VuZDogJHJ0aC1jb2xvcikpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kOiBudWxsLCAkYm9yZGVyOiBudWxsLCAkYWN0aXZlLWJhY2tncm91bmQ6IG51bGwsICRhY3RpdmUtYm9yZGVyOiBudWxsKSB7fVxuXG5AbWl4aW4gYXBwd29yay1idXR0b24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsKSB7XG4gICRidG4tY29sb3JzOiBnZXQtYnRuLWNvbG9ycygkYmFja2dyb3VuZCwgaWYoJGJvcmRlciwgJGJvcmRlciwgJGJhY2tncm91bmQpKTtcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkYnRuLWNvbG9ycywgc2hhZG93KTtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkLFxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudH0gLmJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgY29sb3I6IHJnYmEtdG8taGV4KCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gICN7JHBhcmVudH06YWN0aXZlLFxuICAjeyRwYXJlbnR9LmFjdGl2ZSxcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWFjdGl2ZSk7XG5cbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJ1dHRvbiBncm91cHNcbiAgLmJ0bi1ncm91cCAjeyRwYXJlbnR9LFxuICAuaW5wdXQtZ3JvdXAtcHJlcGVuZCAjeyRwYXJlbnR9LFxuICAuaW5wdXQtZ3JvdXAtYXBwZW5kICN7JHBhcmVudH0ge1xuICAgIGJvcmRlci1yaWdodDogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgbWFwLWdldCgkYnRuLWNvbG9ycywgYmctYWN0aXZlKTtcbiAgICBib3JkZXItbGVmdDogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgbWFwLWdldCgkYnRuLWNvbG9ycywgYmctYWN0aXZlKTtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1idXR0b24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkbWQtY29sb3I6ICRiYWNrZ3JvdW5kKSB7XG4gICRidG4tY29sb3JzOiBnZXQtbWF0ZXJpYWwtYnRuLWNvbG9ycygkYmFja2dyb3VuZCk7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIGJveC1zaGFkb3c6ICRidG4tYm94LXNoYWRvdztcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAkYnRuLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgI3skcGFyZW50fSAuYmFkZ2Uge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBjb2xvcjogcmdiYS10by1oZXgoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgI3skcGFyZW50fSAud2F2ZXMtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gI2ZmZiwgcmdiYSgkY29sb3IsIC4zKSwgcmdiYSgkY29sb3IsIC4yKSk7XG4gIH1cblxuICAjeyRwYXJlbnR9OmFjdGl2ZSxcbiAgI3skcGFyZW50fS5hY3RpdmUsXG4gIC5zaG93ID4gI3skcGFyZW50fS5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWFjdGl2ZSk7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIEZsYXQgYnV0dG9uc1xuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6ICRtZC1jb2xvcjtcblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRtZC1jb2xvciwgLjEpO1xuICAgIH1cblxuICAgIC53YXZlcy1yaXBwbGUge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkbWQtY29sb3IsIC4zKTtcbiAgICB9XG4gIH1cblxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0OmFjdGl2ZSxcbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdC5hY3RpdmUsXG4gIC5zaG93ID4gI3skcGFyZW50fS5tZC1idG4tZmxhdC5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJG1kLWNvbG9yLCAuMTUpO1xuICB9XG5cbiAgLy8gRGlzYWJsZWRcblxuICAjeyRwYXJlbnR9LmRpc2FibGVkLFxuICAjeyRwYXJlbnR9OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6ICRtYXRlcmlhbC1jb21wb25lbnQtc2hhZG93ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG5cbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdC5kaXNhYmxlZCxcbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE91dGxpbmUgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3I6IG51bGwsICRjb2xvci1ob3ZlcjogbnVsbCwgJGhvdmVyLWNvbG9yOiBudWxsKSB7fVxuXG5AbWl4aW4gYXBwd29yay1idXR0b24tb3V0bGluZS12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGhvdmVyLWNvbG9yOiBudWxsKSB7XG4gICRidG4tY29sb3JzOiBnZXQtYnRuLWNvbG9ycygkY29sb3IsICRjb2xvcik7XG4gICRjb2xvci1ob3ZlcjogaWYoJGhvdmVyLWNvbG9yLCAkaG92ZXItY29sb3IsIHlpcSgkY29sb3IpKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkYnRuLWNvbG9ycywgc2hhZG93KTtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkLFxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgI3skcGFyZW50fTphY3RpdmUsXG4gICN7JHBhcmVudH0uYWN0aXZlLFxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcik7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG5cbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudH0gLmJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICAjeyRwYXJlbnR9OmhvdmVyIC5iYWRnZSxcbiAgI3skcGFyZW50fTpmb2N1cyAuYmFkZ2UsXG4gICN7JHBhcmVudH06YWN0aXZlIC5iYWRnZSxcbiAgI3skcGFyZW50fS5hY3RpdmUgLmJhZGdlLFxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIC5iYWRnZSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiBpZihhbHBoYSgkY29sb3IpPT0xLCAkY29sb3IsIHlpcSgkY29sb3ItaG92ZXIpKTtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1idXR0b24tb3V0bGluZS12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGhvdmVyLWNvbG9yOiBudWxsKSB7XG4gICRidG4tY29sb3JzOiBnZXQtbWF0ZXJpYWwtYnRuLWNvbG9ycygkY29sb3IpO1xuICAkY29sb3ItaG92ZXI6IGlmKCRob3Zlci1jb2xvciwgJGhvdmVyLWNvbG9yLCB5aXEoJGNvbG9yKSk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjb2xvciBpbnNldDtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICAgICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkLFxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY29sb3IgaW5zZXQgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAjeyRwYXJlbnR9OmFjdGl2ZSxcbiAgI3skcGFyZW50fS5hY3RpdmUsXG4gIC5zaG93ID4gI3skcGFyZW50fS5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWhvdmVyKTtcbiAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93O1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cblxuICAjeyRwYXJlbnR9IC53YXZlcy1yaXBwbGUge1xuICAgIGJhY2tncm91bmQ6IGlmKCRjb2xvci1ob3Zlcj09I2ZmZiwgcmdiYSgkY29sb3ItaG92ZXIsIC4zKSwgcmdiYSgkY29sb3ItaG92ZXIsIC4yKSk7XG4gIH1cblxuICAjeyRwYXJlbnR9IC5iYWRnZSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgI3skcGFyZW50fTpob3ZlciAuYmFkZ2UsXG4gICN7JHBhcmVudH06Zm9jdXMgLmJhZGdlLFxuICAjeyRwYXJlbnR9OmFjdGl2ZSAuYmFkZ2UsXG4gICN7JHBhcmVudH0uYWN0aXZlIC5iYWRnZSxcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSAuYmFkZ2Uge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogaWYoYWxwaGEoJGNvbG9yKT09MSwgJGNvbG9yLCB5aXEoJGNvbG9yLWhvdmVyKSk7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBCYWRnZXNcblxuQG1peGluIGJhZGdlLXZhcmlhbnQoJGJnKSB7fVxuXG5AbWl4aW4gYXBwd29yay1iYWRnZS12YXJpYW50KCRwYXJlbnQsICRiZywgJGNvbG9yOiBudWxsKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmcpKTtcbiAgfVxuXG4gICN7JHBhcmVudH1baHJlZl0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGlmKGFscGhhKCRiZykgPT0gMSwgcmdiYS10by1oZXgocmdiYSgkYmcsIC45NSksICMwMDApLCByZ2JhKCRiZywgYWxwaGEoJGJnKSArIC4wMykpO1xuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJnKSk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmJ0biAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kOiAkYmcgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICRiZyAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiZykpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstYmFkZ2Utb3V0bGluZS12YXJpYW50KCRwYXJlbnQsICRiZywgJGNvbG9yOiAkYmcpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRiZyBpbnNldDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgI3skcGFyZW50fVtocmVmXSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuYnRuICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRiZyBpbnNldCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIERyb3Bkb3duc1xuXG5AbWl4aW4gYXBwd29yay1kcm9wZG93bi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgI3skcGFyZW50fSAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gICN7JHBhcmVudH0gLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCk6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuICB9XG5cbiAgI3skcGFyZW50fS5kcm9wZG93bi1tZW51ID4gbGk6bm90KC5kaXNhYmxlZCkgPiBhOm5vdCguZHJvcGRvd24taXRlbSk6YWN0aXZlLFxuICAjeyRwYXJlbnR9LmRyb3Bkb3duLW1lbnUgPiBsaS5hY3RpdmU6bm90KC5kaXNhYmxlZCkgPiBhOm5vdCguZHJvcGRvd24taXRlbSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstZHJvcGRvd24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLWRyb3Bkb3duLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1kcm9wZG93bi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgI3skcGFyZW50fSAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG4gIH1cblxuICAjeyRwYXJlbnR9LmRyb3Bkb3duLW1lbnUgPiBsaS5hY3RpdmU6bm90KC5kaXNhYmxlZCkgPiBhOm5vdCguZHJvcGRvd24taXRlbSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtZHJvcGRvd24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWRyb3Bkb3duLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIE5hdnNcblxuQG1peGluIGFwcHdvcmstbmF2LXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KSB7XG4gICA+IC5uYXYgLm5hdi1saW5rLFxuICAmLm5hdiAubmF2LWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1uYXYtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICRwaWxscy1zZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJy5uYXYtcGlsbHMnLCAnI3skcGFyZW50fS5uYXYtcGlsbHMsICN7JHBhcmVudH0gPiAubmF2LXBpbGxzJyk7XG5cbiAgI3skcGlsbHMtc2VsZWN0b3J9IC5uYXYtbGluay5hY3RpdmUge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcbiAgICB9XG4gIH1cblxuICAjeyRwYXJlbnR9LnRhYnMtYWx0Lm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmUsXG4gICN7JHBhcmVudH0udGFicy1hbHQgPiAubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMCAtMnB4IDAgJGJhY2tncm91bmQgaW5zZXQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLW5hdi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gIEBpbmNsdWRlIGFwcHdvcmstbmF2LXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1uYXYtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRsaW5rLWNvbG9yOiBudWxsKSB7XG4gICR0YWJzLXNlbGVjdG9yOiBpZigkcGFyZW50ID09ICcnLCAnLm5hdi10YWJzJywgJyN7JHBhcmVudH0ubmF2LXRhYnMnKTtcbiAgJHBpbGxzLXNlbGVjdG9yOiBpZigkcGFyZW50ID09ICcnLCAnLm5hdi1waWxscycsICcjeyRwYXJlbnR9Lm5hdi1waWxscywgI3skcGFyZW50fSA+IC5uYXYtcGlsbHMnKTtcblxuICAjeyR0YWJzLXNlbGVjdG9yfSAubmF2LWxpbmsge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkY29sb3IsICRjb2xvcik7XG4gIH1cblxuICAjeyRwaWxscy1zZWxlY3Rvcn0gLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgY29sb3I6IGlmKCRsaW5rLWNvbG9yLCAkbGluay1jb2xvciwgeWlxKCRjb2xvcikpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1uYXYtdGhlbWUoJGNvbG9yLCAkbGluay1jb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLW5hdi12YXJpYW50KCcnLCAkY29sb3IsICRsaW5rLWNvbG9yKTtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBQYWdpbmF0aW9uXG5cbkBtaXhpbiBhcHB3b3JrLXBhZ2luYXRpb24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICN7JHBhcmVudH0gLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluayxcbiAgI3skcGFyZW50fS5wYWdpbmF0aW9uIGxpLmFjdGl2ZSA+IGE6bm90KC5wYWdlLWxpbmspIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1wYWdpbmF0aW9uLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgQGluY2x1ZGUgYXBwd29yay1wYWdpbmF0aW9uLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFByb2dyZXNzIGJhcnNcblxuQG1peGluIGFwcHdvcmstcHJvZ3Jlc3MtYmFyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgLnByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIExpc3QgZ3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGU6IG51bGwsICRiYWNrZ3JvdW5kOiBudWxsLCAkY29sb3I6IG51bGwpIHt9XG5cbkBtaXhpbiBhcHB3b3JrLWxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgJGJnOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuMSksICNmZmYpO1xuICAkY29sb3I6IHlpcSgkYmcpO1xuICAkaG92ZXItYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJnLCAuOTkpLCAjMDAwKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjA3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIGEjeyRwYXJlbnR9LFxuICBidXR0b24jeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJnO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1saXN0LWdyb3VwLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgQGluY2x1ZGUgYXBwd29yay1saXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgnLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5JywgJGJhY2tncm91bmQpO1xuXG4gIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEFsZXJ0c1xuXG5AbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZDogbnVsbCwgJGJvcmRlcjogbnVsbCwgJGNvbG9yOiBudWxsKSB7fVxuXG5AbWl4aW4gYXBwd29yay1hbGVydC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuMTUpLCAjZmZmKTtcbiAgJGJvcmRlcjogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjk0KSwgIzAwMCk7XG4gICRjb2xvcjogeWlxKCRiYWNrZ3JvdW5kKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIGhyIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRib3JkZXI7XG4gICAgfVxuXG4gICAgLmFsZXJ0LWxpbmsge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstYWxlcnQtZGFyay12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIGhyIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoeWlxKCRiYWNrZ3JvdW5kKSwuMik7XG4gICAgfVxuXG4gICAgLmNsb3NlLFxuICAgIC5hbGVydC1saW5rIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVG9vbHRpcHNcblxuQG1peGluIGFwcHdvcmstdG9vbHRpcC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgLnRvb2x0aXAtaW5uZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuICAgIH1cblxuICAgICYuYnMtdG9vbHRpcC10b3AgLmFycm93OjpiZWZvcmUsICYuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci10b3AtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gICAgJi5icy10b29sdGlwLXJpZ2h0IC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJyaWdodFwiXSAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci1yaWdodC1jb2xvcjogJGJhY2tncm91bmQ7IH1cbiAgICAmLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJib3R0b21cIl0gLmFycm93OjpiZWZvcmUgeyBib3JkZXItYm90dG9tLWNvbG9yOiAkYmFja2dyb3VuZDsgfVxuICAgICYuYnMtdG9vbHRpcC1sZWZ0IC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC5hcnJvdzo6YmVmb3JlIHsgYm9yZGVyLWxlZnQtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBQb3BvdmVyc1xuXG5AbWl4aW4gYXBwd29yay1wb3BvdmVyLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gICAgLnBvcG92ZXItaGVhZGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSh5aXEoJGJhY2tncm91bmQpLC4yKTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICAucG9wb3Zlci1ib2R5IHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICA+IC5hcnJvdzo6YmVmb3JlIHsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4gICAgJi5icy1wb3BvdmVyLXRvcCA+IC5hcnJvdzo6YWZ0ZXIsICYuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSA+IC5hcnJvdzo6YWZ0ZXIgeyBib3JkZXItdG9wLWNvbG9yOiAkYmFja2dyb3VuZDsgfVxuICAgICYuYnMtcG9wb3Zlci1yaWdodCA+IC5hcnJvdzo6YWZ0ZXIsICYuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdID4gLmFycm93OjphZnRlciB7IGJvcmRlci1yaWdodC1jb2xvcjogJGJhY2tncm91bmQ7IH1cbiAgICAmLmJzLXBvcG92ZXItYm90dG9tID4gLmFycm93OjphZnRlciwgJi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwiYm90dG9tXCJdID4gLmFycm93OjphZnRlciB7IGJvcmRlci1ib3R0b20tY29sb3I6ICRiYWNrZ3JvdW5kOyB9XG4gICAgJi5icy1wb3BvdmVyLWxlZnQgPiAuYXJyb3c6OmFmdGVyLCAmLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdID4gLmFycm93OjphZnRlciB7IGJvcmRlci1sZWZ0LWNvbG9yOiAkYmFja2dyb3VuZDsgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogRm9ybSBjb250cm9sc1xuXG5AbWl4aW4gYXBwd29yay1jdXN0b20tc2VsZWN0LXNpemUoJHNpemUsICRwYWRkaW5nLXgsICRsaW5lLWhlaWdodCwgJGZvbnQtc2l6ZSkge1xuICAuY3VzdG9tLXNlbGVjdC0jeyRzaXplfSxcbiAgLmlucHV0LWdyb3VwLSN7JHNpemV9IC5jdXN0b20tc2VsZWN0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJHBhZGRpbmcteCBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcblxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAmLFxuICAgICAgJltzaXplPVwiMFwiXTpub3QoW211bHRpcGxlXSkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAkcGFkZGluZy14IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW3NpemU9XCIwXCJdOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCwgJGRlZmF1bHQtYmFja2dyb3VuZDogbnVsbCkge1xuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBAaWYgJGRlZmF1bHQtYmFja2dyb3VuZCB7XG4gICAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAgIC5jdXN0b20tY29udHJvbC1pbnB1dDphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAgICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRiYWNrZ3JvdW5kLCAuNCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuICAgICYuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xuICAgIH1cblxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XG4gICAgfVxuXG4gICAgJi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstY3VzdG9tLWNvbnRyb2wtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJy5jdXN0b20tY29udHJvbCcsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1jdXN0b20tY29udHJvbC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwsICRkZWZhdWx0LWJhY2tncm91bmQ6IG51bGwpIHtcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgQGlmICRkZWZhdWx0LWJhY2tncm91bmQge1xuICAgICAgLmN1c3RvbS1jb250cm9sLWlucHV0IH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAmLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcbiAgICB9XG5cbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XG4gICAgfVxuXG4gICAgJi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0IH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRiYWNrZ3JvdW5kKSwgXCIjXCIsIFwiJTIzXCIpKTtcbiAgICB9XG5cbiAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmFja2dyb3VuZCwgLjE1KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWNvbnRyb2wtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJy5jdXN0b20tY29udHJvbCcsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZTogbnVsbCwgJGNvbG9yOiBudWxsLCAkaWNvbjogbnVsbCkge31cblxuQG1peGluIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJHBhcmVudCwgJHN0YXRlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1mb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IsICRpY29uLCAkaWNvbi1ydGwpIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6ICRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgZm9udC1zaXplOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogY29sb3IteWlxKCRjb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmZvcm0tY29udHJvbCwgLmN1c3RvbS1zZWxlY3QsIC5mb3JtLWNvbnRyb2wtZmlsZSwgLmN1c3RvbS1jb250cm9sLWlucHV0JywgJHN0YXRlKSB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5mb3JtLWNvbnRyb2wsIC5jdXN0b20tc2VsZWN0JywgJHN0YXRlKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLWNvbnRyb2xbY2xhc3NdIC5jdXN0b20tY29udHJvbC1pbnB1dCcsICRzdGF0ZSkge1xuICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuXG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgJjphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkY29sb3IsIC40KTtcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dCcsICRzdGF0ZSkge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZywgJ19DT0xPUl8nLCB5aXEoJGNvbG9yKSksIFwiI1wiLCBcIiUyM1wiKSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQnLCAkc3RhdGUpIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgeWlxKCRjb2xvcikpLCBcIiNcIiwgXCIlMjNcIikpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5jdXN0b20tZmlsZS1pbnB1dCcsICRzdGF0ZSkge1xuICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYWxpZGF0aW9uIGljb25zXG4gIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgIC8vIElucHV0c1xuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5mb3JtLWNvbnRyb2wnLCAkc3RhdGUpIHtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpO1xuXG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkaWNvbjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkaWNvbi1ydGw7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMyk7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5mb3JtLWNvbnRyb2wtc20nLCAkc3RhdGUpIHtcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXItc207XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gLyA0KTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGlucHV0LWhlaWdodC1pbm5lci1zbTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItc219IC8gNCk7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5mb3JtLWNvbnRyb2wtbGcnLCAkc3RhdGUpIHtcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXItbGc7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gLyAyLjUpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkaW5wdXQtaGVpZ2h0LWlubmVyLWxnO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gLyAyLjUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRleHRhcmVhc1xuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJ3RleHRhcmVhLmZvcm0tY29udHJvbCcsICRzdGF0ZSkge1xuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpIHJpZ2h0IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpIGxlZnQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMyk7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJ3RleHRhcmVhLmZvcm0tY29udHJvbC1zbScsICRzdGF0ZSkge1xuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLXNtfSAvIDQpIHJpZ2h0IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLXNtfSAvIDQpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLXNtfSAvIDQpIGxlZnQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItc219IC8gNCk7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJ3RleHRhcmVhLmZvcm0tY29udHJvbC1sZycsICRzdGF0ZSkge1xuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLWxnfSAvIDIuNSkgcmlnaHQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9IC8gMi41KTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gLyAyLjUpIGxlZnQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9IC8gMi41KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDdXN0b20gc2VsZWN0c1xuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5jdXN0b20tc2VsZWN0W3NpemU9XCIxXCJdLCAuY3VzdG9tLXNlbGVjdDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSknLCAkc3RhdGUpIHtcbiAgICAgICRmb3JtLWZlZWRiYWNrLWljb24tb2Zmc2V0OiAoKCRpbnB1dC1oZWlnaHQtaW5uZXIgLSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgpIC8gMykgKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLCAkaWNvbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciwgcmlnaHQgJGZvcm0tZmVlZGJhY2staWNvbi1vZmZzZXQgY2VudGVyO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmc7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1ydGwsICRpY29uLXJ0bDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyLCBsZWZ0ICRmb3JtLWZlZWRiYWNrLWljb24tb2Zmc2V0IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1zZWxlY3Qtc21bc2l6ZT1cIjFcIl0sIC5jdXN0b20tc2VsZWN0LXNtOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKScsICRzdGF0ZSkge1xuICAgICAgJGZvcm0tZmVlZGJhY2staWNvbi1vZmZzZXQ6ICgoJGlucHV0LWhlaWdodC1pbm5lci1zbSAtICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCkgLyA0KSArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXNtO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc20gY2VudGVyLCByaWdodCAkZm9ybS1mZWVkYmFjay1pY29uLW9mZnNldCBjZW50ZXI7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1zbTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc20gY2VudGVyLCBsZWZ0ICRmb3JtLWZlZWRiYWNrLWljb24tb2Zmc2V0IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1zZWxlY3QtbGdbc2l6ZT1cIjFcIl0sIC5jdXN0b20tc2VsZWN0LWxnOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKScsICRzdGF0ZSkge1xuICAgICAgJGZvcm0tZmVlZGJhY2staWNvbi1vZmZzZXQ6ICgoJGlucHV0LWhlaWdodC1pbm5lci1sZyAtICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCkgLyAyKSArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLWxnO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGcgY2VudGVyLCByaWdodCAkZm9ybS1mZWVkYmFjay1pY29uLW9mZnNldCBjZW50ZXI7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1sZztcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGcgY2VudGVyLCBsZWZ0ICRmb3JtLWZlZWRiYWNrLWljb24tb2Zmc2V0IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yLCAkaWNvbiwgJGljb24tcnRsKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiAkZm9ybS1mZWVkYmFjay1mb250LXNpemU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gQ29udGFpbiB0byBwYXJlbnQgd2hlbiBwb3NzaWJsZVxuICAgIHBhZGRpbmc6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14O1xuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAkZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHkpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5mb3JtLWNvbnRyb2wsIC5jdXN0b20tc2VsZWN0LCAuZm9ybS1jb250cm9sLWZpbGUsIC5jdXN0b20tY29udHJvbC1pbnB1dCcsICRzdGF0ZSkge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuZm9ybS1jb250cm9sLCAuY3VzdG9tLXNlbGVjdCcsICRzdGF0ZSkge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1jb250cm9sW2NsYXNzXSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQnLCAkc3RhdGUpIHtcbiAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cblxuICAgIH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgJjphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsIC4xNSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1jaGVja2JveFtjbGFzc10gLmN1c3RvbS1jb250cm9sLWlucHV0JywgJHN0YXRlKSB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsIHlpcSgkY29sb3IpKSwgXCIjXCIsIFwiJTIzXCIpKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLXJhZGlvW2NsYXNzXSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQnLCAkc3RhdGUpIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLWZpbGUtaW5wdXQnLCAkc3RhdGUpIHtcbiAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBWYWxpZGF0aW9uIGljb25zXG4gIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgIC8vIElucHV0c1xuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5mb3JtLWNvbnRyb2wnLCAkc3RhdGUpIHtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpO1xuXG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkaWNvbjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkaWNvbi1ydGw7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGV4dGFyZWFzXG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgndGV4dGFyZWEuZm9ybS1jb250cm9sJywgJHN0YXRlKSB7XG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMykgcmlnaHQ7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMykgbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgndGV4dGFyZWEuZm9ybS1jb250cm9sLXNtJywgJHN0YXRlKSB7XG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItc219IC8gNCkgcmlnaHQ7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItc219IC8gNCkgbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgndGV4dGFyZWEuZm9ybS1jb250cm9sLWxnJywgJHN0YXRlKSB7XG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9IC8gMi41KSByaWdodDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gLyAyLjUpIGxlZnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ3VzdG9tIHNlbGVjdHNcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLXNlbGVjdFtzaXplPVwiMVwiXSwgLmN1c3RvbS1zZWxlY3Q6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pJywgJHN0YXRlKSB7XG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmc7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tc2VsZWN0LWluZGljYXRvciwgJGljb247XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlciwgcmlnaHQgMXJlbSBjZW50ZXI7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXJ0bCwgJGljb24tcnRsO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlciwgbGVmdCAxcmVtIGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstY3VzdG9tLWZpbGUtaW5wdXQtdGhlbWUoJGNvbG9yKSB7XG4gIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWN1c3RvbS1maWxlLWlucHV0LXRoZW1lKCRjb2xvcikge1xuICAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwICRjb2xvciBpbnNldDtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1mb3JtLWNvbnRyb2wtc2l6ZSgkc2l6ZSwgJHBhZGRpbmcteSkge1xuICBAaWYgJHNpemUgPT0gJycge1xuICAgIC5mb3JtLWNvbnRyb2wsXG4gICAgLmN1c3RvbS1zZWxlY3QsXG4gICAgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgIC5pbnB1dC1ncm91cC10ZXh0IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JHBhZGRpbmcteX0gLSAxcHgpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLmZvcm0tY29udHJvbC0jeyRzaXplfSxcbiAgICAuY3VzdG9tLXNlbGVjdC0jeyRzaXplfSxcbiAgICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gPiAuZm9ybS1jb250cm9sLFxuICAgIC5pbnB1dC1ncm91cC0jeyRzaXplfSA+IC5jdXN0b20tc2VsZWN0LFxuICAgIC5pbnB1dC1ncm91cC0jeyRzaXplfSAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JHBhZGRpbmcteX0gLSAxcHgpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1mb3JtLWNvbnRyb2wtdGhlbWUoJGNvbG9yKSB7XG4gIC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gIC5jdXN0b20tc2VsZWN0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1mb3JtLWNvbnRyb2wtdGhlbWUoJGNvbG9yKSB7XG4gIC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gIC5jdXN0b20tc2VsZWN0OmZvY3VzIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkY29sb3IgaW5zZXQ7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTd2l0Y2hlcnNcblxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItc2l6ZS1iYXNlKCR3aWR0aCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0LCAkaW5uZXItc3BhY2VyOiAkc3dpdGNoZXItaW5uZXItc3BhY2VyKSB7XG4gIHBhZGRpbmctbGVmdDogJHdpZHRoO1xuICBtaW4taGVpZ2h0OiAkaGVpZ2h0O1xuICBmb250LXNpemU6ICRkZXNjcmlwdGlvbi1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XG5cbiAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAkZGVzY3JpcHRpb24tZm9udC1zaXplICogJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xuICAkZGVsdGE6IGlmKCRtYXRlcmlhbC1zdHlsZSwgcHgtdG8tcmVtKGNlaWwocmVtLXRvLXB4KCRoZWlnaHQgKiAuMTI1KSkpLCAwKTtcblxuICAuc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGhlaWdodDogJGhlaWdodCAtICgkZGVsdGEgKiAyKTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWlnaHQ7XG5cbiAgICBAaWYgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkID4gJGhlaWdodCB7XG4gICAgICB0b3A6ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC0gJGhlaWdodCkgLyAyKSArICRkZWx0YTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRvcDogMCArICRkZWx0YTtcbiAgICB9XG4gIH1cblxuICAuc3dpdGNoZXItbGFiZWwge1xuICAgIEBpZiAkbGluZS1oZWlnaHQtY29tcHV0ZWQgPCAkaGVpZ2h0IHtcbiAgICAgIHRvcDogKCRoZWlnaHQgLSAkbGluZS1oZWlnaHQtY29tcHV0ZWQpIC8gMjtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cblxuICAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgICBsZWZ0OiAkd2lkdGggLSAkaGVpZ2h0O1xuICB9XG5cbiAgLnN3aXRjaGVyLWluZGljYXRvcjo6YWZ0ZXIge1xuICAgIHRvcDogJGRlbHRhICogLTE7XG4gICAgbWFyZ2luOiAkaW5uZXItc3BhY2VyIDAgMCAkaW5uZXItc3BhY2VyO1xuICAgIHdpZHRoOiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlciAqIDI7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlciAqIDI7XG4gIH1cblxuICAuc3dpdGNoZXItbm8ge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRpbm5lci1zcGFjZXI7XG4gICAgcGFkZGluZy1sZWZ0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlcjtcbiAgfVxuXG4gIC5zd2l0Y2hlci15ZXMge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyO1xuICAgIHBhZGRpbmctbGVmdDogJGlubmVyLXNwYWNlcjtcbiAgfVxuXG4gIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAgIC5zd2l0Y2hlci1pbmRpY2F0b3I6OmJlZm9yZSB7XG4gICAgICB0b3A6ICRkZWx0YSAqIC0xO1xuICAgICAgd2lkdGg6ICRoZWlnaHQ7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuXG4gICAgLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yOjpiZWZvcmUge1xuICAgICAgbGVmdDogJHdpZHRoIC0gJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICBAaWYgJHJ0bC1zdXBwb3J0IHtcbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAkd2lkdGggLSAkaGVpZ2h0O1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRpbm5lci1zcGFjZXI7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItbm8ge1xuICAgICAgcGFkZGluZy1yaWdodDogJGhlaWdodCAtICRpbm5lci1zcGFjZXI7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRpbm5lci1zcGFjZXI7XG4gICAgfVxuXG4gICAgW2Rpcj1ydGxdICYgLnN3aXRjaGVyLXllcyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5uZXItc3BhY2VyO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlcjtcbiAgICB9XG5cbiAgICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgICAgIFtkaXI9cnRsXSAmIC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvcjo6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6ICR3aWR0aCAtICRoZWlnaHQ7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLXN3aXRjaGVyLXNpemUoJHNpemUsICR3aWR0aCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0LCAkaW5uZXItc3BhY2VyOiAkc3dpdGNoZXItaW5uZXItc3BhY2VyKSB7XG4gIC5zd2l0Y2hlci0jeyRzaXplfSxcbiAgLmZvcm0tZ3JvdXAtI3skc2l6ZX0gLnN3aXRjaGVyIHtcbiAgICBAaW5jbHVkZSBhcHB3b3JrLXN3aXRjaGVyLXNpemUtYmFzZSgkd2lkdGgsICRoZWlnaHQsICRmb250LXNpemUsICRkZXNjcmlwdGlvbi1mb250LXNpemUsICRkZXNjcmlwdGlvbi1saW5lLWhlaWdodCwgJGlubmVyLXNwYWNlcik7XG4gIH1cbn1cblxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICRzZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJycsICcjeyRwYXJlbnR9LnN3aXRjaGVyJyk7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xuXG4gICN7JHNlbGVjdG9yfSAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0gLnN3aXRjaGVyLWlucHV0OmZvY3VzIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkYmFja2dyb3VuZCwgLjQpO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IC5zd2l0Y2hlci1pbnB1dDphY3RpdmUgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLXN3aXRjaGVyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgQGluY2x1ZGUgYXBwd29yay1zd2l0Y2hlci12YXJpYW50KCcnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcbn1cblxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtc3dpdGNoZXItdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCkge1xuICAkc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcnLCAnI3skcGFyZW50fS5zd2l0Y2hlcicpO1xuXG4gICN7JHNlbGVjdG9yfSAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJGJhY2tncm91bmQsIC41KTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRiYWNrZ3JvdW5kLCAuMTUpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1zd2l0Y2hlci10aGVtZSgkYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLXN3aXRjaGVyLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kKTtcbn1cblxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvcikge1xuICAuc3dpdGNoZXItaW5wdXRbY2xhc3NdIHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICAmOmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogeWlxKCRjb2xvcik7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkY29sb3IsIC40KTtcbiAgICAgIH1cblxuICAgICAgJjphY3RpdmUgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cblxuICAgICAgfiAuc3dpdGNoZXItbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1zd2l0Y2hlci12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XG4gIC5zd2l0Y2hlci1pbnB1dFtjbGFzc10ge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLnN3aXRjaGVyLWluZGljYXRvcltjbGFzc10ge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsIC4xNSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgfiAuc3dpdGNoZXItbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGJvcmRlcjogbnVsbCkge31cblxuQG1peGluIGFwcHdvcmstdGFibGUtcm93LXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQpIHtcbiAgJGJnOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuMSksICNmZmYpO1xuICAkY29sb3I6IHlpcSgkYmcpO1xuICAkaG92ZXItYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJnLCAuOTkpLCAjMDAwKTtcblxuICAudGFibGUgI3skcGFyZW50fSxcbiAgLnRhYmxlICN7JHBhcmVudH0gPiB0aCxcbiAgLnRhYmxlICN7JHBhcmVudH0gPiB0ZCB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4wMzUpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAudGFibGUtaG92ZXIgI3skcGFyZW50fTpob3ZlcixcbiAgLnRhYmxlLWhvdmVyICN7JHBhcmVudH06aG92ZXIgPiB0ZCxcbiAgLnRhYmxlLWhvdmVyICN7JHBhcmVudH06aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJnO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTmF2YmFyXG5cbkBtaXhpbiBhcHB3b3JrLW5hdmJhci12YXJpYW50KCRwYXJlbnQsICRiZywgJGNvbG9yOiBudWxsLCAkYWN0aXZlLWNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsKSB7XG4gICRjb2xvcnM6IGdldC1uYXYtY29sb3JzKCRiZywgJGFjdGl2ZS1jb2xvciwgJGNvbG9yLCAkYm9yZGVyKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJnKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgIC5uYXZiYXItYnJhbmQge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItbmF2IHtcbiAgICAgIC5uYXYtbGluayB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGRpc2FibGVkLWNvbG9yKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAgIC5uYXYtbGluay5zaG93LFxuICAgICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBib3JkZXIpO1xuICAgIH1cblxuICAgIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKSA9PSAjZmZmLCAkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnLCAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZyk7XG4gICAgfVxuXG4gICAgLm5hdmJhci10ZXh0IHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG5cbiAgICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBociB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTaWRlbmF2XG5cbkBtaXhpbiBhcHB3b3JrLXNpZGVuYXYtdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogbnVsbCwgJGFjdGl2ZS1jb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCwgJG1lbnUtYmc6IG51bGwpIHtcbiAgJGNvbG9yczogZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yLCAkY29sb3IsICRib3JkZXIpO1xuICAkeWlxLXBlcmNlbnQ6IG1hcC1nZXQoJGNvbG9ycywgeWlxLXBlcmNlbnQpO1xuXG4gIEBpZiBub3QgJG1lbnUtYmcge1xuICAgICRtZW51LWJnOiByZ2JhLXRvLWhleChyZ2JhKG1hcC1nZXQoJGNvbG9ycywgYmcpLCAxIC0gaWYoJHlpcS1wZXJjZW50ID4gLjc1LCAuMDI1LCAuMDUpKSwgaWYoJHlpcS1wZXJjZW50IDwgLjI1LCAjZmZmLCAjMDAwKSk7XG4gIH1cblxuICAkbWVudS1hY3RpdmUtYmc6IHJnYmEtdG8taGV4KHJnYmEoJG1lbnUtYmcsIDEgLSBpZigkeWlxLXBlcmNlbnQgPiAuNzUsIC4wMjUsIC4wNSkpLCBpZigkeWlxLXBlcmNlbnQgPCAuMjUsICNmZmYsICMwMDApKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJnKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgIC5zaWRlbmF2LWxpbmssXG4gICAgLnNpZGVuYXYtaG9yaXpvbnRhbC1wcmV2LFxuICAgIC5zaWRlbmF2LWhvcml6b250YWwtbmV4dCB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaWRlbmF2LWl0ZW0uZGlzYWJsZWQgLnNpZGVuYXYtbGluayxcbiAgICAuc2lkZW5hdi1ob3Jpem9udGFsLXByZXYuZGlzYWJsZWQsXG4gICAgLnNpZGVuYXYtaG9yaXpvbnRhbC1uZXh0LmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGRpc2FibGVkLWNvbG9yKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaWRlbmF2LWl0ZW0ub3Blbjpub3QoLnNpZGVuYXYtaXRlbS1jbG9zaW5nKSA+IC5zaWRlbmF2LXRvZ2dsZSxcbiAgICAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbmsge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbms6bm90KC5zaWRlbmF2LXRvZ2dsZSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lbnUtYmc7XG4gICAgfVxuXG4gICAgJi5zaWRlbmF2LWhvcml6b250YWwgLnNpZGVuYXYtbWVudSA+IC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazpub3QoLnNpZGVuYXYtdG9nZ2xlKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudS1hY3RpdmUtYmc7XG4gICAgfVxuXG4gICAgJi5zaWRlbmF2LWhvcml6b250YWwgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtOm5vdCguc2lkZW5hdi1pdGVtLWNsb3NpbmcpID4gLnNpZGVuYXYtbWVudSxcbiAgICAmLnNpZGVuYXYtaG9yaXpvbnRhbCAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWVudS1iZztcbiAgICB9XG5cbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0uc2lkZW5hdi1pdGVtLWNsb3NpbmcgLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LW1lbnUsXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLnNpZGVuYXYtaXRlbS1jbG9zaW5nIC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi10b2dnbGUge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XG4gICAgfVxuXG4gICAgLnNpZGVuYXYtdGV4dCB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgIH1cblxuICAgIC5zaWRlbmF2LWhlYWRlciB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBtdXRlZC1jb2xvcik7XG4gICAgfVxuXG4gICAgaHIsXG4gICAgLnNpZGVuYXYtZGl2aWRlcixcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LW1lbnU6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaGVhZGVyOjpiZWZvcmUsXG4gICAgLnNpZGVuYXYtYmxvY2s6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcik7XG4gICAgfVxuXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtdG9nZ2xlOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYS10by1oZXgobWFwLWdldCgkY29sb3JzLCBib3JkZXIpLCAkbWVudS1iZyk7XG4gICAgfVxuXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgIH1cblxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZTo6YmVmb3JlLFxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazo6YmVmb3JlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAkbWVudS1iZztcbiAgICB9XG5cbiAgICAucHNfX3RodW1iLXksXG4gICAgLnBzX19yYWlsLXkucHMtLWNsaWNraW5nID4gLnBzX190aHVtYi15IHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEobWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpLCBpZigkeWlxLXBlcmNlbnQgPiAuNzUsIG1hcC1nZXQoJGNvbG9ycywgb3BhY2l0eSkgLSAuNCwgbWFwLWdldCgkY29sb3JzLCBvcGFjaXR5KSAtIC4yKSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBGb290ZXJcblxuQG1peGluIGFwcHdvcmstZm9vdGVyLXZhcmlhbnQoJHBhcmVudCwgJGJnLCAkY29sb3I6IG51bGwsICRhY3RpdmUtY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwpIHtcbiAgJGNvbG9yczogZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yLCAkY29sb3IsICRib3JkZXIpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmcpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xuXG4gICAgLmZvb3Rlci1saW5rIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgZGlzYWJsZWQtY29sb3IpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlci10ZXh0IHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgfVxuXG4gICAgLnNob3cgPiAuZm9vdGVyLWxpbmssXG4gICAgLmFjdGl2ZSA+IC5mb290ZXItbGluayxcbiAgICAuZm9vdGVyLWxpbmsuc2hvdyxcbiAgICAuZm9vdGVyLWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgfVxuXG4gICAgaHIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLXRvYXN0LXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcblxuICAjeyRwYXJlbnR9LmJzNC10b2FzdCB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRiYWNrZ3JvdW5kLCAuOSkgIWltcG9ydGFudDtcblxuICAgIC50b2FzdC1oZWFkZXIge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAuMSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcHB3b3JrLXRvYXN0LXRoZW1lKCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgQGluY2x1ZGUgYXBwd29yay10b2FzdC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuIiwiLy8gQmFzZVxuLy9cblxuYm9keSB7XG4gIC1tb3otZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImxpZ2FcIiBvbjtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbn1cblxuQGlmICRtYXRlcmlhbC1zdHlsZSB7XG4gIC53YXZlcy1yaXBwbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogSUUgRml4ZXNcblxuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgLy8gRml4IElFIHBhcmVudCBjb250YWluZXIgaGVpZ2h0IGJ1ZyB3aGVuIGNvbnRhaW5pbmcgaW1hZ2Ugd2l0aCBmbHVpZCB3aWR0aFxuICAuY2FyZCxcbiAgLmNhcmQtYm9keSxcbiAgLm1lZGlhLFxuICAuZmxleC1jb2x1bW4sXG4gIC50YWItY29udGVudCB7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICB9XG5cbiAgaW1nIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQ29udGFpbmVyc1xuXG4uY29udGFpbmVyLFxuLmNvbnRhaW5lci1mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy14LXNtO1xuICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy14LXNtO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmcteDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy14O1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVGh1bWJuYWlsc1xuXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5pbWctdGh1bWJuYWlsIGltZyB7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5pbWctdGh1bWJuYWlsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHotaW5kZXg6IDM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAuaW1nLXRodW1ibmFpbDpob3ZlciAmLFxuICAuaW1nLXRodW1ibmFpbDpmb2N1cyAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi8vIE92ZXJsYXkgZWZmZWN0XG4uaW1nLXRodW1ibmFpbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuXG4gIC5pbWctdGh1bWJuYWlsOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpICYge1xuICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaW1nLXRodW1ibmFpbC1zaGFkb3cge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4ycztcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCA1cHggMjBweCByZ2JhKCRibGFjaywgLjQpO1xuICB9XG59XG5cbi8vIFpvb20taW4gZWZmZWN0XG4uaW1nLXRodW1ibmFpbC16b29tLWluIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpbWcge1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwKTtcbiAgfVxuXG4gIC5pbWctdGh1bWJuYWlsLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKC42KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBpbWcge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIH1cblxuICAgIC5pbWctdGh1bWJuYWlsLWNvbnRlbnQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTWF0ZXJpYWwgYW5pbWF0aW9uc1xuXG5AaWYgbm90ICRtYXRlcmlhbC1zdHlsZSB7XG4gIEBpbmNsdWRlIGtleWZyYW1lcyhkcm9wZG93bkFuaW1hdGlvbikge1xuICAgIDAlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn0gQGVsc2Uge1xuICBAaW5jbHVkZSBrZXlmcmFtZXMoZHJvcGRvd25BbmltYXRpb24pIHtcbiAgICAwJSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB9XG4gICAgODAlIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUga2V5ZnJhbWVzKHRvcFRvb2x0aXBBbmltYXRpb24pIHtcbiAgICAwJSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUga2V5ZnJhbWVzKGJvdHRvbVRvb2x0aXBBbmltYXRpb24pIHtcbiAgICAwJSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGtleWZyYW1lcyhsZWZ0VG9vbHRpcEFuaW1hdGlvbikge1xuICAgIDAlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBrZXlmcmFtZXMocmlnaHRUb29sdGlwQW5pbWF0aW9uKSB7XG4gICAgMCUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFJUTFxuXG5AaWYgJHJ0bC1zdXBwb3J0IHtcbiAgW2Rpcj1ydGxdIGJvZHkge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGRpcmVjdGlvbjogcnRsO1xuICB9XG59XG4iLCIvLyBGdW5jdGlvbnNcbi8vXG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTWF0aFxuXG4kcGk6IDMuMTQxNTkyNjUzNTk7XG4kX3ByZWNpc2lvbjogMTA7XG5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHApIHtcbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHAgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGlmICRleHAgPCAxe1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBzcXJ0KCRyKSB7XG4gICR4MDogMTtcbiAgJHgxOiAkeDA7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMCB7XG4gICAgJHgxOiAkeDAgLSAoJHgwICogJHgwIC0gYWJzKCRyKSkgLyAoMiAqICR4MCk7XG4gICAgJHgwOiAkeDE7XG4gIH1cblxuICBAcmV0dXJuICR4MTtcbn1cblxuQGZ1bmN0aW9uIGZhY3QoJG51bSkge1xuICAkZmFjdDogMTtcbiAgQGlmICRudW0gPiAwe1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG51bSB7XG4gICAgICAkZmFjdDogJGZhY3QgKiAkaTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkZmFjdDtcbn1cblxuQGZ1bmN0aW9uIF90b191bml0bGVzc19yYWQoJGFuZ2xlKSB7XG4gIEBpZiB1bml0KCRhbmdsZSkgPT0gXCJkZWdcIiB7XG4gICAgJGFuZ2xlOiAkYW5nbGUgLyAxODBkZWcgKiAkcGk7XG4gIH1cbiAgQGlmIHVuaXQoJGFuZ2xlKSA9PSBcInJhZFwiIHtcbiAgICAkYW5nbGU6ICRhbmdsZSAvIDFyYWQ7XG4gIH1cbiAgQHJldHVybiAkYW5nbGU7XG59XG5cbkBmdW5jdGlvbiBzaW4oJGFuZ2xlKXtcbiAgJGE6IF90b191bml0bGVzc19yYWQoJGFuZ2xlKTtcbiAgJHNpbjogJGE7XG4gIEBmb3IgJG4gZnJvbSAxIHRocm91Z2ggJF9wcmVjaXNpb24ge1xuICAgICRzaW46ICRzaW4gKyAocG93KC0xLCAkbikgLyBmYWN0KDIgKiAkbiArIDEpICkgKiBwb3coJGEsICgyICogJG4gKyAxKSk7XG4gIH1cbiAgQHJldHVybiAkc2luO1xufVxuXG5AZnVuY3Rpb24gY29zKCRhbmdsZSl7XG4gICRhOiBfdG9fdW5pdGxlc3NfcmFkKCRhbmdsZSk7XG4gICRjb3M6IDE7XG4gIEBmb3IgJG4gZnJvbSAxIHRocm91Z2ggJF9wcmVjaXNpb24ge1xuICAgICRjb3M6ICRjb3MgKyAoIHBvdygtMSwkbikgLyBmYWN0KDIqJG4pICkgKiBwb3coJGEsMiokbik7XG4gIH1cbiAgQHJldHVybiAkY29zO1xufVxuXG5AZnVuY3Rpb24gdGFuKCRhbmdsZSl7XG4gIEByZXR1cm4gc2luKCRhbmdsZSkgLyBjb3MoJGFuZ2xlKTtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBMaXN0c1xuXG5AZnVuY3Rpb24gc2xpY2UtbGlzdCgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XG4gICRyZXN1bHQ6IG51bGw7XG5cbiAgQGlmIHR5cGUtb2YoJHN0YXJ0KSAhPSBudW1iZXIgb3IgdHlwZS1vZigkZW5kKSAhPSBudW1iZXIge1xuICAgIEB3YXJuIFwiRWl0aGVyICRzdGFydCBvciAkZW5kIGFyZSBub3QgYSBudW1iZXIgZm9yIGBzbGljZWAuXCI7XG4gIH1cblxuICBAZWxzZSBpZiAkc3RhcnQgPiAkZW5kIHtcbiAgICBAd2FybiBcIlRoZSBzdGFydCBpbmRleCBoYXMgdG8gYmUgbGVzc2VyIHRoYW4gb3IgZXF1YWxzIHRvIHRoZSBlbmQgaW5kZXggZm9yIGBzbGljZWAuXCI7XG4gIH1cblxuICBAZWxzZSBpZiAkc3RhcnQgPCAxIG9yICRlbmQgPCAxIHtcbiAgICBAd2FybiBcIkxpc3QgaW5kZXhlcyBtdXN0IGJlIG5vbi16ZXJvIGludGVnZXJzIGZvciBgc2xpY2VgLlwiO1xuICB9XG5cbiAgQGVsc2UgaWYgJHN0YXJ0ID4gbGVuZ3RoKCRsaXN0KSB7XG4gICAgQHdhcm4gXCJMaXN0IGluZGV4IGlzICN7JHN0YXJ0fSBidXQgbGlzdCBpcyBvbmx5ICN7bGVuZ3RoKCRsaXN0KX0gaXRlbSBsb25nIGZvciBgc2xpY2VgLlwiO1xuICB9XG5cbiAgQGVsc2UgaWYgJGVuZCA+IGxlbmd0aCgkbGlzdCkge1xuICAgIEB3YXJuIFwiTGlzdCBpbmRleCBpcyAjeyRlbmR9IGJ1dCBsaXN0IGlzIG9ubHkgI3tsZW5ndGgoJGxpc3QpfSBpdGVtIGxvbmcgZm9yIGBzbGljZWAuXCI7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgJHJlc3VsdDogKCk7XG5cbiAgICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTdHJpbmdzXG5cbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogJycpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIENvbG9yc1xuXG5AZnVuY3Rpb24gcmdiYS10by1oZXgoJGNvbG9yLCAkYmFja2dyb3VuZDogI2ZmZikge1xuICBAaWYgJGNvbG9yIGFuZCBhbHBoYSgkY29sb3IpICE9IDEge1xuICAgICRwZXJjZW50OiBhbHBoYSgkY29sb3IpICogMTAwJTtcbiAgICAkb3BhcXVlOiBvcGFjaWZ5KCRjb2xvciwgMSk7XG5cbiAgICBAcmV0dXJuIG1peCgkb3BhcXVlLCAkYmFja2dyb3VuZCwgJHBlcmNlbnQpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRjb2xvcjtcbiAgfVxufVxuXG5AZnVuY3Rpb24geWlxLXZhbHVlKCRjb2xvcikge1xuICBAaWYgJGNvbG9yID09IHRyYW5zcGFyZW50IHtcbiAgICBAcmV0dXJuICRib2R5LWNvbG9yO1xuICB9IEBlbHNlIGlmIGFscGhhKCRjb2xvcikgIT0gMSB7XG4gICAgJGNvbG9yOiByZ2JhLXRvLWhleCgkY29sb3IpO1xuICB9XG5cbiAgJHI6IHJlZCgkY29sb3IpO1xuICAkZzogZ3JlZW4oJGNvbG9yKTtcbiAgJGI6IGJsdWUoJGNvbG9yKTtcblxuICBAcmV0dXJuICgoJHIgKiAyOTkpICsgKCRnICogNTg3KSArICgkYiAqIDExNCkpIC8gMTAwMDtcbn1cblxuLy8gQ29sb3IgY29udHJhc3RcbkBmdW5jdGlvbiB5aXEoJGNvbG9yKSB7XG4gICR5aXE6IHlpcS12YWx1ZSgkY29sb3IpO1xuXG4gIEBpZiAoJHlpcSA+PSAxNjApIHtcbiAgICBAcmV0dXJuIHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuNDApLCAjMDAwKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAjZmZmO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVW5pdHNcblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bWJlcikge1xuICBAaWYgdHlwZS1vZigkbnVtYmVyKSA9PSAnbnVtYmVyJyBhbmQgbm90IHVuaXRsZXNzKCRudW1iZXIpIHtcbiAgICBAcmV0dXJuICRudW1iZXIgLyAoJG51bWJlciAqIDAgKyAxKTtcbiAgfVxuXG4gIEByZXR1cm4gJG51bWJlcjtcbn1cblxuQGZ1bmN0aW9uIHB4LXRvLXJlbSgkdmFsdWUpIHtcbiAgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0IGZvbnQgc2l6ZSA9IGAxNnB4YFxuICBAcmV0dXJuIChzdHJpcC11bml0KCR2YWx1ZSkgLyAxNikgKiAxcmVtO1xufVxuXG5AZnVuY3Rpb24gcmVtLXRvLXB4KCR2YWx1ZSkge1xuICAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQgZm9udCBzaXplID0gYDE2cHhgXG4gIEByZXR1cm4gKHN0cmlwLXVuaXQoJHZhbHVlKSAqIDE2KSAqIDFweDtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBVdGlsaXRpZXNcblxuQGZ1bmN0aW9uIGdldC1idG4tY29sb3JzKCRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XG4gIEBpZiAkYmFja2dyb3VuZCA9PSB0cmFuc3BhcmVudCB7XG4gICAgJGJ0bi1zaGFkb3c6IHJnYmEocmdiYS10by1oZXgoJGJvcmRlciwgIzAwMCksIC4wNSk7XG5cbiAgICBAcmV0dXJuIChcbiAgICAgIGJnLWhvdmVyOiAgcmdiYSgkYm9yZGVyLCAuMDYpLFxuICAgICAgYmctYWN0aXZlOiByZ2JhKCRib3JkZXIsIC4xMiksXG4gICAgICBib3JkZXI6ICAgICRib3JkZXIsXG4gICAgICBzaGFkb3c6ICAgIGlmKCRlbmFibGUtc2hhZG93cywgKCRidG4tYm94LXNoYWRvdywgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggJGJ0bi1zaGFkb3cpLCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCAkYnRuLXNoYWRvdylcbiAgICApO1xuICB9IEBlbHNlIGlmIGFscGhhKCRiYWNrZ3JvdW5kKSAhPSAxIHtcbiAgICAkYmctYWxwaGE6ICAgYWxwaGEoJGJhY2tncm91bmQpO1xuICAgICRidG4tc2hhZG93OiByZ2JhKCRiYWNrZ3JvdW5kLCAkYmctYWxwaGEgLSAoJGJnLWFscGhhICogNTUgLyAxMDApICk7XG5cbiAgICBAcmV0dXJuIChcbiAgICAgIGJnLWhvdmVyOiAgcmdiYSgkYmFja2dyb3VuZCwgJGJnLWFscGhhICsgMC4wNSksXG4gICAgICBiZy1hY3RpdmU6IHJnYmEoJGJhY2tncm91bmQsICRiZy1hbHBoYSArIDAuMTMpLFxuICAgICAgYm9yZGVyOiAgICB0cmFuc3BhcmVudCxcbiAgICAgIHNoYWRvdzogICAgaWYoJGVuYWJsZS1zaGFkb3dzLCAoJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCAkYnRuLXNoYWRvdyksIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoICRidG4tc2hhZG93KVxuICAgICk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gKFxuICAgICAgYmctaG92ZXI6ICByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuOTUpLCAjMDAwKSxcbiAgICAgIGJnLWFjdGl2ZTogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjg3KSwgIzAwMCksXG4gICAgICBib3JkZXI6ICAgIHRyYW5zcGFyZW50LFxuICAgICAgc2hhZG93OiAgICBpZigkZW5hYmxlLXNoYWRvd3MsICgkYnRuLWJveC1zaGFkb3csIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGJhY2tncm91bmQsIC40KSksIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGJhY2tncm91bmQsIC40KSlcbiAgICApO1xuICB9XG59XG5cbkBmdW5jdGlvbiBnZXQtbWF0ZXJpYWwtYnRuLWNvbG9ycygkYmFja2dyb3VuZCkge1xuICBAaWYgYWxwaGEoJGJhY2tncm91bmQpICE9IDEge1xuICAgICRiYWNrZ3JvdW5kOiByZ2JhLXRvLWhleCgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAcmV0dXJuIChcbiAgICBiZy1ob3ZlcjogIHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC45NSksICNmZmYpLFxuICAgIGJnLWFjdGl2ZTogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjg3KSwgI2ZmZiksXG4gICk7XG59XG5cbkBmdW5jdGlvbiBnZXQtbmF2LWNvbG9ycygkYmcsICRhY3RpdmUtY29sb3I6IG51bGwsICRpbmFjdGl2ZS1jb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCkge1xuICAkYmc6IHJnYmEtdG8taGV4KCRiZyk7XG4gICRhY3RpdmUtY29sb3I6IHJnYmEtdG8taGV4KCRhY3RpdmUtY29sb3IpO1xuICAkYWN0aXZlLWNvbG9yOiBpZigkYWN0aXZlLWNvbG9yLCAkYWN0aXZlLWNvbG9yLCB5aXEoJGJnKSk7XG4gICR5aXEtcGVyY2VudDogeWlxLXZhbHVlKCRiZykgLyAyNTU7XG4gICR5aXEtcGVyY2VudC1pbnZlcnRlZDogMSAtICR5aXEtcGVyY2VudDtcblxuICAkb3BhY2l0eTogaWYoJGFjdGl2ZS1jb2xvciA9PSAjZmZmLCAuNiArICguNCAqICR5aXEtcGVyY2VudCksIC42ICsgKC40ICogKDEgLSAkeWlxLXBlcmNlbnQpKSk7XG5cbiAgJGNvbG9yOiBpZigkaW5hY3RpdmUtY29sb3IsIHJnYmEtdG8taGV4KCRpbmFjdGl2ZS1jb2xvciwgJGJnKSwgcmdiYS10by1oZXgocmdiYSgkYWN0aXZlLWNvbG9yLCBpZigkeWlxLXBlcmNlbnQgPCAuMjUsICRvcGFjaXR5IC0gLjE1LCAkb3BhY2l0eSkpLCAkYmcpKTtcbiAgJGRpc2FibGVkLWNvbG9yOiByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjYpLCAkYmcpO1xuICAkbXV0ZWQtY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuNzUpLCAkYmcpO1xuICAkYm9yZGVyOiBpZigkYm9yZGVyLCAkYm9yZGVyLCBpZigkeWlxLXBlcmNlbnQgPiAuNzUsIHJnYmEoJGFjdGl2ZS1jb2xvciwgJG9wYWNpdHkgLyA4KSwgaWYoJHlpcS1wZXJjZW50IDwgLjI1LCByZ2JhKCRhY3RpdmUtY29sb3IsIC4wNiksIHJnYmEoJGFjdGl2ZS1jb2xvciwgLjE1KSkpKTtcblxuICBAcmV0dXJuIChcbiAgICAvLyBNZXRhZGF0YVxuICAgIG9wYWNpdHk6ICRvcGFjaXR5LFxuICAgIHlpcS1wZXJjZW50OiAkeWlxLXBlcmNlbnQsXG4gICAgeWlxLXBlcmNlbnQtaW52ZXJ0ZWQ6ICR5aXEtcGVyY2VudC1pbnZlcnRlZCxcblxuICAgIC8vIENvbG9yc1xuICAgIGJnOiAkYmcsXG4gICAgY29sb3I6ICRjb2xvcixcbiAgICBhY3RpdmUtY29sb3I6ICRhY3RpdmUtY29sb3IsXG4gICAgZGlzYWJsZWQtY29sb3I6ICRkaXNhYmxlZC1jb2xvcixcbiAgICBtdXRlZC1jb2xvcjogJG11dGVkLWNvbG9yLFxuICAgIGJvcmRlcjogJGJvcmRlclxuICApO1xufVxuIiwiLy8gVGFibGVzXG4vL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGlmICRjb2xvciAhPSBwcmltYXJ5IGFuZCAkY29sb3IgIT0gbGlnaHQge1xuICAgIEBpbmNsdWRlIGFwcHdvcmstdGFibGUtcm93LXZhcmlhbnQoJy50YWJsZS0jeyRjb2xvcn0nLCAkdmFsdWUpO1xuICB9XG59XG5cbi50YWJsZS50YWJsZS1maXhlZCB7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG59XG5cbi50YWJsZSB0aCB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaWJvbGQ7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogQWN0aXZlXG5cbi50YWJsZS1hY3RpdmUsXG4udGFibGUtYWN0aXZlID4gdGgsXG4udGFibGUtYWN0aXZlID4gdGQge1xuICBib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMDM1KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWFjdGl2ZS1iZztcbn1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIsXG4udGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJHRhYmxlLWFjdGl2ZS1iZywgLjk5KSwgIzAwMCk7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogV2l0aGluIGNhcmRcblxuLmNhcmQtdGFibGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZCxcbi5uYXYtdGFicy10b3AsXG4ubmF2LXRhYnMtcmlnaHQsXG4ubmF2LXRhYnMtYm90dG9tLFxuLm5hdi10YWJzLWxlZnQge1xuICAudGFibGU6bm90KC50YWJsZS1kYXJrKSxcbiAgLnRhYmxlOm5vdCgudGFibGUtZGFyaykgdGhlYWQ6bm90KC50aGVhZC1kYXJrKSB0aCxcbiAgLnRhYmxlOm5vdCgudGFibGUtZGFyaykgdGQge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYS10by1oZXgoJGNhcmQtaW5uZXItYm9yZGVyLWNvbG9yKTtcbiAgfVxufVxuXG4uY2FyZC10YWJsZSA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQsXG4uY2FyZC10YWJsZSA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQsXG4uY2FyZC10YWJsZSA+IHRmb290OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgPiB0ZCxcbiAgID4gdGgge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQGluY2x1ZGUgbHRyLW9ubHkge1xuICAuY2FyZC10YWJsZSA+IHRoZWFkID4gdHIsXG4gIC5jYXJkLXRhYmxlID4gdGJvZHkgPiB0cixcbiAgLmNhcmQtdGFibGUgPiB0Zm9vdCA+IHRyIHtcbiAgICAgPiB0ZCxcbiAgICAgPiB0aCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLXNwYWNlci14O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29uZGVuY2VkXG4gIC5jYXJkLWNvbmRlbmNlZCAuY2FyZC10YWJsZSA+IHRoZWFkID4gdHIsXG4gIC5jYXJkLWNvbmRlbmNlZCAuY2FyZC10YWJsZSA+IHRib2R5ID4gdHIsXG4gIC5jYXJkLWNvbmRlbmNlZCAuY2FyZC10YWJsZSA+IHRmb290ID4gdHIge1xuICAgICA+IHRkLFxuICAgICA+IHRoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjYXJkLXNwYWNlci14LXNtO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNhcmQtc3BhY2VyLXgtc207XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgcnRsLW9ubHkge1xuICAuY2FyZC10YWJsZSA+IHRoZWFkID4gdHIsXG4gIC5jYXJkLXRhYmxlID4gdGJvZHkgPiB0cixcbiAgLmNhcmQtdGFibGUgPiB0Zm9vdCA+IHRyIHtcbiAgICAgPiB0ZCxcbiAgICAgPiB0aCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNhcmQtc3BhY2VyLXg7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29uZGVuY2VkXG4gIC5jYXJkLWNvbmRlbmNlZCAuY2FyZC10YWJsZSA+IHRoZWFkID4gdHIsXG4gIC5jYXJkLWNvbmRlbmNlZCAuY2FyZC10YWJsZSA+IHRib2R5ID4gdHIsXG4gIC5jYXJkLWNvbmRlbmNlZCAuY2FyZC10YWJsZSA+IHRmb290ID4gdHIge1xuICAgICA+IHRkLFxuICAgICA+IHRoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyZC1zcGFjZXIteDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlYm9vdFxuLy9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbn1cblxuQGluY2x1ZGUgcnRsLW9ubHkge1xuICBkZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIGNhcHRpb24ge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG4vLyBDb2xvciBzeXN0ZW1cblxuJHdoaXRlOiAgICAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xuXG4kZ3JheXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRncmF5czogbWFwLW1lcmdlKFxuICAoXG4gICAgXCIxMDBcIjogJGdyYXktMTAwLFxuICAgIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgICBcIjkwMFwiOiAkZ3JheS05MDBcbiAgKSxcbiAgJGdyYXlzXG4pO1xuXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICAgIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICAgIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gICAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICAgIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiAgKSxcbiAgJGNvbG9yc1xuKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICAgIFwiZGFya1wiOiAgICAgICAkZGFya1xuICApLFxuICAkdGhlbWUtY29sb3JzXG4pO1xuXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXG4kdGhlbWUtY29sb3ItaW50ZXJ2YWw6ICAgICAgOCUgIWRlZmF1bHQ7XG5cbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogIDE1MCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHlpcS10ZXh0LWxpZ2h0OiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnk6ICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCwgbm8gbG9uZ2VyIGFmZmVjdHMgYW55IGNvbXBpbGVkIENTU1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zOiAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6ICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc3BhY2VyczogbWFwLW1lcmdlKFxuICAoXG4gICAgMDogMCxcbiAgICAxOiAoJHNwYWNlciAqIC4yNSksXG4gICAgMjogKCRzcGFjZXIgKiAuNSksXG4gICAgMzogJHNwYWNlcixcbiAgICA0OiAoJHNwYWNlciAqIDEuNSksXG4gICAgNTogKCRzcGFjZXIgKiAzKVxuICApLFxuICAkc3BhY2Vyc1xuKTtcblxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxuJHNpemVzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc2l6ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDI1OiAyNSUsXG4gICAgNTA6IDUwJSxcbiAgICA3NTogNzUlLFxuICAgIDEwMDogMTAwJSxcbiAgICBhdXRvOiBhdXRvXG4gICksXG4gICRzaXplc1xuKTtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcbi8vIERhcmtlbiBwZXJjZW50YWdlIGZvciBsaW5rcyB3aXRoIGAudGV4dC0qYCBjbGFzcyAoZS5nLiBgLnRleHQtc3VjY2Vzc2ApXG4kZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlOiAxNSUgIWRlZmF1bHQ7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kcm91bmRlZC1waWxsOiAgICAgICAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuXG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiBqb2luKFxuICAoXG4gICAgKDIxIDkpLFxuICAgICgxNiA5KSxcbiAgICAoNCAzKSxcbiAgICAoMSAxKSxcbiAgKSxcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvc1xuKTtcblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICA4MCUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplOiAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcblxuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1jb2xvcjogICAgICAkdGFibGUtZGFyay1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogICAgIGxpZ2h0ZW4oJHRhYmxlLWRhcmstYmcsIDcuNSUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4kdGFibGUtYmctbGV2ZWw6ICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItbGV2ZWw6ICAgICAgICAgIC02ICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIC4yNSkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICAgICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYnRuLWJsb2NrLXNwYWNpbmcteTogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybXNcblxuJGxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMiAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQgKiAxZW19ICsgI3skaW5wdXQtcGFkZGluZy15ICogMn0pICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtfSArICN7JGlucHV0LXBhZGRpbmcteX0pICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbX0gKyAjeyRpbnB1dC1wYWRkaW5nLXkgLyAyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtfSArICN7JGlucHV0LXBhZGRpbmcteSAqIDJ9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQtc20gKiAxZW19ICsgI3skaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAqIDJ9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQtbGcgKiAxZW19ICsgI3skaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAqIDJ9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZvcm1zLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgIG5vbmUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I6ICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdzogICAgbm9uZSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjogICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjYgMi45NzQgNy4yNSA4IDIuMTkzeicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlOiAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA0JyUzZSUzY3BhdGggc3Ryb2tlPScjeyRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3J9JyBkPSdNMCAyaDQnLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdzogICBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNlJTNjY2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAxLjc1ICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplIC8gMiAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplOiAgICAgICAgICAgICAgICAgIGNhbGMoI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemV9IC0gI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDR9KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgOHB4IDEwcHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA1JyUzZSUzY3BhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kOiAgICAgICAgICAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3Igbm8tcmVwZWF0IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgLyAkY3VzdG9tLXNlbGVjdC1iZy1zaXplICFkZWZhdWx0OyAvLyBVc2VkIHNvIHdlIGNhbiBoYXZlIG11bHRpcGxlIGJhY2tncm91bmQgZWxlbWVudHMgKGUuZy4sIGFycm93IGFuZCBmZWVkYmFjayBpY29uKVxuXG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ6IGNhbGMoKDFlbSArICN7MiAqICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteX0pICogMyAvIDQgKyAjeyRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nfSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uOiAgICAgIGNlbnRlciByaWdodCAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTogICAgICAgICAgICRpbnB1dC1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICAgICAgICRpbnB1dC1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBJRS9FZGdlXG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBlbjogXCJCcm93c2VcIlxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHZpZXdCb3g9Jy0yIC0yIDcgNyclM2UlM2NwYXRoIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBkPSdNMCAwbDMgM20wLTNMMCAzJy8lM2UlM2NjaXJjbGUgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeD0nMycgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeT0nMycgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeD0nMycgY3k9JzMnIHI9Jy41Jy8lM2UlM2Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJ2YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWRcbiAgICApLFxuICAgIFwiaW52YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkXG4gICAgKSxcbiAgKSxcbiAgJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbik7XG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcblxuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAvIDIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBjYWxjKCN7JGRyb3Bkb3duLWJvcmRlci1yYWRpdXN9IC0gI3skZHJvcGRvd24tYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkbmF2LWRpdmlkZXItbWFyZ2luLXkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgY2FsYygjeyRjYXJkLWJvcmRlci1yYWRpdXN9IC0gI3skY2FyZC1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAvIDIgIWRlZmF1bHQ7XG4kY2FyZC1kZWNrLW1hcmdpbjogICAgICAgICAgICAgICAgICAkY2FyZC1ncm91cC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtY291bnQ6ICAgICAgICAgICAgICAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1tYXJnaW46ICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XG5cblxuLy8gVG9vbHRpcHNcblxuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgZmFkZS1pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gVG9hc3RzXG5cbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjEpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuMjVyZW0gLjc1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjRlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kYmFkZ2UtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAkYnRuLXRyYW5zaXRpb24gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC14bDogICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWZhZGUtdHJhbnNmb3JtOiAgICAgICAgICAgICAgdHJhbnNsYXRlKDAsIC01MHB4KSAhZGVmYXVsdDtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYWxlcnQtYmctbGV2ZWw6ICAgICAgICAgICAgICAgICAgICAtMTAgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLWxldmVsOiAgICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiRhbGVydC1jb2xvci1sZXZlbDogICAgICAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcblxuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG5cbi8vIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgOTAlICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBDYXJvdXNlbFxuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbjogICAgICBvcGFjaXR5IC42cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjUtMi41LTIuNSAyLjUtMi41LTEuNS0xLjV6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZD0nTTIuNzUgMGwtMS41IDEuNSAyLjUgMi41LTIuNSAyLjUgMS41IDEuNSA0LTQtNC00eicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgLjZzICFkZWZhdWx0O1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcblxuXG4vLyBTcGlubmVyc1xuXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAycmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0OiAgICAgICAgJHNwaW5uZXItd2lkdGggIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAuMjVlbSAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgIDAgMXB4IDAgJHdoaXRlICFkZWZhdWx0O1xuXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgODcuNSUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy8gVXRpbGl0aWVzXG5cbiRkaXNwbGF5czogbm9uZSwgaW5saW5lLCBpbmxpbmUtYmxvY2ssIGJsb2NrLCB0YWJsZSwgdGFibGUtcm93LCB0YWJsZS1jZWxsLCBmbGV4LCBpbmxpbmUtZmxleCAhZGVmYXVsdDtcbiRvdmVyZmxvd3M6IGF1dG8sIGhpZGRlbiAhZGVmYXVsdDtcbiRwb3NpdGlvbnM6IHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCwgc3RpY2t5ICFkZWZhdWx0O1xuXG5cbi8vIFByaW50aW5nXG5cbiRwcmludC1wYWdlLXNpemU6ICAgICAgICAgICAgICAgICAgIGEzICFkZWZhdWx0O1xuJHByaW50LWJvZHktbWluLXdpZHRoOiAgICAgICAgICAgICAgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSAhZGVmYXVsdDtcbiIsIi8vIE5hdlxuLy9cblxuQGluY2x1ZGUgcnRsLW9ubHkge1xuICAubmF2IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5uYXYtbGluayB7XG4gIGxpbmUtaGVpZ2h0OiAkbmF2LWxpbmstbGluZS1oZWlnaHQ7XG5cbiAgJi5kaXNhYmxlZCB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5uYXYgLm5hdi1pdGVtLFxuLm5hdiAubmF2LWxpbmssXG4udGFiLXBhbmUsXG4udGFiLXBhbmUgLmNhcmQtYm9keSB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gVGFiIGFuZCBwaWxscyBsaW5rXG4ubmF2LXRhYnMsXG4ubmF2LXBpbGxzIHtcbiAgQGlmICRtYXRlcmlhbC1zdHlsZSB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogJGJ0bi1mb250LXdlaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogJGJ0bi1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rOm5vdCguYWN0aXZlKSB7XG4gICAgY29sb3I6ICRuYXYtbGluay1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoLm5hdi1maWxsKTpub3QoLm5hdi1qdXN0aWZpZWQpIC5uYXYtbGluayB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbmF2LXNwYWNlcjtcblxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogJG5hdi1zcGFjZXI7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rIC5iYWRnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgfVxuXG4gIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluazpub3QoLmFjdGl2ZSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbkBpZiAkbWF0ZXJpYWwtc3R5bGUge1xuICAubmF2LXRhYnMgLm5hdi1saW5rIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG4gICAgYmFja2dyb3VuZC1zaXplOiAwIDJweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG5cbiAgLm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmUsXG4gIC5uYXYtdGFicyAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAycHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3MgZWFzZS1vdXQ7XG4gIH1cbn1cblxuLy8gVGFiIGxpbmtcbi5uYXYtdGFicyAubmF2LWxpbmsge1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBBbHRlcm5hdGl2ZSB0YWJzXG5cbi5uYXYtdGFicy50YWJzLWFsdCAubmF2LWxpbmssXG4udGFicy1hbHQgPiAubmF2LXRhYnMgLm5hdi1saW5rIHtcbiAgJixcbiAgJi5hY3RpdmUge1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogTGlnaHQgbmF2cyAobWF0ZXJpYWwgb25seSlcblxuQGlmICRtYXRlcmlhbC1zdHlsZSB7XG4gICRtYXRlcmlhbC1saWdodC1uYXYtbGluay1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiAgJG1hdGVyaWFsLWxpZ2h0LW5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuICAkbWF0ZXJpYWwtbGlnaHQtbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4gICRtYXRlcmlhbC1saWdodC1uYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6IG51bGwgIWRlZmF1bHQ7XG5cbiAgLm5hdi10YWJzLm1kLXRhYnMtbGlnaHQsXG4gIC5tZC10YWJzLWxpZ2h0ID4gLm5hdi10YWJzLFxuICAubWQtdGFicy1saWdodCA+IGRpdiA+IC5uYXYtdGFicyxcbiAgLm5hdi1waWxscy5tZC1waWxscy1saWdodCxcbiAgLm1kLXBpbGxzLWxpZ2h0ID4gLm5hdi1waWxscyxcbiAgLm1kLXBpbGxzLWxpZ2h0ID4gZGl2ID4gLm5hdi1waWxscyB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiAkbWF0ZXJpYWwtbGlnaHQtbmF2LWxpbmstY29sb3I7XG4gICAgfVxuXG4gICAgLm5hdi1saW5rOmhvdmVyLFxuICAgIC5uYXYtbGluazpmb2N1cyxcbiAgICAubmF2LWxpbmsuZm9jdXMsXG4gICAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiAkbWF0ZXJpYWwtbGlnaHQtbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgfVxuXG4gICAgLm5hdi1saW5rLmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkbWF0ZXJpYWwtbGlnaHQtbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAubmF2LXRhYnMubWQtdGFicy1saWdodCxcbiAgLm1kLXRhYnMtbGlnaHQgPiAubmF2LXRhYnMsXG4gIC5tZC10YWJzLWxpZ2h0ID4gZGl2ID4gLm5hdi10YWJzIHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRtYXRlcmlhbC1saWdodC1uYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvciwgJG1hdGVyaWFsLWxpZ2h0LW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yKSAhaW1wb3J0YW50O1xuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkbWF0ZXJpYWwtbGlnaHQtbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hdGVyaWFsLXN0eWxlIC5uYXYtcGlsbHMubWQtcGlsbHMtbGlnaHQsXG4gIC5tYXRlcmlhbC1zdHlsZSAubWQtcGlsbHMtbGlnaHQgPiAubmF2LXBpbGxzLFxuICAubWF0ZXJpYWwtc3R5bGUgLm1kLXBpbGxzLWxpZ2h0ID4gZGl2ID4gLm5hdi1waWxscyB7XG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRtYXRlcmlhbC1saWdodC1uYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBTaXppbmdcblxuLm5hdi1sZyB7XG4gIEBpbmNsdWRlIGFwcHdvcmstbmF2LXNpemUoJG5hdi1saW5rLXBhZGRpbmcteS1sZywgJG5hdi1saW5rLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJG5hdi1saW5rLWxpbmUtaGVpZ2h0LWxnKTtcbn1cbi5uYXYtc20ge1xuICBAaW5jbHVkZSBhcHB3b3JrLW5hdi1zaXplKCRuYXYtbGluay1wYWRkaW5nLXktc20sICRuYXYtbGluay1wYWRkaW5nLXgtc20sICRmb250LXNpemUtc20sICRuYXYtbGluay1saW5lLWhlaWdodC1zbSk7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vICogVGFiYmVkIHBhbmVsc1xuXG4ubmF2LXRhYnMtdG9wLFxuLm5hdi10YWJzLXJpZ2h0LFxuLm5hdi10YWJzLWJvdHRvbSxcbi5uYXYtdGFicy1sZWZ0IHtcbiAgZGlzcGxheTogZmxleDtcblxuICAgPiAubmF2LFxuICAgPiBkaXYgPiAubmF2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAgPiAubmF2IC5uYXYtbGluayxcbiAgID4gZGl2ID4gLm5hdiAubmF2LWxpbmsge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAucm93LWJvcmRlcmVkID4gW2NsYXNzXj1cImNvbC1cIl0sXG4gIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3MqPVwiIGNvbC1cIl0sXG4gIC5yb3ctYm9yZGVyZWQgPiBbY2xhc3NePVwiY29sIFwiXSxcbiAgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyo9XCIgY29sIFwiXSxcbiAgLnJvdy1ib3JkZXJlZCA+IFtjbGFzcyQ9XCIgY29sXCJdLFxuICAucm93LWJvcmRlcmVkID4gW2NsYXNzPVwiY29sXCJdIHtcbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY2FyZC1pbm5lci1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5uYXYtdGFicy1yaWdodCxcbi5uYXYtdGFicy1sZWZ0IHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgID4gLm5hdixcbiAgID4gZGl2ID4gLm5hdiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDA7XG4gIH1cblxuICAgPiAubmF2IC5uYXYtbGluayxcbiAgID4gZGl2ID4gLm5hdiAubmF2LWxpbmsge1xuICAgIG1hcmdpbjogMCAwICRuYXYtc3BhY2VyIDAgIWltcG9ydGFudDtcbiAgfVxuXG4gICA+IC50YWItY29udGVudCB7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG59XG5cbi8vIFRvcCB0YWJzXG4ubmF2LXRhYnMtdG9wIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgPiAubmF2IC5uYXYtbGluayxcbiAgID4gZGl2ID4gLm5hdiAubmF2LWxpbmsge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcbiAgICB9XG4gIH1cbn1cblxuLy8gUmlnaHQgdGFic1xuLm5hdi10YWJzLXJpZ2h0IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICA+IC5uYXYgLm5hdi1pdGVtLFxuICAgPiBkaXYgPiAubmF2IC5uYXYtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcblxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAgPiAubmF2IC5uYXYtbGluayxcbiAgID4gZGl2ID4gLm5hdiAubmF2LWxpbmsge1xuICAgIEBpZiAkbWF0ZXJpYWwtc3R5bGUgIT0gdHJ1ZSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGJvcmRlci1yYWRpdXMgJGJvcmRlci1yYWRpdXMgMCk7XG5cbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMgMCAwICRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcblxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCb3R0b20gdGFic1xuLm5hdi10YWJzLWJvdHRvbSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcblxuICAgPiAubmF2IC5uYXYtaXRlbSxcbiAgID4gZGl2ID4gLm5hdiAubmF2LWl0ZW0ge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICA+IC5uYXYgLm5hdi1saW5rLFxuICAgPiBkaXYgPiAubmF2IC5uYXYtbGluayB7XG4gICAgQGlmICRtYXRlcmlhbC1zdHlsZSAhPSB0cnVlIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwICRib3JkZXItcmFkaXVzICRib3JkZXItcmFkaXVzKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XG4gICAgfVxuICB9XG59XG5cbi8vIExlZnQgdGFic1xuLm5hdi10YWJzLWxlZnQge1xuICAgPiAubmF2IC5uYXYtaXRlbSxcbiAgID4gZGl2ID4gLm5hdiAubmF2LWl0ZW0ge1xuICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgfVxuXG4gICA+IC5uYXYgLm5hdi1saW5rLFxuICAgPiBkaXYgPiAubmF2IC5uYXYtbGluayB7XG4gICAgIEBpZiAkbWF0ZXJpYWwtc3R5bGUgIT0gdHJ1ZSB7XG4gICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyAwIDAgJGJvcmRlci1yYWRpdXMpO1xuXG4gICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkYm9yZGVyLXJhZGl1cyAkYm9yZGVyLXJhZGl1cyAwKTtcbiAgICAgICB9XG4gICAgIH1cblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XG5cbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVGFiIGNvbnRlbnRcblxuLm5hdi10YWJzLXRvcCA+IC50YWItY29udGVudCxcbi5uYXYtdGFicy1yaWdodCA+IC50YWItY29udGVudCxcbi5uYXYtdGFicy1ib3R0b20gPiAudGFiLWNvbnRlbnQsXG4ubmF2LXRhYnMtbGVmdCA+IC50YWItY29udGVudCB7XG4gIGZsZXgtc2hyaW5rOiAxO1xuICBib3JkZXI6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJveC1zaGFkb3c6ICRjYXJkLXNoYWRvdztcbn1cblxuLm5hdi10YWJzLXRvcCA+IC50YWItY29udGVudCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwICRib3JkZXItcmFkaXVzICRib3JkZXItcmFkaXVzKTtcbn1cblxuLm5hdi10YWJzLXJpZ2h0ID4gLnRhYi1jb250ZW50IHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyAwIDAgJGJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkYm9yZGVyLXJhZGl1cyAkYm9yZGVyLXJhZGl1cyAwKTtcbiAgfVxufVxuXG4ubmF2LXRhYnMtYm90dG9tID4gLnRhYi1jb250ZW50IHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyAkYm9yZGVyLXJhZGl1cyAwIDApO1xufVxuXG4ubmF2LXRhYnMtbGVmdCA+IC50YWItY29udGVudCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkYm9yZGVyLXJhZGl1cyAkYm9yZGVyLXJhZGl1cyAwKTtcbiAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzIDAgMCAkYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBSZXNwb25zaXZlIG5hdlxuXG5AaW5jbHVkZSByZXNwb25zaXZlLWxvb3AtYmVmb3JlKCcubmF2LXJlc3BvbnNpdmUnKSB7XG4gICA+IC5uYXYsXG4gICA+IGRpdiA+IC5uYXYge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgLm5hdi1pdGVtIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgfVxuXG4gICAgJi5jYXJkLWhlYWRlci10YWJzLFxuICAgICYuY2FyZC1oZWFkZXItcGlsbHMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTEgKiAkbmF2LXNwYWNlcjtcbiAgICB9XG4gIH1cblxuICAgPiAubmF2LXRhYnMsXG4gICA+IC5uYXYtcGlsbHMsXG4gICA+IGRpdiA+IC5uYXYtdGFicyxcbiAgID4gZGl2ID4gLm5hdi1waWxscyB7XG4gICAgLm5hdi1pdGVtIHtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5uYXYtbGluayB7XG4gICAgICBtYXJnaW46IDAgMCAkbmF2LXNwYWNlciAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgID4gLm5hdi10YWJzOm5vdCgudGFicy1hbHQpLFxuICAgPiBkaXYgPiAubmF2LXRhYnM6bm90KC50YWJzLWFsdCkge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBAaWYgbm90ICRtYXRlcmlhbC1zdHlsZSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLm5hdi10YWJzLXRvcCA+IC50YWItY29udGVudCxcbiAgJi5uYXYtdGFicy1yaWdodCA+IC50YWItY29udGVudCxcbiAgJi5uYXYtdGFicy1ib3R0b20gPiAudGFiLWNvbnRlbnQsXG4gICYubmF2LXRhYnMtbGVmdCA+IC50YWItY29udGVudCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIH1cblxuICAmLm5hdi10YWJzLWJvdHRvbSxcbiAgJi5uYXYtdGFicy1yaWdodCxcbiAgJi5uYXYtdGFicy1sZWZ0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG4iLCIvLyBCdXR0b25zXG4vL1xuXG4uYnRuIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxufVxuXG5AaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgLmJ0biB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxufVxuXG4vLyBCYWJnZSB3aXRoaW4gYnV0dG9uXG4uYnRuIC5iYWRnZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcbn1cblxubGFiZWwuYnRuIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBBbHRlcm5hdGUgYnV0dG9uc1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGlmICRjb2xvciAhPSBwcmltYXJ5IHtcbiAgICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgICAgIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLXZhcmlhbnQoJy5idG4tI3skY29sb3J9JywgJHZhbHVlKTtcbiAgICAgIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLW91dGxpbmUtdmFyaWFudCgnLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfScsICR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBhcHB3b3JrLWJ1dHRvbi12YXJpYW50KCcuYnRuLSN7JGNvbG9yfScsICR2YWx1ZSk7XG4gICAgICBAaW5jbHVkZSBhcHB3b3JrLWJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJy5idG4tb3V0bGluZS0jeyRjb2xvcn0nLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBEZWZhdWx0IGJ1dHRvblxuQGlmICRtYXRlcmlhbC1zdHlsZSB7XG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLXZhcmlhbnQoJy5idG4tZGVmYXVsdCcsICRidG4tZGVmYXVsdC1iZywgJGJ0bi1kZWZhdWx0LWNvbG9yLCAkYnRuLWRlZmF1bHQtY29sb3IpO1xuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJy5idG4tb3V0bGluZS1kZWZhdWx0JywgJGJ0bi1kZWZhdWx0LWJvcmRlciwgJGJ0bi1kZWZhdWx0LWNvbG9yKTtcbn0gQGVsc2Uge1xuICBAaW5jbHVkZSBhcHB3b3JrLWJ1dHRvbi12YXJpYW50KCcuYnRuLWRlZmF1bHQnLCAkYnRuLWRlZmF1bHQtYmcsICRidG4tZGVmYXVsdC1jb2xvciwgJGJ0bi1kZWZhdWx0LWJvcmRlcik7XG4gIEBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLW91dGxpbmUtdmFyaWFudCgnLmJ0bi1vdXRsaW5lLWRlZmF1bHQnLCAkYnRuLWRlZmF1bHQtYm9yZGVyLCAkYnRuLWRlZmF1bHQtY29sb3IpO1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIFNpemVzXG5cbi5idG4teGwge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS14bCwgJGJ0bi1wYWRkaW5nLXgteGwsICRidG4tZm9udC1zaXplLXhsLCAkYnRuLWxpbmUtaGVpZ2h0LXhsLCAkYnRuLWJvcmRlci1yYWRpdXMteGwpO1xufVxuXG4uYnRuLXhzIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXkteHMsICRidG4tcGFkZGluZy14LXhzLCAkYnRuLWZvbnQtc2l6ZS14cywgJGJ0bi1saW5lLWhlaWdodC14cywgJGJ0bi1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBMaW5rIGJ1dHRvbnNcblxuLmJ0bi5idG4tbGluayB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcblxuICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgIC53YXZlcy1yaXBwbGUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyAqIEljb24gYnV0dG9uXG5cbi5pY29uLWJ0biB7XG4gICRpY29uLWJ0bi1zaXplOiAgICAoJGJ0bi1mb250LXNpemUgICAgKiAkYnRuLWxpbmUtaGVpZ2h0KSAgICArICgkYnRuLXBhZGRpbmcteSAgICAqIDIpO1xuICAkaWNvbi1idG4tc2l6ZS14bDogKCRidG4tZm9udC1zaXplLXhsICogJGJ0bi1saW5lLWhlaWdodC14bCkgKyAoJGJ0bi1wYWRkaW5nLXkteGwgKiAyKTtcbiAgJGljb24tYnRuLXNpemUtbGc6ICgkYnRuLWZvbnQtc2l6ZS1sZyAqICRidG4tbGluZS1oZWlnaHQtbGcpICsgKCRidG4tcGFkZGluZy15LWxnICogMik7XG4gICRpY29uLWJ0bi1zaXplLXNtOiAoJGJ0bi1mb250LXNpemUtc20gKiAkYnRuLWxpbmUtaGVpZ2h0LXNtKSArICgkYnRuLXBhZGRpbmcteS1zbSAqIDIpO1xuICAkaWNvbi1idG4tc2l6ZS14czogKCRidG4tZm9udC1zaXplLXhzICogJGJ0bi1saW5lLWhlaWdodC14cykgKyAoJGJ0bi1wYWRkaW5nLXkteHMgKiAyKTtcbiAgJGJvcmRlcnMtd2lkdGg6ICAgICRidG4tYm9yZGVyLXdpZHRoICogMjtcblxuICB3aWR0aDogY2FsYygjeyRpY29uLWJ0bi1zaXplfSArICN7JGJvcmRlcnMtd2lkdGh9KTtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6ICRpY29uLWJ0bi1zaXplO1xuXG4gICYuYnRuLXhsIHtcbiAgICB3aWR0aDogY2FsYygjeyRpY29uLWJ0bi1zaXplLXhsfSArICN7JGJvcmRlcnMtd2lkdGh9KTtcbiAgICBsaW5lLWhlaWdodDogJGljb24tYnRuLXNpemUteGw7XG4gIH1cblxuICAmLmJ0bi1sZyB7XG4gICAgd2lkdGg6IGNhbGMoI3skaWNvbi1idG4tc2l6ZS1sZ30gKyAjeyRib3JkZXJzLXdpZHRofSk7XG4gICAgbGluZS1oZWlnaHQ6ICRpY29uLWJ0bi1zaXplLWxnO1xuICB9XG5cbiAgJi5idG4tc20ge1xuICAgIHdpZHRoOiBjYWxjKCN7JGljb24tYnRuLXNpemUtc219ICsgI3skYm9yZGVycy13aWR0aH0pO1xuICAgIGxpbmUtaGVpZ2h0OiAkaWNvbi1idG4tc2l6ZS1zbTtcbiAgfVxuXG4gICYuYnRuLXhzIHtcbiAgICB3aWR0aDogY2FsYygjeyRpY29uLWJ0bi1zaXplLXhzfSArICN7JGJvcmRlcnMtd2lkdGh9KTtcbiAgICBsaW5lLWhlaWdodDogJGljb24tYnRuLXNpemUteHM7XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gKiBXaXRob3V0IGJvcmRlclxuXG4uYnRuLmJvcmRlcmxlc3Mge1xuICAmOm5vdCguYWN0aXZlKTpub3QoOmFjdGl2ZSk6bm90KDpob3Zlcik6bm90KDpmb2N1cyksXG4gIDpub3QoLnNob3cpID4gJi5kcm9wZG93bi10b2dnbGU6bm90KDpob3Zlcik6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuIl19 */
