body {
  background: #f5f5f5; }

.bg-body {
  background: #f5f5f5 !important; }

.text-primary {
  color: #26B4FF !important; }

a.text-primary:hover, a.text-primary:focus {
  color: #008ed9 !important; }

.bg-primary {
  background-color: #26B4FF !important; }

a.bg-primary:hover, a.bg-primary:focus {
  background-color: #24abf2 !important; }

.bg-primary-dark {
  background-color: #22a2e6 !important; }

a.bg-primary-dark:hover, a.bg-primary-dark:focus {
  background-color: #209adb !important; }

.bg-primary-darker {
  background-color: #2099d9 !important; }

a.bg-primary-darker:hover, a.bg-primary-darker:focus {
  background-color: #1e91ce !important; }

html:not([dir=rtl]) .border-primary, html[dir=rtl] .border-primary {
  border-color: #26B4FF !important; }

.badge-primary {
  background-color: #26B4FF;
  color: #fff; }

.badge-primary[href]:hover, .badge-primary[href]:focus {
  background-color: #24abf2;
  color: #fff;
  text-decoration: none; }

.btn .badge-primary {
  background: #26B4FF !important;
  border-color: #26B4FF !important;
  color: #fff !important; }

.badge-outline-primary {
  background-color: transparent;
  box-shadow: 0 0 0 1px #26B4FF inset;
  color: #26B4FF; }

.badge-outline-primary[href]:hover, .badge-outline-primary[href]:focus {
  color: #26B4FF;
  text-decoration: none; }

.btn .badge-outline-primary {
  background-color: transparent !important;
  box-shadow: 0 0 0 1px #26B4FF inset !important;
  color: #26B4FF !important; }

.page-item.active .page-link, .page-item.active .page-link:hover, .page-item.active .page-link:focus,
.pagination li.active > a:not(.page-link),
.pagination li.active > a:not(.page-link):hover,
.pagination li.active > a:not(.page-link):focus {
  border-color: #26B4FF;
  background-color: #26B4FF;
  color: #fff; }

.progress-bar {
  background-color: #26B4FF;
  color: #fff; }

.list-group-item-primary {
  border-color: rgba(0, 0, 0, 0.07);
  background-color: #e9f8ff;
  color: #5d6366; }

a.list-group-item-primary,
button.list-group-item-primary {
  color: #5d6366; }
  a.list-group-item-primary:hover, a.list-group-item-primary:focus,
  button.list-group-item-primary:hover,
  button.list-group-item-primary:focus {
    background-color: #e7f6fc;
    color: #5d6366; }
  a.list-group-item-primary.active,
  button.list-group-item-primary.active {
    border-color: #26B4FF;
    background-color: #26B4FF;
    color: #5d6366; }

.list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus {
  border-color: #26B4FF;
  background-color: #26B4FF;
  color: #fff; }

.alert-primary {
  border-color: #d1e5f0;
  background-color: #def4ff;
  color: #596266; }
  .alert-primary hr {
    border-top-color: #d1e5f0; }
  .alert-primary .alert-link {
    color: #596266; }

.alert-dark-primary {
  background-color: #26B4FF;
  color: #fff; }
  .alert-dark-primary hr {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .alert-dark-primary .close,
  .alert-dark-primary .alert-link {
    color: #fff; }

.tooltip-primary .tooltip-inner, .tooltip-primary > .tooltip .tooltip-inner, .ngb-tooltip-primary + ngb-tooltip-window .tooltip-inner {
  background: #26B4FF;
  color: #fff; }

.tooltip-primary.bs-tooltip-top .arrow::before, .tooltip-primary.bs-tooltip-auto[x-placement^="top"] .arrow::before, .tooltip-primary > .tooltip.bs-tooltip-top .arrow::before, .tooltip-primary > .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before, .ngb-tooltip-primary + ngb-tooltip-window.bs-tooltip-top .arrow::before, .ngb-tooltip-primary + ngb-tooltip-window.bs-tooltip-auto[x-placement^="top"] .arrow::before {
  border-top-color: #26B4FF; }

.tooltip-primary.bs-tooltip-right .arrow::before, .tooltip-primary.bs-tooltip-auto[x-placement^="right"] .arrow::before, .tooltip-primary > .tooltip.bs-tooltip-right .arrow::before, .tooltip-primary > .tooltip.bs-tooltip-auto[x-placement^="right"] .arrow::before, .ngb-tooltip-primary + ngb-tooltip-window.bs-tooltip-right .arrow::before, .ngb-tooltip-primary + ngb-tooltip-window.bs-tooltip-auto[x-placement^="right"] .arrow::before {
  border-right-color: #26B4FF; }

.tooltip-primary.bs-tooltip-bottom .arrow::before, .tooltip-primary.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .tooltip-primary > .tooltip.bs-tooltip-bottom .arrow::before, .tooltip-primary > .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .ngb-tooltip-primary + ngb-tooltip-window.bs-tooltip-bottom .arrow::before, .ngb-tooltip-primary + ngb-tooltip-window.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  border-bottom-color: #26B4FF; }

.tooltip-primary.bs-tooltip-left .arrow::before, .tooltip-primary.bs-tooltip-auto[x-placement^="left"] .arrow::before, .tooltip-primary > .tooltip.bs-tooltip-left .arrow::before, .tooltip-primary > .tooltip.bs-tooltip-auto[x-placement^="left"] .arrow::before, .ngb-tooltip-primary + ngb-tooltip-window.bs-tooltip-left .arrow::before, .ngb-tooltip-primary + ngb-tooltip-window.bs-tooltip-auto[x-placement^="left"] .arrow::before {
  border-left-color: #26B4FF; }

.popover-primary, .popover-primary > .popover, .ngb-popover-primary + ngb-popover-window {
  border-color: transparent;
  background: #26B4FF; }
  .popover-primary .popover-header, .popover-primary > .popover .popover-header, .ngb-popover-primary + ngb-popover-window .popover-header {
    border-color: rgba(255, 255, 255, 0.2);
    background: transparent;
    color: #fff; }
  .popover-primary .popover-body, .popover-primary > .popover .popover-body, .ngb-popover-primary + ngb-popover-window .popover-body {
    background: transparent;
    color: #fff; }
  .popover-primary > .arrow::before, .popover-primary > .popover > .arrow::before, .ngb-popover-primary + ngb-popover-window > .arrow::before {
    border-color: transparent; }
  .popover-primary.bs-popover-top > .arrow::after, .popover-primary.bs-popover-auto[x-placement^="top"] > .arrow::after, .popover-primary > .popover.bs-popover-top > .arrow::after, .popover-primary > .popover.bs-popover-auto[x-placement^="top"] > .arrow::after, .ngb-popover-primary + ngb-popover-window.bs-popover-top > .arrow::after, .ngb-popover-primary + ngb-popover-window.bs-popover-auto[x-placement^="top"] > .arrow::after {
    border-top-color: #26B4FF; }
  .popover-primary.bs-popover-right > .arrow::after, .popover-primary.bs-popover-auto[x-placement^="right"] > .arrow::after, .popover-primary > .popover.bs-popover-right > .arrow::after, .popover-primary > .popover.bs-popover-auto[x-placement^="right"] > .arrow::after, .ngb-popover-primary + ngb-popover-window.bs-popover-right > .arrow::after, .ngb-popover-primary + ngb-popover-window.bs-popover-auto[x-placement^="right"] > .arrow::after {
    border-right-color: #26B4FF; }
  .popover-primary.bs-popover-bottom > .arrow::after, .popover-primary.bs-popover-auto[x-placement^="bottom"] > .arrow::after, .popover-primary > .popover.bs-popover-bottom > .arrow::after, .popover-primary > .popover.bs-popover-auto[x-placement^="bottom"] > .arrow::after, .ngb-popover-primary + ngb-popover-window.bs-popover-bottom > .arrow::after, .ngb-popover-primary + ngb-popover-window.bs-popover-auto[x-placement^="bottom"] > .arrow::after {
    border-bottom-color: #26B4FF; }
  .popover-primary.bs-popover-left > .arrow::after, .popover-primary.bs-popover-auto[x-placement^="left"] > .arrow::after, .popover-primary > .popover.bs-popover-left > .arrow::after, .popover-primary > .popover.bs-popover-auto[x-placement^="left"] > .arrow::after, .ngb-popover-primary + ngb-popover-window.bs-popover-left > .arrow::after, .ngb-popover-primary + ngb-popover-window.bs-popover-auto[x-placement^="left"] > .arrow::after {
    border-left-color: #26B4FF; }

.table .table-primary,
.table .table-primary > th,
.table .table-primary > td {
  border-color: rgba(0, 0, 0, 0.035) !important;
  background-color: #e9f8ff;
  color: #5d6366; }

.table-hover .table-primary:hover,
.table-hover .table-primary:hover > td,
.table-hover .table-primary:hover > th {
  background-color: #e7f6fc; }

.btn-primary {
  border-color: transparent;
  background: #26B4FF;
  color: #fff; }
  .btn-primary:hover {
    border-color: transparent;
    background: #24abf2;
    color: #fff; }
  .btn-primary:focus, .btn-primary.focus {
    box-shadow: 0 0 0 2px rgba(38, 180, 255, 0.4); }
  .btn-primary.disabled, .btn-primary:disabled {
    border-color: transparent !important;
    background: #26B4FF !important;
    box-shadow: none !important;
    color: #fff !important; }

.btn-primary .badge {
  background: #fff;
  color: #26B4FF; }

.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle {
  border-color: transparent;
  background: #219dde;
  box-shadow: none; }

.btn-group .btn-primary,
.input-group-prepend .btn-primary,
.input-group-append .btn-primary {
  border-right: 1px solid #219dde;
  border-left: 1px solid #219dde; }

.btn-outline-primary {
  border-color: #26B4FF;
  background: transparent;
  color: #26B4FF; }
  .btn-outline-primary:hover {
    border-color: transparent;
    background: #26B4FF;
    color: #fff; }
  .btn-outline-primary:focus, .btn-outline-primary.focus {
    box-shadow: 0 0 0 2px rgba(38, 180, 255, 0.4); }
  .btn-outline-primary.disabled, .btn-outline-primary:disabled {
    border-color: #26B4FF !important;
    background: transparent !important;
    color: #26B4FF !important; }

.btn-outline-primary:active,
.btn-outline-primary.active,
.show > .btn-outline-primary.dropdown-toggle {
  border-color: transparent;
  background: #24abf2;
  color: #fff;
  box-shadow: none; }

.btn-outline-primary .badge {
  background: #26B4FF;
  border-color: #26B4FF;
  color: #fff; }

.btn-outline-primary:hover .badge,
.btn-outline-primary:focus .badge,
.btn-outline-primary:active .badge,
.btn-outline-primary.active .badge,
.show > .btn-outline-primary.dropdown-toggle .badge {
  background: #fff;
  border-color: #fff;
  color: #26B4FF; }

.dropdown-item:not(.disabled).active,
.dropdown-item:not(.disabled):active {
  background-color: #26B4FF;
  color: #fff; }

.dropdown-menu > li:not(.disabled) > a:not(.dropdown-item):active,
.dropdown-menu > li.active:not(.disabled) > a:not(.dropdown-item) {
  background-color: #26B4FF;
  color: #fff; }

.nav-pills .nav-link.active, .nav-pills .nav-link.active:hover, .nav-pills .nav-link.active:focus {
  background-color: #26B4FF;
  color: #fff; }

.tabs-alt.nav-tabs .nav-link.active, .tabs-alt.nav-tabs .nav-link.active:hover, .tabs-alt.nav-tabs .nav-link.active:focus,
.tabs-alt > .nav-tabs .nav-link.active,
.tabs-alt > .nav-tabs .nav-link.active:hover,
.tabs-alt > .nav-tabs .nav-link.active:focus {
  box-shadow: 0 -2px 0 #26B4FF inset; }

.custom-control .custom-control-input:focus ~ .custom-control-label::before,
.custom-control .custom-control-input:active ~ .custom-control-label::before {
  border-color: #26B4FF; }

.custom-control .custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 2px rgba(38, 180, 255, 0.4); }

.custom-control.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before,
.custom-control.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before,
.custom-control.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  border-color: #26B4FF;
  background-color: #26B4FF; }

.custom-control.custom-checkbox .custom-control-input: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='%23fff' d='M0 2h4'/%3E%3C/svg%3E"); }

.custom-control.custom-checkbox .custom-control-input: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"); }

.custom-control.custom-radio .custom-control-input: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"); }

.custom-file-input:focus ~ .custom-file-label {
  border-color: #26B4FF; }
  .custom-file-input:focus ~ .custom-file-label::after {
    border-color: inherit; }

.form-control:focus,
.custom-select:focus {
  border-color: #26B4FF; }

.switcher-input:checked ~ .switcher-indicator {
  background: #26B4FF;
  color: #fff; }

.switcher-input:focus ~ .switcher-indicator {
  box-shadow: 0 0 0 2px rgba(38, 180, 255, 0.4); }

.switcher-input:active ~ .switcher-indicator {
  box-shadow: none; }

.navbar.bg-primary {
  background-color: #26B4FF !important;
  color: #daf2ff; }
  .navbar.bg-primary .navbar-brand {
    color: #fff; }
    .navbar.bg-primary .navbar-brand:hover, .navbar.bg-primary .navbar-brand:focus {
      color: #fff; }
  .navbar.bg-primary .navbar-nav .nav-link {
    color: #daf2ff; }
    .navbar.bg-primary .navbar-nav .nav-link:hover, .navbar.bg-primary .navbar-nav .nav-link:focus {
      color: #fff; }
    .navbar.bg-primary .navbar-nav .nav-link.disabled {
      color: #92d9ff !important; }
  .navbar.bg-primary .navbar-nav .show > .nav-link,
  .navbar.bg-primary .navbar-nav .active > .nav-link,
  .navbar.bg-primary .navbar-nav .nav-link.show,
  .navbar.bg-primary .navbar-nav .nav-link.active {
    color: #fff; }
  .navbar.bg-primary .navbar-toggler {
    color: #daf2ff;
    border-color: rgba(255, 255, 255, 0.15); }
  .navbar.bg-primary .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.8)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
  .navbar.bg-primary .navbar-text {
    color: #daf2ff; }
    .navbar.bg-primary .navbar-text a {
      color: #fff; }
      .navbar.bg-primary .navbar-text a:hover, .navbar.bg-primary .navbar-text a:focus {
        color: #fff; }
  .navbar.bg-primary hr {
    border-color: rgba(255, 255, 255, 0.15); }

.sidenav.bg-primary {
  background-color: #26B4FF !important;
  color: #daf2ff; }
  .sidenav.bg-primary .sidenav-link,
  .sidenav.bg-primary .sidenav-horizontal-prev,
  .sidenav.bg-primary .sidenav-horizontal-next {
    color: #daf2ff; }
    .sidenav.bg-primary .sidenav-link:hover, .sidenav.bg-primary .sidenav-link:focus,
    .sidenav.bg-primary .sidenav-horizontal-prev:hover,
    .sidenav.bg-primary .sidenav-horizontal-prev:focus,
    .sidenav.bg-primary .sidenav-horizontal-next:hover,
    .sidenav.bg-primary .sidenav-horizontal-next:focus {
      color: #fff; }
    .sidenav.bg-primary .sidenav-link.active,
    .sidenav.bg-primary .sidenav-horizontal-prev.active,
    .sidenav.bg-primary .sidenav-horizontal-next.active {
      color: #fff; }
  .sidenav.bg-primary .sidenav-item.disabled .sidenav-link,
  .sidenav.bg-primary .sidenav-horizontal-prev.disabled,
  .sidenav.bg-primary .sidenav-horizontal-next.disabled {
    color: #92d9ff !important; }
  .sidenav.bg-primary .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav.bg-primary .sidenav-item.active > .sidenav-link {
    color: #fff; }
  .sidenav.bg-primary .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #24abf2; }
  .sidenav.bg-primary.sidenav-horizontal .sidenav-menu > .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #22a2e6; }
  .sidenav.bg-primary.sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing) > .sidenav-menu,
  .sidenav.bg-primary.sidenav-horizontal .sidenav-inner > .sidenav-item.open > .sidenav-toggle {
    background: #24abf2; }
  .sidenav.bg-primary .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav.bg-primary .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    background: transparent;
    color: #daf2ff; }
  .sidenav.bg-primary .sidenav-text {
    color: #fff; }
  .sidenav.bg-primary .sidenav-header {
    color: #ade3ff; }
  .sidenav.bg-primary hr,
  .sidenav.bg-primary .sidenav-divider,
  .sidenav.bg-primary .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(255, 255, 255, 0.15) !important; }
  .sidenav.bg-primary .sidenav-inner > .sidenav-header::before,
  .sidenav.bg-primary .sidenav-block::before {
    background-color: rgba(255, 255, 255, 0.15); }
  .sidenav.bg-primary .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: #45b8f4; }
  .sidenav.bg-primary .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #fff; }
  .sidenav.bg-primary .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .sidenav.bg-primary .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    box-shadow: 0 0 0 2px #24abf2; }
  .sidenav.bg-primary .ps__thumb-y,
  .sidenav.bg-primary .ps__rail-y.ps--clicking > .ps__thumb-y {
    background: rgba(255, 255, 255, 0.629164) !important; }

.footer.bg-primary {
  background-color: #26B4FF !important;
  color: #daf2ff; }
  .footer.bg-primary .footer-link {
    color: #daf2ff; }
    .footer.bg-primary .footer-link:hover, .footer.bg-primary .footer-link:focus {
      color: #fff; }
    .footer.bg-primary .footer-link.disabled {
      color: #92d9ff !important; }
  .footer.bg-primary .footer-text {
    color: #fff; }
  .footer.bg-primary .show > .footer-link,
  .footer.bg-primary .active > .footer-link,
  .footer.bg-primary .footer-link.show,
  .footer.bg-primary .footer-link.active {
    color: #fff; }
  .footer.bg-primary hr {
    border-color: rgba(255, 255, 255, 0.15); }

.bg-primary.bs4-toast {
  color: #fff;
  background-color: rgba(38, 180, 255, 0.9) !important; }
  .bg-primary.bs4-toast .toast-header {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.1); }

.fill-primary {
  fill: #26B4FF; }

.slider-primary .slider-selection,
.slider-primary .slider-reversed .slider-track-high,
.slider-primary.slider-reversed .slider-track-high {
  background: #26B4FF; }

.noUi-primary .noUi-base .noUi-connect {
  background: #26B4FF !important; }

.default-style .select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #26B4FF !important;
  color: #fff !important; }

.default-style .select2-container--default.select2-container--focus .select2-selection,
.default-style .select2-container--default.select2-container--open .select2-selection {
  border-color: #26B4FF !important; }

.default-style .select2-primary .select2-container--default .select2-selection--multiple .select2-selection__choice {
  background: #26B4FF;
  color: #fff; }

.bootstrap-tagsinput.focus {
  border-color: #26B4FF !important; }

.bootstrap-select .dropdown-menu.inner a[aria-selected=true] {
  background: #26B4FF !important;
  color: #fff !important; }

.datepicker table tr td.active, .datepicker table tr td.active.highlighted, .datepicker table tr td.active.today,
.datepicker table tr td span.active,
.datepicker table tr td span.active.disabled, .datepicker table tr td.range-start, .datepicker table tr td.range-end {
  background: #26B4FF !important;
  color: #fff !important; }

.datepicker table tr td.range, .datepicker table tr td.range.highlighted, .datepicker table tr td.range.today {
  background: #def4ff !important;
  color: #596266 !important; }
  .datepicker table tr td.range.focused, .datepicker table tr td.range.highlighted.focused, .datepicker table tr td.range.today.focused {
    background: #bfeaff !important; }
  .datepicker table tr td.range.disabled, .datepicker table tr td.range.highlighted.disabled, .datepicker table tr td.range.today.disabled {
    background: rgba(222, 244, 255, 0.5) !important;
    color: rgba(89, 98, 102, 0.5) !important; }

.flatpickr-calendar .numInputWrapper span.arrowUp:after {
  border-bottom-color: #fff; }

.flatpickr-calendar .numInputWrapper span.arrowDown:after {
  border-top-color: #fff; }

.flatpickr-month,
span.flatpickr-weekday {
  background: #26B4FF;
  color: #fff;
  fill: #fff; }

.flatpickr-weekdays {
  background: #26B4FF; }

.flatpickr-day.today {
  border-color: #26B4FF; }

.flatpickr-day.inRange, .flatpickr-day.prevMonthDay.inRange, .flatpickr-day.nextMonthDay.inRange, .flatpickr-day.today.inRange, .flatpickr-day.prevMonthDay.today.inRange, .flatpickr-day.nextMonthDay.today.inRange {
  border-color: #def4ff !important;
  background: #def4ff !important;
  color: #596266 !important; }

.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay, .flatpickr-day.week.selected {
  border-color: #26B4FF !important;
  background: #26B4FF !important;
  color: #fff !important; }

.daterangepicker td.active {
  background-color: #26B4FF !important;
  color: #fff !important; }

.daterangepicker td.in-range:not(.start-date):not(.end-date):not(.off) {
  background-color: #def4ff !important;
  color: #596266 !important; }

.daterangepicker .input-mini.active {
  border-color: #26B4FF !important; }

.ranges li.active {
  background-color: #26B4FF !important;
  color: #fff !important; }

.dtp-date,
.dtp-time {
  background: #26B4FF;
  color: #fff; }

.dtp-close > a {
  color: #fff; }

header.dtp-header {
  background: #2099d9;
  color: #fff; }

table.dtp-picker-days tr > td > a.selected {
  background: #26B4FF;
  color: #fff !important; }

.dtp-actual-meridien a.selected {
  background: #26B4FF !important;
  color: #fff !important; }

.dtp .year-picker-item:hover {
  color: #26B4FF; }

.dtp .year-picker-item.active {
  color: #26B4FF; }

.dtp .svg-clock [stroke="#8BC34A"] {
  stroke: #26B4FF !important; }

.dtp .svg-clock [fill="#8BC34A"] {
  fill: #26B4FF !important; }

.dtp .svg-clock [fill="#fff"] {
  fill: #fff !important; }

li.ui-timepicker-selected,
.ui-timepicker-list .ui-timepicker-selected:hover {
  background: #26B4FF !important;
  color: #fff !important; }

.growl-default {
  background: #26B4FF !important;
  color: #fff !important; }

.md-editor.active {
  border-color: #26B4FF !important; }

.ql-snow.ql-toolbar button:hover,
.ql-snow.ql-toolbar button:focus,
.ql-snow.ql-toolbar button.ql-active,
.ql-snow.ql-toolbar .ql-picker-label:hover,
.ql-snow.ql-toolbar .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker-item:hover,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected,
.ql-snow .ql-toolbar button:hover,
.ql-snow .ql-toolbar button:focus,
.ql-snow .ql-toolbar button.ql-active,
.ql-snow .ql-toolbar .ql-picker-label:hover,
.ql-snow .ql-toolbar .ql-picker-label.ql-active,
.ql-snow .ql-toolbar .ql-picker-item:hover,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected {
  color: #26B4FF !important; }

.ql-snow.ql-toolbar button:hover .ql-fill,
.ql-snow.ql-toolbar button:focus .ql-fill,
.ql-snow.ql-toolbar button.ql-active .ql-fill,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,
.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,
.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,
.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,
.ql-snow .ql-toolbar button:hover .ql-fill,
.ql-snow .ql-toolbar button:focus .ql-fill,
.ql-snow .ql-toolbar button.ql-active .ql-fill,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,
.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,
.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,
.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill {
  fill: #26B4FF !important; }

.ql-snow.ql-toolbar button:hover .ql-stroke,
.ql-snow.ql-toolbar button:focus .ql-stroke,
.ql-snow.ql-toolbar button.ql-active .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,
.ql-snow.ql-toolbar button:hover .ql-stroke-miter,
.ql-snow.ql-toolbar button:focus .ql-stroke-miter,
.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,
.ql-snow .ql-toolbar button:hover .ql-stroke,
.ql-snow .ql-toolbar button:focus .ql-stroke,
.ql-snow .ql-toolbar button.ql-active .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,
.ql-snow .ql-toolbar button:hover .ql-stroke-miter,
.ql-snow .ql-toolbar button:focus .ql-stroke-miter,
.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter {
  stroke: #26B4FF !important; }

.tt-suggestion:active,
.tt-cursor {
  background: #26B4FF !important;
  color: #fff !important; }

.dropzone.dz-drag-hover {
  border-color: #26B4FF !important; }

.swiper-pagination-bullet.swiper-pagination-bullet-active,
.swiper-pagination.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #26B4FF !important; }

.sk-primary.sk-rotating-plane,
.sk-primary.sk-double-bounce .sk-child,
.sk-primary.sk-wave .sk-rect,
.sk-primary.sk-wandering-cubes .sk-cube,
.sk-primary.sk-spinner-pulse,
.sk-primary.sk-chasing-dots .sk-child,
.sk-primary.sk-three-bounce .sk-child,
.sk-primary.sk-circle .sk-child:before,
.sk-primary.sk-cube-grid .sk-cube,
.sk-primary.sk-fading-circle .sk-circle:before,
.sk-primary.sk-folding-cube .sk-cube:before {
  background-color: #26B4FF; }

.sw-theme-default .step-anchor > li.active > a .sw-icon,
.sw-theme-default .step-anchor > li.active > a .sw-number {
  color: #26B4FF;
  border-color: #26B4FF; }

.plyr input[type='range']::-ms-fill-lower {
  background: #26B4FF !important; }

.plyr input[type='range']:active::-webkit-slider-thumb {
  background: #26B4FF !important; }

.plyr input[type='range']:active::-moz-range-thumb {
  background: #26B4FF !important; }

.plyr input[type='range']:active::-ms-thumb {
  background: #26B4FF !important; }

.plyr--video .plyr__controls button.tab-focus:focus,
.plyr--video .plyr__controls button:hover {
  background: #26B4FF !important;
  color: #fff !important; }

.plyr--audio .plyr__controls button.tab-focus:focus,
.plyr--audio .plyr__controls button:hover {
  background: #26B4FF !important;
  color: #fff !important; }

.plyr__play-large {
  background: #26B4FF !important;
  color: #fff !important; }

.plyr__progress--played,
.plyr__volume--display {
  color: #26B4FF !important; }

.fc-highlight,
.fc-bgevent:not(.fc-nonbusiness) {
  background: #26B4FF !important; }

.swal2-progress-steps[class] .swal2-progress-step.swal2-active-progress-step,
.swal2-progress-steps[class] .swal2-progress-step-line,
.swal2-progress-steps[class] .swal2-active-progress-step,
.swal2-progress-steps[class] .swal2-progress-step {
  background: #26B4FF;
  color: #fff; }

.swal2-progress-steps[class] .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step,
.swal2-progress-steps[class] .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step-line {
  background: #c9ecff; }

.ui-product-color.active {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #26B4FF !important; }

.bg-navbar-theme {
  background-color: #fff !important;
  color: #a3a4a6; }
  .bg-navbar-theme .navbar-brand {
    color: #4E5155; }
    .bg-navbar-theme .navbar-brand:hover, .bg-navbar-theme .navbar-brand:focus {
      color: #4E5155; }
  .bg-navbar-theme .navbar-nav .nav-link {
    color: #a3a4a6; }
    .bg-navbar-theme .navbar-nav .nav-link:hover, .bg-navbar-theme .navbar-nav .nav-link:focus {
      color: #4E5155; }
    .bg-navbar-theme .navbar-nav .nav-link.disabled {
      color: #c8c8ca !important; }
  .bg-navbar-theme .navbar-nav .show > .nav-link,
  .bg-navbar-theme .navbar-nav .active > .nav-link,
  .bg-navbar-theme .navbar-nav .nav-link.show,
  .bg-navbar-theme .navbar-nav .nav-link.active {
    color: #4E5155; }
  .bg-navbar-theme .navbar-toggler {
    color: #a3a4a6;
    border-color: rgba(78, 81, 85, 0.075); }
  .bg-navbar-theme .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(24, 28, 33, 0.4)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
  .bg-navbar-theme .navbar-text {
    color: #a3a4a6; }
    .bg-navbar-theme .navbar-text a {
      color: #4E5155; }
      .bg-navbar-theme .navbar-text a:hover, .bg-navbar-theme .navbar-text a:focus {
        color: #4E5155; }
  .bg-navbar-theme hr {
    border-color: rgba(78, 81, 85, 0.075); }

.layout-navbar {
  box-shadow: 0 1px 0 rgba(24, 28, 33, 0.06); }

.bg-sidenav-theme {
  background-color: #2e323a !important;
  color: #838790; }
  .bg-sidenav-theme .sidenav-link,
  .bg-sidenav-theme .sidenav-horizontal-prev,
  .bg-sidenav-theme .sidenav-horizontal-next {
    color: #838790; }
    .bg-sidenav-theme .sidenav-link:hover, .bg-sidenav-theme .sidenav-link:focus,
    .bg-sidenav-theme .sidenav-horizontal-prev:hover,
    .bg-sidenav-theme .sidenav-horizontal-prev:focus,
    .bg-sidenav-theme .sidenav-horizontal-next:hover,
    .bg-sidenav-theme .sidenav-horizontal-next:focus {
      color: #fff; }
    .bg-sidenav-theme .sidenav-link.active,
    .bg-sidenav-theme .sidenav-horizontal-prev.active,
    .bg-sidenav-theme .sidenav-horizontal-next.active {
      color: #fff; }
  .bg-sidenav-theme .sidenav-item.disabled .sidenav-link,
  .bg-sidenav-theme .sidenav-horizontal-prev.disabled,
  .bg-sidenav-theme .sidenav-horizontal-next.disabled {
    color: #61656e !important; }
  .bg-sidenav-theme .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .bg-sidenav-theme .sidenav-item.active > .sidenav-link {
    color: #fff; }
  .bg-sidenav-theme .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #383c44; }
  .bg-sidenav-theme.sidenav-horizontal .sidenav-menu > .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #42464d; }
  .bg-sidenav-theme.sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing) > .sidenav-menu,
  .bg-sidenav-theme.sidenav-horizontal .sidenav-inner > .sidenav-item.open > .sidenav-toggle {
    background: #383c44; }
  .bg-sidenav-theme .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .bg-sidenav-theme .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    background: transparent;
    color: #838790; }
  .bg-sidenav-theme .sidenav-text {
    color: #fff; }
  .bg-sidenav-theme .sidenav-header {
    color: #6e727b; }
  .bg-sidenav-theme hr,
  .bg-sidenav-theme .sidenav-divider,
  .bg-sidenav-theme .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(255, 255, 255, 0.06) !important; }
  .bg-sidenav-theme .sidenav-inner > .sidenav-header::before,
  .bg-sidenav-theme .sidenav-block::before {
    background-color: rgba(255, 255, 255, 0.06); }
  .bg-sidenav-theme .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: #44484f; }
  .bg-sidenav-theme .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #fff; }
  .bg-sidenav-theme .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .bg-sidenav-theme .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    box-shadow: 0 0 0 2px #383c44; }
  .bg-sidenav-theme .ps__thumb-y,
  .bg-sidenav-theme .ps__rail-y.ps--clicking > .ps__thumb-y {
    background: rgba(255, 255, 255, 0.477986) !important; }

.bg-footer-theme {
  background-color: #fff !important;
  color: #a3a4a6; }
  .bg-footer-theme .footer-link {
    color: #a3a4a6; }
    .bg-footer-theme .footer-link:hover, .bg-footer-theme .footer-link:focus {
      color: #4E5155; }
    .bg-footer-theme .footer-link.disabled {
      color: #c8c8ca !important; }
  .bg-footer-theme .footer-text {
    color: #4E5155; }
  .bg-footer-theme .show > .footer-link,
  .bg-footer-theme .active > .footer-link,
  .bg-footer-theme .footer-link.show,
  .bg-footer-theme .footer-link.active {
    color: #4E5155; }
  .bg-footer-theme hr {
    border-color: rgba(78, 81, 85, 0.075); }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9yL2Nzcy9ydGwvdGhlbWUtY29ycG9yYXRlLmNzcyIsInNvdXJjZXMiOlsidmVuZG9yL2Nzcy9ydGwvdGhlbWUtY29ycG9yYXRlLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19pbmNsdWRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Z1bmN0aW9ucy5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fZnVuY3Rpb25zLnNjc3MiLCJ2ZW5kb3IvY3NzL19jdXN0b20tdmFyaWFibGVzL19hcHB3b3JrLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL192YXJpYWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21peGlucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19kZXByZWNhdGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhZGdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm94LXNoYWRvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zsb2F0LnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19taXhpbnMuc2NzcyIsInZlbmRvci9jc3MvX3RoZW1lL19jb21tb24uc2NzcyIsInZlbmRvci9jc3MvX3RoZW1lL19saWJzLnNjc3MiLCJ2ZW5kb3IvbGlicy9ib290c3RyYXAtc2xpZGVyL19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL25vdWlzbGlkZXIvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvc2VsZWN0Mi9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9ib290c3RyYXAtdGFnc2lucHV0L19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL2Jvb3RzdHJhcC1zZWxlY3QvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvYm9vdHN0cmFwLWRhdGVwaWNrZXIvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvZmxhdHBpY2tyL19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL2Jvb3RzdHJhcC1kYXRlcmFuZ2VwaWNrZXIvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvYm9vdHN0cmFwLW1hdGVyaWFsLWRhdGV0aW1lcGlja2VyL19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL3RpbWVwaWNrZXIvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvZ3Jvd2wvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvYm9vdHN0cmFwLW1hcmtkb3duL19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL3F1aWxsL19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL3R5cGVhaGVhZC1qcy9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9kcm9wem9uZS9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9zd2lwZXIvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvc3BpbmtpdC9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9zbWFydHdpemFyZC9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9wbHlyL19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL2Z1bGxjYWxlbmRhci9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9zd2VldGFsZXJ0Mi9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvY3NzL190aGVtZS9fdWlraXQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIkcnRsLXN1cHBvcnQ6IHRydWU7XHJcblxyXG5AaW1wb3J0IFwiLi4vX2FwcHdvcmsvaW5jbHVkZVwiO1xyXG5AaW1wb3J0IFwiLi4vX3RoZW1lL2NvbW1vblwiO1xyXG5AaW1wb3J0IFwiLi4vX3RoZW1lL2xpYnNcIjtcclxuQGltcG9ydCBcIi4uL190aGVtZS91aWtpdFwiO1xyXG5cclxuJHByaW1hcnktY29sb3I6ICMyNkI0RkY7XHJcbiRib2R5LWJnOiAjZjVmNWY1O1xyXG5cclxuYm9keSB7XHJcbiAgYmFja2dyb3VuZDogJGJvZHktYmc7XHJcbn1cclxuXHJcbi5iZy1ib2R5IHtcclxuICBiYWNrZ3JvdW5kOiAkYm9keS1iZyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AaW5jbHVkZSBhcHB3b3JrLWNvbW1vbi10aGVtZSgkcHJpbWFyeS1jb2xvcik7XHJcbkBpbmNsdWRlIGFwcHdvcmstbGlicy10aGVtZSgkcHJpbWFyeS1jb2xvcik7XHJcbkBpbmNsdWRlIGFwcHdvcmstdWlraXQtdGhlbWUoJHByaW1hcnktY29sb3IpO1xyXG5cclxuLy8gTmF2YmFyXHJcblxyXG5AaW5jbHVkZSBhcHB3b3JrLW5hdmJhci12YXJpYW50KCcuYmctbmF2YmFyLXRoZW1lJywgI2ZmZiwgJGNvbG9yOiAkdGV4dC1tdXRlZCwgJGFjdGl2ZS1jb2xvcjogJGJvZHktY29sb3IpO1xyXG5cclxuLmxheW91dC1uYXZiYXIge1xyXG4gIGJveC1zaGFkb3c6IDAgMXB4IDAgJGJvcmRlci1jb2xvcjtcclxufVxyXG5cclxuLy8gU2lkZW5hdlxyXG5cclxuQGluY2x1ZGUgYXBwd29yay1zaWRlbmF2LXZhcmlhbnQoJy5iZy1zaWRlbmF2LXRoZW1lJywgIzJlMzIzYSwgJGNvbG9yOiAjODM4NzkwKTtcclxuXHJcbi8vIEZvb3RlclxyXG5cclxuQGluY2x1ZGUgYXBwd29yay1mb290ZXItdmFyaWFudCgnLmJnLWZvb3Rlci10aGVtZScsICNmZmYsICRjb2xvcjogJHRleHQtbXV0ZWQsICRhY3RpdmUtY29sb3I6ICRib2R5LWNvbG9yKTtcclxuIiwiQGltcG9ydCAnLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Z1bmN0aW9ucyc7XHJcbkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XHJcbkBpbXBvcnQgJy4uL19jdXN0b20tdmFyaWFibGVzL2FwcHdvcmsnO1xyXG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xyXG5AaW1wb3J0ICcuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmFyaWFibGVzJztcclxuQGltcG9ydCAnLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucyc7XHJcbkBpbXBvcnQgJ21peGlucyc7XHJcbiIsIi8vIEJvb3RzdHJhcCBmdW5jdGlvbnNcbi8vXG4vLyBVdGlsaXR5IG1peGlucyBhbmQgZnVuY3Rpb25zIGZvciBldmFsdWF0aW5nIHNvdXJjZSBjb2RlIGFjcm9zcyBvdXIgdmFyaWFibGVzLCBtYXBzLCBhbmQgbWl4aW5zLlxuXG4vLyBBc2NlbmRpbmdcbi8vIFVzZWQgdG8gZXZhbHVhdGUgU2FzcyBtYXBzIGxpa2Ugb3VyIGdyaWQgYnJlYWtwb2ludHMuXG5AbWl4aW4gX2Fzc2VydC1hc2NlbmRpbmcoJG1hcCwgJG1hcC1uYW1lKSB7XG4gICRwcmV2LWtleTogbnVsbDtcbiAgJHByZXYtbnVtOiBudWxsO1xuICBAZWFjaCAka2V5LCAkbnVtIGluICRtYXAge1xuICAgIEBpZiAkcHJldi1udW0gPT0gbnVsbCBvciB1bml0KCRudW0pID09IFwiJVwiIHtcbiAgICAgIC8vIERvIG5vdGhpbmdcbiAgICB9IEBlbHNlIGlmIG5vdCBjb21wYXJhYmxlKCRwcmV2LW51bSwgJG51bSkge1xuICAgICAgQHdhcm4gXCJQb3RlbnRpYWxseSBpbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aG9zZSB1bml0IG1ha2VzIGl0IGluY29tcGFyYWJsZSB0byAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9IEBlbHNlIGlmICRwcmV2LW51bSA+PSAkbnVtIHtcbiAgICAgIEB3YXJuIFwiSW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hpY2ggaXNuJ3QgZ3JlYXRlciB0aGFuICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH1cbiAgICAkcHJldi1rZXk6ICRrZXk7XG4gICAgJHByZXYtbnVtOiAkbnVtO1xuICB9XG59XG5cbi8vIFN0YXJ0cyBhdCB6ZXJvXG4vLyBVc2VkIHRvIGVuc3VyZSB0aGUgbWluLXdpZHRoIG9mIHRoZSBsb3dlc3QgYnJlYWtwb2ludCBzdGFydHMgYXQgMC5cbkBtaXhpbiBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRtYXAsICRtYXAtbmFtZTogXCIkZ3JpZC1icmVha3BvaW50c1wiKSB7XG4gICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICRmaXJzdC12YWx1ZTogbnRoKCR2YWx1ZXMsIDEpO1xuICBAaWYgJGZpcnN0LXZhbHVlICE9IDAge1xuICAgIEB3YXJuIFwiRmlyc3QgYnJlYWtwb2ludCBpbiAjeyRtYXAtbmFtZX0gbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcbiAgfVxufVxuXG4vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLyBVc2VkIG9uIG91ciBTVkcgaWNvbiBiYWNrZ3JvdW5kcyBmb3IgY3VzdG9tIGZvcm1zLlxuLy9cbi8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcbi8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gQ29sb3IgY29udHJhc3RcbkBmdW5jdGlvbiBjb2xvci15aXEoJGNvbG9yLCAkZGFyazogJHlpcS10ZXh0LWRhcmssICRsaWdodDogJHlpcS10ZXh0LWxpZ2h0KSB7XG4gICRyOiByZWQoJGNvbG9yKTtcbiAgJGc6IGdyZWVuKCRjb2xvcik7XG4gICRiOiBibHVlKCRjb2xvcik7XG5cbiAgJHlpcTogKCgkciAqIDI5OSkgKyAoJGcgKiA1ODcpICsgKCRiICogMTE0KSkgLyAxMDAwO1xuXG4gIEBpZiAoJHlpcSA+PSAkeWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkKSB7XG4gICAgQHJldHVybiAkZGFyaztcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkbGlnaHQ7XG4gIH1cbn1cblxuLy8gUmV0cmlldmUgY29sb3IgU2FzcyBtYXBzXG5AZnVuY3Rpb24gY29sb3IoJGtleTogXCJibHVlXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRjb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gdGhlbWUtY29sb3IoJGtleTogXCJwcmltYXJ5XCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCR0aGVtZS1jb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gZ3JheSgka2V5OiBcIjEwMFwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkZ3JheXMsICRrZXkpO1xufVxuXG4vLyBSZXF1ZXN0IGEgdGhlbWUgY29sb3IgbGV2ZWxcbkBmdW5jdGlvbiB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3ItbmFtZTogXCJwcmltYXJ5XCIsICRsZXZlbDogMCkge1xuICAkY29sb3I6IHRoZW1lLWNvbG9yKCRjb2xvci1uYW1lKTtcbiAgJGNvbG9yLWJhc2U6IGlmKCRsZXZlbCA+IDAsICRibGFjaywgJHdoaXRlKTtcbiAgJGxldmVsOiBhYnMoJGxldmVsKTtcblxuICBAcmV0dXJuIG1peCgkY29sb3ItYmFzZSwgJGNvbG9yLCAkbGV2ZWwgKiAkdGhlbWUtY29sb3ItaW50ZXJ2YWwpO1xufVxuIiwiLy8gRnVuY3Rpb25zXHJcbi8vXHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTWF0aFxyXG5cclxuJHBpOiAzLjE0MTU5MjY1MzU5O1xyXG4kX3ByZWNpc2lvbjogMTA7XHJcblxyXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwKSB7XHJcbiAgJHZhbHVlOiAkYmFzZTtcclxuICBAaWYgJGV4cCA+IDEge1xyXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwIHtcclxuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcclxuICAgIH1cclxuICB9XHJcbiAgQGlmICRleHAgPCAxe1xyXG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cCB7XHJcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEByZXR1cm4gJHZhbHVlO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gc3FydCgkcikge1xyXG4gICR4MDogMTtcclxuICAkeDE6ICR4MDtcclxuXHJcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMCB7XHJcbiAgICAkeDE6ICR4MCAtICgkeDAgKiAkeDAgLSBhYnMoJHIpKSAvICgyICogJHgwKTtcclxuICAgICR4MDogJHgxO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkeDE7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBmYWN0KCRudW0pIHtcclxuICAkZmFjdDogMTtcclxuICBAaWYgJG51bSA+IDB7XHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRudW0ge1xyXG4gICAgICAkZmFjdDogJGZhY3QgKiAkaTtcclxuICAgIH1cclxuICB9XHJcbiAgQHJldHVybiAkZmFjdDtcclxufVxyXG5cclxuQGZ1bmN0aW9uIF90b191bml0bGVzc19yYWQoJGFuZ2xlKSB7XHJcbiAgQGlmIHVuaXQoJGFuZ2xlKSA9PSBcImRlZ1wiIHtcclxuICAgICRhbmdsZTogJGFuZ2xlIC8gMTgwZGVnICogJHBpO1xyXG4gIH1cclxuICBAaWYgdW5pdCgkYW5nbGUpID09IFwicmFkXCIge1xyXG4gICAgJGFuZ2xlOiAkYW5nbGUgLyAxcmFkO1xyXG4gIH1cclxuICBAcmV0dXJuICRhbmdsZTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHNpbigkYW5nbGUpe1xyXG4gICRhOiBfdG9fdW5pdGxlc3NfcmFkKCRhbmdsZSk7XHJcbiAgJHNpbjogJGE7XHJcbiAgQGZvciAkbiBmcm9tIDEgdGhyb3VnaCAkX3ByZWNpc2lvbiB7XHJcbiAgICAkc2luOiAkc2luICsgKHBvdygtMSwgJG4pIC8gZmFjdCgyICogJG4gKyAxKSApICogcG93KCRhLCAoMiAqICRuICsgMSkpO1xyXG4gIH1cclxuICBAcmV0dXJuICRzaW47XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBjb3MoJGFuZ2xlKXtcclxuICAkYTogX3RvX3VuaXRsZXNzX3JhZCgkYW5nbGUpO1xyXG4gICRjb3M6IDE7XHJcbiAgQGZvciAkbiBmcm9tIDEgdGhyb3VnaCAkX3ByZWNpc2lvbiB7XHJcbiAgICAkY29zOiAkY29zICsgKCBwb3coLTEsJG4pIC8gZmFjdCgyKiRuKSApICogcG93KCRhLDIqJG4pO1xyXG4gIH1cclxuICBAcmV0dXJuICRjb3M7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiB0YW4oJGFuZ2xlKXtcclxuICBAcmV0dXJuIHNpbigkYW5nbGUpIC8gY29zKCRhbmdsZSk7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBMaXN0c1xyXG5cclxuQGZ1bmN0aW9uIHNsaWNlLWxpc3QoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xyXG4gICRyZXN1bHQ6IG51bGw7XHJcblxyXG4gIEBpZiB0eXBlLW9mKCRzdGFydCkgIT0gbnVtYmVyIG9yIHR5cGUtb2YoJGVuZCkgIT0gbnVtYmVyIHtcclxuICAgIEB3YXJuIFwiRWl0aGVyICRzdGFydCBvciAkZW5kIGFyZSBub3QgYSBudW1iZXIgZm9yIGBzbGljZWAuXCI7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkc3RhcnQgPiAkZW5kIHtcclxuICAgIEB3YXJuIFwiVGhlIHN0YXJ0IGluZGV4IGhhcyB0byBiZSBsZXNzZXIgdGhhbiBvciBlcXVhbHMgdG8gdGhlIGVuZCBpbmRleCBmb3IgYHNsaWNlYC5cIjtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICRzdGFydCA8IDEgb3IgJGVuZCA8IDEge1xyXG4gICAgQHdhcm4gXCJMaXN0IGluZGV4ZXMgbXVzdCBiZSBub24temVybyBpbnRlZ2VycyBmb3IgYHNsaWNlYC5cIjtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICRzdGFydCA+IGxlbmd0aCgkbGlzdCkge1xyXG4gICAgQHdhcm4gXCJMaXN0IGluZGV4IGlzICN7JHN0YXJ0fSBidXQgbGlzdCBpcyBvbmx5ICN7bGVuZ3RoKCRsaXN0KX0gaXRlbSBsb25nIGZvciBgc2xpY2VgLlwiO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJGVuZCA+IGxlbmd0aCgkbGlzdCkge1xyXG4gICAgQHdhcm4gXCJMaXN0IGluZGV4IGlzICN7JGVuZH0gYnV0IGxpc3QgaXMgb25seSAje2xlbmd0aCgkbGlzdCl9IGl0ZW0gbG9uZyBmb3IgYHNsaWNlYC5cIjtcclxuICB9XHJcblxyXG4gIEBlbHNlIHtcclxuICAgICRyZXN1bHQ6ICgpO1xyXG5cclxuICAgIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcclxuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHJlc3VsdDtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFN0cmluZ3NcclxuXHJcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogJycpIHtcclxuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcclxuXHJcbiAgQGlmICRpbmRleCB7XHJcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRzdHJpbmc7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBDb2xvcnNcclxuXHJcbkBmdW5jdGlvbiByZ2JhLXRvLWhleCgkY29sb3IsICRiYWNrZ3JvdW5kOiAjZmZmKSB7XHJcbiAgQGlmICRjb2xvciBhbmQgYWxwaGEoJGNvbG9yKSAhPSAxIHtcclxuICAgICRwZXJjZW50OiBhbHBoYSgkY29sb3IpICogMTAwJTtcclxuICAgICRvcGFxdWU6IG9wYWNpZnkoJGNvbG9yLCAxKTtcclxuXHJcbiAgICBAcmV0dXJuIG1peCgkb3BhcXVlLCAkYmFja2dyb3VuZCwgJHBlcmNlbnQpO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAcmV0dXJuICRjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiB5aXEtdmFsdWUoJGNvbG9yKSB7XHJcbiAgQGlmICRjb2xvciA9PSB0cmFuc3BhcmVudCB7XHJcbiAgICBAcmV0dXJuICRib2R5LWNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgYWxwaGEoJGNvbG9yKSAhPSAxIHtcclxuICAgICRjb2xvcjogcmdiYS10by1oZXgoJGNvbG9yKTtcclxuICB9XHJcblxyXG4gICRyOiByZWQoJGNvbG9yKTtcclxuICAkZzogZ3JlZW4oJGNvbG9yKTtcclxuICAkYjogYmx1ZSgkY29sb3IpO1xyXG5cclxuICBAcmV0dXJuICgoJHIgKiAyOTkpICsgKCRnICogNTg3KSArICgkYiAqIDExNCkpIC8gMTAwMDtcclxufVxyXG5cclxuLy8gQ29sb3IgY29udHJhc3RcclxuQGZ1bmN0aW9uIHlpcSgkY29sb3IpIHtcclxuICAkeWlxOiB5aXEtdmFsdWUoJGNvbG9yKTtcclxuXHJcbiAgQGlmICgkeWlxID49IDE2MCkge1xyXG4gICAgQHJldHVybiByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjQwKSwgIzAwMCk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAcmV0dXJuICNmZmY7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogVW5pdHNcclxuXHJcbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW1iZXIpIHtcclxuICBAaWYgdHlwZS1vZigkbnVtYmVyKSA9PSAnbnVtYmVyJyBhbmQgbm90IHVuaXRsZXNzKCRudW1iZXIpIHtcclxuICAgIEByZXR1cm4gJG51bWJlciAvICgkbnVtYmVyICogMCArIDEpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbnVtYmVyO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gcHgtdG8tcmVtKCR2YWx1ZSkge1xyXG4gIC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBmb250IHNpemUgPSBgMTZweGBcclxuICBAcmV0dXJuIChzdHJpcC11bml0KCR2YWx1ZSkgLyAxNikgKiAxcmVtO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gcmVtLXRvLXB4KCR2YWx1ZSkge1xyXG4gIC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBmb250IHNpemUgPSBgMTZweGBcclxuICBAcmV0dXJuIChzdHJpcC11bml0KCR2YWx1ZSkgKiAxNikgKiAxcHg7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBVdGlsaXRpZXNcclxuXHJcbkBmdW5jdGlvbiBnZXQtYnRuLWNvbG9ycygkYmFja2dyb3VuZCwgJGJvcmRlcikge1xyXG4gIEBpZiAkYmFja2dyb3VuZCA9PSB0cmFuc3BhcmVudCB7XHJcbiAgICAkYnRuLXNoYWRvdzogcmdiYShyZ2JhLXRvLWhleCgkYm9yZGVyLCAjMDAwKSwgLjA1KTtcclxuXHJcbiAgICBAcmV0dXJuIChcclxuICAgICAgYmctaG92ZXI6ICByZ2JhKCRib3JkZXIsIC4wNiksXHJcbiAgICAgIGJnLWFjdGl2ZTogcmdiYSgkYm9yZGVyLCAuMTIpLFxyXG4gICAgICBib3JkZXI6ICAgICRib3JkZXIsXHJcbiAgICAgIHNoYWRvdzogICAgaWYoJGVuYWJsZS1zaGFkb3dzLCAoJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCAkYnRuLXNoYWRvdyksIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoICRidG4tc2hhZG93KVxyXG4gICAgKTtcclxuICB9IEBlbHNlIGlmIGFscGhhKCRiYWNrZ3JvdW5kKSAhPSAxIHtcclxuICAgICRiZy1hbHBoYTogICBhbHBoYSgkYmFja2dyb3VuZCk7XHJcbiAgICAkYnRuLXNoYWRvdzogcmdiYSgkYmFja2dyb3VuZCwgJGJnLWFscGhhIC0gKCRiZy1hbHBoYSAqIDU1IC8gMTAwKSApO1xyXG5cclxuICAgIEByZXR1cm4gKFxyXG4gICAgICBiZy1ob3ZlcjogIHJnYmEoJGJhY2tncm91bmQsICRiZy1hbHBoYSArIDAuMDUpLFxyXG4gICAgICBiZy1hY3RpdmU6IHJnYmEoJGJhY2tncm91bmQsICRiZy1hbHBoYSArIDAuMTMpLFxyXG4gICAgICBib3JkZXI6ICAgIHRyYW5zcGFyZW50LFxyXG4gICAgICBzaGFkb3c6ICAgIGlmKCRlbmFibGUtc2hhZG93cywgKCRidG4tYm94LXNoYWRvdywgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggJGJ0bi1zaGFkb3cpLCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCAkYnRuLXNoYWRvdylcclxuICAgICk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAcmV0dXJuIChcclxuICAgICAgYmctaG92ZXI6ICByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuOTUpLCAjMDAwKSxcclxuICAgICAgYmctYWN0aXZlOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuODcpLCAjMDAwKSxcclxuICAgICAgYm9yZGVyOiAgICB0cmFuc3BhcmVudCxcclxuICAgICAgc2hhZG93OiAgICBpZigkZW5hYmxlLXNoYWRvd3MsICgkYnRuLWJveC1zaGFkb3csIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGJhY2tncm91bmQsIC40KSksIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGJhY2tncm91bmQsIC40KSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gZ2V0LW1hdGVyaWFsLWJ0bi1jb2xvcnMoJGJhY2tncm91bmQpIHtcclxuICBAaWYgYWxwaGEoJGJhY2tncm91bmQpICE9IDEge1xyXG4gICAgJGJhY2tncm91bmQ6IHJnYmEtdG8taGV4KCRiYWNrZ3JvdW5kKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gKFxyXG4gICAgYmctaG92ZXI6ICByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuOTUpLCAjZmZmKSxcclxuICAgIGJnLWFjdGl2ZTogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjg3KSwgI2ZmZiksXHJcbiAgKTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGdldC1uYXYtY29sb3JzKCRiZywgJGFjdGl2ZS1jb2xvcjogbnVsbCwgJGluYWN0aXZlLWNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsKSB7XHJcbiAgJGJnOiByZ2JhLXRvLWhleCgkYmcpO1xyXG4gICRhY3RpdmUtY29sb3I6IHJnYmEtdG8taGV4KCRhY3RpdmUtY29sb3IpO1xyXG4gICRhY3RpdmUtY29sb3I6IGlmKCRhY3RpdmUtY29sb3IsICRhY3RpdmUtY29sb3IsIHlpcSgkYmcpKTtcclxuICAkeWlxLXBlcmNlbnQ6IHlpcS12YWx1ZSgkYmcpIC8gMjU1O1xyXG4gICR5aXEtcGVyY2VudC1pbnZlcnRlZDogMSAtICR5aXEtcGVyY2VudDtcclxuXHJcbiAgJG9wYWNpdHk6IGlmKCRhY3RpdmUtY29sb3IgPT0gI2ZmZiwgLjYgKyAoLjQgKiAkeWlxLXBlcmNlbnQpLCAuNiArICguNCAqICgxIC0gJHlpcS1wZXJjZW50KSkpO1xyXG5cclxuICAkY29sb3I6IGlmKCRpbmFjdGl2ZS1jb2xvciwgcmdiYS10by1oZXgoJGluYWN0aXZlLWNvbG9yLCAkYmcpLCByZ2JhLXRvLWhleChyZ2JhKCRhY3RpdmUtY29sb3IsIGlmKCR5aXEtcGVyY2VudCA8IC4yNSwgJG9wYWNpdHkgLSAuMTUsICRvcGFjaXR5KSksICRiZykpO1xyXG4gICRkaXNhYmxlZC1jb2xvcjogcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC42KSwgJGJnKTtcclxuICAkbXV0ZWQtY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuNzUpLCAkYmcpO1xyXG4gICRib3JkZXI6IGlmKCRib3JkZXIsICRib3JkZXIsIGlmKCR5aXEtcGVyY2VudCA+IC43NSwgcmdiYSgkYWN0aXZlLWNvbG9yLCAkb3BhY2l0eSAvIDgpLCBpZigkeWlxLXBlcmNlbnQgPCAuMjUsIHJnYmEoJGFjdGl2ZS1jb2xvciwgLjA2KSwgcmdiYSgkYWN0aXZlLWNvbG9yLCAuMTUpKSkpO1xyXG5cclxuICBAcmV0dXJuIChcclxuICAgIC8vIE1ldGFkYXRhXHJcbiAgICBvcGFjaXR5OiAkb3BhY2l0eSxcclxuICAgIHlpcS1wZXJjZW50OiAkeWlxLXBlcmNlbnQsXHJcbiAgICB5aXEtcGVyY2VudC1pbnZlcnRlZDogJHlpcS1wZXJjZW50LWludmVydGVkLFxyXG5cclxuICAgIC8vIENvbG9yc1xyXG4gICAgYmc6ICRiZyxcclxuICAgIGNvbG9yOiAkY29sb3IsXHJcbiAgICBhY3RpdmUtY29sb3I6ICRhY3RpdmUtY29sb3IsXHJcbiAgICBkaXNhYmxlZC1jb2xvcjogJGRpc2FibGVkLWNvbG9yLFxyXG4gICAgbXV0ZWQtY29sb3I6ICRtdXRlZC1jb2xvcixcclxuICAgIGJvcmRlcjogJGJvcmRlclxyXG4gICk7XHJcbn1cclxuIiwiIiwiLy8gVmFyaWFibGVzXHJcbi8vXHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQ29sb3JzXHJcblxyXG4kd2hpdGU6ICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4kYmxhY2s6ICAgICAgICAjMTgxQzIxICFkZWZhdWx0O1xyXG4kZ3JheS0yNTogICAgICByZ2JhKCRibGFjaywgLjAxNSkgIWRlZmF1bHQ7XHJcbiRncmF5LTUwOiAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xyXG4kZ3JheS0xMDA6ICAgICByZ2JhKCRibGFjaywgLjA2KSAhZGVmYXVsdDtcclxuJGdyYXktMjAwOiAgICAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcclxuJGdyYXktMzAwOiAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcclxuJGdyYXktNDAwOiAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcclxuJGdyYXktNTAwOiAgICAgcmdiYSgkYmxhY2ssIC40KSAhZGVmYXVsdDtcclxuJGdyYXktNjAwOiAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcclxuJGdyYXktNzAwOiAgICAgcmdiYSgkYmxhY2ssIC42KSAhZGVmYXVsdDtcclxuJGdyYXktODAwOiAgICAgcmdiYSgkYmxhY2ssIC44KSAhZGVmYXVsdDtcclxuJGdyYXktOTAwOiAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcclxuXHJcbiRncmF5czogKFxyXG4gIFwiMjVcIjogJGdyYXktMjUsXHJcbiAgXCI1MFwiOiAkZ3JheS01MFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJGJsdWU6ICAgICAgICAgIzFlNzBjZCAhZGVmYXVsdDtcclxuJGluZGlnbzogICAgICAgIzY2MTBmMiAhZGVmYXVsdDtcclxuJHB1cnBsZTogICAgICAgIzZmNDJjMSAhZGVmYXVsdDtcclxuJHBpbms6ICAgICAgICAgI2U4M2U4YyAhZGVmYXVsdDtcclxuJHJlZDogICAgICAgICAgI2Q5NTM0ZiAhZGVmYXVsdDtcclxuJG9yYW5nZTogICAgICAgI0ZFQjc0NCAhZGVmYXVsdDtcclxuJHllbGxvdzogICAgICAgI0ZGRDk1MCAhZGVmYXVsdDtcclxuJGdyZWVuOiAgICAgICAgIzAyQkM3NyAhZGVmYXVsdDtcclxuJHRlYWw6ICAgICAgICAgIzIwYzk5NyAhZGVmYXVsdDtcclxuJGN5YW46ICAgICAgICAgIzI4YzNkNyAhZGVmYXVsdDtcclxuXHJcbiR0aGVtZS1jb2xvcnM6IChcclxuICBcInByaW1hcnlcIjogICAkaW5kaWdvLFxyXG4gIFwic2Vjb25kYXJ5XCI6ICM4ODk3QUEsXHJcbiAgXCJzdWNjZXNzXCI6ICAgJGdyZWVuLFxyXG4gIFwiaW5mb1wiOiAgICAgICRjeWFuLFxyXG4gIFwid2FybmluZ1wiOiAgICR5ZWxsb3csXHJcbiAgXCJkYW5nZXJcIjogICAgJHJlZCxcclxuICBcImRhcmtcIjogICAgICAkZ3JheS05MDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRib2R5LWNvbG9yOiAgICAgICAjNEU1MTU1ICFkZWZhdWx0OyAvLyM0YTRhNGFcclxuXHJcbi8vICMwNmNcclxuJGxpbmstY29sb3I6ICAgICAgICRibHVlICFkZWZhdWx0O1xyXG4kbGluay1ob3Zlci1jb2xvcjogbGlnaHRlbigkbGluay1jb2xvciwgMTAlKSAhZGVmYXVsdDtcclxuXHJcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogRm9udHNcclxuXHJcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiBcIlJvYm90b1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcclxuJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgXCJTRk1vbm8tUmVndWxhclwiLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XHJcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcclxuXHJcbiRmb250LXNpemUtYmFzZTogICAgICAgICAuODk0cmVtICFkZWZhdWx0O1xyXG4kZm9udC1zaXplLXhsOiAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcclxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XHJcbiRmb250LXNpemUtc206ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XHJcbiRmb250LXNpemUteHM6ICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xyXG5cclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkOiAgIDUwMCAhZGVmYXVsdDtcclxuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgIDkwMCAhZGVmYXVsdDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgIDEwMCAhZGVmYXVsdDtcclxuXHJcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAxLjQ3ICFkZWZhdWx0O1xyXG4kbGluZS1oZWlnaHQteGw6ICAgICAgICAgMS41ICFkZWZhdWx0O1xyXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgMS41ICFkZWZhdWx0O1xyXG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgMS41ICFkZWZhdWx0O1xyXG4kbGluZS1oZWlnaHQteHM6ICAgICAgICAgMS41ICFkZWZhdWx0O1xyXG5cclxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgIDIuMjVyZW0gIWRlZmF1bHQ7XHJcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAxLjgxM3JlbSAhZGVmYXVsdDtcclxuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgIDEuNTYzcmVtICFkZWZhdWx0O1xyXG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgMS4zMTNyZW0gIWRlZmF1bHQ7XHJcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xyXG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xyXG5cclxuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICRmb250LXdlaWdodC1zZW1pYm9sZCAhZGVmYXVsdDtcclxuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgIDEuMSAhZGVmYXVsdDtcclxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICRzcGFjZXIgIWRlZmF1bHQ7XHJcblxyXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgNHJlbSAhZGVmYXVsdDtcclxuJGRpc3BsYXkyLXNpemU6ICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcclxuJGRpc3BsYXkzLXNpemU6ICAgICAgICAgIDNyZW0gIWRlZmF1bHQ7XHJcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAycmVtICFkZWZhdWx0O1xyXG5cclxuJHRpbnktZm9udC1zaXplOiAgICAgICAgIDcwJSAhZGVmYXVsdDtcclxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgIDg1JSAhZGVmYXVsdDtcclxuJGJpZy1mb250LXNpemU6ICAgICAgICAgIDExMiUgIWRlZmF1bHQ7XHJcbiRsYXJnZS1mb250LXNpemU6ICAgICAgICAxNTAlICFkZWZhdWx0O1xyXG4keGxhcmdlLWZvbnQtc2l6ZTogICAgICAgMTcwJSAhZGVmYXVsdDtcclxuXHJcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS01MDApICFkZWZhdWx0O1xyXG4kdGV4dC1tdXRlZC1ob3ZlcjogICAgICAgcmdiYS10by1oZXgoJGdyYXktNjAwKSAhZGVmYXVsdDtcclxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6IHJnYmEtdG8taGV4KCRncmF5LTUwMCkgIWRlZmF1bHQ7XHJcbiR0ZXh0LWxpZ2h0OiAgICAgICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS00MDApICFkZWZhdWx0O1xyXG4kdGV4dC1saWdodGVyOiAgICAgICAgICAgcmdiYS10by1oZXgoJGdyYXktMzAwKSAhZGVmYXVsdDtcclxuJHRleHQtbGlnaHRlc3Q6ICAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTIwMCkgIWRlZmF1bHQ7XHJcblxyXG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgbm9uZSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBHcmlkXHJcblxyXG4kZ3JpZC1ndXR0ZXItd2lkdGg6IDEuNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRjb250YWluZXItcGFkZGluZy14OiAycmVtICFkZWZhdWx0O1xyXG4kY29udGFpbmVyLXBhZGRpbmcteC1zbTogMXJlbSAhZGVmYXVsdDtcclxuJGNvbnRhaW5lci1wYWRkaW5nLXk6IDEuNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBDb21wb25lbnRzXHJcblxyXG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssLjA2KSAhZGVmYXVsdDtcclxuJGJvcmRlci1pbm5lci1jb2xvcjogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcclxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcclxuXHJcbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XHJcbiRib3JkZXItcmFkaXVzLXhsOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XHJcbiRib3JkZXItcmFkaXVzLXhzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbiRjb21wb25lbnQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAxLjU0ICFkZWZhdWx0O1xyXG4kY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aDogICAgMnB4ICFkZWZhdWx0O1xyXG5cclxuJGZsb2F0aW5nLWNvbXBvbmVudC1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xyXG4kZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdzogICAgICAgMCAxcHggNnB4IHJnYmEoMCwgMCwgMCwgLjA5KSAhZGVmYXVsdDtcclxuXHJcbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG5cclxuJGJvcmRlcmVkLXJvdy1ib3JkZXItY29sb3I6ICAgICAgICRoci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgLjQyZW0gIWRlZmF1bHQ7XHJcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICAgICBtaWRkbGUgIWRlZmF1bHQ7XHJcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICAgICAuNWVtICFkZWZhdWx0O1xyXG5cclxuJG92ZXJmbG93czogYXV0bywgaGlkZGVuLCBzY3JvbGwsIHZpc2libGUgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogWi1pbmRleCBtYXN0ZXIgbGlzdFxyXG5cclxuJHppbmRleC1sYXlvdXQtZml4ZWQ6ICAxMDgwICFkZWZhdWx0O1xyXG4kemluZGV4LW1vZGFsLXRvcDogICAgIDEwOTAgIWRlZmF1bHQ7XHJcbiR6aW5kZXgtbGF5b3V0LW1vYmlsZTogMTEwMCAhZGVmYXVsdDtcclxuJHppbmRleC1ub3RpZmljYXRpb246ICA5OTk5OTkgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogVGFibGVzXHJcblxyXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XHJcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgLjMxMjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDI1KSAhZGVmYXVsdDtcclxuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICByZ2JhKCRibGFjaywgLjAzNSkgIWRlZmF1bHQ7XHJcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgcmdiYS10by1oZXgoJHRhYmxlLWhvdmVyLWJnKSAhZGVmYXVsdDtcclxuXHJcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgcmdiYS10by1oZXgoJGdyYXktMjAwKSAhZGVmYXVsdDtcclxuXHJcbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgJGdyYXktNTAgIWRlZmF1bHQ7XHJcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kdGFibGUtZGFyay1iZzogICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcclxuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICByZ2JhKCR3aGl0ZSwgLjAzKSAhZGVmYXVsdDtcclxuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcclxuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiBsaWdodGVuKHJnYmEtdG8taGV4KCRncmF5LTkwMCksIDclKSAhZGVmYXVsdDtcclxuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQnV0dG9ucyArIEZvcm1zXHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAuNDM4cmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAxLjEyNXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAxLjU0ICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXkteHM6ICAgMCAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgteHM6ICAgLjVyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tZm9udC1zaXplLXhzOiAgICRmb250LXNpemUteHMgIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQteHM6ICRsaW5lLWhlaWdodC14cyAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgIC4xODhyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgIC42ODc1cmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAuNzVyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgIDEuNXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXkteGw6ICAgLjg3NXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgteGw6ICAgMi4xMjVyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tZm9udC1zaXplLXhsOiAgICRmb250LXNpemUteGwgIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQteGw6ICRsaW5lLWhlaWdodC14bCAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBCdXR0b25zXHJcblxyXG4kYnRuLXBhZGRpbmcteS14czogICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS14cyAhZGVmYXVsdDtcclxuJGJ0bi1wYWRkaW5nLXgteHM6ICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgteHMgIWRlZmF1bHQ7XHJcbiRidG4tZm9udC1zaXplLXhzOiAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXhzICFkZWZhdWx0O1xyXG4kYnRuLWxpbmUtaGVpZ2h0LXhzOiAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXhzICFkZWZhdWx0O1xyXG5cclxuJGJ0bi1wYWRkaW5nLXkteGw6ICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkteGwgIWRlZmF1bHQ7XHJcbiRidG4tcGFkZGluZy14LXhsOiAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXhsICFkZWZhdWx0O1xyXG4kYnRuLWZvbnQtc2l6ZS14bDogICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS14bCAhZGVmYXVsdDtcclxuJGJ0bi1saW5lLWhlaWdodC14bDogICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC14bCAhZGVmYXVsdDtcclxuXHJcbiRidG4tYm9yZGVyLXJhZGl1cy14czogICRib3JkZXItcmFkaXVzLXhzICFkZWZhdWx0O1xyXG4kYnRuLWJvcmRlci1yYWRpdXMteGw6ICAkYm9yZGVyLXJhZGl1cy14bCAhZGVmYXVsdDtcclxuXHJcbiRidG4tYm94LXNoYWRvdzogICAgICAgIG5vbmUgIWRlZmF1bHQ7XHJcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuMjUpICFkZWZhdWx0O1xyXG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xyXG5cclxuJGJ0bi1kZWZhdWx0LWJnOiAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbiRidG4tZGVmYXVsdC1ib3JkZXI6ICAgICRncmF5LTIwMCAhZGVmYXVsdDtcclxuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEZvcm1zXHJcblxyXG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xyXG5cclxuJGxhYmVsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAuODMxMjVyZW0gIWRlZmF1bHQ7XHJcbiRsYWJlbC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LXNlbWlib2xkICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xyXG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcclxuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS0xMDApICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJHRleHQtbGlnaHQgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgICAgIHB4LXRvLXJlbShmbG9vcihyZW0tdG8tcHgoKCRpbnB1dC1idG4tZm9udC1zaXplICogJGlucHV0LWJ0bi1saW5lLWhlaWdodCkgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXkgKiAyKSkpKSAhZGVmYXVsdDtcclxuJGlucHV0LWhlaWdodC1pbm5lci1zbTogICAgICAgICAgICAgICAgICAgICBweC10by1yZW0oZmxvb3IocmVtLXRvLXB4KCgkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20pICsgKCRpbnB1dC1idG4tcGFkZGluZy15LXNtICogMikpKSkgIWRlZmF1bHQ7XHJcbiRpbnB1dC1oZWlnaHQtaW5uZXItbGc6ICAgICAgICAgICAgICAgICAgICAgcHgtdG8tcmVtKGZsb29yKHJlbS10by1weCgoJGZvbnQtc2l6ZS1sZyAqICRsaW5lLWhlaWdodC1sZykgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgKiAyKSkpKSAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1pbnZlcnRlZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgjZmZmLCAuMykgIWRlZmF1bHQ7XHJcbiRpbnB1dC1pbnZlcnRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJGlucHV0LWludmVydGVkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtaW52ZXJ0ZWQtYmcgIWRlZmF1bHQ7XHJcbiRpbnB1dC1pbnZlcnRlZC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgcmdiYSgjZmZmLCAuNykgIWRlZmF1bHQ7XHJcbiRpbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgcmdiYSgjZmZmLCAuMSkgIWRlZmF1bHQ7XHJcbiRpbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgJGlucHV0LWludmVydGVkLWNvbG9yICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XHJcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xyXG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgICAgIDEuMTI1cmVtICFkZWZhdWx0O1xyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg6ICAgICAxcHggIWRlZmF1bHQ7XHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAgICAgLjQzOHJlbSAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgICAgXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA5LjUgNy41JyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMC43NSA0LjM1IDQuMTggNi43NSA4Ljc1IDAuNzUnIHN0eWxlPSdmaWxsOm5vbmU7c3Ryb2tlOl9DT0xPUl87c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDoxLjVweCcvJTNFJTNDL3N2ZyUzRVwiICFkZWZhdWx0O1xyXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZy1zaXplOiAgICAgICAgIDY1JSAhZGVmYXVsdDtcclxuJGN1c3RvbS1jaGVja2JveC1pbmRldGVybWluYXRlLWJnOiAgICAgICAgICBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNCclM0UlM0NwYXRoIHN0cm9rZT0nX0NPTE9SXycgZD0nTTAgMmg0Jy8lM0UlM0Mvc3ZnJTNFXCIgIWRlZmF1bHQ7XHJcbiRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1iZy1zaXplOiAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnOiAgICAgICAgICAgICAgICAgXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCclM0UlM0NjaXJjbGUgcj0nMycgZmlsbD0nX0NPTE9SXycvJTNFJTNDL3N2ZyUzRVwiICFkZWZhdWx0O1xyXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZy1zaXplOiAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XHJcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgIG5vbmUgIWRlZmF1bHQ7XHJcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgbm9uZSAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAgICAgICAgICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArIDFyZW0gIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtaW52ZXJ0ZWQtZGlzYWJsZWQtY29sb3I6ICAgICAkaW5wdXQtaW52ZXJ0ZWQtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWludmVydGVkLWRpc2FibGVkLWJnOiAgICAgICAgJGlucHV0LWludmVydGVkLWRpc2FibGVkLWJnICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgICAgICAgICAxN3B4IDEycHggIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgICAgICAgICAgdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNJQUFBQVlDQVlBQUFDZnBpOEpBQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBS0JKUkVGVVNBM3Qxa0VLZ0NBUUJWQ1REdGNpdWxKMnBXalJpYXBUYVB3b2tVRWpSVzB6Z2FIU09JOVBRV0xiRDRNaGZyN2t6LzF0ZTRiWUtPNEpKOEtKMEFUb3VxVWJxZXV1SDVUUmVreXBiNlNjc3IyczZ6SXJIQmdMUVExcXMwRUFpTVU4Q05SbWhjUmdYRVFSeUJjTVJSU0R2R0Y4aUtJUUh5YUV3TE9peG04QVBtMk1xMkhvVmdNUzZ1M3VaLzlxM01OajVneWhhWEVpbkFoTmdLNVBwemhFTy9oU01LNEFBQUFBU1VWT1JLNUNZSUk9JykgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1pbnZlcnRlZDogICAgICAgICAgdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNJQUFBQVlDQVlBQUFDZnBpOEpBQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBSjVKUkVGVVNBM3QxRzBLZ0NBTUJ1Q01EdFpsb2pPRmh6VmZVYUZsSDQ0Ti8weUlzcHcrdkdoVENHSEZOUTF1OCtEMTYvSUdxVkhrQjB2RUVxRUowUDVDWDNENzhWKzB4OXFOV2UvRk5xdHo3b2dJejRCNDFJcEJBR0JnRWdLMW9wQk9URVdvUUg1aUxnZzF5QWZtaGxDRlBHQ2FDSXdWTzc2WXJOV3dnZVBSVHAveVptNE4wNGRnMVRkQVVZbWZtakp4NzkwZ05ERkx4QktoQ2REK0NRM0dIbmd2SlRHS0FBQUFBRWxGVGtTdVFtQ0MnKSAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXJ0bDogICAgICAgICAgICAgICB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0lBQUFBWUNBWUFBQUNmcGk4SkFBQUFCR2RCVFVFQUFMR1BDL3hoQlFBQUFLZEpSRUZVU0EzdGxsRUtnQ0FNaGxNNlhBL1JsYklyUlErZHFEcUZ4UjhwdEV3TkZIdVlEK0xjM0Q1K0hDcXF3bU5adHgwSXNqQ0hMYzhnVm9wcndZcXdJbFFCYXRkTjI2bGQ2NTQ2WW13aDVUQlBvNHFKRGNWSUpFTENVQ0QxcDRSQTdyTnJ2c0traHJBZ1dNVEM1SUM0Z2NUQTVJSjRnUGhnY2tJNFFWd3d1U0ZRVTJCNkcyaHQrRksxcUt1TytRWjRRVndIVSs4WkVINzBxTEtzQ0N0Q0ZhRDJiKzdJQVpHZFBQeHVXWUdNQUFBQUFFbEZUa1N1UW1DQycpICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItaW52ZXJ0ZWQtcnRsOiAgICAgIHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDSUFBQUFZQ0FZQUFBQ2ZwaThKQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUp0SlJFRlVTQTN0bGxFS3dDQUlobWQwc0YxbTdFeWp3N2FNQ0hMV1doanR3UjRpVTM0L2ZoS0NiZkh5M3UrSVlCWno1UFlLa3ExSUIzVkVIYUVPME5pR09UN0Q1VUVUbmJFRGdLdXp0bGxta3BCclZ2RkpNUWlVajFNekFDTUtrVUh3OEFGR0hLSUE2WVNaQXZFQWVZR1pCc0dDVkdDbVFtQlBpeHUzOE0yRTBZNnA5SDY0TXJFN0VGTWFGTkwvU00wNC9RWlFaOVNSM3pweUExaVlIbmJTTFBJUUFBQUFBRWxGVGtTdVFtQ0MnKSAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcclxuJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XHJcbiRjdXN0b20tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xyXG4kY3VzdG9tLXJhbmdlLWRpc2FibGVkLXRyYWNrLWJnOiAgICAgICAgICAgICRncmF5LTUwICFkZWZhdWx0O1xyXG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XHJcbiRjdXN0b20tcmFuZ2UtdGh1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xyXG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjdXN0b20tcmFuZ2UtdGh1bWItYmcgIWRlZmF1bHQ7XHJcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgMCAwIDAgMXB4IHJnYmEoMCwwLDAsLjEpLCAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcclxuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cgIWRlZmF1bHQ7XHJcbiRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi1iZyAhZGVmYXVsdDtcclxuXHJcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJzdWNjZXNzXCIpICFkZWZhdWx0O1xyXG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xyXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAgICAgICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xyXG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAgICAgICAgICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XHJcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XHJcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtcnRsOiAgICAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6JyB0cmFuc2Zvcm09J3NjYWxlKC0xLCAxKSB0cmFuc2xhdGUoLTgsIDApJy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XHJcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgdmlld0JveD0nLTIgLTIgNyA3JyUzZSUzY3BhdGggc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIGQ9J00wIDBsMyAzbTAtM0wwIDMnLyUzZSUzY2NpcmNsZSByPScuNScvJTNlJTNjY2lyY2xlIGN4PSczJyByPScuNScvJTNlJTNjY2lyY2xlIGN5PSczJyByPScuNScvJTNlJTNjY2lyY2xlIGN4PSczJyBjeT0nMycgcj0nLjUnLyUzZSUzYy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcclxuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLXJ0bDogICAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyB2aWV3Qm94PSctMiAtMiA3IDcnJTNlJTNjcGF0aCBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgZD0nTTAgMGwzIDNtMC0zTDAgMycvJTNlJTNjY2lyY2xlIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3g9JzMnIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3k9JzMnIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3g9JzMnIGN5PSczJyByPScuNScvJTNlJTNjL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmc6ICAgICAgICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICsgJGlucHV0LWhlaWdodC1pbm5lciAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXNtOiAgICAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyArICRpbnB1dC1oZWlnaHQtaW5uZXItc20gIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1sZzogICAgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgKyAkaW5wdXQtaGVpZ2h0LWlubmVyLWxnICFkZWZhdWx0O1xyXG5cclxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IChcclxuICBcInZhbGlkXCI6IChcclxuICAgIFwiY29sb3JcIjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IsXHJcbiAgICBcImljb25cIjogICAgICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQsXHJcbiAgICBcImljb24tcnRsXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtcnRsXHJcbiAgKSxcclxuICBcImludmFsaWRcIjogKFxyXG4gICAgXCJjb2xvclwiOiAgICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLFxyXG4gICAgXCJpY29uXCI6ICAgICAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQsXHJcbiAgICBcImljb24tcnRsXCI6ICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1ydGxcclxuICApLFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIERyb3Bkb3duc1xyXG5cclxuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGZsb2F0aW5nLWNvbXBvbmVudC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAkZHJvcGRvd24tYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgJGZsb2F0aW5nLWNvbXBvbmVudC1zaGFkb3cgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XHJcblxyXG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuXHJcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAuNDM4cmVtICFkZWZhdWx0O1xyXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICRkcm9wZG93bi1saW5rLWNvbG9yICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgJGdyYXktNTAgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1saW5rLWxpbmUtaGVpZ2h0OiAgICAkY29tcG9uZW50LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG5cclxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICR0ZXh0LWxpZ2h0ZXIgIWRlZmF1bHQ7XHJcblxyXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTmF2c1xyXG5cclxuJG5hdi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XHJcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XHJcbiRuYXYtbGluay1saW5lLWhlaWdodDogICAgICAgICAgICAgICRjb21wb25lbnQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcblxyXG4kbmF2LWxpbmstcGFkZGluZy15LWxnOiAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xyXG4kbmF2LWxpbmstcGFkZGluZy14LWxnOiAgICAgICAgICAgICAxLjMxMjVyZW0gIWRlZmF1bHQ7XHJcbiRuYXYtbGluay1saW5lLWhlaWdodC1sZzogICAgICAgICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcclxuXHJcbiRuYXYtbGluay1wYWRkaW5nLXktc206ICAgICAgICAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xyXG4kbmF2LWxpbmstcGFkZGluZy14LXNtOiAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xyXG4kbmF2LWxpbmstbGluZS1oZWlnaHQtc206ICAgICAgICAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XHJcblxyXG4kbmF2LWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAkdGV4dC1tdXRlZC1ob3ZlciAhZGVmYXVsdDtcclxuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcclxuXHJcbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTEwMCAhZGVmYXVsdDtcclxuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcclxuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIE5hdmJhclxyXG5cclxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43cmVtICFkZWZhdWx0O1xyXG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xyXG5cclxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC44KSAhZGVmYXVsdDtcclxuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuNCkgIWRlZmF1bHQ7XHJcblxyXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XHJcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xyXG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjA2KSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBQYWdpbmF0aW9uXHJcblxyXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgLjkzNzVyZW0gIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgMSAhZGVmYXVsdDtcclxuXHJcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgJGJvcmRlci1pbm5lci1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgJGdyYXktMjAwICFkZWZhdWx0O1xyXG5cclxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAkdGV4dC1saWdodGVyICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICRwYWdpbmF0aW9uLWJnICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICRncmF5LTEwMCAhZGVmYXVsdDtcclxuXHJcbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgbm9uZSAhZGVmYXVsdDtcclxuXHJcbiRwYWdpbmF0aW9uLXNwYWNlcjogICAgICAgICAgICAgICAgLjE4NzVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQ2FyZHNcclxuXHJcbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XHJcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcclxuJGNhcmQtc3BhY2VyLXgtc206ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcclxuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuJGNhcmQtaW5uZXItYm9yZGVyLWNvbG9yOiAgJGJvcmRlci1pbm5lci1jb2xvciAhZGVmYXVsdDtcclxuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcblxyXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XHJcbiRjYXJkLXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDRweCByZ2JhKCRibGFjaywgLjAxMikgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogVG9vbHRpcHNcclxuXHJcbiR0b29sdGlwLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWJnOiAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTgwMCkgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLW9wYWNpdHk6ICAgIDEgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogUG9wb3ZlcnNcclxuXHJcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTEwMCAhZGVmYXVsdDtcclxuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgJGZsb2F0aW5nLWNvbXBvbmVudC1zaGFkb3cgIWRlZmF1bHQ7XHJcblxyXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAkZ3JheS01MCAhZGVmYXVsdDtcclxuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAuNjI1cmVtICFkZWZhdWx0O1xyXG5cclxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQmFkZ2VzXHJcblxyXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAuODU4ZW0gIWRlZmF1bHQ7XHJcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICRmb250LXdlaWdodC1zZW1pYm9sZCAhZGVmYXVsdDtcclxuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XHJcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgIC40MTdlbSAhZGVmYXVsdDtcclxuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgIC41ODNlbSAhZGVmYXVsdDtcclxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgMTByZW0gIWRlZmF1bHQ7XHJcblxyXG4kYmFkZ2UtZGVmYXVsdC1iZzogICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XHJcbiRiYWRnZS1vdXRsaW5lLWRlZmF1bHQtY29sb3I6ICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIE1vZGFsc1xyXG5cclxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgMS41NjI1cmVtICFkZWZhdWx0O1xyXG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xyXG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcclxuJG1vZGFsLWZvb3Rlci1wYWRkaW5nOiAgICAgICAgICAgMS4yNXJlbSAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcclxuXHJcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgIDBweCAhZGVmYXVsdDtcclxuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgMXB4ICFkZWZhdWx0O1xyXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAkYm9yZGVyLWlubmVyLWNvbG9yICFkZWZhdWx0O1xyXG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgJGZsb2F0aW5nLWNvbXBvbmVudC1zaGFkb3cgIWRlZmF1bHQ7XHJcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93ICFkZWZhdWx0O1xyXG5cclxuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgMzVyZW0gIWRlZmF1bHQ7XHJcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xyXG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAyMi41cmVtICFkZWZhdWx0O1xyXG5cclxuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgLjUgIWRlZmF1bHQ7XHJcblxyXG4kbW9kYWwtc2xpZGUtd2lkdGg6ICAgICAgICAgICAgICAyMHJlbSAhZGVmYXVsdDtcclxuXHJcbiRtb2RhbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgIC4xNXMgIWRlZmF1bHQ7XHJcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkbW9kYWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLW91dCAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBBbGVydHNcclxuXHJcbiRhbGVydC1wYWRkaW5nLXk6IDFyZW0gIWRlZmF1bHQ7XHJcbiRhbGVydC1wYWRkaW5nLXg6IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogUHJvZ3Jlc3MgYmFyc1xyXG5cclxuJHByb2dyZXNzLWhlaWdodDogICAgICAgIC43NXJlbSAhZGVmYXVsdDtcclxuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgIC42MjVyZW0gIWRlZmF1bHQ7XHJcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAkZ3JheS01MCAhZGVmYXVsdDtcclxuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6IDEwcmVtICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgI2ZmZiAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBMaXN0IGdyb3VwXHJcblxyXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYS10by1oZXgoJGdyYXktMjAwKSAhZGVmYXVsdDtcclxuXHJcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XHJcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgIC45Mzc1cmVtICFkZWZhdWx0O1xyXG5cclxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktMjUgIWRlZmF1bHQ7XHJcblxyXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAkdGV4dC1saWdodGVyICFkZWZhdWx0O1xyXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcclxuXHJcbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICR0ZXh0LW11dGVkLWhvdmVyICFkZWZhdWx0O1xyXG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvciAhZGVmYXVsdDtcclxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgJGdyYXktNTAgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogSW1hZ2UgdGh1bWJuYWlsc1xyXG5cclxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAwICFkZWZhdWx0O1xyXG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogIDBweCAhZGVmYXVsdDtcclxuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAwcHggIWRlZmF1bHQ7XHJcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgbm9uZSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBGaWd1cmVzXHJcblxyXG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICR0ZXh0LW11dGVkICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEJyZWFkY3J1bWJzXHJcblxyXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAwICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAwICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAuNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4kYnJlYWRjcnVtYi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICR0ZXh0LWxpZ2h0ZXIgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICBcIi9cIiAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWItZGl2aWRlci1ydGw6ICAgXCIvXCIgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogU3dpdGNoZXJzXHJcblxyXG4kc3dpdGNoZXItc3BhY2VyLXg6ICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLXNwYWNlci15OiAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWd1dHRlcjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWlubmVyLXNwYWNlcjogICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kc3dpdGNoZXItc3F1YXJlLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuJHN3aXRjaGVyLWxhYmVsLWNvbG9yOiAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kc3dpdGNoZXItd2lkdGg6ICAgICAgICAgICAgICAgIDIuMzc1cmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItaGVpZ2h0OiAgICAgICAgICAgICAgIDEuMzc1cmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItZm9udC1zaXplOiAgICAgICAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1sYWJlbC1mb250LXNpemU6ICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItbGFiZWwtbGluZS1oZWlnaHQ6ICAgIDEuNCAhZGVmYXVsdDtcclxuXHJcbiRzd2l0Y2hlci13aWR0aC1zbTogICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWhlaWdodC1zbTogICAgICAgICAgICAxLjEyNXJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWxhYmVsLWZvbnQtc2l6ZS1zbTogICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItbGFiZWwtbGluZS1oZWlnaHQtc206IDEuNDg2ICFkZWZhdWx0O1xyXG5cclxuJHN3aXRjaGVyLXdpZHRoLWxnOiAgICAgICAgICAgICAzLjI1cmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItaGVpZ2h0LWxnOiAgICAgICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1sYWJlbC1mb250LXNpemUtbGc6ICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWxhYmVsLWxpbmUtaGVpZ2h0LWxnOiAxLjQ3ICFkZWZhdWx0O1xyXG5cclxuJHN3aXRjaGVyLW9mZi1jb2xvcjogICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1vZmYtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItaG9sZGVyLWJnOiAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1ob2xkZXItc2hhZG93OiAgICAgICAgMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAuMDQpLCAwIDFweCA2cHggcmdiYSgkYmxhY2ssIC4wOSkgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQ2xvc2VcclxuXHJcbiRjbG9zZS1mb250LXdlaWdodDogMzAwICFkZWZhdWx0O1xyXG4kY2xvc2UtdGV4dC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XHJcbiRjbG9zZS1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBKdW1ib3Ryb25cclxuXHJcbiRqdW1ib3Ryb24tcGFkZGluZzogM3JlbSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBTaWRlbmF2XHJcblxyXG4kc2lkZW5hdi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgIDE1LjYyNXJlbSAhZGVmYXVsdDsgLy8yNTBweFxyXG4kc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg6ICAgICAgICAgICAgICAgIDQuMzc1cmVtICFkZWZhdWx0OyAvLzcwcHhcclxuXHJcbiRzaWRlbmF2LWl0ZW0tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAgLjA2MjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteTogICAgICAgIC43NXJlbSAhZGVmYXVsdDtcclxuJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXg6ICAgICAgICAycmVtICFkZWZhdWx0O1xyXG4kc2lkZW5hdi12ZXJ0aWNhbC1tZW51LWxpbmstcGFkZGluZy15OiAgIC42MjVyZW0gIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LXZlcnRpY2FsLW1lbnUtbGV2ZWwtc3BhY2VyOiAgICAgMXJlbSAhZGVmYXVsdDtcclxuXHJcbiRzaWRlbmF2LWhvcml6b250YWwtbGluay1wYWRkaW5nLXk6ICAgICAgMXJlbSAhZGVmYXVsdDtcclxuJHNpZGVuYXYtaG9yaXpvbnRhbC1saW5rLXBhZGRpbmcteDogICAgICAxcmVtICFkZWZhdWx0O1xyXG4kc2lkZW5hdi1ob3Jpem9udGFsLW1lbnUtbGluay1wYWRkaW5nLXk6IC42MjVyZW0gIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LWhvcml6b250YWwtbWVudS1sZXZlbC1zcGFjZXI6ICAgMXJlbSAhZGVmYXVsdDtcclxuXHJcbiRzaWRlbmF2LW1lbnUtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgMTIuNXJlbSAhZGVmYXVsdDs7IC8vMjAwcHhcclxuJHNpZGVuYXYtY29udHJvbC13aWR0aDogICAgICAgICAgICAgICAgICAyLjI1cmVtICFkZWZhdWx0O1xyXG4kc2lkZW5hdi1jb250cm9sLWFycm93LXNpemU6ICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xyXG5cclxuJHNpZGVuYXYtaWNvbi1leHBhbmRlZC13aWR0aDogICAgICAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xyXG4kc2lkZW5hdi1pY29uLWV4cGFuZGVkLWZvbnQtc2l6ZTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LWljb24tZXhwYW5kZWQtc3BhY2VyOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xyXG5cclxuJHNpZGVuYXYtYW5pbWF0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAuMnMgIWRlZmF1bHQ7XHJcblxyXG4kc2lkZW5hdi1tYXgtbGV2ZWxzOiAgICAgICAgICAgICAgICAgICAgIDUgIWRlZmF1bHQ7XHJcblxyXG4kc2lkZW5hdi1kYXJrLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpICFkZWZhdWx0O1xyXG4kc2lkZW5hdi1kYXJrLW1lbnUtYmc6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA2KSAhZGVmYXVsdDtcclxuJHNpZGVuYXYtbGlnaHQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNikgIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LWxpZ2h0LW1lbnUtYmc6ICAgICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDUpICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFRvYXN0c1xyXG5cclxuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcclxuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgJGZsb2F0aW5nLWNvbXBvbmVudC1zaGFkb3cgIWRlZmF1bHQ7XHJcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAkY2FyZC1pbm5lci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLyBDb25maWdcclxuJHJ0bC1zdXBwb3J0OiBmYWxzZSAhZGVmYXVsdDtcclxuJG1hdGVyaWFsLXN0eWxlOiBmYWxzZTtcclxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gQ29sb3Igc3lzdGVtXG5cbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZ3JheXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gICAgXCIzMDBcIjogJGdyYXktMzAwLFxuICAgIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gICAgXCI2MDBcIjogJGdyYXktNjAwLFxuICAgIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gICAgXCI5MDBcIjogJGdyYXktOTAwXG4gICksXG4gICRncmF5c1xuKTtcblxuJGJsdWU6ICAgICMwMDdiZmYgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNlODNlOGMgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzI4YTc0NSAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMxN2EyYjggIWRlZmF1bHQ7XG5cbiRjb2xvcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRjb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcbiAgICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gICAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gICAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXG4gICAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gICAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgICBcInRlYWxcIjogICAgICAgJHRlYWwsXG4gICAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICAgIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gICAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcbiAgICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4gICksXG4gICRjb2xvcnNcbik7XG5cbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuXG4kdGhlbWUtY29sb3JzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gICAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gICAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgICBcImRhcmtcIjogICAgICAgJGRhcmtcbiAgKSxcbiAgJHRoZW1lLWNvbG9yc1xuKTtcblxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuJHRoZW1lLWNvbG9yLWludGVydmFsOiAgICAgIDglICFkZWZhdWx0O1xuXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cbiR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQ6ICAxNTAgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJHlpcS10ZXh0LWRhcms6ICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR5aXEtdGV4dC1saWdodDogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5OiAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5OiAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQsIG5vIGxvbmdlciBhZmZlY3RzIGFueSBjb21waWxlZCBDU1NcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9uczogICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlczogICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHNwYWNlcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDA6IDAsXG4gICAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAgIDI6ICgkc3BhY2VyICogLjUpLFxuICAgIDM6ICRzcGFjZXIsXG4gICAgNDogKCRzcGFjZXIgKiAxLjUpLFxuICAgIDU6ICgkc3BhY2VyICogMylcbiAgKSxcbiAgJHNwYWNlcnNcbik7XG5cbi8vIFRoaXMgdmFyaWFibGUgYWZmZWN0cyB0aGUgYC5oLSpgIGFuZCBgLnctKmAgY2xhc3Nlcy5cbiRzaXplczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHNpemVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAyNTogMjUlLFxuICAgIDUwOiA1MCUsXG4gICAgNzU6IDc1JSxcbiAgICAxMDA6IDEwMCUsXG4gICAgYXV0bzogYXV0b1xuICApLFxuICAkc2l6ZXNcbik7XG5cblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4vLyBEYXJrZW4gcGVyY2VudGFnZSBmb3IgbGlua3Mgd2l0aCBgLnRleHQtKmAgY2xhc3MgKGUuZy4gYC50ZXh0LXN1Y2Nlc3NgKVxuJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZTogMTUlICFkZWZhdWx0O1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcblxuJHJvdW5kZWQtcGlsbDogICAgICAgICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG5cbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcblxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogam9pbihcbiAgKFxuICAgICgyMSA5KSxcbiAgICAoMTYgOSksXG4gICAgKDQgMyksXG4gICAgKDEgMSksXG4gICksXG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Ncbik7XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuODc1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICA1LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgICAgICA0LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTQtc2l6ZTogICAgICAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5Mi13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAgICAgICAgICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgODAlICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZTogICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjJlbSAhZGVmYXVsdDtcblxuJGR0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRrYmQtYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXNtOiAgICAgICAuM3JlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICAkdGFibGUtaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1jb2xvcjogICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItY29sb3I6ICAgICAgJHRhYmxlLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1iZzogICAgICAgICByZ2JhKCR3aGl0ZSwgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6ICAgICBsaWdodGVuKCR0YWJsZS1kYXJrLWJnLCA3LjUlKSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuJHRhYmxlLWJnLWxldmVsOiAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWxldmVsOiAgICAgICAgICAtNiAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAuMjUpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgMCAwIDAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1zbTogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1sZzogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEZvcm1zXG5cbiRsYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDI1JSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtfSArICN7JGlucHV0LXBhZGRpbmcteSAqIDJ9KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjogICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWxpbmUtaGVpZ2h0ICogLjVlbX0gKyAjeyRpbnB1dC1wYWRkaW5nLXl9KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBjYWxjKCN7JGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW19ICsgI3skaW5wdXQtcGFkZGluZy15IC8gMn0pICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1saW5lLWhlaWdodCAqIDFlbX0gKyAjeyRpbnB1dC1wYWRkaW5nLXkgKiAyfSArICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWxpbmUtaGVpZ2h0LXNtICogMWVtfSArICN7JGlucHV0LWJ0bi1wYWRkaW5nLXktc20gKiAyfSArICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWxpbmUtaGVpZ2h0LWxnICogMWVtfSArICN7JGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgKiAyfSArICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjogICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk6ICAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg6ICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14OiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDogICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZzogICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplOiAgICAgIDUwJSA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3c6ICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogJGdyYXktNTAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZzogIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuNSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdzogICBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c6ICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yOiAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3c6ICAgIG5vbmUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTogICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNCclM2UlM2NwYXRoIHN0cm9rZT0nI3skY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yfScgZD0nTTAgMmg0Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3c6ICAgbm9uZSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzZSUzY2NpcmNsZSByPSczJyBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplICogMS43NSAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAvIDIgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgICAgICAgICBjYWxjKCN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplfSAtICN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiA0fSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgJGlucHV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodDogICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAxcmVtICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSBiYXNlZCBpbmRpY2F0b3JcbiRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgIDhweCAxMHB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNSclM2UlM2NwYXRoIGZpbGw9JyN7JGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDogICAgICAgICAgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yIG5vLXJlcGVhdCByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyIC8gJGN1c3RvbS1zZWxlY3QtYmctc2l6ZSAhZGVmYXVsdDsgLy8gVXNlZCBzbyB3ZSBjYW4gaGF2ZSBtdWx0aXBsZSBiYWNrZ3JvdW5kIGVsZW1lbnRzIChlLmcuLCBhcnJvdyBhbmQgZmVlZGJhY2sgaWNvbilcblxuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0OiBjYWxjKCgxZW0gKyAjezIgKiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXl9KSAqIDMgLyA0ICsgI3skY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZ30pICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgICBjZW50ZXIgcmlnaHQgKCRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aDogICAgICAgICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc206ICAgICAgICAkaW5wdXQtcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgICRpbnB1dC1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtbGc6ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoOiAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1iZzogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIGluc2V0IDAgLjI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIC4xcmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gSUUvRWRnZVxuJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLWhlaWdodDogICAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtcGFkZGluZy14OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtZmFtaWx5OiAgICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogICAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3gtc2hhZG93OiAgICAgICAgICAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjogICAgICAgICAgJGN1c3RvbS1maWxlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXRleHQ6IChcbiAgZW46IFwiQnJvd3NlXCJcbikgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAgICAgICRmb3JtLXRleHQtbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTogICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICB0aGVtZS1jb2xvcihcImRhbmdlclwiKSAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyB2aWV3Qm94PSctMiAtMiA3IDcnJTNlJTNjcGF0aCBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgZD0nTTAgMGwzIDNtMC0zTDAgMycvJTNlJTNjY2lyY2xlIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3g9JzMnIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3k9JzMnIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3g9JzMnIGN5PSczJyByPScuNScvJTNlJTNjL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwidmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkXG4gICAgKSxcbiAgICBcImludmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZFxuICAgICksXG4gICksXG4gICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG4pO1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAgICAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG5cblxuLy8gTmF2c1xuXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTIwMCAkZ3JheS0yMDAgJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJGdyYXktMzAwICRncmF5LTMwMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG5cblxuLy8gTmF2YmFyXG5cbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4vLyBDb21wdXRlIHRoZSBuYXZiYXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBuYXZiYXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBuYXZiYXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgLyAyICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBzdHJva2U9JyN7JG5hdmJhci1kYXJrLWNvbG9yfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJHdoaXRlLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywgLjcpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtY29sb3J9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgY2FsYygjeyRkcm9wZG93bi1ib3JkZXItcmFkaXVzfSAtICN7JGRyb3Bkb3duLWJvcmRlci13aWR0aH0pICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgJG5hdi1kaXZpZGVyLW1hcmdpbi15ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRncmF5LTkwMCwgNSUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIFBhZ2luYXRpb25cblxuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTogICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTMwMCAhZGVmYXVsdDtcblxuXG4vLyBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gQ2FyZHNcblxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIGNhbGMoI3skY2FyZC1ib3JkZXItcmFkaXVzfSAtICN7JGNhcmQtYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1jb2xvcjogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1ncm91cC1tYXJnaW46ICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyICFkZWZhdWx0O1xuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLWNvdW50OiAgICAgICAgICAgICAgICAzICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICFkZWZhdWx0O1xuXG5cbi8vIFRvb2x0aXBzXG5cbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eTogICAgICAgJHRvb2x0aXAtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIGZhZGUtaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIFRvYXN0c1xuXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRvYXN0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4xKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjI1cmVtIC43NXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kdG9hc3QtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBCYWRnZXNcblxuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgNzUlICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC40ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGJhZGdlLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgJGJ0bi10cmFuc2l0aW9uICFkZWZhdWx0O1xuJGJhZGdlLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcblxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgICAgICAgICAgICAgLjZlbSAhZGVmYXVsdDtcbi8vIFVzZSBhIGhpZ2hlciB0aGFuIG5vcm1hbCB2YWx1ZSB0byBlbnN1cmUgY29tcGxldGVseSByb3VuZGVkIGVkZ2VzIHdoZW5cbi8vIGN1c3RvbWl6aW5nIHBhZGRpbmcgb3IgZm9udC1zaXplIG9uIGxhYmVscy5cbiRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gS2VlcCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuXG4kbW9kYWwteGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgICA4MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICAgICAgICAgICAgIHRyYW5zbGF0ZSgwLCAtNTBweCkgIWRlZmF1bHQ7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGFsZXJ0LWJnLWxldmVsOiAgICAgICAgICAgICAgICAgICAgLTEwICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1sZXZlbDogICAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3ItbGV2ZWw6ICAgICAgICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC43NSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgaW5zZXQgMCAuMXJlbSAuMXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nOiAgICAgMXMgbGluZWFyIGluZmluaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAgICAgICAgICAgd2lkdGggLjZzIGVhc2UgIWRlZmF1bHQ7XG5cblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuXG4vLyBGaWd1cmVzXG5cbiRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgIDkwJSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuLy8gQ2Fyb3VzZWxcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5OiAgICAgLjkgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uOiAgICAgICAgb3BhY2l0eSAuMTVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41LTIuNS0yLjUgMi41LTIuNS0xLjUtMS41eicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjUgMi41IDIuNS0yLjUgMi41IDEuNSAxLjUgNC00LTQtNHonLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG5cblxuLy8gU3Bpbm5lcnNcblxuJHNwaW5uZXItd2lkdGg6ICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgLjI1ZW0gIWRlZmF1bHQ7XG5cbiRzcGlubmVyLXdpZHRoLXNtOiAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodC1zbTogICAgICAgJHNwaW5uZXItd2lkdGgtc20gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGgtc206IC4yZW0gIWRlZmF1bHQ7XG5cblxuLy8gQ2xvc2VcblxuJGNsb3NlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAwIDFweCAwICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgIDg3LjUlICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJHBpbmsgIWRlZmF1bHQ7XG5cbiRrYmQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGtiZC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG5cbi8vIFV0aWxpdGllc1xuXG4kZGlzcGxheXM6IG5vbmUsIGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLXJvdywgdGFibGUtY2VsbCwgZmxleCwgaW5saW5lLWZsZXggIWRlZmF1bHQ7XG4kb3ZlcmZsb3dzOiBhdXRvLCBoaWRkZW4gIWRlZmF1bHQ7XG4kcG9zaXRpb25zOiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQsIHN0aWNreSAhZGVmYXVsdDtcblxuXG4vLyBQcmludGluZ1xuXG4kcHJpbnQtcGFnZS1zaXplOiAgICAgICAgICAgICAgICAgICBhMyAhZGVmYXVsdDtcbiRwcmludC1ib2R5LW1pbi13aWR0aDogICAgICAgICAgICAgIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIikgIWRlZmF1bHQ7XG4iLCIvLyBUb2dnbGVzXG4vL1xuLy8gVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGdsb2JhbCB2YXJpYWJsZXMgdG8gZW5hYmxlIGNlcnRhaW4gdGhlbWUgZmVhdHVyZXMuXG5cbi8vIFZlbmRvclxuQGltcG9ydCBcInZlbmRvci9yZnNcIjtcblxuLy8gRGVwcmVjYXRlXG5AaW1wb3J0IFwibWl4aW5zL2RlcHJlY2F0ZVwiO1xuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgXCJtaXhpbnMvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaG92ZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYmFkZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NjcmVlbi1yZWFkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtZW1waGFzaXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1oaWRlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtdHJ1bmNhdGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdmlzaWJpbGl0eVwiO1xuXG4vLyAvLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibWl4aW5zL2FsZXJ0XCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY2FyZXRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9saXN0c1wiO1xuQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi1kaXZpZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuXG4vLyAvLyBTa2luc1xuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcIm1peGlucy9ib3gtc2hhZG93XCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyYWRpZW50c1wiO1xuQGltcG9ydCBcIm1peGlucy90cmFuc2l0aW9uXCI7XG5cbi8vIC8vIExheW91dFxuQGltcG9ydCBcIm1peGlucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkLWZyYW1ld29ya1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zsb2F0XCI7XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgZm9udC1yZXNpemluZ1xuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnNcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIGZvbnQgc2l6ZVxuJHJmcy1iYXNlLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtZm9udC1zaXplLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSBmb250LXNpemUgc3RhcnRzIGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG4vLyBSZXNpemUgZm9udC1zaXplIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gXCJudW1iZXJcIiBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMgdG8gZmFsc2VcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtZm9udC1zaXplIHVuaXRcbiRyZnMtYmFzZS1mb250LXNpemUtdW5pdDogdW5pdCgkcmZzLWJhc2UtZm9udC1zaXplKTtcblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtZm9udC1zaXplIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJweFwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogJHJmcy1iYXNlLWZvbnQtc2l6ZSAvICgkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicmVtXCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiAkcmZzLWJhc2UtZm9udC1zaXplIC8gKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicHhcIiB7XG4gICRyZnMtYnJlYWtwb2ludDogJHJmcy1icmVha3BvaW50IC8gKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicmVtXCIgb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG59XG5cbi8vIFJlc3BvbnNpdmUgZm9udC1zaXplIG1peGluXG5AbWl4aW4gcmZzKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgLy8gQ2FjaGUgJGZzIHVuaXRcbiAgJGZzLXVuaXQ6IGlmKHR5cGUtb2YoJGZzKSA9PSBcIm51bWJlclwiLCB1bml0KCRmcyksIGZhbHNlKTtcblxuICAvLyBBZGQgIWltcG9ydGFudCBzdWZmaXggaWYgbmVlZGVkXG4gICRyZnMtc3VmZml4OiBpZigkaW1wb3J0YW50LCBcIiAhaW1wb3J0YW50XCIsIFwiXCIpO1xuXG4gIC8vIElmICRmcyBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkZnMgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICBAaWYgbm90ICRmcy11bml0IG9yICRmcy11bml0ICE9IFwiXCIgYW5kICRmcy11bml0ICE9IFwicHhcIiBhbmQgJGZzLXVuaXQgIT0gXCJyZW1cIiBvciAkZnMgPT0gMCB7XG4gICAgZm9udC1zaXplOiAjeyRmc30jeyRyZnMtc3VmZml4fTtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gVmFyaWFibGVzIGZvciBzdG9yaW5nIHN0YXRpYyBhbmQgZmx1aWQgcmVzY2FsaW5nXG4gICAgJHJmcy1zdGF0aWM6IG51bGw7XG4gICAgJHJmcy1mbHVpZDogbnVsbDtcblxuICAgIC8vIFJlbW92ZSBweC11bml0IGZyb20gJGZzIGZvciBjYWxjdWxhdGlvbnNcbiAgICBAaWYgJGZzLXVuaXQgPT0gXCJweFwiIHtcbiAgICAgICRmczogJGZzIC8gKCRmcyAqIDAgKyAxKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJGZzLXVuaXQgPT0gXCJyZW1cIiB7XG4gICAgICAkZnM6ICRmcyAvICgkZnMgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgZGVmYXVsdCBmb250LXNpemVcbiAgICBAaWYgJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0ge1xuICAgICAgJHJmcy1zdGF0aWM6ICN7JGZzIC8gJHJmcy1yZW0tdmFsdWV9cmVtI3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIGlmICRyZnMtZm9udC1zaXplLXVuaXQgPT0gcHgge1xuICAgICAgJHJmcy1zdGF0aWM6ICN7JGZzfXB4I3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciBcImAjeyRyZnMtZm9udC1zaXplLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWZvbnQtc2l6ZS11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbiAgICB9XG5cbiAgICAvLyBPbmx5IGFkZCBtZWRpYSBxdWVyeSBpZiBmb250LXNpemUgaXMgYmlnZ2VyIGFzIHRoZSBtaW5pbXVtIGZvbnQtc2l6ZVxuICAgIC8vIElmICRyZnMtZmFjdG9yID09IDEsIG5vIHJlc2NhbGluZyB3aWxsIHRha2UgcGxhY2VcbiAgICBAaWYgJGZzID4gJHJmcy1iYXNlLWZvbnQtc2l6ZSBhbmQgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMge1xuICAgICAgJG1pbi13aWR0aDogbnVsbDtcbiAgICAgICR2YXJpYWJsZS11bml0OiBudWxsO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgbWluaW11bSBmb250LXNpemUgZm9yIGdpdmVuIGZvbnQtc2l6ZVxuICAgICAgJGZzLW1pbjogJHJmcy1iYXNlLWZvbnQtc2l6ZSArICgkZnMgLSAkcmZzLWJhc2UtZm9udC1zaXplKSAvICRyZnMtZmFjdG9yO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGdpdmVuIGZvbnQtc2l6ZSBhbmQgbWluaW11bSBmb250LXNpemUgZm9yIGdpdmVuIGZvbnQtc2l6ZVxuICAgICAgJGZzLWRpZmY6ICRmcyAtICRmcy1taW47XG5cbiAgICAgIC8vIEJhc2UgZm9udC1zaXplIGZvcm1hdHRpbmdcbiAgICAgIC8vIE5vIG5lZWQgdG8gY2hlY2sgaWYgdGhlIHVuaXQgaXMgdmFsaWQsIGJlY2F1c2Ugd2UgZGlkIHRoYXQgYmVmb3JlXG4gICAgICAkbWluLXdpZHRoOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3skZnMtbWluIC8gJHJmcy1yZW0tdmFsdWV9cmVtLCAjeyRmcy1taW59cHgpO1xuXG4gICAgICAvLyBJZiB0d28tZGltZW5zaW9uYWwsIHVzZSBzbWFsbGVzdCBvZiBzY3JlZW4gd2lkdGggYW5kIGhlaWdodFxuICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICR2YXJpYWJsZS13aWR0aDogI3skZnMtZGlmZiAqIDEwMCAvICRyZnMtYnJlYWtwb2ludH0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgLy8gU2V0IHRoZSBjYWxjdWxhdGVkIGZvbnQtc2l6ZS5cbiAgICAgICRyZnMtZmx1aWQ6IGNhbGMoI3skbWluLXdpZHRofSArICN7JHZhcmlhYmxlLXdpZHRofSkgI3skcmZzLXN1ZmZpeH07XG4gICAgfVxuXG4gICAgLy8gUmVuZGVyaW5nXG4gICAgQGlmICRyZnMtZmx1aWQgPT0gbnVsbCB7XG4gICAgICAvLyBPbmx5IHJlbmRlciBzdGF0aWMgZm9udC1zaXplIGlmIG5vIGZsdWlkIGZvbnQtc2l6ZSBpcyBhdmFpbGFibGVcbiAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRtcS12YWx1ZTogbnVsbDtcblxuICAgICAgLy8gUkZTIGJyZWFrcG9pbnQgZm9ybWF0dGluZ1xuICAgICAgQGlmICRyZnMtYnJlYWtwb2ludC11bml0ID09IGVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0ID09IHJlbSB7XG4gICAgICAgICRtcS12YWx1ZTogI3skcmZzLWJyZWFrcG9pbnQgLyAkcmZzLXJlbS12YWx1ZX0jeyRyZnMtYnJlYWtwb2ludC11bml0fTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4IHtcbiAgICAgICAgJG1xLXZhbHVlOiAjeyRyZnMtYnJlYWtwb2ludH1weDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcmZzLWNsYXNzID09IFwiZGlzYWJsZVwiIHtcbiAgICAgICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSxcbiAgICAgICAgLy8gd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBmb250IHNpemVcbiAgICAgICAgJixcbiAgICAgICAgLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgJi5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICBmb250LXNpemU6ICRyZnMtc3RhdGljO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pLCAobWF4LWhlaWdodDogI3skbXEtdmFsdWV9KSB7XG4gICAgICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgICAgICAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXRcbiAgICAgICAgICAgIG1pbi13aWR0aDogMHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSB7XG4gICAgICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgICAgICAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXRcbiAgICAgICAgICAgIG1pbi13aWR0aDogMHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBUaGUgZm9udC1zaXplICYgcmVzcG9uc2l2ZS1mb250LXNpemUgbWl4aW4gdXNlcyBSRlMgdG8gcmVzY2FsZSBmb250IHNpemVzXG5AbWl4aW4gZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG5cbkBtaXhpbiByZXNwb25zaXZlLWZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuIiwiLy8gRGVwcmVjYXRlIG1peGluXG4vL1xuLy8gVGhpcyBtaXhpbiBjYW4gYmUgdXNlZCB0byBkZXByZWNhdGUgbWl4aW5zIG9yIGZ1bmN0aW9ucy5cbi8vIGAkZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzYCBpcyBhIGdsb2JhbCB2YXJpYWJsZSwgYCRpZ25vcmUtd2FybmluZ2AgaXMgYSB2YXJpYWJsZSB0aGF0IGNhbiBiZSBwYXNzZWQgdG9cbi8vIHNvbWUgZGVwcmVjYXRlZCBtaXhpbnMgdG8gc3VwcHJlc3MgdGhlIHdhcm5pbmcgKGZvciBleGFtcGxlIGlmIHRoZSBtaXhpbiBpcyBzdGlsbCBiZSB1c2VkIGluIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgQm9vdHN0cmFwKVxuQG1peGluIGRlcHJlY2F0ZSgkbmFtZSwgJGRlcHJlY2F0ZS12ZXJzaW9uLCAkcmVtb3ZlLXZlcnNpb24sICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgQGlmICgkZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzICE9IGZhbHNlIGFuZCAkaWdub3JlLXdhcm5pbmcgIT0gdHJ1ZSkge1xuICAgIEB3YXJuIFwiI3skbmFtZX0gaGFzIGJlZW4gZGVwcmVjYXRlZCBhcyBvZiAjeyRkZXByZWNhdGUtdmVyc2lvbn0uIEl0IHdpbGwgYmUgcmVtb3ZlZCBlbnRpcmVseSBpbiAjeyRyZW1vdmUtdmVyc2lvbn0uXCI7XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG92ZXIgbWl4aW4gYW5kIGAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5YCBhcmUgZGVwcmVjYXRlZC5cbi8vXG4vLyBPcmlnaW5hbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1MtYW4gaXNzdWUgd2hlcmUgaG92ZXIgc3R5bGVzXG4vLyB3b3VsZCBwZXJzaXN0IGFmdGVyIGluaXRpYWwgdG91Y2guXG4vL1xuLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlJ3ZlIGtlcHQgdGhlc2UgbWl4aW5zIGFuZCB1cGRhdGVkIHRoZW0gdG9cbi8vIGFsd2F5cyByZXR1cm4gdGhlaXIgcmVndWxhciBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIGEgc2hpbW1lZCBtZWRpYSBxdWVyeS5cbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTE5NVxuXG5AbWl4aW4gaG92ZXIge1xuICAmOmhvdmVyIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS5cblxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTF4KTtcblxuICAvLyBBdXRvcHJlZml4ZXIgdGFrZXMgY2FyZSBvZiBhZGRpbmcgLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvIGFuZCAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvLFxuICAvLyBidXQgZG9lc24ndCBjb252ZXJ0IGRwcHg9PmRwaS5cbiAgLy8gVGhlcmUncyBubyBzdWNoIHRoaW5nIGFzIHVucHJlZml4ZWQgbWluLWRldmljZS1waXhlbC1yYXRpbyBzaW5jZSBpdCdzIG5vbnN0YW5kYXJkLlxuICAvLyBDb21wYXRpYmlsaXR5IGluZm86IGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIC8vIElFOS0xMSBkb24ndCBzdXBwb3J0IGRwcHhcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYGltZy1yZXRpbmEoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge1xuICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcblxuICBAYXQtcm9vdCBhI3smfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiZywgMTAlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRiYWRnZS1mb2N1cy13aWR0aCByZ2JhKCRiZywgLjUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVzaXplIGFueXRoaW5nXG5cbkBtaXhpbiByZXNpemFibGUoJGRpcmVjdGlvbikge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gUGVyIENTUzMgVUksIGByZXNpemVgIG9ubHkgYXBwbGllcyB3aGVuIGBvdmVyZmxvd2AgaXNuJ3QgYHZpc2libGVgXG4gIHJlc2l6ZTogJGRpcmVjdGlvbjsgLy8gT3B0aW9uczogaG9yaXpvbnRhbCwgdmVydGljYWwsIGJvdGhcbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwczovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cbn1cbiIsIi8vIFNpemluZyBzaG9ydGN1dHNcblxuQG1peGluIHNpemUoJHdpZHRoLCAkaGVpZ2h0OiAkd2lkdGgpIHtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgc2l6ZSgpYFwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSAhPSAwIHtcbiAgICBhI3skcGFyZW50fSB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG5AbWl4aW4gdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcblxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1oaWRlKClgXCIsIFwidjQuMS4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFZpc2liaWxpdHlcblxuQG1peGluIGludmlzaWJsZSgkdmlzaWJpbGl0eSkge1xuICB2aXNpYmlsaXR5OiAkdmlzaWJpbGl0eSAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgaW52aXNpYmxlKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCJAbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG5cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA3LjUlKSwgJGhvdmVyLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEwJSksICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpLCAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyLjUlKSkge1xuICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRidG4tYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBmb3IgdGhlIHByZXNzZWQvYWN0aXZlIHN0YXRlXG4gICAgfVxuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3IsICRjb2xvci1ob3ZlcjogY29sb3IteWlxKCRjb2xvciksICRhY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yLCAkYWN0aXZlLWJvcmRlcjogJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAvLyBNYW51YWxseSBkZWNsYXJlIHRvIHByb3ZpZGUgYW4gb3ZlcnJpZGUgdG8gdGhlIGJyb3dzZXIgZGVmYXVsdFxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLCAwKTtcbn1cbiIsIkBtaXhpbiBjYXJldC1kb3duIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXJpZ2h0IHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LWxlZnQge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldCgkZGlyZWN0aW9uOiBkb3duKSB7XG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1kb3duO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtdXA7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1yaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1sZWZ0O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLnBhZ2UtbGluayB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgLnBhZ2UtaXRlbSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgJi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcblxuQG1peGluIG5hdi1kaXZpZGVyKCRjb2xvcjogJG5hdi1kaXZpZGVyLWNvbG9yLCAkbWFyZ2luLXk6ICRuYXYtZGl2aWRlci1tYXJnaW4teSkge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogJG1hcmdpbi15IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3I7XG59XG4iLCIvLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygpIHtcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZm9jdXMtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cblxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvciwgJGljb24pIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay1mb250LXNpemUpO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gQ29udGFpbiB0byBwYXJlbnQgd2hlbiBwb3NzaWJsZVxuICAgIHBhZGRpbmc6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14O1xuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAkZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHkpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGljb247XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQsICRpY29uICRjdXN0b20tc2VsZWN0LWJnIG5vLXJlcGVhdCAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uIC8gJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC5mb3JtLWNvbnRyb2wtZmlsZSB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCAxMCUpO1xuICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKGxpZ2h0ZW4oJGNvbG9yLCAxMCUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gY3VzdG9tIGZpbGVcbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkYm9yZGVyOiBudWxsKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICYsXG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBpZiAkYm9yZGVyICE9IG51bGwge1xuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIge1xuICAgICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcblxuICAgIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9LFxuICBidXR0b24jeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBiZy1ncmFkaWVudC12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXggIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG4iLCJAbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICRyZXN1bHQ6ICgpO1xuXG4gICAgQGlmIChsZW5ndGgoJHNoYWRvdykgPT0gMSkge1xuICAgICAgLy8gV2UgY2FuIHBhc3MgYEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7YFxuICAgICAgJHJlc3VsdDogJHNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEZpbHRlciB0byBhdm9pZCBpbnZhbGlkIHByb3BlcnRpZXMgZm9yIGV4YW1wbGUgYGJveC1zaGFkb3c6IG5vbmUsIDFweCAxcHggYmxhY2s7YFxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHNoYWRvdykge1xuICAgICAgICBAaWYgbnRoKCRzaGFkb3csICRpKSAhPSBcIm5vbmVcIiB7XG4gICAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkc2hhZG93LCAkaSksIFwiY29tbWFcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGlmIChsZW5ndGgoJHJlc3VsdCkgPiAwKSB7XG4gICAgICBib3gtc2hhZG93OiAkcmVzdWx0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gR3JhZGllbnRzXG5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXg7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbCN7JGluZml4fSxcbiAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tZmlyc3QgeyBvcmRlcjogLTE7IH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWxhc3QgeyBvcmRlcjogJGNvbHVtbnMgKyAxOyB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAub3JkZXIjeyRpbmZpeH0tI3skaX0geyBvcmRlcjogJGk7IH1cbiAgICAgIH1cblxuICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGd1dHRlciAvIDI7XG4gIG1hcmdpbi1sZWZ0OiAtJGd1dHRlciAvIDI7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2UgdXNlIGBmbGV4YCB2YWx1ZXNcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXG4gIG1heC13aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogJHNpemUgLyAkY29sdW1ucztcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQG1peGluIGZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZsb2F0LWxlZnRgIG1peGluXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG5AbWl4aW4gZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmbG9hdC1yaWdodGAgbWl4aW5cIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbkBtaXhpbiBmbG9hdC1ub25lIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmbG9hdC1ub25lYCBtaXhpblwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiLy8gTWl4aW5zXHJcbi8vXHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogUlRML0xUUlxyXG5cclxuQG1peGluIGx0ci1vbmx5KCkge1xyXG4gIEBpZiAkcnRsLXN1cHBvcnQge1xyXG4gICAgaHRtbDpub3QoW2Rpcj1ydGxdKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcnRsLW9ubHkoKSB7XHJcbiAgQGlmICRydGwtc3VwcG9ydCB7XHJcbiAgICBbZGlyPXJ0bF0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBsdHItc3R5bGUoKSB7XHJcbiAgQGlmICRydGwtc3VwcG9ydCB7XHJcbiAgICBodG1sOm5vdChbZGlyPXJ0bF0pICYge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHJ0bC1zdHlsZSgpIHtcclxuICBAaWYgJHJ0bC1zdXBwb3J0IHtcclxuICAgIFtkaXI9cnRsXSAmIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogS2V5ZnJhbWVzXHJcblxyXG5AbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XHJcbiAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0ge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQ2FyZXRzXHJcblxyXG5AbWl4aW4gY2FyZXQtZG93biB7XHJcbiAgbWFyZ2luLXRvcDogLTEgKiAoJGNhcmV0LXdpZHRoIC8gMS41KTtcclxuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xyXG4gIGhlaWdodDogJGNhcmV0LXdpZHRoO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkO1xyXG4gIGJvcmRlci10b3A6IDA7XHJcbiAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG59XHJcblxyXG5AbWl4aW4gY2FyZXQtdXAge1xyXG4gIG1hcmdpbi10b3A6IC0wO1xyXG4gIHdpZHRoOiAkY2FyZXQtd2lkdGg7XHJcbiAgaGVpZ2h0OiAkY2FyZXQtd2lkdGg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogMDtcclxuICBib3JkZXItbGVmdDogMDtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG59XHJcblxyXG5AbWl4aW4gY2FyZXQtcmlnaHQge1xyXG4gIG1hcmdpbi10b3A6IC0xICogKCRjYXJldC13aWR0aCAvIDIpO1xyXG4gIHdpZHRoOiAkY2FyZXQtd2lkdGg7XHJcbiAgaGVpZ2h0OiAkY2FyZXQtd2lkdGg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQ7XHJcbiAgYm9yZGVyLXRvcDogMDtcclxuICBib3JkZXItbGVmdDogMDtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG59XHJcblxyXG5AbWl4aW4gY2FyZXQtbGVmdCB7XHJcbiAgbWFyZ2luLXRvcDogLTEgKiAoJGNhcmV0LXdpZHRoIC8gMik7XHJcbiAgd2lkdGg6ICRjYXJldC13aWR0aDtcclxuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcclxuICBib3JkZXI6IDFweCBzb2xpZDtcclxuICBib3JkZXItdG9wOiAwO1xyXG4gIGJvcmRlci1yaWdodDogMDtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBSZXNwb25zaXplIGxvb3BzXHJcblxyXG5AbWl4aW4gcmVzcG9uc2l2ZS1sb29wLWJlZm9yZSgkcGFyZW50LCAkc3RhcnQtYnJlYWtwb2ludDogc20pIHtcclxuICAkY3VyLWJyZWFrcG9pbnQ6ICRzdGFydC1icmVha3BvaW50O1xyXG5cclxuICBAd2hpbGUgJGN1ci1icmVha3BvaW50IHtcclxuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkY3VyLWJyZWFrcG9pbnQpO1xyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAoYnJlYWtwb2ludC1taW4oJGN1ci1icmVha3BvaW50KSAtIDEpKSB7XHJcbiAgICAgICN7JHBhcmVudH0jeyRpbmZpeH0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJGN1ci1icmVha3BvaW50OiBicmVha3BvaW50LW5leHQoJGN1ci1icmVha3BvaW50KTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiByZXNwb25zaXZlLWxvb3AtYWZ0ZXIoJHBhcmVudCwgJHN0YXJ0LWJyZWFrcG9pbnQ6IHNtKSB7XHJcbiAgJGN1ci1icmVha3BvaW50OiAkc3RhcnQtYnJlYWtwb2ludDtcclxuXHJcbiAgQHdoaWxlICRjdXItYnJlYWtwb2ludCB7XHJcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGN1ci1icmVha3BvaW50KTtcclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogYnJlYWtwb2ludC1taW4oJGN1ci1icmVha3BvaW50KSkge1xyXG4gICAgICAjeyRwYXJlbnR9I3skaW5maXh9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICRjdXItYnJlYWtwb2ludDogYnJlYWtwb2ludC1uZXh0KCRjdXItYnJlYWtwb2ludCk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQ29sb3JzXHJcblxyXG4vLyBDb250cmFzdFxyXG5AbWl4aW4gY29sb3IteWlxKCRjb2xvcikge1xyXG4gIGNvbG9yOiB5aXEoJGNvbG9yKTtcclxufVxyXG5cclxuQG1peGluIGJnLWNvbG9yLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkcnRoLWNvbG9yOiAjMDAwKSB7XHJcbiAgI3skcGFyZW50fSB7IGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50OyB9XHJcbiAgYSN7JHBhcmVudH0ge1xyXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjk1KSwgJGJhY2tncm91bmQ6ICRydGgtY29sb3IpICFpbXBvcnRhbnQ7IH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJHJ0aC1jb2xvcjogIzAwMCkge1xyXG4gIEBpbmNsdWRlIGJnLWNvbG9yLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBiZy1jb2xvci12YXJpYW50KFwiI3skcGFyZW50fS1kYXJrXCIsIHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuOSksICRiYWNrZ3JvdW5kOiAkcnRoLWNvbG9yKSk7XHJcbiAgQGluY2x1ZGUgYmctY29sb3ItdmFyaWFudChcIiN7JHBhcmVudH0tZGFya2VyXCIsIHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuODUpLCAkYmFja2dyb3VuZDogJHJ0aC1jb2xvcikpO1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQnV0dG9uc1xyXG5cclxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kOiBudWxsLCAkYm9yZGVyOiBudWxsLCAkYWN0aXZlLWJhY2tncm91bmQ6IG51bGwsICRhY3RpdmUtYm9yZGVyOiBudWxsKSB7fVxyXG5cclxuQG1peGluIGFwcHdvcmstYnV0dG9uLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCkge1xyXG4gICRidG4tY29sb3JzOiBnZXQtYnRuLWNvbG9ycygkYmFja2dyb3VuZCwgaWYoJGJvcmRlciwgJGJvcmRlciwgJGJhY2tncm91bmQpKTtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcik7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xyXG4gICAgQGluY2x1ZGUgaG92ZXIge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcik7XHJcbiAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWhvdmVyKTtcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgJi5mb2N1cyB7XHJcbiAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIHNoYWRvdyk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5kaXNhYmxlZCxcclxuICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcikgIWltcG9ydGFudDtcclxuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9IC5iYWRnZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgICBjb2xvcjogcmdiYS10by1oZXgoJGJhY2tncm91bmQpO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fTphY3RpdmUsXHJcbiAgI3skcGFyZW50fS5hY3RpdmUsXHJcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcik7XHJcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1hY3RpdmUpO1xyXG5cclxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xyXG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBCdXR0b24gZ3JvdXBzXHJcbiAgLmJ0bi1ncm91cCAjeyRwYXJlbnR9LFxyXG4gIC5pbnB1dC1ncm91cC1wcmVwZW5kICN7JHBhcmVudH0sXHJcbiAgLmlucHV0LWdyb3VwLWFwcGVuZCAjeyRwYXJlbnR9IHtcclxuICAgIGJvcmRlci1yaWdodDogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgbWFwLWdldCgkYnRuLWNvbG9ycywgYmctYWN0aXZlKTtcclxuICAgIGJvcmRlci1sZWZ0OiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCBzb2xpZCBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1hY3RpdmUpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCwgJG1kLWNvbG9yOiAkYmFja2dyb3VuZCkge1xyXG4gICRidG4tY29sb3JzOiBnZXQtbWF0ZXJpYWwtYnRuLWNvbG9ycygkYmFja2dyb3VuZCk7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICBib3gtc2hhZG93OiAkYnRuLWJveC1zaGFkb3c7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fSAuYmFkZ2Uge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgY29sb3I6IHJnYmEtdG8taGV4KCRiYWNrZ3JvdW5kKTtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0gLndhdmVzLXJpcHBsZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gI2ZmZiwgcmdiYSgkY29sb3IsIC4zKSwgcmdiYSgkY29sb3IsIC4yKSk7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9OmFjdGl2ZSxcclxuICAjeyRwYXJlbnR9LmFjdGl2ZSxcclxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWFjdGl2ZSk7XHJcbiAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93O1xyXG4gIH1cclxuXHJcbiAgLy8gRmxhdCBidXR0b25zXHJcbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdCB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIGNvbG9yOiAkbWQtY29sb3I7XHJcblxyXG4gICAgJjpmb2N1cyxcclxuICAgICYuZm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRtZC1jb2xvciwgLjEpO1xyXG4gICAgfVxyXG5cclxuICAgIC53YXZlcy1yaXBwbGUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRtZC1jb2xvciwgLjMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdDphY3RpdmUsXHJcbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdC5hY3RpdmUsXHJcbiAgLnNob3cgPiAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0LmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRtZC1jb2xvciwgLjE1KTtcclxuICB9XHJcblxyXG4gIC8vIERpc2FibGVkXHJcblxyXG4gICN7JHBhcmVudH0uZGlzYWJsZWQsXHJcbiAgI3skcGFyZW50fTpkaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogJG1hdGVyaWFsLWNvbXBvbmVudC1zaGFkb3cgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0ubWQtYnRuLWZsYXQuZGlzYWJsZWQsXHJcbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdDpkaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBPdXRsaW5lIGJ1dHRvbnNcclxuXHJcbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvcjogbnVsbCwgJGNvbG9yLWhvdmVyOiBudWxsLCAkaG92ZXItY29sb3I6IG51bGwpIHt9XHJcblxyXG5AbWl4aW4gYXBwd29yay1idXR0b24tb3V0bGluZS12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGhvdmVyLWNvbG9yOiBudWxsKSB7XHJcbiAgJGJ0bi1jb2xvcnM6IGdldC1idG4tY29sb3JzKCRjb2xvciwgJGNvbG9yKTtcclxuICAkY29sb3ItaG92ZXI6IGlmKCRob3Zlci1jb2xvciwgJGhvdmVyLWNvbG9yLCB5aXEoJGNvbG9yKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgQGluY2x1ZGUgaG92ZXIge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcik7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgJi5mb2N1cyB7XHJcbiAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIHNoYWRvdyk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5kaXNhYmxlZCxcclxuICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9OmFjdGl2ZSxcclxuICAjeyRwYXJlbnR9LmFjdGl2ZSxcclxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnRuLWNvbG9ycywgYm9yZGVyKTtcclxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWhvdmVyKTtcclxuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XHJcblxyXG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XHJcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0gLmJhZGdlIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9OmhvdmVyIC5iYWRnZSxcclxuICAjeyRwYXJlbnR9OmZvY3VzIC5iYWRnZSxcclxuICAjeyRwYXJlbnR9OmFjdGl2ZSAuYmFkZ2UsXHJcbiAgI3skcGFyZW50fS5hY3RpdmUgLmJhZGdlLFxyXG4gIC5zaG93ID4gI3skcGFyZW50fS5kcm9wZG93bi10b2dnbGUgLmJhZGdlIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xyXG4gICAgY29sb3I6IGlmKGFscGhhKCRjb2xvcik9PTEsICRjb2xvciwgeWlxKCRjb2xvci1ob3ZlcikpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRob3Zlci1jb2xvcjogbnVsbCkge1xyXG4gICRidG4tY29sb3JzOiBnZXQtbWF0ZXJpYWwtYnRuLWNvbG9ycygkY29sb3IpO1xyXG4gICRjb2xvci1ob3ZlcjogaWYoJGhvdmVyLWNvbG9yLCAkaG92ZXItY29sb3IsIHlpcSgkY29sb3IpKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY29sb3IgaW5zZXQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgICBib3gtc2hhZG93OiAkYnRuLWZvY3VzLWJveC1zaGFkb3c7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJi5kaXNhYmxlZCxcclxuICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNvbG9yIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICN7JHBhcmVudH06YWN0aXZlLFxyXG4gICN7JHBhcmVudH0uYWN0aXZlLFxyXG4gIC5zaG93ID4gI3skcGFyZW50fS5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xyXG4gICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdztcclxuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9IC53YXZlcy1yaXBwbGUge1xyXG4gICAgYmFja2dyb3VuZDogaWYoJGNvbG9yLWhvdmVyPT0jZmZmLCByZ2JhKCRjb2xvci1ob3ZlciwgLjMpLCByZ2JhKCRjb2xvci1ob3ZlciwgLjIpKTtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0gLmJhZGdlIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9OmhvdmVyIC5iYWRnZSxcclxuICAjeyRwYXJlbnR9OmZvY3VzIC5iYWRnZSxcclxuICAjeyRwYXJlbnR9OmFjdGl2ZSAuYmFkZ2UsXHJcbiAgI3skcGFyZW50fS5hY3RpdmUgLmJhZGdlLFxyXG4gIC5zaG93ID4gI3skcGFyZW50fS5kcm9wZG93bi10b2dnbGUgLmJhZGdlIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xyXG4gICAgY29sb3I6IGlmKGFscGhhKCRjb2xvcik9PTEsICRjb2xvciwgeWlxKCRjb2xvci1ob3ZlcikpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEJhZGdlc1xyXG5cclxuQG1peGluIGJhZGdlLXZhcmlhbnQoJGJnKSB7fVxyXG5cclxuQG1peGluIGFwcHdvcmstYmFkZ2UtdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogbnVsbCkge1xyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xyXG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJnKSk7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9W2hyZWZdIHtcclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoYWxwaGEoJGJnKSA9PSAxLCByZ2JhLXRvLWhleChyZ2JhKCRiZywgLjk1KSwgIzAwMCksIHJnYmEoJGJnLCBhbHBoYSgkYmcpICsgLjAzKSk7XHJcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiZykpO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYnRuICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZDogJGJnICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItY29sb3I6ICRiZyAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJnKSkgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWJhZGdlLW91dGxpbmUtdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogJGJnKSB7XHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYmcgaW5zZXQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fVtocmVmXSB7XHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5idG4gI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRiZyBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIERyb3Bkb3duc1xyXG5cclxuQG1peGluIGFwcHdvcmstZHJvcGRvd24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgI3skcGFyZW50fSAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXHJcbiAgI3skcGFyZW50fSAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKTphY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fS5kcm9wZG93bi1tZW51ID4gbGk6bm90KC5kaXNhYmxlZCkgPiBhOm5vdCguZHJvcGRvd24taXRlbSk6YWN0aXZlLFxyXG4gICN7JHBhcmVudH0uZHJvcGRvd24tbWVudSA+IGxpLmFjdGl2ZTpub3QoLmRpc2FibGVkKSA+IGE6bm90KC5kcm9wZG93bi1pdGVtKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1kcm9wZG93bi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1kcm9wZG93bi12YXJpYW50KCcnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtZHJvcGRvd24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgI3skcGFyZW50fSAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKS5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fS5kcm9wZG93bi1tZW51ID4gbGkuYWN0aXZlOm5vdCguZGlzYWJsZWQpID4gYTpub3QoLmRyb3Bkb3duLWl0ZW0pIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWRyb3Bkb3duLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWRyb3Bkb3duLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTmF2c1xyXG5cclxuQG1peGluIGFwcHdvcmstbmF2LXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KSB7XHJcbiAgID4gLm5hdiAubmF2LWxpbmssXHJcbiAgJi5uYXYgLm5hdi1saW5rIHtcclxuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1uYXYtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJHBpbGxzLXNlbGVjdG9yOiBpZigkcGFyZW50ID09ICcnLCAnLm5hdi1waWxscycsICcjeyRwYXJlbnR9Lm5hdi1waWxscywgI3skcGFyZW50fSA+IC5uYXYtcGlsbHMnKTtcclxuXHJcbiAgI3skcGlsbHMtc2VsZWN0b3J9IC5uYXYtbGluay5hY3RpdmUge1xyXG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0udGFicy1hbHQubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSxcclxuICAjeyRwYXJlbnR9LnRhYnMtYWx0ID4gLm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmUge1xyXG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xyXG4gICAgICBib3gtc2hhZG93OiAwIC0ycHggMCAkYmFja2dyb3VuZCBpbnNldDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW5hdi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1uYXYtdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLW5hdi12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGxpbmstY29sb3I6IG51bGwpIHtcclxuICAkdGFicy1zZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJy5uYXYtdGFicycsICcjeyRwYXJlbnR9Lm5hdi10YWJzJyk7XHJcbiAgJHBpbGxzLXNlbGVjdG9yOiBpZigkcGFyZW50ID09ICcnLCAnLm5hdi1waWxscycsICcjeyRwYXJlbnR9Lm5hdi1waWxscywgI3skcGFyZW50fSA+IC5uYXYtcGlsbHMnKTtcclxuXHJcbiAgI3skdGFicy1zZWxlY3Rvcn0gLm5hdi1saW5rIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkY29sb3IsICRjb2xvcik7XHJcbiAgfVxyXG5cclxuICAjeyRwaWxscy1zZWxlY3Rvcn0gLm5hdi1saW5rLmFjdGl2ZSB7XHJcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICAgICAgY29sb3I6IGlmKCRsaW5rLWNvbG9yLCAkbGluay1jb2xvciwgeWlxKCRjb2xvcikpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtbmF2LXRoZW1lKCRjb2xvciwgJGxpbmstY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLW5hdi12YXJpYW50KCcnLCAkY29sb3IsICRsaW5rLWNvbG9yKTtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFBhZ2luYXRpb25cclxuXHJcbkBtaXhpbiBhcHB3b3JrLXBhZ2luYXRpb24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgI3skcGFyZW50fSAucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rLFxyXG4gICN7JHBhcmVudH0ucGFnaW5hdGlvbiBsaS5hY3RpdmUgPiBhOm5vdCgucGFnZS1saW5rKSB7XHJcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstcGFnaW5hdGlvbi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1wYWdpbmF0aW9uLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogUHJvZ3Jlc3MgYmFyc1xyXG5cclxuQG1peGluIGFwcHdvcmstcHJvZ3Jlc3MtYmFyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAucHJvZ3Jlc3MtYmFyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBMaXN0IGdyb3Vwc1xyXG5cclxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZTogbnVsbCwgJGJhY2tncm91bmQ6IG51bGwsICRjb2xvcjogbnVsbCkge31cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAkYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC4xKSwgI2ZmZik7XHJcbiAgJGNvbG9yOiB5aXEoJGJnKTtcclxuICAkaG92ZXItYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJnLCAuOTkpLCAjMDAwKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjA3KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICBhI3skcGFyZW50fSxcclxuICBidXR0b24jeyRwYXJlbnR9IHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmc7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWxpc3QtZ3JvdXAtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJy5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeScsICRiYWNrZ3JvdW5kKTtcclxuXHJcbiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xyXG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBBbGVydHNcclxuXHJcbkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kOiBudWxsLCAkYm9yZGVyOiBudWxsLCAkY29sb3I6IG51bGwpIHt9XHJcblxyXG5AbWl4aW4gYXBwd29yay1hbGVydC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kKSB7XHJcbiAgJGJhY2tncm91bmQ6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC4xNSksICNmZmYpO1xyXG4gICRib3JkZXI6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC45NCksICMwMDApO1xyXG4gICRjb2xvcjogeWlxKCRiYWNrZ3JvdW5kKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgaHIge1xyXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkYm9yZGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5hbGVydC1saW5rIHtcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWFsZXJ0LWRhcmstdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIGhyIHtcclxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSh5aXEoJGJhY2tncm91bmQpLC4yKTtcclxuICAgIH1cclxuXHJcbiAgICAuY2xvc2UsXHJcbiAgICAuYWxlcnQtbGluayB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogVG9vbHRpcHNcclxuXHJcbkBtaXhpbiBhcHB3b3JrLXRvb2x0aXAtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICAudG9vbHRpcC1pbm5lciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gICAgfVxyXG5cclxuICAgICYuYnMtdG9vbHRpcC10b3AgLmFycm93OjpiZWZvcmUsICYuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci10b3AtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XHJcbiAgICAmLmJzLXRvb2x0aXAtcmlnaHQgLmFycm93OjpiZWZvcmUsICYuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIC5hcnJvdzo6YmVmb3JlIHsgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gICAgJi5icy10b29sdGlwLWJvdHRvbSAuYXJyb3c6OmJlZm9yZSwgJi5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIC5hcnJvdzo6YmVmb3JlIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJhY2tncm91bmQ7IH1cclxuICAgICYuYnMtdG9vbHRpcC1sZWZ0IC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC5hcnJvdzo6YmVmb3JlIHsgYm9yZGVyLWxlZnQtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogUG9wb3ZlcnNcclxuXHJcbkBtaXhpbiBhcHB3b3JrLXBvcG92ZXItdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG5cclxuICAgIC5wb3BvdmVyLWhlYWRlciB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSh5aXEoJGJhY2tncm91bmQpLC4yKTtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgLnBvcG92ZXItYm9keSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgID4gLmFycm93OjpiZWZvcmUgeyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XHJcblxyXG4gICAgJi5icy1wb3BvdmVyLXRvcCA+IC5hcnJvdzo6YWZ0ZXIsICYuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSA+IC5hcnJvdzo6YWZ0ZXIgeyBib3JkZXItdG9wLWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gICAgJi5icy1wb3BvdmVyLXJpZ2h0ID4gLmFycm93OjphZnRlciwgJi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwicmlnaHRcIl0gPiAuYXJyb3c6OmFmdGVyIHsgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gICAgJi5icy1wb3BvdmVyLWJvdHRvbSA+IC5hcnJvdzo6YWZ0ZXIsICYuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSA+IC5hcnJvdzo6YWZ0ZXIgeyBib3JkZXItYm90dG9tLWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gICAgJi5icy1wb3BvdmVyLWxlZnQgPiAuYXJyb3c6OmFmdGVyLCAmLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdID4gLmFycm93OjphZnRlciB7IGJvcmRlci1sZWZ0LWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEZvcm0gY29udHJvbHNcclxuXHJcbkBtaXhpbiBhcHB3b3JrLWN1c3RvbS1zZWxlY3Qtc2l6ZSgkc2l6ZSwgJHBhZGRpbmcteCwgJGxpbmUtaGVpZ2h0LCAkZm9udC1zaXplKSB7XHJcbiAgLmN1c3RvbS1zZWxlY3QtI3skc2l6ZX0sXHJcbiAgLmlucHV0LWdyb3VwLSN7JHNpemV9IC5jdXN0b20tc2VsZWN0IHtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRwYWRkaW5nLXggY2VudGVyO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcclxuXHJcbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAmLFxyXG4gICAgICAmW3NpemU9XCIwXCJdOm5vdChbbXVsdGlwbGVdKSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmcteDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0ICRwYWRkaW5nLXggY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJltzaXplPVwiMFwiXTpub3QoW211bHRpcGxlXSkge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1jdXN0b20tY29udHJvbC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwsICRkZWZhdWx0LWJhY2tncm91bmQ6IG51bGwpIHtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBAaWYgJGRlZmF1bHQtYmFja2dyb3VuZCB7XHJcbiAgICAgIC5jdXN0b20tY29udHJvbC1pbnB1dCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWJhY2tncm91bmQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xyXG4gICAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAgICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkYmFja2dyb3VuZCwgLjQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAmLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstY3VzdG9tLWNvbnRyb2wtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstY3VzdG9tLWNvbnRyb2wtdmFyaWFudCgnLmN1c3RvbS1jb250cm9sJywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCwgJGRlZmF1bHQtYmFja2dyb3VuZDogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIEBpZiAkZGVmYXVsdC1iYWNrZ3JvdW5kIHtcclxuICAgICAgLmN1c3RvbS1jb250cm9sLWlucHV0IH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAgIC5jdXN0b20tY29udHJvbC1pbnB1dDphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRlZmF1bHQtYmFja2dyb3VuZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgJi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRldGVybWluYXRlLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkYmFja2dyb3VuZCksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmFja2dyb3VuZCwgLjE1KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWN1c3RvbS1jb250cm9sLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJy5jdXN0b20tY29udHJvbCcsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG59XHJcblxyXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZTogbnVsbCwgJGNvbG9yOiBudWxsLCAkaWNvbjogbnVsbCkge31cclxuXHJcbkBtaXhpbiBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCRwYXJlbnQsICRzdGF0ZSkge1xyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXHJcbiAgICAmLmlzLSN7JHN0YXRlfSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yLCAkaWNvbiwgJGljb24tcnRsKSB7XHJcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgZm9udC1zaXplOiAkZm9ybS1mZWVkYmFjay1mb250LXNpemU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMDAlO1xyXG4gICAgei1pbmRleDogNTtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcclxuICAgIHBhZGRpbmc6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14O1xyXG4gICAgbWFyZ2luLXRvcDogLjFyZW07XHJcbiAgICBmb250LXNpemU6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ7XHJcbiAgICBjb2xvcjogY29sb3IteWlxKCRjb2xvcik7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KTtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5mb3JtLWNvbnRyb2wsIC5jdXN0b20tc2VsZWN0LCAuZm9ybS1jb250cm9sLWZpbGUsIC5jdXN0b20tY29udHJvbC1pbnB1dCcsICRzdGF0ZSkge1xyXG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxyXG4gICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5mb3JtLWNvbnRyb2wsIC5jdXN0b20tc2VsZWN0JywgJHN0YXRlKSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5jdXN0b20tY29udHJvbFtjbGFzc10gLmN1c3RvbS1jb250cm9sLWlucHV0JywgJHN0YXRlKSB7XHJcbiAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRjb2xvciwgLjQpO1xyXG4gICAgfVxyXG5cclxuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0JywgJHN0YXRlKSB7XHJcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZywgJ19DT0xPUl8nLCB5aXEoJGNvbG9yKSksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dCcsICRzdGF0ZSkge1xyXG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgeWlxKCRjb2xvcikpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1maWxlLWlucHV0JywgJHN0YXRlKSB7XHJcbiAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG5cclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gVmFsaWRhdGlvbiBpY29uc1xyXG4gIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xyXG4gICAgLy8gSW5wdXRzXHJcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuZm9ybS1jb250cm9sJywgJHN0YXRlKSB7XHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMykgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMyk7XHJcblxyXG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRpY29uO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRpY29uLXJ0bDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5mb3JtLWNvbnRyb2wtc20nLCAkc3RhdGUpIHtcclxuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyLXNtO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gLyA0KTtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJGlucHV0LWhlaWdodC1pbm5lci1zbTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gLyA0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmZvcm0tY29udHJvbC1sZycsICRzdGF0ZSkge1xyXG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXItbGc7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLWxnfSAvIDIuNSk7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbnB1dC1oZWlnaHQtaW5uZXItbGc7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9IC8gMi41KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFRleHRhcmVhc1xyXG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgndGV4dGFyZWEuZm9ybS1jb250cm9sJywgJHN0YXRlKSB7XHJcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpIHJpZ2h0IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpIGxlZnQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJ3RleHRhcmVhLmZvcm0tY29udHJvbC1zbScsICRzdGF0ZSkge1xyXG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gLyA0KSByaWdodCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gLyA0KTtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gLyA0KSBsZWZ0IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLXNtfSAvIDQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCd0ZXh0YXJlYS5mb3JtLWNvbnRyb2wtbGcnLCAkc3RhdGUpIHtcclxuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9IC8gMi41KSByaWdodCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gLyAyLjUpO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLWxnfSAvIDIuNSkgbGVmdCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gLyAyLjUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ3VzdG9tIHNlbGVjdHNcclxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5jdXN0b20tc2VsZWN0W3NpemU9XCIxXCJdLCAuY3VzdG9tLXNlbGVjdDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSknLCAkc3RhdGUpIHtcclxuICAgICAgJGZvcm0tZmVlZGJhY2staWNvbi1vZmZzZXQ6ICgoJGlucHV0LWhlaWdodC1pbm5lciAtICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCkgLyAzKSArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xyXG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZztcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3IsICRpY29uO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIsIHJpZ2h0ICRmb3JtLWZlZWRiYWNrLWljb24tb2Zmc2V0IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1ydGwsICRpY29uLXJ0bDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIsIGxlZnQgJGZvcm0tZmVlZGJhY2staWNvbi1vZmZzZXQgY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLXNlbGVjdC1zbVtzaXplPVwiMVwiXSwgLmN1c3RvbS1zZWxlY3Qtc206bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pJywgJHN0YXRlKSB7XHJcbiAgICAgICRmb3JtLWZlZWRiYWNrLWljb24tb2Zmc2V0OiAoKCRpbnB1dC1oZWlnaHQtaW5uZXItc20gLSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgpIC8gNCkgKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcclxuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctc207XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtIGNlbnRlciwgcmlnaHQgJGZvcm0tZmVlZGJhY2staWNvbi1vZmZzZXQgY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctc207XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc20gY2VudGVyLCBsZWZ0ICRmb3JtLWZlZWRiYWNrLWljb24tb2Zmc2V0IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1zZWxlY3QtbGdbc2l6ZT1cIjFcIl0sIC5jdXN0b20tc2VsZWN0LWxnOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKScsICRzdGF0ZSkge1xyXG4gICAgICAkZm9ybS1mZWVkYmFjay1pY29uLW9mZnNldDogKCgkaW5wdXQtaGVpZ2h0LWlubmVyLWxnIC0gJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14KSAvIDIpICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XHJcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLWxnO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZyBjZW50ZXIsIHJpZ2h0ICRmb3JtLWZlZWRiYWNrLWljb24tb2Zmc2V0IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLWxnO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnIGNlbnRlciwgbGVmdCAkZm9ybS1mZWVkYmFjay1pY29uLW9mZnNldCBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvciwgJGljb24sICRpY29uLXJ0bCkge1xyXG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGZvbnQtc2l6ZTogJGZvcm0tZmVlZGJhY2stZm9udC1zaXplO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTAwJTtcclxuICAgIHotaW5kZXg6IDU7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXHJcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcclxuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xyXG4gICAgZm9udC1zaXplOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xyXG4gICAgY29sb3I6IGNvbG9yLXlpcSgkY29sb3IpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSk7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuZm9ybS1jb250cm9sLCAuY3VzdG9tLXNlbGVjdCwgLmZvcm0tY29udHJvbC1maWxlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQnLCAkc3RhdGUpIHtcclxuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcclxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuZm9ybS1jb250cm9sLCAuY3VzdG9tLXNlbGVjdCcsICRzdGF0ZSkge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLWNvbnRyb2xbY2xhc3NdIC5jdXN0b20tY29udHJvbC1pbnB1dCcsICRzdGF0ZSkge1xyXG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAuMTUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1jaGVja2JveFtjbGFzc10gLmN1c3RvbS1jb250cm9sLWlucHV0JywgJHN0YXRlKSB7XHJcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsIHlpcSgkY29sb3IpKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5jdXN0b20tcmFkaW9bY2xhc3NdIC5jdXN0b20tY29udHJvbC1pbnB1dCcsICRzdGF0ZSkge1xyXG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5jdXN0b20tZmlsZS1pbnB1dCcsICRzdGF0ZSkge1xyXG4gICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFZhbGlkYXRpb24gaWNvbnNcclxuICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcclxuICAgIC8vIElucHV0c1xyXG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmZvcm0tY29udHJvbCcsICRzdGF0ZSkge1xyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkaWNvbjtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkaWNvbi1ydGw7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGV4dGFyZWFzXHJcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCd0ZXh0YXJlYS5mb3JtLWNvbnRyb2wnLCAkc3RhdGUpIHtcclxuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMykgcmlnaHQ7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMykgbGVmdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgndGV4dGFyZWEuZm9ybS1jb250cm9sLXNtJywgJHN0YXRlKSB7XHJcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLXNtfSAvIDQpIHJpZ2h0O1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLXNtfSAvIDQpIGxlZnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJ3RleHRhcmVhLmZvcm0tY29udHJvbC1sZycsICRzdGF0ZSkge1xyXG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gLyAyLjUpIHJpZ2h0O1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLWxnfSAvIDIuNSkgbGVmdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEN1c3RvbSBzZWxlY3RzXHJcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLXNlbGVjdFtzaXplPVwiMVwiXSwgLmN1c3RvbS1zZWxlY3Q6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pJywgJHN0YXRlKSB7XHJcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tc2VsZWN0LWluZGljYXRvciwgJGljb247XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyLCByaWdodCAxcmVtIGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1ydGwsICRpY29uLXJ0bDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlciwgbGVmdCAxcmVtIGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstY3VzdG9tLWZpbGUtaW5wdXQtdGhlbWUoJGNvbG9yKSB7XHJcbiAgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWZpbGUtaW5wdXQtdGhlbWUoJGNvbG9yKSB7XHJcbiAgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcclxuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgJGNvbG9yIGluc2V0O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtZm9ybS1jb250cm9sLXNpemUoJHNpemUsICRwYWRkaW5nLXkpIHtcclxuICBAaWYgJHNpemUgPT0gJycge1xyXG4gICAgLmZvcm0tY29udHJvbCxcclxuICAgIC5jdXN0b20tc2VsZWN0LFxyXG4gICAgLmN1c3RvbS1maWxlLWxhYmVsLFxyXG4gICAgLmlucHV0LWdyb3VwLXRleHQge1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRwYWRkaW5nLXl9IC0gMXB4KTtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIC5mb3JtLWNvbnRyb2wtI3skc2l6ZX0sXHJcbiAgICAuY3VzdG9tLXNlbGVjdC0jeyRzaXplfSxcclxuICAgIC5pbnB1dC1ncm91cC0jeyRzaXplfSA+IC5mb3JtLWNvbnRyb2wsXHJcbiAgICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gPiAuY3VzdG9tLXNlbGVjdCxcclxuICAgIC5pbnB1dC1ncm91cC0jeyRzaXplfSAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0IHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skcGFkZGluZy15fSAtIDFweCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1mb3JtLWNvbnRyb2wtdGhlbWUoJGNvbG9yKSB7XHJcbiAgLmZvcm0tY29udHJvbDpmb2N1cyxcclxuICAuY3VzdG9tLXNlbGVjdDpmb2N1cyB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWZvcm0tY29udHJvbC10aGVtZSgkY29sb3IpIHtcclxuICAuZm9ybS1jb250cm9sOmZvY3VzLFxyXG4gIC5jdXN0b20tc2VsZWN0OmZvY3VzIHtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcclxuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgJGNvbG9yIGluc2V0O1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFN3aXRjaGVyc1xyXG5cclxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItc2l6ZS1iYXNlKCR3aWR0aCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0LCAkaW5uZXItc3BhY2VyOiAkc3dpdGNoZXItaW5uZXItc3BhY2VyKSB7XHJcbiAgcGFkZGluZy1sZWZ0OiAkd2lkdGg7XHJcbiAgbWluLWhlaWdodDogJGhlaWdodDtcclxuICBmb250LXNpemU6ICRkZXNjcmlwdGlvbi1mb250LXNpemU7XHJcbiAgbGluZS1oZWlnaHQ6ICRkZXNjcmlwdGlvbi1saW5lLWhlaWdodDtcclxuXHJcbiAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAkZGVzY3JpcHRpb24tZm9udC1zaXplICogJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xyXG4gICRkZWx0YTogaWYoJG1hdGVyaWFsLXN0eWxlLCBweC10by1yZW0oY2VpbChyZW0tdG8tcHgoJGhlaWdodCAqIC4xMjUpKSksIDApO1xyXG5cclxuICAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRoZWlnaHQgLSAoJGRlbHRhICogMik7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XHJcbiAgICBsaW5lLWhlaWdodDogJGhlaWdodDtcclxuXHJcbiAgICBAaWYgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkID4gJGhlaWdodCB7XHJcbiAgICAgIHRvcDogKCgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLSAkaGVpZ2h0KSAvIDIpICsgJGRlbHRhO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIHRvcDogMCArICRkZWx0YTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zd2l0Y2hlci1sYWJlbCB7XHJcbiAgICBAaWYgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIDwgJGhlaWdodCB7XHJcbiAgICAgIHRvcDogKCRoZWlnaHQgLSAkbGluZS1oZWlnaHQtY29tcHV0ZWQpIC8gMjtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmFmdGVyIHtcclxuICAgIGxlZnQ6ICR3aWR0aCAtICRoZWlnaHQ7XHJcbiAgfVxyXG5cclxuICAuc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XHJcbiAgICB0b3A6ICRkZWx0YSAqIC0xO1xyXG4gICAgbWFyZ2luOiAkaW5uZXItc3BhY2VyIDAgMCAkaW5uZXItc3BhY2VyO1xyXG4gICAgd2lkdGg6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyICogMjtcclxuICAgIGhlaWdodDogJGhlaWdodCAtICRpbm5lci1zcGFjZXIgKiAyO1xyXG4gIH1cclxuXHJcbiAgLnN3aXRjaGVyLW5vIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRpbm5lci1zcGFjZXI7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyO1xyXG4gIH1cclxuXHJcbiAgLnN3aXRjaGVyLXllcyB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlcjtcclxuICAgIHBhZGRpbmctbGVmdDogJGlubmVyLXNwYWNlcjtcclxuICB9XHJcblxyXG4gIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xyXG4gICAgLnN3aXRjaGVyLWluZGljYXRvcjo6YmVmb3JlIHtcclxuICAgICAgdG9wOiAkZGVsdGEgKiAtMTtcclxuICAgICAgd2lkdGg6ICRoZWlnaHQ7XHJcbiAgICAgIGhlaWdodDogJGhlaWdodDtcclxuICAgIH1cclxuXHJcbiAgICAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmJlZm9yZSB7XHJcbiAgICAgIGxlZnQ6ICR3aWR0aCAtICRoZWlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJHJ0bC1zdXBwb3J0IHtcclxuICAgIFtkaXI9cnRsXSAmIC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvcjo6YWZ0ZXIge1xyXG4gICAgICByaWdodDogJHdpZHRoIC0gJGhlaWdodDtcclxuICAgICAgbGVmdDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogJGlubmVyLXNwYWNlcjtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgW2Rpcj1ydGxdICYgLnN3aXRjaGVyLW5vIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogJGhlaWdodCAtICRpbm5lci1zcGFjZXI7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogJGlubmVyLXNwYWNlcjtcclxuICAgIH1cclxuXHJcbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXIteWVzIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogJGlubmVyLXNwYWNlcjtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlcjtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcclxuICAgICAgW2Rpcj1ydGxdICYgLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yOjpiZWZvcmUge1xyXG4gICAgICAgIHJpZ2h0OiAkd2lkdGggLSAkaGVpZ2h0O1xyXG4gICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLXN3aXRjaGVyLXNpemUoJHNpemUsICR3aWR0aCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0LCAkaW5uZXItc3BhY2VyOiAkc3dpdGNoZXItaW5uZXItc3BhY2VyKSB7XHJcbiAgLnN3aXRjaGVyLSN7JHNpemV9LFxyXG4gIC5mb3JtLWdyb3VwLSN7JHNpemV9IC5zd2l0Y2hlciB7XHJcbiAgICBAaW5jbHVkZSBhcHB3b3JrLXN3aXRjaGVyLXNpemUtYmFzZSgkd2lkdGgsICRoZWlnaHQsICRmb250LXNpemUsICRkZXNjcmlwdGlvbi1mb250LXNpemUsICRkZXNjcmlwdGlvbi1saW5lLWhlaWdodCwgJGlubmVyLXNwYWNlcik7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1zd2l0Y2hlci12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAkc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcnLCAnI3skcGFyZW50fS5zd2l0Y2hlcicpO1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAjeyRzZWxlY3Rvcn0gLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gICN7JHNlbGVjdG9yfSAuc3dpdGNoZXItaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGJhY2tncm91bmQsIC40KTtcclxuICB9XHJcblxyXG4gICN7JHNlbGVjdG9yfSAuc3dpdGNoZXItaW5wdXQ6YWN0aXZlIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstc3dpdGNoZXItdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLXN3aXRjaGVyLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQpIHtcclxuICAkc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcnLCAnI3skcGFyZW50fS5zd2l0Y2hlcicpO1xyXG5cclxuICAjeyRzZWxlY3Rvcn0gLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoJGJhY2tncm91bmQsIC41KTtcclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgfVxyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJhY2tncm91bmQsIC4xNSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1zd2l0Y2hlci10aGVtZSgkYmFja2dyb3VuZCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtc3dpdGNoZXItdmFyaWFudCgnJywgJGJhY2tncm91bmQpO1xyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1zd2l0Y2hlci12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XHJcbiAgLnN3aXRjaGVyLWlucHV0W2NsYXNzXSB7XHJcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcclxuICAgICYuaXMtI3skc3RhdGV9IHtcclxuICAgICAgJjpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgICAgIGNvbG9yOiB5aXEoJGNvbG9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpmb2N1cyB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGNvbG9yLCAuNCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6YWN0aXZlIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgfiAuc3dpdGNoZXItbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcclxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1zd2l0Y2hlci12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XHJcbiAgLnN3aXRjaGVyLWlucHV0W2NsYXNzXSB7XHJcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcclxuICAgICYuaXMtI3skc3RhdGV9IHtcclxuICAgICAgfiAuc3dpdGNoZXItaW5kaWNhdG9yW2NsYXNzXSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsIC41KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAuMTUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgfiAuc3dpdGNoZXItbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBUYWJsZXNcclxuXHJcbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkYm9yZGVyOiBudWxsKSB7fVxyXG5cclxuQG1peGluIGFwcHdvcmstdGFibGUtcm93LXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQpIHtcclxuICAkYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC4xKSwgI2ZmZik7XHJcbiAgJGNvbG9yOiB5aXEoJGJnKTtcclxuICAkaG92ZXItYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJnLCAuOTkpLCAjMDAwKTtcclxuXHJcbiAgLnRhYmxlICN7JHBhcmVudH0sXHJcbiAgLnRhYmxlICN7JHBhcmVudH0gPiB0aCxcclxuICAudGFibGUgI3skcGFyZW50fSA+IHRkIHtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwuMDM1KSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gIC50YWJsZS1ob3ZlciAjeyRwYXJlbnR9OmhvdmVyLFxyXG4gIC50YWJsZS1ob3ZlciAjeyRwYXJlbnR9OmhvdmVyID4gdGQsXHJcbiAgLnRhYmxlLWhvdmVyICN7JHBhcmVudH06aG92ZXIgPiB0aCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmc7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTmF2YmFyXHJcblxyXG5AbWl4aW4gYXBwd29yay1uYXZiYXItdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogbnVsbCwgJGFjdGl2ZS1jb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCkge1xyXG4gICRjb2xvcnM6IGdldC1uYXYtY29sb3JzKCRiZywgJGFjdGl2ZS1jb2xvciwgJGNvbG9yLCAkYm9yZGVyKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJnKSAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG5cclxuICAgIC5uYXZiYXItYnJhbmQge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG5cclxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLW5hdiB7XHJcbiAgICAgIC5uYXYtbGluayB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBkaXNhYmxlZC1jb2xvcikgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zaG93ID4gLm5hdi1saW5rLFxyXG4gICAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxyXG4gICAgICAubmF2LWxpbmsuc2hvdyxcclxuICAgICAgLm5hdi1saW5rLmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItdG9nZ2xlciB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci10b2dnbGVyLWljb24ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpZihtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcikgPT0gI2ZmZiwgJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZywgJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmcpO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItdGV4dCB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaHIge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBTaWRlbmF2XHJcblxyXG5AbWl4aW4gYXBwd29yay1zaWRlbmF2LXZhcmlhbnQoJHBhcmVudCwgJGJnLCAkY29sb3I6IG51bGwsICRhY3RpdmUtY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwsICRtZW51LWJnOiBudWxsKSB7XHJcbiAgJGNvbG9yczogZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yLCAkY29sb3IsICRib3JkZXIpO1xyXG4gICR5aXEtcGVyY2VudDogbWFwLWdldCgkY29sb3JzLCB5aXEtcGVyY2VudCk7XHJcblxyXG4gIEBpZiBub3QgJG1lbnUtYmcge1xyXG4gICAgJG1lbnUtYmc6IHJnYmEtdG8taGV4KHJnYmEobWFwLWdldCgkY29sb3JzLCBiZyksIDEgLSBpZigkeWlxLXBlcmNlbnQgPiAuNzUsIC4wMjUsIC4wNSkpLCBpZigkeWlxLXBlcmNlbnQgPCAuMjUsICNmZmYsICMwMDApKTtcclxuICB9XHJcblxyXG4gICRtZW51LWFjdGl2ZS1iZzogcmdiYS10by1oZXgocmdiYSgkbWVudS1iZywgMSAtIGlmKCR5aXEtcGVyY2VudCA+IC43NSwgLjAyNSwgLjA1KSksIGlmKCR5aXEtcGVyY2VudCA8IC4yNSwgI2ZmZiwgIzAwMCkpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmcpICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XHJcblxyXG4gICAgLnNpZGVuYXYtbGluayxcclxuICAgIC5zaWRlbmF2LWhvcml6b250YWwtcHJldixcclxuICAgIC5zaWRlbmF2LWhvcml6b250YWwtbmV4dCB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWl0ZW0uZGlzYWJsZWQgLnNpZGVuYXYtbGluayxcclxuICAgIC5zaWRlbmF2LWhvcml6b250YWwtcHJldi5kaXNhYmxlZCxcclxuICAgIC5zaWRlbmF2LWhvcml6b250YWwtbmV4dC5kaXNhYmxlZCB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGRpc2FibGVkLWNvbG9yKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWl0ZW0ub3Blbjpub3QoLnNpZGVuYXYtaXRlbS1jbG9zaW5nKSA+IC5zaWRlbmF2LXRvZ2dsZSxcclxuICAgIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluayB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rOm5vdCguc2lkZW5hdi10b2dnbGUpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lbnUtYmc7XHJcbiAgICB9XHJcblxyXG4gICAgJi5zaWRlbmF2LWhvcml6b250YWwgLnNpZGVuYXYtbWVudSA+IC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazpub3QoLnNpZGVuYXYtdG9nZ2xlKSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZW51LWFjdGl2ZS1iZztcclxuICAgIH1cclxuXHJcbiAgICAmLnNpZGVuYXYtaG9yaXpvbnRhbCAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW06bm90KC5zaWRlbmF2LWl0ZW0tY2xvc2luZykgPiAuc2lkZW5hdi1tZW51LFxyXG4gICAgJi5zaWRlbmF2LWhvcml6b250YWwgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gPiAuc2lkZW5hdi10b2dnbGUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkbWVudS1iZztcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0uc2lkZW5hdi1pdGVtLWNsb3NpbmcgLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LW1lbnUsXHJcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0uc2lkZW5hdi1pdGVtLWNsb3NpbmcgLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LXRvZ2dsZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtdGV4dCB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaGVhZGVyIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgbXV0ZWQtY29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIGhyLFxyXG4gICAgLnNpZGVuYXYtZGl2aWRlcixcclxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtbWVudTo6YmVmb3JlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcikgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWhlYWRlcjo6YmVmb3JlLFxyXG4gICAgLnNpZGVuYXYtYmxvY2s6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1pdGVtLm9wZW4gPiAuc2lkZW5hdi10b2dnbGU6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEtdG8taGV4KG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKSwgJG1lbnUtYmcpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZTo6YmVmb3JlLFxyXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rOjpiZWZvcmUge1xyXG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJG1lbnUtYmc7XHJcbiAgICB9XHJcblxyXG4gICAgLnBzX190aHVtYi15LFxyXG4gICAgLnBzX19yYWlsLXkucHMtLWNsaWNraW5nID4gLnBzX190aHVtYi15IHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYShtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvciksIGlmKCR5aXEtcGVyY2VudCA+IC43NSwgbWFwLWdldCgkY29sb3JzLCBvcGFjaXR5KSAtIC40LCBtYXAtZ2V0KCRjb2xvcnMsIG9wYWNpdHkpIC0gLjIpKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEZvb3RlclxyXG5cclxuQG1peGluIGFwcHdvcmstZm9vdGVyLXZhcmlhbnQoJHBhcmVudCwgJGJnLCAkY29sb3I6IG51bGwsICRhY3RpdmUtY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwpIHtcclxuICAkY29sb3JzOiBnZXQtbmF2LWNvbG9ycygkYmcsICRhY3RpdmUtY29sb3IsICRjb2xvciwgJGJvcmRlcik7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBiZykgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuXHJcbiAgICAuZm9vdGVyLWxpbmsge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XHJcblxyXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgZGlzYWJsZWQtY29sb3IpICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZm9vdGVyLXRleHQge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaG93ID4gLmZvb3Rlci1saW5rLFxyXG4gICAgLmFjdGl2ZSA+IC5mb290ZXItbGluayxcclxuICAgIC5mb290ZXItbGluay5zaG93LFxyXG4gICAgLmZvb3Rlci1saW5rLmFjdGl2ZSB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgaHIge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLXRvYXN0LXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAjeyRwYXJlbnR9LmJzNC10b2FzdCB7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmFja2dyb3VuZCwgLjkpICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgLnRvYXN0LWhlYWRlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAuMSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay10b2FzdC10aGVtZSgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay10b2FzdC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG59XHJcbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gVGhlbWUgbWl4aW5cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWNvbW1vbi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1wcmltYXJ5JywgJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1wcmltYXJ5JywgJGJhY2tncm91bmQpO1xyXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmJvcmRlci1wcmltYXJ5LCBodG1sW2Rpcj1ydGxdIC5ib3JkZXItcHJpbWFyeSB7IGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDsgfVxyXG4gIEBpbmNsdWRlIGFwcHdvcmstYmFkZ2UtdmFyaWFudCgnLmJhZGdlLXByaW1hcnknLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWJhZGdlLW91dGxpbmUtdmFyaWFudCgnLmJhZGdlLW91dGxpbmUtcHJpbWFyeScsICRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLXBhZ2luYXRpb24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1wcm9ncmVzcy1iYXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1saXN0LWdyb3VwLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstYWxlcnQtdmFyaWFudCgnLmFsZXJ0LXByaW1hcnknLCAkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1hbGVydC1kYXJrLXZhcmlhbnQoJy5hbGVydC1kYXJrLXByaW1hcnknLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLXRvb2x0aXAtdmFyaWFudCgnLnRvb2x0aXAtcHJpbWFyeSwgLnRvb2x0aXAtcHJpbWFyeSA+IC50b29sdGlwLCAubmdiLXRvb2x0aXAtcHJpbWFyeSArIG5nYi10b29sdGlwLXdpbmRvdycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstcG9wb3Zlci12YXJpYW50KCcucG9wb3Zlci1wcmltYXJ5LCAucG9wb3Zlci1wcmltYXJ5ID4gLnBvcG92ZXIsIC5uZ2ItcG9wb3Zlci1wcmltYXJ5ICsgbmdiLXBvcG92ZXItd2luZG93JywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay10YWJsZS1yb3ctdmFyaWFudCgnLnRhYmxlLXByaW1hcnknLCAkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1idXR0b24tdmFyaWFudCgnLmJ0bi1wcmltYXJ5JywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1idXR0b24tb3V0bGluZS12YXJpYW50KCcuYnRuLW91dGxpbmUtcHJpbWFyeScsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstZHJvcGRvd24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1uYXYtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1jdXN0b20tY29udHJvbC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWN1c3RvbS1maWxlLWlucHV0LXRoZW1lKCRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWZvcm0tY29udHJvbC10aGVtZSgkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1zd2l0Y2hlci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW5hdmJhci12YXJpYW50KCcubmF2YmFyLmJnLXByaW1hcnknLCAkcHJpbWFyeS1jb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1zaWRlbmF2LXZhcmlhbnQoJy5zaWRlbmF2LmJnLXByaW1hcnknLCAkcHJpbWFyeS1jb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1mb290ZXItdmFyaWFudCgnLmZvb3Rlci5iZy1wcmltYXJ5JywgJHByaW1hcnktY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstdG9hc3QtdGhlbWUoJy5iZy1wcmltYXJ5JywgJHByaW1hcnktY29sb3IsICRjb2xvcik7XHJcbiAgLmZpbGwtcHJpbWFyeSB7IGZpbGw6ICRiYWNrZ3JvdW5kIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstY29tbW9uLW1hdGVyaWFsLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LXByaW1hcnknLCAkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLXByaW1hcnknLCAkYmFja2dyb3VuZCk7XHJcbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYm9yZGVyLXByaW1hcnksIGh0bWxbZGlyPXJ0bF0gLmJvcmRlci1wcmltYXJ5IHsgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50OyB9XHJcbiAgQGluY2x1ZGUgYXBwd29yay1iYWRnZS12YXJpYW50KCcuYmFkZ2UtcHJpbWFyeScsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstYmFkZ2Utb3V0bGluZS12YXJpYW50KCcuYmFkZ2Utb3V0bGluZS1wcmltYXJ5JywgJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstcGFnaW5hdGlvbi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLXByb2dyZXNzLWJhci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWxpc3QtZ3JvdXAtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1hbGVydC12YXJpYW50KCcuYWxlcnQtcHJpbWFyeScsICRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWFsZXJ0LWRhcmstdmFyaWFudCgnLmFsZXJ0LWRhcmstcHJpbWFyeScsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstdG9vbHRpcC12YXJpYW50KCcudG9vbHRpcC1wcmltYXJ5LCAudG9vbHRpcC1wcmltYXJ5ID4gLnRvb2x0aXAsIC5uZ2ItdG9vbHRpcC1wcmltYXJ5ICsgbmdiLXRvb2x0aXAtd2luZG93JywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1wb3BvdmVyLXZhcmlhbnQoJy5wb3BvdmVyLXByaW1hcnksIC5wb3BvdmVyLXByaW1hcnkgPiAucG9wb3ZlciwgLm5nYi1wb3BvdmVyLXByaW1hcnkgKyBuZ2ItcG9wb3Zlci13aW5kb3cnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLXRhYmxlLXJvdy12YXJpYW50KCcudGFibGUtcHJpbWFyeScsICRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWJ1dHRvbi12YXJpYW50KCcuYnRuLXByaW1hcnknLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJy5idG4tb3V0bGluZS1wcmltYXJ5JywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1kcm9wZG93bi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLW5hdi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWN1c3RvbS1jb250cm9sLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWZpbGUtaW5wdXQtdGhlbWUoJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtZm9ybS1jb250cm9sLXRoZW1lKCRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLXN3aXRjaGVyLXRoZW1lKCRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW5hdmJhci12YXJpYW50KCcubmF2YmFyLmJnLXByaW1hcnknLCAkcHJpbWFyeS1jb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1zaWRlbmF2LXZhcmlhbnQoJy5zaWRlbmF2LmJnLXByaW1hcnknLCAkcHJpbWFyeS1jb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1mb290ZXItdmFyaWFudCgnLmZvb3Rlci5iZy1wcmltYXJ5JywgJHByaW1hcnktY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstdG9hc3QtdGhlbWUoJy5iZy1wcmltYXJ5JywgJHByaW1hcnktY29sb3IsICRjb2xvcik7XHJcbiAgLmZpbGwtcHJpbWFyeSB7IGZpbGw6ICRiYWNrZ3JvdW5kIH1cclxufVxyXG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIEltcG9ydHNcclxuXHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL2Jvb3RzdHJhcC1zbGlkZXIvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL25vdWlzbGlkZXIvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL3NlbGVjdDIvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL2Jvb3RzdHJhcC10YWdzaW5wdXQvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL2Jvb3RzdHJhcC1zZWxlY3QvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL2Jvb3RzdHJhcC1kYXRlcGlja2VyL21peGluc1wiO1xyXG5AaW1wb3J0IFwiLi4vLi4vbGlicy9mbGF0cGlja3IvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL2Jvb3RzdHJhcC1kYXRlcmFuZ2VwaWNrZXIvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL2Jvb3RzdHJhcC1tYXRlcmlhbC1kYXRldGltZXBpY2tlci9taXhpbnNcIjtcclxuQGltcG9ydCBcIi4uLy4uL2xpYnMvdGltZXBpY2tlci9taXhpbnNcIjtcclxuQGltcG9ydCBcIi4uLy4uL2xpYnMvZ3Jvd2wvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL2Jvb3RzdHJhcC1tYXJrZG93bi9taXhpbnNcIjtcclxuQGltcG9ydCBcIi4uLy4uL2xpYnMvcXVpbGwvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL3R5cGVhaGVhZC1qcy9taXhpbnNcIjtcclxuQGltcG9ydCBcIi4uLy4uL2xpYnMvZHJvcHpvbmUvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL3N3aXBlci9taXhpbnNcIjtcclxuQGltcG9ydCBcIi4uLy4uL2xpYnMvc3BpbmtpdC9taXhpbnNcIjtcclxuQGltcG9ydCBcIi4uLy4uL2xpYnMvc21hcnR3aXphcmQvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL3BseXIvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL2Z1bGxjYWxlbmRhci9taXhpbnNcIjtcclxuQGltcG9ydCBcIi4uLy4uL2xpYnMvc3dlZXRhbGVydDIvbWl4aW5zXCI7XHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFRoZW1lIG1peGluXHJcblxyXG5AbWl4aW4gYXBwd29yay1saWJzLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBicy1zbGlkZXItdGhlbWUoJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIG5vdWlzbGlkZXItdGhlbWUoJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIHNlbGVjdDItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYnMtdGFnc2lucHV0LXRoZW1lKCRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBicy1zZWxlY3QtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYnMtZGF0ZXBpY2tlci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBmbGF0cGlja3ItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYnMtZGF0ZXJhbmdlcGlja2VyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGJzLW1hdGVyaWFsLWRhdGV0aW1lcGlja2VyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIHRpbWVwaWNrZXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgZ3Jvd2wtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYnMtbWFya2Rvd24tdGhlbWUoJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIHF1aWxsLXRoZW1lKCRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSB0eXBlYWhlYWQtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgZHJvcHpvbmUtdGhlbWUoJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIHN3aXBlci10aGVtZSgkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgc3BpbmtpdC10aGVtZSgkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgc21hcnR3aXphcmQtdGhlbWUoJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIHBseXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgZnVsbGNhbGVuZGFyLXRoZW1lKCRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBzd2VldGFsZXJ0Mi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbGlicy1tYXRlcmlhbC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgbWF0ZXJpYWwtYnMtc2xpZGVyLXRoZW1lKCRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBtYXRlcmlhbC1ub3Vpc2xpZGVyLXRoZW1lKCRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBtYXRlcmlhbC1zZWxlY3QyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIG1hdGVyaWFsLWJzLXRhZ3NpbnB1dC10aGVtZSgkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgYnMtc2VsZWN0LXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGJzLWRhdGVwaWNrZXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgZmxhdHBpY2tyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGJzLWRhdGVyYW5nZXBpY2tlci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBicy1tYXRlcmlhbC1kYXRldGltZXBpY2tlci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSB0aW1lcGlja2VyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGdyb3dsLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGJzLW1hcmtkb3duLXRoZW1lKCRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBxdWlsbC10aGVtZSgkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgdHlwZWFoZWFkLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGRyb3B6b25lLXRoZW1lKCRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBzd2lwZXItdGhlbWUoJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIHNwaW5raXQtdGhlbWUoJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIHNtYXJ0d2l6YXJkLXRoZW1lKCRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBwbHlyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGZ1bGxjYWxlbmRhci10aGVtZSgkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgc3dlZXRhbGVydDItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbn1cclxuIiwiQG1peGluIGJzLXNsaWRlci12YXJpYW50KCRiYWNrZ3JvdW5kKSB7XHJcbiAgLnNsaWRlci1zZWxlY3Rpb24sXHJcbiAgLnNsaWRlci1yZXZlcnNlZCAuc2xpZGVyLXRyYWNrLWhpZ2gsXHJcbiAgJi5zbGlkZXItcmV2ZXJzZWQgLnNsaWRlci10cmFjay1oaWdoIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1hdGVyaWFsLWJzLXNsaWRlci12YXJpYW50KCRiYWNrZ3JvdW5kKSB7XHJcbiAgLnNsaWRlci1oYW5kbGUge1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLnNsaWRlci1oYW5kbGUsXHJcbiAgLnNsaWRlci1zZWxlY3Rpb24sXHJcbiAgLnNsaWRlci1yZXZlcnNlZCAuc2xpZGVyLXRyYWNrLWhpZ2gsXHJcbiAgJi5zbGlkZXItcmV2ZXJzZWQgLnNsaWRlci10cmFjay1oaWdoIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGJzLXNsaWRlci10aGVtZSgkYmFja2dyb3VuZCkge1xyXG4gIC5zbGlkZXItcHJpbWFyeSB7XHJcbiAgICBAaW5jbHVkZSBicy1zbGlkZXItdmFyaWFudCgkYmFja2dyb3VuZCk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF0ZXJpYWwtYnMtc2xpZGVyLXRoZW1lKCRiYWNrZ3JvdW5kKSB7XHJcbiAgLnNsaWRlci1wcmltYXJ5IHtcclxuICAgIEBpbmNsdWRlIG1hdGVyaWFsLWJzLXNsaWRlci12YXJpYW50KCRiYWNrZ3JvdW5kKTtcclxuICB9XHJcbn1cclxuIiwiQG1peGluIG5vdWlzbGlkZXItdmFyaWFudCgkYmFja2dyb3VuZCkge1xyXG4gIC5ub1VpLWNvbm5lY3QgeyBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDsgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF0ZXJpYWwtbm91aXNsaWRlci12YXJpYW50KCRiYWNrZ3JvdW5kKSB7XHJcbiAgLm5vVWktY29ubmVjdCB7IGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kOyB9XHJcbn1cclxuXHJcbkBtaXhpbiBub3Vpc2xpZGVyLXRoZW1lKCRiYWNrZ3JvdW5kKSB7XHJcbiAgLm5vVWktcHJpbWFyeSAubm9VaS1iYXNlIHtcclxuICAgIC5ub1VpLWNvbm5lY3QgeyBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50OyB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF0ZXJpYWwtbm91aXNsaWRlci10aGVtZSgkYmFja2dyb3VuZCkge1xyXG4gIC5ub1VpLXByaW1hcnkgLm5vVWktYmFzZSB7XHJcbiAgICAubm9VaS1oYW5kbGUge1xyXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm5vVWktY29ubmVjdCB7IGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7IH1cclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uL2Nzcy9fYXBwd29yay9mdW5jdGlvbnNcIjtcclxuXHJcbkBtaXhpbiBzZWxlY3QyLXZhcmlhbnQoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gc2VsZWN0Mi12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGJvcmRlcikge1xyXG4gIC5pcy0jeyRzdGF0ZX0gLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbixcclxuICAuaXMtI3skc3RhdGV9LnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbiAge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHNlbGVjdDItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAuZGVmYXVsdC1zdHlsZSAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQge1xyXG4gICAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZFthcmlhLXNlbGVjdGVkXSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAmLnNlbGVjdDItY29udGFpbmVyLS1mb2N1cyAuc2VsZWN0Mi1zZWxlY3Rpb24sXHJcbiAgICAmLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbiB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kZWZhdWx0LXN0eWxlIC5zZWxlY3QyLXByaW1hcnkge1xyXG4gICAgQGluY2x1ZGUgc2VsZWN0Mi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1hdGVyaWFsLXNlbGVjdDItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAubWF0ZXJpYWwtc3R5bGUgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHtcclxuICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbYXJpYS1zZWxlY3RlZF0ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5zZWxlY3QyLWNvbnRhaW5lci0tZm9jdXM6bm90KC5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQpIC5zZWxlY3QyLXNlbGVjdGlvbixcclxuICAgICYuc2VsZWN0Mi1jb250YWluZXItLW9wZW46bm90KC5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQpIC5zZWxlY3QyLXNlbGVjdGlvbiB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkYmFja2dyb3VuZCBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm1hdGVyaWFsLXN0eWxlIC5zZWxlY3QyLXByaW1hcnkge1xyXG4gICAgQGluY2x1ZGUgc2VsZWN0Mi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gYnMtdGFnc2lucHV0LXRoZW1lKCRib3JkZXIpIHtcclxuICAuYm9vdHN0cmFwLXRhZ3NpbnB1dC5mb2N1cyB7XHJcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXIgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXRlcmlhbC1icy10YWdzaW5wdXQtdGhlbWUoJGJvcmRlcikge1xyXG4gIC5ib290c3RyYXAtdGFnc2lucHV0LmZvY3VzIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlciAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkYm9yZGVyIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYmctdGFnc2lucHV0LXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkYm9yZGVyKSB7XHJcbiAgLmlzLSN7JHN0YXRlfS5ib290c3RyYXAtdGFnc2lucHV0LFxyXG4gIC5pcy0jeyRzdGF0ZX0gLmJvb3RzdHJhcC10YWdzaW5wdXQge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vY3NzL19hcHB3b3JrL2Z1bmN0aW9uc1wiO1xyXG5cclxuQG1peGluIGJzLXNlbGVjdC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gIC5ib290c3RyYXAtc2VsZWN0IC5kcm9wZG93bi1tZW51LmlubmVyIGFbYXJpYS1zZWxlY3RlZD10cnVlXSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vY3NzL19hcHB3b3JrL2Z1bmN0aW9uc1wiO1xyXG5cclxuQG1peGluIGJzLWRhdGVwaWNrZXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gICRyYW5nZS1iZzogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjE1KSwgI2ZmZik7XHJcbiAgJHJhbmdlLWNvbG9yOiB5aXEoJHJhbmdlLWJnKTtcclxuXHJcbiAgLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQge1xyXG4gICAgJi5hY3RpdmUsXHJcbiAgICAmLmFjdGl2ZS5oaWdobGlnaHRlZCxcclxuICAgICYuYWN0aXZlLnRvZGF5LFxyXG4gICAgc3Bhbi5hY3RpdmUsXHJcbiAgICBzcGFuLmFjdGl2ZS5kaXNhYmxlZCxcclxuICAgICYucmFuZ2Utc3RhcnQsXHJcbiAgICAmLnJhbmdlLWVuZCB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAmLnJhbmdlLFxyXG4gICAgJi5yYW5nZS5oaWdobGlnaHRlZCxcclxuICAgICYucmFuZ2UudG9kYXkge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkcmFuZ2UtYmcgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICRyYW5nZS1jb2xvciAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgJi5mb2N1c2VkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJHJhbmdlLWJnLCA2JSkgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJHJhbmdlLWJnLCAuNSkgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnRpemUoJHJhbmdlLWNvbG9yLCAuNSkgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vY3NzL19hcHB3b3JrL2Z1bmN0aW9uc1wiO1xyXG5cclxuQG1peGluIGZsYXRwaWNrci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgJGluLXJhbmdlLWJnOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuMTUpLCAjZmZmKTtcclxuICAkaW4tcmFuZ2UtY29sb3I6IHlpcSgkaW4tcmFuZ2UtYmcpO1xyXG5cclxuICAuZmxhdHBpY2tyLWNhbGVuZGFyIC5udW1JbnB1dFdyYXBwZXIgc3BhbiB7XHJcbiAgICAmLmFycm93VXA6YWZ0ZXIge1xyXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgJi5hcnJvd0Rvd246YWZ0ZXIge1xyXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZmxhdHBpY2tyLW1vbnRoLFxyXG4gIHNwYW4uZmxhdHBpY2tyLXdlZWtkYXkge1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgZmlsbDogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLmZsYXRwaWNrci13ZWVrZGF5cyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICB9XHJcblxyXG4gIC5mbGF0cGlja3ItZGF5IHtcclxuICAgICYudG9kYXkge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgfVxyXG5cclxuICAgICYuaW5SYW5nZSxcclxuICAgICYucHJldk1vbnRoRGF5LmluUmFuZ2UsXHJcbiAgICAmLm5leHRNb250aERheS5pblJhbmdlLFxyXG4gICAgJi50b2RheS5pblJhbmdlLFxyXG4gICAgJi5wcmV2TW9udGhEYXkudG9kYXkuaW5SYW5nZSxcclxuICAgICYubmV4dE1vbnRoRGF5LnRvZGF5LmluUmFuZ2Uge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRpbi1yYW5nZS1iZyAhaW1wb3J0YW50O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkaW4tcmFuZ2UtYmcgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICRpbi1yYW5nZS1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgICYuc2VsZWN0ZWQsXHJcbiAgICAmLnN0YXJ0UmFuZ2UsXHJcbiAgICAmLmVuZFJhbmdlLFxyXG4gICAgJi5zZWxlY3RlZC5pblJhbmdlLFxyXG4gICAgJi5zdGFydFJhbmdlLmluUmFuZ2UsXHJcbiAgICAmLmVuZFJhbmdlLmluUmFuZ2UsXHJcbiAgICAmLnNlbGVjdGVkOmZvY3VzLFxyXG4gICAgJi5zdGFydFJhbmdlOmZvY3VzLFxyXG4gICAgJi5lbmRSYW5nZTpmb2N1cyxcclxuICAgICYuc2VsZWN0ZWQ6aG92ZXIsXHJcbiAgICAmLnN0YXJ0UmFuZ2U6aG92ZXIsXHJcbiAgICAmLmVuZFJhbmdlOmhvdmVyLFxyXG4gICAgJi5zZWxlY3RlZC5wcmV2TW9udGhEYXksXHJcbiAgICAmLnN0YXJ0UmFuZ2UucHJldk1vbnRoRGF5LFxyXG4gICAgJi5lbmRSYW5nZS5wcmV2TW9udGhEYXksXHJcbiAgICAmLnNlbGVjdGVkLm5leHRNb250aERheSxcclxuICAgICYuc3RhcnRSYW5nZS5uZXh0TW9udGhEYXksXHJcbiAgICAmLmVuZFJhbmdlLm5leHRNb250aERheSxcclxuICAgICYud2Vlay5zZWxlY3RlZCB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vY3NzL19hcHB3b3JrL2Z1bmN0aW9uc1wiO1xyXG5cclxuQG1peGluIGJzLWRhdGVyYW5nZXBpY2tlci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgJGhpZ2xpZ2h0ZWQtYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC4xNSksICNmZmYpO1xyXG4gICRoaWdsaWdodGVkLWNvbG9yOiB5aXEoJGhpZ2xpZ2h0ZWQtYmcpO1xyXG5cclxuICAuZGF0ZXJhbmdlcGlja2VyIHRkLmFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmRhdGVyYW5nZXBpY2tlciB0ZC5pbi1yYW5nZTpub3QoLnN0YXJ0LWRhdGUpOm5vdCguZW5kLWRhdGUpOm5vdCgub2ZmKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGlnbGlnaHRlZC1iZyAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRoaWdsaWdodGVkLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuZGF0ZXJhbmdlcGlja2VyIC5pbnB1dC1taW5pLmFjdGl2ZSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAucmFuZ2VzIGxpLmFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vY3NzL19hcHB3b3JrL2Z1bmN0aW9uc1wiO1xyXG5cclxuQG1peGluIGJzLW1hdGVyaWFsLWRhdGV0aW1lcGlja2VyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgLmR0cC1kYXRlLFxyXG4gIC5kdHAtdGltZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICAuZHRwLWNsb3NlID4gYSB7IGNvbG9yOiAkY29sb3I7IH1cclxuXHJcbiAgaGVhZGVyLmR0cC1oZWFkZXIge1xyXG4gICAgYmFja2dyb3VuZDogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjg1KSwgJGJhY2tncm91bmQ6ICMwMDApO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gIHRhYmxlLmR0cC1waWNrZXItZGF5cyB0ciA+IHRkID4gYS5zZWxlY3RlZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5kdHAtYWN0dWFsLW1lcmlkaWVuIGEuc2VsZWN0ZWQge1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5kdHAgLnllYXItcGlja2VyLWl0ZW0ge1xyXG4gICAgJjpob3ZlciB7IGNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gICAgJi5hY3RpdmUgeyBjb2xvcjogJGJhY2tncm91bmQ7IH1cclxuICB9XHJcblxyXG4gIC5kdHAgLnN2Zy1jbG9jayBbc3Ryb2tlPVwiIzhCQzM0QVwiXSB7IHN0cm9rZTogJGJhY2tncm91bmQgIWltcG9ydGFudDsgfVxyXG4gIC5kdHAgLnN2Zy1jbG9jayBbZmlsbD1cIiM4QkMzNEFcIl0geyBmaWxsOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50OyB9XHJcbiAgLmR0cCAuc3ZnLWNsb2NrIFtmaWxsPVwiI2ZmZlwiXSB7IGZpbGw6ICRjb2xvciAhaW1wb3J0YW50OyB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uL2Nzcy9fYXBwd29yay9mdW5jdGlvbnNcIjtcclxuXHJcbkBtaXhpbiB0aW1lcGlja2VyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgbGkudWktdGltZXBpY2tlci1zZWxlY3RlZCxcclxuICAudWktdGltZXBpY2tlci1saXN0IC51aS10aW1lcGlja2VyLXNlbGVjdGVkOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi9jc3MvX2FwcHdvcmsvZnVuY3Rpb25zXCI7XHJcblxyXG5AbWl4aW4gZ3Jvd2wtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAuZ3Jvd2wtZGVmYXVsdCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gYnMtbWFya2Rvd24tdGhlbWUoJGJvcmRlcikge1xyXG4gIC5tZC1lZGl0b3IuYWN0aXZlIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlciAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gcXVpbGwtZ2VuZXJhdGUtbGlzdHMoJGluZGVudCkge1xyXG4gICRxdWlsbC1saXN0LXR5cGVzOiAoXHJcbiAgICAxOiBsb3dlci1hbHBoYSxcclxuICAgIDI6IGxvd2VyLXJvbWFuLFxyXG4gICAgMzogZGVjaW1hbCxcclxuICAgIDQ6IGxvd2VyLWFscGhhLFxyXG4gICAgNTogbG93ZXItcm9tYW4sXHJcbiAgICA2OiBkZWNpbWFsLFxyXG4gICAgNzogbG93ZXItYWxwaGEsXHJcbiAgICA4OiBsb3dlci1yb21hbixcclxuICAgIDk6IGRlY2ltYWxcclxuICApO1xyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDkge1xyXG4gICAgb2wgbGkucWwtaW5kZW50LSN7JGl9IHtcclxuICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGxpc3QtI3skaX07XHJcblxyXG4gICAgICBAaWYgJGkgPCA5IHtcclxuICAgICAgICAkbGlzdHM6ICcnO1xyXG5cclxuICAgICAgICBAZm9yICRsIGZyb20gJGkgKyAxIHRocm91Z2ggOSB7XHJcbiAgICAgICAgICAkbGlzdHM6IFwiI3skbGlzdHN9IGxpc3QtI3skbH1cIjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvdW50ZXItcmVzZXQ6ICN7JGxpc3RzfTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBjb3VudGVyKGxpc3QtI3skaX0sIG1hcC1nZXQoJHF1aWxsLWxpc3QtdHlwZXMsICRpKSkgJy4gJztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5xbC1pbmRlbnQtI3skaX06bm90KC5xbC1kaXJlY3Rpb24tcnRsKSB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogJGluZGVudCAqICRpO1xyXG5cclxuICAgICAgW2Rpcj1ydGxdICYge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbmRlbnQgKiAkaTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGxpLnFsLWluZGVudC0jeyRpfTpub3QoLnFsLWRpcmVjdGlvbi1ydGwpIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAkaW5kZW50ICogKCRpICsgMSk7XHJcblxyXG4gICAgICBbZGlyPXJ0bF0gJiB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGluZGVudCAqICgkaSArIDEpO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnFsLWluZGVudC0jeyRpfS5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0IHtcclxuICAgICAgcGFkZGluZy1yaWdodDogJGluZGVudCAqICRpO1xyXG5cclxuICAgICAgW2Rpcj1ydGxdICYge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkaW5kZW50ICogJGk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGxpLnFsLWluZGVudC0jeyRpfS5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0IHtcclxuICAgICAgcGFkZGluZy1yaWdodDogJGluZGVudCAqICgkaSArIDEpO1xyXG5cclxuICAgICAgW2Rpcj1ydGxdICYge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkaW5kZW50ICogKCRpICsgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBxdWlsbC10aGVtZSgkY29sb3IpIHtcclxuICAucWwtc25vdy5xbC10b29sYmFyLFxyXG4gIC5xbC1zbm93IC5xbC10b29sYmFyIHtcclxuICAgIGJ1dHRvbjpob3ZlcixcclxuICAgIGJ1dHRvbjpmb2N1cyxcclxuICAgIGJ1dHRvbi5xbC1hY3RpdmUsXHJcbiAgICAucWwtcGlja2VyLWxhYmVsOmhvdmVyLFxyXG4gICAgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUsXHJcbiAgICAucWwtcGlja2VyLWl0ZW06aG92ZXIsXHJcbiAgICAucWwtcGlja2VyLWl0ZW0ucWwtc2VsZWN0ZWQge1xyXG4gICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgYnV0dG9uOmhvdmVyIC5xbC1maWxsLFxyXG4gICAgYnV0dG9uOmZvY3VzIC5xbC1maWxsLFxyXG4gICAgYnV0dG9uLnFsLWFjdGl2ZSAucWwtZmlsbCxcclxuICAgIC5xbC1waWNrZXItbGFiZWw6aG92ZXIgLnFsLWZpbGwsXHJcbiAgICAucWwtcGlja2VyLWxhYmVsLnFsLWFjdGl2ZSAucWwtZmlsbCxcclxuICAgIC5xbC1waWNrZXItaXRlbTpob3ZlciAucWwtZmlsbCxcclxuICAgIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCAucWwtZmlsbCxcclxuICAgIGJ1dHRvbjpob3ZlciAucWwtc3Ryb2tlLnFsLWZpbGwsXHJcbiAgICBidXR0b246Zm9jdXMgLnFsLXN0cm9rZS5xbC1maWxsLFxyXG4gICAgYnV0dG9uLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLnFsLWZpbGwsXHJcbiAgICAucWwtcGlja2VyLWxhYmVsOmhvdmVyIC5xbC1zdHJva2UucWwtZmlsbCxcclxuICAgIC5xbC1waWNrZXItbGFiZWwucWwtYWN0aXZlIC5xbC1zdHJva2UucWwtZmlsbCxcclxuICAgIC5xbC1waWNrZXItaXRlbTpob3ZlciAucWwtc3Ryb2tlLnFsLWZpbGwsXHJcbiAgICAucWwtcGlja2VyLWl0ZW0ucWwtc2VsZWN0ZWQgLnFsLXN0cm9rZS5xbC1maWxsIHtcclxuICAgICAgZmlsbDogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgYnV0dG9uOmhvdmVyIC5xbC1zdHJva2UsXHJcbiAgICBidXR0b246Zm9jdXMgLnFsLXN0cm9rZSxcclxuICAgIGJ1dHRvbi5xbC1hY3RpdmUgLnFsLXN0cm9rZSxcclxuICAgIC5xbC1waWNrZXItbGFiZWw6aG92ZXIgLnFsLXN0cm9rZSxcclxuICAgIC5xbC1waWNrZXItbGFiZWwucWwtYWN0aXZlIC5xbC1zdHJva2UsXHJcbiAgICAucWwtcGlja2VyLWl0ZW06aG92ZXIgLnFsLXN0cm9rZSxcclxuICAgIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCAucWwtc3Ryb2tlLFxyXG4gICAgYnV0dG9uOmhvdmVyIC5xbC1zdHJva2UtbWl0ZXIsXHJcbiAgICBidXR0b246Zm9jdXMgLnFsLXN0cm9rZS1taXRlcixcclxuICAgIGJ1dHRvbi5xbC1hY3RpdmUgLnFsLXN0cm9rZS1taXRlcixcclxuICAgIC5xbC1waWNrZXItbGFiZWw6aG92ZXIgLnFsLXN0cm9rZS1taXRlcixcclxuICAgIC5xbC1waWNrZXItbGFiZWwucWwtYWN0aXZlIC5xbC1zdHJva2UtbWl0ZXIsXHJcbiAgICAucWwtcGlja2VyLWl0ZW06aG92ZXIgLnFsLXN0cm9rZS1taXRlcixcclxuICAgIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCAucWwtc3Ryb2tlLW1pdGVyIHtcclxuICAgICAgc3Ryb2tlOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uL2Nzcy9fYXBwd29yay9mdW5jdGlvbnNcIjtcclxuXHJcbkBtaXhpbiB0eXBlYWhlYWQtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAudHQtc3VnZ2VzdGlvbjphY3RpdmUsXHJcbiAgLnR0LWN1cnNvciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gZHJvcHpvbmUtdGhlbWUoJGJvcmRlcikge1xyXG4gIC5kcm9wem9uZS5kei1kcmFnLWhvdmVyIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlciAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gc3dpcGVyLXRoZW1lKCRiYWNrZ3JvdW5kKSB7XHJcbiAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLFxyXG4gIC5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gc3BpbmtpdC10aGVtZSgkYmFja2dyb3VuZCkge1xyXG4gIC5zay1wcmltYXJ5LnNrLXJvdGF0aW5nLXBsYW5lLFxyXG4gIC5zay1wcmltYXJ5LnNrLWRvdWJsZS1ib3VuY2UgLnNrLWNoaWxkLFxyXG4gIC5zay1wcmltYXJ5LnNrLXdhdmUgLnNrLXJlY3QsXHJcbiAgLnNrLXByaW1hcnkuc2std2FuZGVyaW5nLWN1YmVzIC5zay1jdWJlLFxyXG4gIC5zay1wcmltYXJ5LnNrLXNwaW5uZXItcHVsc2UsXHJcbiAgLnNrLXByaW1hcnkuc2stY2hhc2luZy1kb3RzIC5zay1jaGlsZCxcclxuICAuc2stcHJpbWFyeS5zay10aHJlZS1ib3VuY2UgLnNrLWNoaWxkLFxyXG4gIC5zay1wcmltYXJ5LnNrLWNpcmNsZSAuc2stY2hpbGQ6YmVmb3JlLFxyXG4gIC5zay1wcmltYXJ5LnNrLWN1YmUtZ3JpZCAuc2stY3ViZSxcclxuICAuc2stcHJpbWFyeS5zay1mYWRpbmctY2lyY2xlIC5zay1jaXJjbGU6YmVmb3JlLFxyXG4gIC5zay1wcmltYXJ5LnNrLWZvbGRpbmctY3ViZSAuc2stY3ViZTpiZWZvcmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBzbWFydHdpemFyZC10aGVtZSgkY29sb3IpIHtcclxuICAuc3ctdGhlbWUtZGVmYXVsdCAuc3RlcC1hbmNob3IgPiBsaS5hY3RpdmUgPiBhIC5zdy1pY29uLFxyXG4gIC5zdy10aGVtZS1kZWZhdWx0IC5zdGVwLWFuY2hvciA+IGxpLmFjdGl2ZSA+IGEgLnN3LW51bWJlciB7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi9jc3MvX2FwcHdvcmsvZnVuY3Rpb25zXCI7XHJcblxyXG5AbWl4aW4gcGx5ci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gIC5wbHlyIGlucHV0W3R5cGU9J3JhbmdlJ106Oi1tcy1maWxsLWxvd2VyIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAucGx5ciBpbnB1dFt0eXBlPSdyYW5nZSddOmFjdGl2ZSB7XHJcbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcclxuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICY6Oi1tcy10aHVtYiB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2xzIGJ1dHRvbi50YWItZm9jdXM6Zm9jdXMsXHJcbiAgLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9scyBidXR0b246aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5wbHlyLS1hdWRpbyAucGx5cl9fY29udHJvbHMgYnV0dG9uLnRhYi1mb2N1czpmb2N1cyxcclxuICAucGx5ci0tYXVkaW8gLnBseXJfX2NvbnRyb2xzIGJ1dHRvbjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLnBseXJfX3BsYXktbGFyZ2Uge1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5wbHlyX19wcm9ncmVzcy0tcGxheWVkLFxyXG4gIC5wbHlyX192b2x1bWUtLWRpc3BsYXkge1xyXG4gICAgY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBmdW5jdGlvbiBmdWxsY2FsZW5kYXItZXZlbnQtYmcoJGJhY2tncm91bmQsICRvcGFjaXR5OiAuMTUpIHtcclxuICBAcmV0dXJuIHJnYmEoJGJhY2tncm91bmQsICRvcGFjaXR5KTtcclxufVxyXG5cclxuQG1peGluIGZ1bGxjYWxlbmRhci1ldmVudC12YXJpYW50KCRiYWNrZ3JvdW5kKSB7XHJcbiAgJi5mYy1ldmVudCB7XHJcbiAgICBiYWNrZ3JvdW5kOiBmdWxsY2FsZW5kYXItZXZlbnQtYmcoJGJhY2tncm91bmQpICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuZmMtZXZlbnQtZG90IHtcclxuICAgIGJhY2tncm91bmQ6IGZ1bGxjYWxlbmRhci1ldmVudC1iZygkYmFja2dyb3VuZCwgLjQpICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZnVsbGNhbGVuZGFyLXRoZW1lKCRiYWNrZ3JvdW5kKSB7XHJcbiAgLmZjLWV2ZW50IHtcclxuICAgIGJhY2tncm91bmQ6IGZ1bGxjYWxlbmRhci1ldmVudC1iZygkYmFja2dyb3VuZCkgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5mYy1ldmVudC1kb3Qge1xyXG4gICAgYmFja2dyb3VuZDogZnVsbGNhbGVuZGFyLWV2ZW50LWJnKCRiYWNrZ3JvdW5kLCAuNCkgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5mYy1oaWdobGlnaHQsXHJcbiAgLmZjLWJnZXZlbnQ6bm90KC5mYy1ub25idXNpbmVzcykge1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uL2Nzcy9fYXBwd29yay9mdW5jdGlvbnNcIjtcclxuXHJcbkBtaXhpbiBzd2VldGFsZXJ0Mi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gIC5zd2FsMi1wcm9ncmVzcy1zdGVwc1tjbGFzc10gLnN3YWwyLXByb2dyZXNzLXN0ZXAuc3dhbDItYWN0aXZlLXByb2dyZXNzLXN0ZXAsXHJcbiAgLnN3YWwyLXByb2dyZXNzLXN0ZXBzW2NsYXNzXSAuc3dhbDItcHJvZ3Jlc3Mtc3RlcC1saW5lLFxyXG4gIC5zd2FsMi1wcm9ncmVzcy1zdGVwc1tjbGFzc10gLnN3YWwyLWFjdGl2ZS1wcm9ncmVzcy1zdGVwLFxyXG4gIC5zd2FsMi1wcm9ncmVzcy1zdGVwc1tjbGFzc10gLnN3YWwyLXByb2dyZXNzLXN0ZXAge1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLnN3YWwyLXByb2dyZXNzLXN0ZXBzW2NsYXNzXSAuc3dhbDItcHJvZ3Jlc3Mtc3RlcC5zd2FsMi1hY3RpdmUtcHJvZ3Jlc3Mtc3RlcCB+IC5zd2FsMi1wcm9ncmVzcy1zdGVwLFxyXG4gIC5zd2FsMi1wcm9ncmVzcy1zdGVwc1tjbGFzc10gLnN3YWwyLXByb2dyZXNzLXN0ZXAuc3dhbDItYWN0aXZlLXByb2dyZXNzLXN0ZXAgfiAuc3dhbDItcHJvZ3Jlc3Mtc3RlcC1saW5lIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC4yNSkpO1xyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gYXBwd29yay11aWtpdC10aGVtZSgkYmFja2dyb3VuZCkge1xyXG4gIC51aS1wcm9kdWN0LWNvbG9yLmFjdGl2ZSB7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggI2ZmZiwgMCAwIDAgNHB4ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxBQUFBLElBQUksQ0FBQztFQUNILFVBQVUsRUFIRixPQUFPLEdBSWhCOztBQUVELEFBQUEsUUFBUSxDQUFDO0VBQ1AsVUFBVSxFQVBGLE9BQU8sQ0FPTSxVQUFVLEdBQ2hDOztBa0JYQyxBQUFBLGFBQWEsQ0FBRjtFQUNULEtBQUssRWxCQ08sT0FBTyxDa0JETCxVQUFVLEdBQ3pCOztBQUVDLEFQT0YsQ09QRyxBQUFBLGFBQWEsQVBPZixNQUFNLEVPUEwsQ0FBQyxBQUFBLGFBQWEsQVBRZixNQUFNLENBQUM7RU9ORixLQUFLLEVBQUUsT0FBd0QsQ0FBQyxVQUFVLEdQUS9FOztBNkI2SEQsQUFBQSxXQUFXLENBQUE7RUFBRSxnQkFBZ0IsRXhDeklmLE9BQU8sQ3dDeUlpQixVQUFVLEdBQUk7O0FBQ3BELEE3QmpJQSxDNkJpSUMsQUFBQSxXQUFXLEE3QmpJWCxNQUFNLEU2QmlJUCxDQUFDLEFBQUEsV0FBVyxBN0JoSVgsTUFBTSxDQUFDO0U2QmlJaUIsZ0JBQWdCLEVyQ1YvQixPQUFtQyxDcUNVc0QsVUFBVSxHN0IvSDVHOztBNkI2SEQsQUFBQSxnQkFBZ0IsQ0FBTDtFQUFFLGdCQUFnQixFckNSbkIsT0FBbUMsQ3FDUVAsVUFBVSxHQUFJOztBQUNwRCxBN0JqSUEsQzZCaUlDLEFBQUEsZ0JBQWdCLEE3QmpJaEIsTUFBTSxFNkJpSVAsQ0FBQyxBQUFBLGdCQUFnQixBN0JoSWhCLE1BQU0sQ0FBQztFNkJpSWlCLGdCQUFnQixFckNWL0IsT0FBbUMsQ3FDVXNELFVBQVUsRzdCL0g1Rzs7QTZCNkhELEFBQUEsa0JBQWtCLENBQVA7RUFBRSxnQkFBZ0IsRXJDUm5CLE9BQW1DLENxQ1FQLFVBQVUsR0FBSTs7QUFDcEQsQTdCaklBLEM2QmlJQyxBQUFBLGtCQUFrQixBN0JqSWxCLE1BQU0sRTZCaUlQLENBQUMsQUFBQSxrQkFBa0IsQTdCaElsQixNQUFNLENBQUM7RTZCaUlpQixnQkFBZ0IsRXJDVi9CLE9BQW1DLENxQ1VzRCxVQUFVLEc3Qi9INUc7O0E4QmJELEFBQUEsSUFBSSxBQUFBLElBQUssRUFBQSxBQUFBLEdBQUMsQ0FBRCxHQUFDLEFBQUEsR0FBVSxlQUFlLEVBQUUsSUFBSSxDQUFBLEFBQUEsR0FBQyxDQUFELEdBQUMsQUFBQSxFQUFTLGVBQWUsQ0FBQztFQUFFLFlBQVksRXpDQ25FLE9BQU8sQ3lDRDBFLFVBQVUsR0FBSTs7QUR3WjdHLEFBQUEsY0FBYyxDQUFIO0VBQ1QsZ0JBQWdCLEV4Q3haSixPQUFPO0V3Q3labkIsS0FBSyxFckM1UEcsSUFBSSxHcUM2UGI7O0FBRUQsQTdCblpBLGM2Qm1aYyxDQUFBLEFBQUEsSUFBQyxBQUFBLEM3Qm5aZCxNQUFNLEU2Qm1aUCxjQUFjLENBQUEsQUFBQSxJQUFDLEFBQUEsQzdCbFpkLE1BQU0sQ0FBQztFNkJvWkosZ0JBQWdCLEVyQzdSVixPQUFtQztFcUM4UnpDLEtBQUssRXJDbFFDLElBQUk7RXFDbVFWLGVBQWUsRUFBRSxJQUFJLEc3QnBaeEI7O0E2QndaRCxBQUFBLElBQUksQ0FBQyxjQUFjLENBQUg7RUFDZCxVQUFVLEV4Q3JhRSxPQUFPLEN3Q3FhSCxVQUFVO0VBQzFCLFlBQVksRXhDdGFBLE9BQU8sQ3dDc2FELFVBQVU7RUFDNUIsS0FBSyxFckMxUUcsSUFBSSxDcUMwUXdCLFVBQVUsR0FDL0M7O0FBSUQsQUFBQSxzQkFBc0IsQ0FBWDtFQUNULGdCQUFnQixFQUFFLFdBQVc7RUFDN0IsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ3hDOWFULE9BQU8sQ3dDOGFPLEtBQUs7RUFDL0IsS0FBSyxFeEMvYU8sT0FBTyxHd0NnYnBCOztBQUVELEE3QnphQSxzQjZCeWFzQixDQUFBLEFBQUEsSUFBQyxBQUFBLEM3QnphdEIsTUFBTSxFNkJ5YVAsc0JBQXNCLENBQUEsQUFBQSxJQUFDLEFBQUEsQzdCeGF0QixNQUFNLENBQUM7RTZCMGFKLEtBQUssRXhDcGJLLE9BQU87RXdDcWJqQixlQUFlLEVBQUUsSUFBSSxHN0J6YXhCOztBNkI2YUQsQUFBQSxJQUFJLENBQUMsc0JBQXNCLENBQVg7RUFDZCxnQkFBZ0IsRUFBRSxzQkFBc0I7RUFDeEMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ3hDM2JULE9BQU8sQ3dDMmJPLEtBQUssQ0FBQyxVQUFVO0VBQzFDLEtBQUssRXhDNWJPLE9BQU8sQ3dDNGJMLFVBQVUsR0FDekI7O0FBa0dBLEE3Qi9nQkQsVTZCK2dCVyxBQUFBLE9BQU8sQ0FBQyxVQUFVLEVBQTVCLFVBQVUsQUFBQSxPQUFPLENBQUMsVUFBVSxBN0I5Z0I1QixNQUFNLEU2QjhnQk4sVUFBVSxBQUFBLE9BQU8sQ0FBQyxVQUFVLEE3QjdnQjVCLE1BQU07QTZCOGdCUCxXQUFXLENBQUMsRUFBRSxBQUFBLE9BQU8sR0FBRyxDQUFDLEFBQUEsSUFBSyxDQUFBLFVBQVU7QUFBeEMsV0FBVyxDQUFDLEVBQUUsQUFBQSxPQUFPLEdBQUcsQ0FBQyxBQUFBLElBQUssQ0FBQSxVQUFVLEM3Qi9nQnZDLE1BQU07QTZCK2dCUCxXQUFXLENBQUMsRUFBRSxBQUFBLE9BQU8sR0FBRyxDQUFDLEFBQUEsSUFBSyxDQUFBLFVBQVUsQzdCOWdCdkMsTUFBTSxDQUFDO0U2QmdoQkosWUFBWSxFeENsaUJGLE9BQU87RXdDbWlCakIsZ0JBQWdCLEV4Q25pQk4sT0FBTztFd0NvaUJqQixLQUFLLEVyQ3ZZQyxJQUFJLEdRekliOztBNkI2aEJELEFBQUEsYUFBYSxDQUFDO0VBQ1osZ0JBQWdCLEV4Q2xqQkosT0FBTztFd0NtakJuQixLQUFLLEVyQ3RaRyxJQUFJLEdxQ3VaYjs7QUFhRCxBQUFBLHdCQUF3QixDQUFiO0VBQ1QsWUFBWSxFQUFFLG1CQUFlO0VBQzdCLGdCQUFnQixFckNsY1IsT0FBbUM7RXFDbWMzQyxLQUFLLEVyQ25jRyxPQUFtQyxHcUNvYzVDOztBQUVELEFBQUEsQ0FBQyxBQUFBLHdCQUF3QjtBQUN6QixNQUFNLEFBQUEsd0JBQXdCLENBQWI7RUFDZixLQUFLLEVyQ3hjRyxPQUFtQyxHcUNvZDVDO0VBZEQsQTdCOWpCQSxDNkI4akJDLEFBQUEsd0JBQXdCLEE3QjlqQnhCLE1BQU0sRTZCOGpCUCxDQUFDLEFBQUEsd0JBQXdCLEE3QjdqQnhCLE1BQU07RTZCOGpCUCxNQUFNLEFBQUEsd0JBQXdCLEE3Qi9qQjdCLE1BQU07RTZCK2pCUCxNQUFNLEFBQUEsd0JBQXdCLEE3QjlqQjdCLE1BQU0sQ0FBQztJNkJra0JKLGdCQUFnQixFckMzY1YsT0FBbUM7SXFDNGN6QyxLQUFLLEVyQzVjQyxPQUFtQyxHUXJINUM7RTZCMmpCRCxBQVNFLENBVEQsQUFBQSx3QkFBd0IsQUFTdEIsT0FBTztFQVJWLE1BQU0sQUFBQSx3QkFBd0IsQUFRM0IsT0FBTyxDQUFDO0lBQ1AsWUFBWSxFeENqbEJGLE9BQU87SXdDa2xCakIsZ0JBQWdCLEV4Q2xsQk4sT0FBTztJd0NtbEJqQixLQUFLLEVyQ2xkQyxPQUFtQyxHcUNtZDFDOztBQU9ILEE3QjNrQkEsZ0I2QjJrQmdCLEFBQUEsT0FBTyxFQUF2QixnQkFBZ0IsQUFBQSxPQUFPLEE3QjFrQnRCLE1BQU0sRTZCMGtCUCxnQkFBZ0IsQUFBQSxPQUFPLEE3QnprQnRCLE1BQU0sQ0FBQztFNkIya0JKLFlBQVksRXhDN2xCRixPQUFPO0V3QzhsQmpCLGdCQUFnQixFeEM5bEJOLE9BQU87RXdDK2xCakIsS0FBSyxFckNsY0MsSUFBSSxHUXpJYjs7QTZCMGxCRCxBQUFBLGNBQWMsQ0FBSDtFQUNULFlBQVksRXJDOWVKLE9BQW1DO0VxQytlM0MsZ0JBQWdCLEVyQy9lUixPQUFtQztFcUNnZjNDLEtBQUssRXJDaGZHLE9BQW1DLEdxQ3lmNUM7RUFaRCxBQUtFLGNBTFksQ0FLWixFQUFFLENBQUM7SUFDRCxnQkFBZ0IsRXJDbmZWLE9BQW1DLEdxQ29mMUM7RUFQSCxBQVNFLGNBVFksQ0FTWixXQUFXLENBQUM7SUFDVixLQUFLLEVyQ3ZmQyxPQUFtQyxHcUN3ZjFDOztBQU9ILEFBQUEsbUJBQW1CLENBQVI7RUFDVCxnQkFBZ0IsRXhDam9CSixPQUFPO0V3Q2tvQm5CLEtBQUssRXJDcmVHLElBQUksR3FDK2ViO0VBWkQsQUFJRSxtQkFKaUIsQ0FJakIsRUFBRSxDQUFDO0lBQ0QsZ0JBQWdCLEVyQ3hlVix3QkFBSSxHcUN5ZVg7RUFOSCxBQVFFLG1CQVJpQixDQVFqQixNQUFNO0VBUlIsbUJBQW1CLENBU2pCLFdBQVcsQ0FBQztJQUNWLEtBQUssRXJDN2VDLElBQUksR3FDOGVYOztBQVFILEFBQ0UsZ0JBRGMsQ0FDZCxjQUFjLEVBREUsZ0JBQWdCLEdBQUcsUUFBUSxDQUMzQyxjQUFjLEVBRCtCLG9CQUFvQixHQUFHLGtCQUFrQixDQUN0RixjQUFjLENBQUM7RUFDYixVQUFVLEV4Q3JwQkEsT0FBTztFd0NzcEJqQixLQUFLLEVyQ3pmQyxJQUFJLEdxQzBmWDs7QUFKSCxBQU1FLGdCQU5jLEFBTWIsZUFBZSxDQUFDLE1BQU0sQUFBQSxRQUFRLEVBTmpDLGdCQUFnQixBQU1vQixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxLQUFLLEFBQWxCLEVBQW9CLE1BQU0sQUFBQSxRQUFRLEVBTnJFLGdCQUFnQixHQUFHLFFBQVEsQUFNMUMsZUFBZSxDQUFDLE1BQU0sQUFBQSxRQUFRLEVBTmYsZ0JBQWdCLEdBQUcsUUFBUSxBQU1ULGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLEtBQUssQUFBbEIsRUFBb0IsTUFBTSxBQUFBLFFBQVEsRUFOeEMsb0JBQW9CLEdBQUcsa0JBQWtCLEFBTXJGLGVBQWUsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQU5jLG9CQUFvQixHQUFHLGtCQUFrQixBQU1wRCxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxLQUFLLEFBQWxCLEVBQW9CLE1BQU0sQUFBQSxRQUFRLENBQUM7RUFBRSxnQkFBZ0IsRXhDenBCNUYsT0FBTyxHd0N5cEJzRzs7QUFOM0gsQUFPRSxnQkFQYyxBQU9iLGlCQUFpQixDQUFDLE1BQU0sQUFBQSxRQUFRLEVBUG5DLGdCQUFnQixBQU9zQixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxPQUFPLEFBQXBCLEVBQXNCLE1BQU0sQUFBQSxRQUFRLEVBUHpFLGdCQUFnQixHQUFHLFFBQVEsQUFPMUMsaUJBQWlCLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFQakIsZ0JBQWdCLEdBQUcsUUFBUSxBQU9QLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE9BQU8sQUFBcEIsRUFBc0IsTUFBTSxBQUFBLFFBQVEsRUFQNUMsb0JBQW9CLEdBQUcsa0JBQWtCLEFBT3JGLGlCQUFpQixDQUFDLE1BQU0sQUFBQSxRQUFRLEVBUFksb0JBQW9CLEdBQUcsa0JBQWtCLEFBT2xELGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLE9BQU8sQUFBcEIsRUFBc0IsTUFBTSxBQUFBLFFBQVEsQ0FBQztFQUFFLGtCQUFrQixFeEMxcEJsRyxPQUFPLEd3QzBwQjRHOztBQVBqSSxBQVFFLGdCQVJjLEFBUWIsa0JBQWtCLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFScEMsZ0JBQWdCLEFBUXVCLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLFFBQVEsQUFBckIsRUFBdUIsTUFBTSxBQUFBLFFBQVEsRUFSM0UsZ0JBQWdCLEdBQUcsUUFBUSxBQVExQyxrQkFBa0IsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQVJsQixnQkFBZ0IsR0FBRyxRQUFRLEFBUU4sZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsUUFBUSxBQUFyQixFQUF1QixNQUFNLEFBQUEsUUFBUSxFQVI5QyxvQkFBb0IsR0FBRyxrQkFBa0IsQUFRckYsa0JBQWtCLENBQUMsTUFBTSxBQUFBLFFBQVEsRUFSVyxvQkFBb0IsR0FBRyxrQkFBa0IsQUFRakQsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsUUFBUSxBQUFyQixFQUF1QixNQUFNLEFBQUEsUUFBUSxDQUFDO0VBQUUsbUJBQW1CLEV4QzNwQnJHLE9BQU8sR3dDMnBCK0c7O0FBUnBJLEFBU0UsZ0JBVGMsQUFTYixnQkFBZ0IsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQVRsQyxnQkFBZ0IsQUFTcUIsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsTUFBTSxBQUFuQixFQUFxQixNQUFNLEFBQUEsUUFBUSxFQVR2RSxnQkFBZ0IsR0FBRyxRQUFRLEFBUzFDLGdCQUFnQixDQUFDLE1BQU0sQUFBQSxRQUFRLEVBVGhCLGdCQUFnQixHQUFHLFFBQVEsQUFTUixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxNQUFNLEFBQW5CLEVBQXFCLE1BQU0sQUFBQSxRQUFRLEVBVDFDLG9CQUFvQixHQUFHLGtCQUFrQixBQVNyRixnQkFBZ0IsQ0FBQyxNQUFNLEFBQUEsUUFBUSxFQVRhLG9CQUFvQixHQUFHLGtCQUFrQixBQVNuRCxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxNQUFNLEFBQW5CLEVBQXFCLE1BQU0sQUFBQSxRQUFRLENBQUM7RUFBRSxpQkFBaUIsRXhDNXBCL0YsT0FBTyxHd0M0cEJ5Rzs7QUFVOUgsQUFBQSxnQkFBZ0IsRUFBRSxnQkFBZ0IsR0FBRyxRQUFRLEVBQUUsb0JBQW9CLEdBQUcsa0JBQWtCLENBQTdFO0VBQ1QsWUFBWSxFQUFFLFdBQVc7RUFDekIsVUFBVSxFeEN4cUJFLE9BQU8sR3dDMnJCcEI7RUFyQkQsQUFJRSxnQkFKYyxDQUlkLGVBQWUsRUFKQyxnQkFBZ0IsR0FBRyxRQUFRLENBSTNDLGVBQWUsRUFKOEIsb0JBQW9CLEdBQUcsa0JBQWtCLENBSXRGLGVBQWUsQ0FBQztJQUNkLFlBQVksRXJDOWdCTix3QkFBSTtJcUMrZ0JWLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLEtBQUssRXJDaGhCQyxJQUFJLEdxQ2loQlg7RUFSSCxBQVVFLGdCQVZjLENBVWQsYUFBYSxFQVZHLGdCQUFnQixHQUFHLFFBQVEsQ0FVM0MsYUFBYSxFQVZnQyxvQkFBb0IsR0FBRyxrQkFBa0IsQ0FVdEYsYUFBYSxDQUFDO0lBQ1osVUFBVSxFQUFFLFdBQVc7SUFDdkIsS0FBSyxFckNyaEJDLElBQUksR3FDc2hCWDtFQWJILEFBZUUsZ0JBZmMsR0FlWixNQUFNLEFBQUEsUUFBUSxFQWZBLGdCQUFnQixHQUFHLFFBQVEsR0FlekMsTUFBTSxBQUFBLFFBQVEsRUFmNkIsb0JBQW9CLEdBQUcsa0JBQWtCLEdBZXBGLE1BQU0sQUFBQSxRQUFRLENBQUM7SUFBRSxZQUFZLEVBQUUsV0FBVyxHQUFJO0VBZmxELEFBaUJFLGdCQWpCYyxBQWlCYixlQUFlLEdBQUcsTUFBTSxBQUFBLE9BQU8sRUFqQmxDLGdCQUFnQixBQWlCcUIsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsS0FBSyxBQUFsQixJQUFzQixNQUFNLEFBQUEsT0FBTyxFQWpCdkUsZ0JBQWdCLEdBQUcsUUFBUSxBQWlCMUMsZUFBZSxHQUFHLE1BQU0sQUFBQSxPQUFPLEVBakJoQixnQkFBZ0IsR0FBRyxRQUFRLEFBaUJSLGdCQUFnQixDQUFBLEFBQUEsV0FBQyxFQUFhLEtBQUssQUFBbEIsSUFBc0IsTUFBTSxBQUFBLE9BQU8sRUFqQjFDLG9CQUFvQixHQUFHLGtCQUFrQixBQWlCckYsZUFBZSxHQUFHLE1BQU0sQUFBQSxPQUFPLEVBakJhLG9CQUFvQixHQUFHLGtCQUFrQixBQWlCbkQsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsS0FBSyxBQUFsQixJQUFzQixNQUFNLEFBQUEsT0FBTyxDQUFDO0lBQUUsZ0JBQWdCLEV4Q3ZyQjlGLE9BQU8sR3dDdXJCd0c7RUFqQjdILEFBa0JFLGdCQWxCYyxBQWtCYixpQkFBaUIsR0FBRyxNQUFNLEFBQUEsT0FBTyxFQWxCcEMsZ0JBQWdCLEFBa0J1QixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxPQUFPLEFBQXBCLElBQXdCLE1BQU0sQUFBQSxPQUFPLEVBbEIzRSxnQkFBZ0IsR0FBRyxRQUFRLEFBa0IxQyxpQkFBaUIsR0FBRyxNQUFNLEFBQUEsT0FBTyxFQWxCbEIsZ0JBQWdCLEdBQUcsUUFBUSxBQWtCTixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxPQUFPLEFBQXBCLElBQXdCLE1BQU0sQUFBQSxPQUFPLEVBbEI5QyxvQkFBb0IsR0FBRyxrQkFBa0IsQUFrQnJGLGlCQUFpQixHQUFHLE1BQU0sQUFBQSxPQUFPLEVBbEJXLG9CQUFvQixHQUFHLGtCQUFrQixBQWtCakQsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsT0FBTyxBQUFwQixJQUF3QixNQUFNLEFBQUEsT0FBTyxDQUFDO0lBQUUsa0JBQWtCLEV4Q3hyQnBHLE9BQU8sR3dDd3JCOEc7RUFsQm5JLEFBbUJFLGdCQW5CYyxBQW1CYixrQkFBa0IsR0FBRyxNQUFNLEFBQUEsT0FBTyxFQW5CckMsZ0JBQWdCLEFBbUJ3QixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxRQUFRLEFBQXJCLElBQXlCLE1BQU0sQUFBQSxPQUFPLEVBbkI3RSxnQkFBZ0IsR0FBRyxRQUFRLEFBbUIxQyxrQkFBa0IsR0FBRyxNQUFNLEFBQUEsT0FBTyxFQW5CbkIsZ0JBQWdCLEdBQUcsUUFBUSxBQW1CTCxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxRQUFRLEFBQXJCLElBQXlCLE1BQU0sQUFBQSxPQUFPLEVBbkJoRCxvQkFBb0IsR0FBRyxrQkFBa0IsQUFtQnJGLGtCQUFrQixHQUFHLE1BQU0sQUFBQSxPQUFPLEVBbkJVLG9CQUFvQixHQUFHLGtCQUFrQixBQW1CaEQsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsUUFBUSxBQUFyQixJQUF5QixNQUFNLEFBQUEsT0FBTyxDQUFDO0lBQUUsbUJBQW1CLEV4Q3pyQnZHLE9BQU8sR3dDeXJCaUg7RUFuQnRJLEFBb0JFLGdCQXBCYyxBQW9CYixnQkFBZ0IsR0FBRyxNQUFNLEFBQUEsT0FBTyxFQXBCbkMsZ0JBQWdCLEFBb0JzQixnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxNQUFNLEFBQW5CLElBQXVCLE1BQU0sQUFBQSxPQUFPLEVBcEJ6RSxnQkFBZ0IsR0FBRyxRQUFRLEFBb0IxQyxnQkFBZ0IsR0FBRyxNQUFNLEFBQUEsT0FBTyxFQXBCakIsZ0JBQWdCLEdBQUcsUUFBUSxBQW9CUCxnQkFBZ0IsQ0FBQSxBQUFBLFdBQUMsRUFBYSxNQUFNLEFBQW5CLElBQXVCLE1BQU0sQUFBQSxPQUFPLEVBcEI1QyxvQkFBb0IsR0FBRyxrQkFBa0IsQUFvQnJGLGdCQUFnQixHQUFHLE1BQU0sQUFBQSxPQUFPLEVBcEJZLG9CQUFvQixHQUFHLGtCQUFrQixBQW9CbEQsZ0JBQWdCLENBQUEsQUFBQSxXQUFDLEVBQWEsTUFBTSxBQUFuQixJQUF1QixNQUFNLEFBQUEsT0FBTyxDQUFDO0lBQUUsaUJBQWlCLEV4QzFyQmpHLE9BQU8sR3dDMHJCMkc7O0FBZ3NCaEksQUFBQSxNQUFNLENBQUMsY0FBYztBQUNyQixNQUFNLENBQUMsY0FBYyxHQUFHLEVBQUU7QUFDMUIsTUFBTSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUg7RUFDckIsWUFBWSxFQUFFLG9CQUFnQixDQUFDLFVBQVU7RUFDekMsZ0JBQWdCLEVyQzd2Q1IsT0FBbUM7RXFDOHZDM0MsS0FBSyxFckM5dkNHLE9BQW1DLEdxQyt2QzVDOztBQUVELEFBQUEsWUFBWSxDQUFDLGNBQWMsQUFBQSxNQUFNO0FBQ2pDLFlBQVksQ0FBQyxjQUFjLEFBQUEsTUFBTSxHQUFHLEVBQUU7QUFDdEMsWUFBWSxDQUFDLGNBQWMsQUFBQSxNQUFNLEdBQUcsRUFBRSxDQUFIO0VBQ2pDLGdCQUFnQixFckNwd0NSLE9BQW1DLEdxQ3F3QzVDOztBQXh1Q0QsQUFBQSxZQUFZLENBQUQ7RUFDVCxZQUFZLEVyQ2tEQyxXQUFXO0VxQ2pEeEIsVUFBVSxFeENoS0UsT0FBTztFd0NpS25CLEtBQUssRXJDSkcsSUFBSSxHcUN5QmI7RUF4QkQsQTdCekpBLFk2QnlKWSxBN0J6SlgsTUFBTSxDQUFDO0k2QmdLSixZQUFZLEVyQzRDRCxXQUFXO0lxQzNDdEIsVUFBVSxFckNyQ0osT0FBbUM7SXFDc0N6QyxLQUFLLEVyQ1ZDLElBQUksR1F4SlE7RTZCeUp0QixBQVlFLFlBWlUsQUFZVCxNQUFNLEVBWlQsWUFBWSxBQWFULE1BQU0sQ0FBQztJQUNOLFVBQVUsRXJDc0NtRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0VyRnRGLEdBQUcsQ0w3SHJCLHVCQUFPLEd3QzZLbEI7RUFmSCxBQWlCRSxZQWpCVSxBQWlCVCxTQUFTLEVBakJaLFlBQVksQUFrQlQsU0FBUyxDQUFDO0lBQ1QsWUFBWSxFckNnQ0QsV0FBVyxDcUNoQ3FCLFVBQVU7SUFDckQsVUFBVSxFeENsTEEsT0FBTyxDd0NrTE8sVUFBVTtJQUNsQyxVQUFVLEVBQUUsZUFBZTtJQUMzQixLQUFLLEVyQ3ZCQyxJQUFJLENxQ3VCSSxVQUFVLEdBQ3pCOztBQUdILEFBQUEsWUFBWSxDQUFDLE1BQU0sQ0FBRDtFQUNoQixVQUFVLEVyQzVCRixJQUFJO0VxQzZCWixLQUFLLEV4QzFMTyxPQUFPLEd3QzJMcEI7O0FBRUQsQUFBQSxZQUFZLEFBQUEsT0FBTztBQUNuQixZQUFZLEFBQUEsT0FBTztBQUNuQixLQUFLLEdBQUcsWUFBWSxBQUFBLGdCQUFnQixDQUFEO0VBQ2pDLFlBQVksRXJDaUJDLFdBQVc7RXFDaEJ4QixVQUFVLEVyQ2hFRixPQUFtQztFcUNxRXpDLFVBQVUsRUFBRSxJQUFJLEdBRW5COztBQUdELEFBQUEsVUFBVSxDQUFDLFlBQVk7QUFDdkIsb0JBQW9CLENBQUMsWUFBWTtBQUNqQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUQ7RUFDN0IsWUFBWSxFbkMxRmtCLEdBQUcsQ21DMEZLLEtBQUssQ3JDN0VuQyxPQUFtQztFcUM4RTNDLFdBQVcsRW5DM0ZtQixHQUFHLENtQzJGSSxLQUFLLENyQzlFbEMsT0FBbUMsR3FDK0U1Qzs7QUFzRkQsQUFBQSxvQkFBb0IsQ0FBVDtFQUNULFlBQVksRXhDdlNBLE9BQU87RXdDd1NuQixVQUFVLEVBQUUsV0FBVztFQUN2QixLQUFLLEV4Q3pTTyxPQUFPLEd3QzRUcEI7RUF0QkQsQTdCalNBLG9CNkJpU29CLEE3QmpTbkIsTUFBTSxDQUFDO0k2QnVTSixZQUFZLEVyQzNGRCxXQUFXO0lxQzRGdEIsVUFBVSxFeEM3U0EsT0FBTztJd0M4U2pCLEtBQUssRXJDakpDLElBQUksR1F4SlE7RTZCaVN0QixBQVdFLG9CQVhrQixBQVdqQixNQUFNLEVBWFQsb0JBQW9CLEFBWWpCLE1BQU0sQ0FBQztJQUNOLFVBQVUsRXJDakdtRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0VyRnRGLEdBQUcsQ0w3SHJCLHVCQUFPLEd3Q29UbEI7RUFkSCxBQWdCRSxvQkFoQmtCLEFBZ0JqQixTQUFTLEVBaEJaLG9CQUFvQixBQWlCakIsU0FBUyxDQUFDO0lBQ1QsWUFBWSxFeEN4VEYsT0FBTyxDd0N3VEksVUFBVTtJQUMvQixVQUFVLEVBQUUsc0JBQXNCO0lBQ2xDLEtBQUssRXhDMVRLLE9BQU8sQ3dDMFRILFVBQVUsR0FDekI7O0FBR0gsQUFBQSxvQkFBb0IsQUFBQSxPQUFPO0FBQzNCLG9CQUFvQixBQUFBLE9BQU87QUFDM0IsS0FBSyxHQUFHLG9CQUFvQixBQUFBLGdCQUFnQixDQUFUO0VBQ2pDLFlBQVksRXJDaEhDLFdBQVc7RXFDaUh4QixVQUFVLEVyQ2pNRixPQUFtQztFcUNrTTNDLEtBQUssRXJDdEtHLElBQUk7RXFDMktWLFVBQVUsRUFBRSxJQUFJLEdBRW5COztBQUVELEFBQUEsb0JBQW9CLENBQUMsTUFBTSxDQUFUO0VBQ2hCLFVBQVUsRXhDN1VFLE9BQU87RXdDOFVuQixZQUFZLEV4QzlVQSxPQUFPO0V3QytVbkIsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFFRCxBQUFBLG9CQUFvQixBQUFBLE1BQU0sQ0FBQyxNQUFNO0FBQ2pDLG9CQUFvQixBQUFBLE1BQU0sQ0FBQyxNQUFNO0FBQ2pDLG9CQUFvQixBQUFBLE9BQU8sQ0FBQyxNQUFNO0FBQ2xDLG9CQUFvQixBQUFBLE9BQU8sQ0FBQyxNQUFNO0FBQ2xDLEtBQUssR0FBRyxvQkFBb0IsQUFBQSxnQkFBZ0IsQ0FBQyxNQUFNLENBQVQ7RUFDeEMsVUFBVSxFckMxTEYsSUFBSTtFcUMyTFosWUFBWSxFckMzTEosSUFBSTtFcUM0TFosS0FBSyxFeEN6Vk8sT0FBTyxHd0MwVnBCOztBQTBHQSxBQUFELGNBQWUsQUFBQSxJQUFLLENBQUEsU0FBUyxDQUFDLE9BQU87QUFDcEMsY0FBYyxBQUFBLElBQUssQ0FBQSxTQUFTLENBQUMsT0FBTyxDQUFXO0VBQzlDLGdCQUFnQixFeEN0Y0osT0FBTztFd0N1Y25CLEtBQUssRXJDMVNHLElBQUksR3FDMlNiOztBQUVELEFBQUEsY0FBYyxHQUFHLEVBQUUsQUFBQSxJQUFLLENBQUEsU0FBUyxJQUFJLENBQUMsQUFBQSxJQUFLLENBQUEsY0FBYyxDQUFDLE9BQU87QUFDakUsY0FBYyxHQUFHLEVBQUUsQUFBQSxPQUFPLEFBQUEsSUFBSyxDQUFBLFNBQVMsSUFBSSxDQUFDLEFBQUEsSUFBSyxDQUFBLGNBQWMsRUFBWTtFQUMxRSxnQkFBZ0IsRXhDNWNKLE9BQU87RXdDNmNuQixLQUFLLEVyQ2hURyxJQUFJLEdxQ2lUYjs7QUFzQ0QsQTdCcGVBLFU2Qm9lVSxDQUFDLFNBQVMsQUFBQSxPQUFPLEVBQTNCLFVBQVUsQ0FBQyxTQUFTLEFBQUEsT0FBTyxBN0JuZTFCLE1BQU0sRTZCbWVQLFVBQVUsQ0FBQyxTQUFTLEFBQUEsT0FBTyxBN0JsZTFCLE1BQU0sQ0FBQztFNkJvZUosZ0JBQWdCLEV4Q3RmTixPQUFPO0V3Q3VmakIsS0FBSyxFckMxVkMsSUFBSSxHUXpJYjs7QTZCdWVELEE3QjNlQSxTNkIyZVMsQUFBQSxTQUFTLENBQUMsU0FBUyxBQUFBLE9BQU8sRUFBbkMsU0FBUyxBQUFBLFNBQVMsQ0FBQyxTQUFTLEFBQUEsT0FBTyxBN0IxZWxDLE1BQU0sRTZCMGVQLFNBQVMsQUFBQSxTQUFTLENBQUMsU0FBUyxBQUFBLE9BQU8sQTdCemVsQyxNQUFNO0E2QjBlUCxTQUFTLEdBQUcsU0FBUyxDQUFDLFNBQVMsQUFBQSxPQUFPO0FBQXRDLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxBQUFBLE9BQU8sQTdCM2VyQyxNQUFNO0E2QjJlUCxTQUFTLEdBQUcsU0FBUyxDQUFDLFNBQVMsQUFBQSxPQUFPLEE3QjFlckMsTUFBTSxDQUFDO0U2QjRlSixVQUFVLEVBQUUsQ0FBQyxDQUFFLElBQUcsQ0FBQyxDQUFDLEN4QzlmVixPQUFPLEN3QzhmZ0IsS0FBSyxHN0IxZXpDOztBNkJzc0JELEFBU0ksZUFUVyxDQVFiLHFCQUFxQixBQUNsQixNQUFNLEdBQUcscUJBQXFCLEFBQUEsUUFBUTtBQVQzQyxlQUFlLENBUWIscUJBQXFCLEFBRWxCLE9BQU8sR0FBRyxxQkFBcUIsQUFBQSxRQUFRLENBQUM7RUFDdkMsWUFBWSxFeENydUJKLE9BQU8sR3dDc3VCaEI7O0FBWkwsQUFjSSxlQWRXLENBUWIscUJBQXFCLEFBTWxCLE1BQU0sR0FBRyxxQkFBcUIsQUFBQSxRQUFRLENBQUM7RUFDdEMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDbkM1bUJTLEdBQUcsQ0w3SHJCLHVCQUFPLEd3QzB1QmhCOztBQWhCTCxBQW1CRSxlQW5CYSxBQW1CWixnQkFBZ0IsQ0FBQyxxQkFBcUIsQUFBQSxjQUFjLEdBQUcscUJBQXFCLEFBQUEsUUFBUTtBQW5CdkYsZUFBZSxBQW9CWixnQkFBZ0IsQ0FBQyxxQkFBcUIsQUFBQSxRQUFRLEdBQUcscUJBQXFCLEFBQUEsUUFBUTtBQXBCakYsZUFBZSxBQXFCWixhQUFhLENBQUMscUJBQXFCLEFBQUEsUUFBUSxHQUFHLHFCQUFxQixBQUFBLFFBQVEsQ0FBQztFQUMzRSxZQUFZLEV4Q2h2QkYsT0FBTztFd0NpdkJqQixnQkFBZ0IsRXhDanZCTixPQUFPLEd3Q2t2QmxCOztBQXhCSCxBQTBCRSxlQTFCYSxBQTBCWixnQkFBZ0IsQ0FBQyxxQkFBcUIsQUFBQSxjQUFjLEdBQUcscUJBQXFCLEFBQUEsUUFBUSxDQUFDO0VBQ3BGLGdCQUFnQixFQUFFLHFKQUErRixHQUNsSDs7QUE1QkgsQUE4QkUsZUE5QmEsQUE4QlosZ0JBQWdCLENBQUMscUJBQXFCLEFBQUEsUUFBUSxHQUFHLHFCQUFxQixBQUFBLFFBQVEsQ0FBQztFQUM5RSxnQkFBZ0IsRUFBRSx1UUFBMkYsR0FDOUc7O0FBaENILEFBa0NFLGVBbENhLEFBa0NaLGFBQWEsQ0FBQyxxQkFBcUIsQUFBQSxRQUFRLEdBQUcscUJBQXFCLEFBQUEsUUFBUSxDQUFDO0VBQzNFLGdCQUFnQixFQUFFLGtKQUF3RixHQUMzRzs7QUF5WEgsQUFBQSxrQkFBa0IsQUFBQSxNQUFNLEdBQUcsa0JBQWtCLENBQUM7RUFDNUMsWUFBWSxFeEN4bkNBLE9BQU8sR3dDNm5DcEI7RUFORCxBQUdFLGtCQUhnQixBQUFBLE1BQU0sR0FBRyxrQkFBa0IsQUFHMUMsT0FBTyxDQUFDO0lBQ1AsWUFBWSxFQUFFLE9BQU8sR0FDdEI7O0FBK0JILEFBQUEsYUFBYSxBQUFBLE1BQU07QUFDbkIsY0FBYyxBQUFBLE1BQU0sQ0FBQztFQUNuQixZQUFZLEV4QzdwQ0EsT0FBTyxHd0M4cENwQjs7QUFzSEEsQUFBRCxlQUFnQixBQUFBLFFBQVEsR0FBRyxtQkFBbUIsQ0FBYTtFQUN6RCxVQUFVLEV4Q3J4Q0UsT0FBTztFd0NzeENuQixLQUFLLEVyQ3puQ0csSUFBSSxHcUMwbkNiOztBQUVBLEFBQUQsZUFBZ0IsQUFBQSxNQUFNLEdBQUcsbUJBQW1CLENBQWE7RUFDdkQsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDbkM3cENhLEdBQUcsQ0w3SHJCLHVCQUFPLEd3QzJ4Q3BCOztBQUVBLEFBQUQsZUFBZ0IsQUFBQSxPQUFPLEdBQUcsbUJBQW1CLENBQWE7RUFDeEQsVUFBVSxFQUFFLElBQUksR0FDakI7O0FBZ0hELEFBQUEsT0FBTyxBQUFBLFdBQVcsQ0FBUDtFQUNULGdCQUFnQixFeENoNUNKLE9BQU8sQ3dDZzVDb0IsVUFBVTtFQUNqRCxLQUFLLEVyQ2h4Q0csT0FBbUMsR3FDdTBDNUM7RUF6REQsQUFJRSxPQUpLLEFBQUEsV0FBVyxDQUloQixhQUFhLENBQUM7SUFDWixLQUFLLEVyQ3Z2Q0MsSUFBSSxHcUM0dkNYO0lBVkgsQTdCdDRDQSxPNkJzNENPLEFBQUEsV0FBVyxDQUloQixhQUFhLEE3QjE0Q2QsTUFBTSxFNkJzNENQLE9BQU8sQUFBQSxXQUFXLENBSWhCLGFBQWEsQTdCejRDZCxNQUFNLENBQUM7TTZCNjRDRixLQUFLLEVyQzF2Q0QsSUFBSSxHUWpKYjtFNkJtNENELEFBYUksT0FiRyxBQUFBLFdBQVcsQ0FZaEIsV0FBVyxDQUNULFNBQVMsQ0FBQztJQUNSLEtBQUssRXJDNXhDRCxPQUFtQyxHcUNxeUN4QztJQXZCTCxBN0J0NENBLE82QnM0Q08sQUFBQSxXQUFXLENBWWhCLFdBQVcsQ0FDVCxTQUFTLEE3Qm41Q1osTUFBTSxFNkJzNENQLE9BQU8sQUFBQSxXQUFXLENBWWhCLFdBQVcsQ0FDVCxTQUFTLEE3Qmw1Q1osTUFBTSxDQUFDO002QnM1Q0EsS0FBSyxFckNud0NILElBQUksR1FqSmI7STZCbTRDRCxBQW9CTSxPQXBCQyxBQUFBLFdBQVcsQ0FZaEIsV0FBVyxDQUNULFNBQVMsQUFPTixTQUFTLENBQUM7TUFDVCxLQUFLLEVyQ255Q0gsT0FBbUMsQ3FDbXlDRyxVQUFVLEdBQ25EO0VBdEJQLEFBeUJJLE9BekJHLEFBQUEsV0FBVyxDQVloQixXQUFXLENBYVQsS0FBSyxHQUFHLFNBQVM7RUF6QnJCLE9BQU8sQUFBQSxXQUFXLENBWWhCLFdBQVcsQ0FjVCxPQUFPLEdBQUcsU0FBUztFQTFCdkIsT0FBTyxBQUFBLFdBQVcsQ0FZaEIsV0FBVyxDQWVULFNBQVMsQUFBQSxLQUFLO0VBM0JsQixPQUFPLEFBQUEsV0FBVyxDQVloQixXQUFXLENBZ0JULFNBQVMsQUFBQSxPQUFPLENBQUM7SUFDZixLQUFLLEVyQy93Q0QsSUFBSSxHcUNneENUO0VBOUJMLEFBaUNFLE9BakNLLEFBQUEsV0FBVyxDQWlDaEIsZUFBZSxDQUFDO0lBQ2QsS0FBSyxFckNoekNDLE9BQW1DO0lxQ2l6Q3pDLFlBQVksRXJDcnhDTix5QkFBSSxHcUNzeENYO0VBcENILEFBc0NFLE9BdENLLEFBQUEsV0FBVyxDQXNDaEIsb0JBQW9CLENBQUM7SUFDbkIsZ0JBQWdCLEVsQ251QjBCLDRPQUF5TyxHa0NvdUJwUjtFQXhDSCxBQTBDRSxPQTFDSyxBQUFBLFdBQVcsQ0EwQ2hCLFlBQVksQ0FBQztJQUNYLEtBQUssRXJDenpDQyxPQUFtQyxHcUNrMEMxQztJQXBESCxBQTZDSSxPQTdDRyxBQUFBLFdBQVcsQ0EwQ2hCLFlBQVksQ0FHVixDQUFDLENBQUM7TUFDQSxLQUFLLEVyQ2h5Q0QsSUFBSSxHcUNxeUNUO01BbkRMLEE3QnQ0Q0EsTzZCczRDTyxBQUFBLFdBQVcsQ0EwQ2hCLFlBQVksQ0FHVixDQUFDLEE3Qm43Q0osTUFBTSxFNkJzNENQLE9BQU8sQUFBQSxXQUFXLENBMENoQixZQUFZLENBR1YsQ0FBQyxBN0JsN0NKLE1BQU0sQ0FBQztRNkJzN0NBLEtBQUssRXJDbnlDSCxJQUFJLEdRakpiO0U2Qm00Q0QsQUFzREUsT0F0REssQUFBQSxXQUFXLENBc0RoQixFQUFFLENBQUM7SUFDRCxZQUFZLEVyQ3p5Q04seUJBQUksR3FDMHlDWDs7QUFpQkgsQUFBQSxRQUFRLEFBQUEsV0FBVyxDQUFSO0VBQ1QsZ0JBQWdCLEV4Q3o5Q0osT0FBTyxDd0N5OUNvQixVQUFVO0VBQ2pELEtBQUssRXJDejFDRyxPQUFtQyxHcUMyNkM1QztFQXBGRCxBQUlFLFFBSk0sQUFBQSxXQUFXLENBSWpCLGFBQWE7RUFKZixRQUFRLEFBQUEsV0FBVyxDQUtqQix3QkFBd0I7RUFMMUIsUUFBUSxBQUFBLFdBQVcsQ0FNakIsd0JBQXdCLENBQUM7SUFDdkIsS0FBSyxFckM5MUNDLE9BQW1DLEdxQ3UyQzFDO0lBaEJILEE3Qi84Q0EsUTZCKzhDUSxBQUFBLFdBQVcsQ0FJakIsYUFBYSxBN0JuOUNkLE1BQU0sRTZCKzhDUCxRQUFRLEFBQUEsV0FBVyxDQUlqQixhQUFhLEE3Qmw5Q2QsTUFBTTtJNkI4OENQLFFBQVEsQUFBQSxXQUFXLENBS2pCLHdCQUF3QixBN0JwOUN6QixNQUFNO0k2Qis4Q1AsUUFBUSxBQUFBLFdBQVcsQ0FLakIsd0JBQXdCLEE3Qm45Q3pCLE1BQU07STZCODhDUCxRQUFRLEFBQUEsV0FBVyxDQU1qQix3QkFBd0IsQTdCcjlDekIsTUFBTTtJNkIrOENQLFFBQVEsQUFBQSxXQUFXLENBTWpCLHdCQUF3QixBN0JwOUN6QixNQUFNLENBQUM7TTZCdzlDRixLQUFLLEVyQ3IwQ0QsSUFBSSxHUWpKYjtJNkI0OENELEFBYUksUUFiSSxBQUFBLFdBQVcsQ0FJakIsYUFBYSxBQVNWLE9BQU87SUFiWixRQUFRLEFBQUEsV0FBVyxDQUtqQix3QkFBd0IsQUFRckIsT0FBTztJQWJaLFFBQVEsQUFBQSxXQUFXLENBTWpCLHdCQUF3QixBQU9yQixPQUFPLENBQUM7TUFDUCxLQUFLLEVyQ3owQ0QsSUFBSSxHcUMwMENUO0VBZkwsQUFrQkUsUUFsQk0sQUFBQSxXQUFXLENBa0JqQixhQUFhLEFBQUEsU0FBUyxDQUFDLGFBQWE7RUFsQnRDLFFBQVEsQUFBQSxXQUFXLENBbUJqQix3QkFBd0IsQUFBQSxTQUFTO0VBbkJuQyxRQUFRLEFBQUEsV0FBVyxDQW9CakIsd0JBQXdCLEFBQUEsU0FBUyxDQUFDO0lBQ2hDLEtBQUssRXJDNTJDQyxPQUFtQyxDcUM0MkNELFVBQVUsR0FDbkQ7RUF0QkgsQUF3QkUsUUF4Qk0sQUFBQSxXQUFXLENBd0JqQixhQUFhLEFBQUEsS0FBSyxBQUFBLElBQUssQ0FBQSxxQkFBcUIsSUFBSSxlQUFlO0VBeEJqRSxRQUFRLEFBQUEsV0FBVyxDQXlCakIsYUFBYSxBQUFBLE9BQU8sR0FBRyxhQUFhLENBQUM7SUFDbkMsS0FBSyxFckNyMUNDLElBQUksR3FDczFDWDtFQTNCSCxBQTZCRSxRQTdCTSxBQUFBLFdBQVcsQ0E2QmpCLGFBQWEsQUFBQSxPQUFPLEdBQUcsYUFBYSxBQUFBLElBQUssQ0FBQSxlQUFlLEVBQUU7SUFDeEQsZ0JBQWdCLEVyQ3IzQ1YsT0FBbUMsR3FDczNDMUM7RUEvQkgsQUFpQ0UsUUFqQ00sQUFBQSxXQUFXLEFBaUNoQixtQkFBbUIsQ0FBQyxhQUFhLEdBQUcsYUFBYSxBQUFBLE9BQU8sR0FBRyxhQUFhLEFBQUEsSUFBSyxDQUFBLGVBQWUsRUFBRTtJQUM3RixnQkFBZ0IsRXJDejNDVixPQUFtQyxHcUMwM0MxQztFQW5DSCxBQXFDRSxRQXJDTSxBQUFBLFdBQVcsQUFxQ2hCLG1CQUFtQixDQUFDLGNBQWMsR0FBRyxhQUFhLEFBQUEsSUFBSyxDQUFBLHFCQUFxQixJQUFJLGFBQWE7RUFyQ2hHLFFBQVEsQUFBQSxXQUFXLEFBc0NoQixtQkFBbUIsQ0FBQyxjQUFjLEdBQUcsYUFBYSxBQUFBLEtBQUssR0FBRyxlQUFlLENBQUM7SUFDekUsVUFBVSxFckM5M0NKLE9BQW1DLEdxQyszQzFDO0VBeENILEFBMENFLFFBMUNNLEFBQUEsV0FBVyxDQTBDakIsY0FBYyxHQUFHLGFBQWEsQUFBQSxxQkFBcUIsQ0FBQyxhQUFhLEFBQUEsS0FBSyxDQUFDLGFBQWE7RUExQ3RGLFFBQVEsQUFBQSxXQUFXLENBMkNqQixjQUFjLEdBQUcsYUFBYSxBQUFBLHFCQUFxQixDQUFDLGFBQWEsQUFBQSxLQUFLLENBQUMsZUFBZSxDQUFDO0lBQ3JGLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLEtBQUssRXJDcDRDQyxPQUFtQyxHcUNxNEMxQztFQTlDSCxBQWdERSxRQWhETSxBQUFBLFdBQVcsQ0FnRGpCLGFBQWEsQ0FBQztJQUNaLEtBQUssRXJDNTJDQyxJQUFJLEdxQzYyQ1g7RUFsREgsQUFvREUsUUFwRE0sQUFBQSxXQUFXLENBb0RqQixlQUFlLENBQUM7SUFDZCxLQUFLLEVyQzU0Q0MsT0FBbUMsR3FDNjRDMUM7RUF0REgsQUF3REUsUUF4RE0sQUFBQSxXQUFXLENBd0RqQixFQUFFO0VBeERKLFFBQVEsQUFBQSxXQUFXLENBeURqQixnQkFBZ0I7RUF6RGxCLFFBQVEsQUFBQSxXQUFXLENBMERqQixjQUFjLEdBQUcsYUFBYSxBQUFBLEtBQUssR0FBRyxhQUFhLEFBQUEsUUFBUSxDQUFDO0lBQzFELFlBQVksRXJDdDNDTix5QkFBSSxDcUNzM0M2QixVQUFVLEdBQ2xEO0VBNURILEFBOERFLFFBOURNLEFBQUEsV0FBVyxDQThEakIsY0FBYyxHQUFHLGVBQWUsQUFBQSxRQUFRO0VBOUQxQyxRQUFRLEFBQUEsV0FBVyxDQStEakIsY0FBYyxBQUFBLFFBQVEsQ0FBQztJQUNyQixnQkFBZ0IsRXJDMzNDVix5QkFBSSxHcUM0M0NYO0VBakVILEFBbUVFLFFBbkVNLEFBQUEsV0FBVyxDQW1FakIsY0FBYyxHQUFHLGFBQWEsQUFBQSxLQUFLLENBQUMsYUFBYSxBQUFBLEtBQUssR0FBRyxlQUFlLEFBQUEsUUFBUSxDQUFDO0lBQy9FLGdCQUFnQixFckMzNUNWLE9BQW1DLEdxQzQ1QzFDO0VBckVILEFBdUVFLFFBdkVNLEFBQUEsV0FBVyxDQXVFakIsY0FBYyxHQUFHLGFBQWEsQUFBQSxLQUFLLENBQUMsYUFBYSxBQUFBLE9BQU8sR0FBRyxhQUFhLEFBQUEsUUFBUSxDQUFDO0lBQy9FLGdCQUFnQixFckNuNENWLElBQUksR3FDbzRDWDtFQXpFSCxBQTJFRSxRQTNFTSxBQUFBLFdBQVcsQ0EyRWpCLGNBQWMsR0FBRyxhQUFhLEFBQUEsS0FBSyxDQUFDLGFBQWEsQUFBQSxLQUFLLEdBQUcsZUFBZSxBQUFBLFFBQVE7RUEzRWxGLFFBQVEsQUFBQSxXQUFXLENBNEVqQixjQUFjLEdBQUcsYUFBYSxBQUFBLEtBQUssQ0FBQyxhQUFhLEFBQUEsT0FBTyxHQUFHLGFBQWEsQUFBQSxRQUFRLENBQUM7SUFDL0UsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ3JDcDZDZixPQUFtQyxHcUNxNkMxQztFQTlFSCxBQWdGRSxRQWhGTSxBQUFBLFdBQVcsQ0FnRmpCLFlBQVk7RUFoRmQsUUFBUSxBQUFBLFdBQVcsQ0FpRmpCLFdBQVcsQUFBQSxhQUFhLEdBQUcsWUFBWSxDQUFDO0lBQ3RDLFVBQVUsRXJDNzRDSiw2QkFBSSxDcUM2NEMrSCxVQUFVLEdBQ3BKOztBQVVILEFBQUEsT0FBTyxBQUFBLFdBQVcsQ0FBUDtFQUNULGdCQUFnQixFeEN0akRKLE9BQU8sQ3dDc2pEb0IsVUFBVTtFQUNqRCxLQUFLLEVyQ3Q3Q0csT0FBbUMsR3FDazlDNUM7RUE5QkQsQUFJRSxPQUpLLEFBQUEsV0FBVyxDQUloQixZQUFZLENBQUM7SUFDWCxLQUFLLEVyQ3o3Q0MsT0FBbUMsR3FDazhDMUM7SUFkSCxBN0I1aURBLE82QjRpRE8sQUFBQSxXQUFXLENBSWhCLFlBQVksQTdCaGpEYixNQUFNLEU2QjRpRFAsT0FBTyxBQUFBLFdBQVcsQ0FJaEIsWUFBWSxBN0IvaURiLE1BQU0sQ0FBQztNNkJtakRGLEtBQUssRXJDaDZDRCxJQUFJLEdRakpiO0k2QnlpREQsQUFXSSxPQVhHLEFBQUEsV0FBVyxDQUloQixZQUFZLEFBT1QsU0FBUyxDQUFDO01BQ1QsS0FBSyxFckNoOENELE9BQW1DLENxQ2c4Q0MsVUFBVSxHQUNuRDtFQWJMLEFBZ0JFLE9BaEJLLEFBQUEsV0FBVyxDQWdCaEIsWUFBWSxDQUFDO0lBQ1gsS0FBSyxFckN6NkNDLElBQUksR3FDMDZDWDtFQWxCSCxBQW9CRSxPQXBCSyxBQUFBLFdBQVcsQ0FvQmhCLEtBQUssR0FBRyxZQUFZO0VBcEJ0QixPQUFPLEFBQUEsV0FBVyxDQXFCaEIsT0FBTyxHQUFHLFlBQVk7RUFyQnhCLE9BQU8sQUFBQSxXQUFXLENBc0JoQixZQUFZLEFBQUEsS0FBSztFQXRCbkIsT0FBTyxBQUFBLFdBQVcsQ0F1QmhCLFlBQVksQUFBQSxPQUFPLENBQUM7SUFDbEIsS0FBSyxFckNoN0NDLElBQUksR3FDaTdDWDtFQXpCSCxBQTJCRSxPQTNCSyxBQUFBLFdBQVcsQ0EyQmhCLEVBQUUsQ0FBQztJQUNELFlBQVksRXJDcDdDTix5QkFBSSxHcUNxN0NYOztBQU9ILEFBQUEsV0FBVyxBQUFBLFVBQVUsQ0FBQTtFQUNuQixLQUFLLEVyQzc3Q0csSUFBSTtFcUM4N0NaLGdCQUFnQixFeEMzbERKLHVCQUFPLEN3QzJsRHFCLFVBQVUsR0FNbkQ7RUFSRCxBQUlFLFdBSlMsQUFBQSxVQUFVLENBSW5CLGFBQWEsQ0FBQztJQUNaLEtBQUssRXJDajhDQyxJQUFJO0lxQ2s4Q1YsZ0JBQWdCLEVyQ2w4Q1Ysd0JBQUksR3FDbThDWDs7QUMxa0RILEFBQUEsYUFBYSxDQUFDO0VBQUUsSUFBSSxFekN0Qk4sT0FBTyxHeUNzQmU7O0FFUHBDLEFBckJBLGVBcUJlLENBckJmLGlCQUFpQjtBQXFCakIsZUFBZSxDQXBCZixnQkFBZ0IsQ0FBQyxrQkFBa0I7QUFvQm5DLGVBQWUsQUFuQmQsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUM7RUFDbkMsVUFBVSxFM0NHRSxPQUFPLEcyQ0ZwQjs7QUNJRCxBQUNFLGFBRFcsQ0FBQyxVQUFVLENBQ3RCLGFBQWEsQ0FBQztFQUFFLFVBQVUsRTVDSGQsT0FBTyxDNENHcUIsVUFBVSxHQUFJOztBQ1d4RCxBQUNFLGNBRFksQ0FBQywyQkFBMkIsQ0FDeEMscUNBQXFDLENBQUEsQUFBQSxhQUFDLEFBQUEsRUFBZTtFQUNuRCxnQkFBZ0IsRTdDaEJOLE9BQU8sQzZDZ0JhLFVBQVU7RUFDeEMsS0FBSyxFMUM0SUMsSUFBSSxDMEM1SUksVUFBVSxHQUN6Qjs7QUFKSCxBQU1FLGNBTlksQ0FBQywyQkFBMkIsQUFNdkMseUJBQXlCLENBQUMsa0JBQWtCO0FBTi9DLGNBQWMsQ0FBQywyQkFBMkIsQUFPdkMsd0JBQXdCLENBQUMsa0JBQWtCLENBQUM7RUFDM0MsWUFBWSxFN0N0QkYsT0FBTyxDNkNzQlMsVUFBVSxHQUNyQzs7QUFHSCxBQTVCQSxjQTRCYyxDQUFDLGdCQUFnQixDQTVCL0IsMkJBQTJCLENBQUMsNEJBQTRCLENBQUMsMEJBQTBCLENBQUM7RUFDbEYsVUFBVSxFN0NDRSxPQUFPO0U2Q0FuQixLQUFLLEUxQzZKRyxJQUFJLEcwQzVKYjs7QUNQRCxBQUFBLG9CQUFvQixBQUFBLE1BQU0sQ0FBQztFQUN6QixZQUFZLEU5Q0tBLE9BQU8sQzhDTEcsVUFBVSxHQUNqQzs7QUNFRCxBQUFBLGlCQUFpQixDQUFDLGNBQWMsQUFBQSxNQUFNLENBQUMsQ0FBQyxDQUFBLEFBQUEsYUFBQyxDQUFELElBQUMsQUFBQSxFQUFvQjtFQUMzRCxVQUFVLEUvQ0NFLE9BQU8sQytDREssVUFBVTtFQUNsQyxLQUFLLEU1QzZKRyxJQUFJLEM0QzdKRSxVQUFVLEdBQ3pCOztBQ0RELEFBQ0UsV0FEUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxBQUNwQixPQUFPLEVBRFYsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxBQUVwQixPQUFPLEFBQUEsWUFBWSxFQUZ0QixXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEFBR3BCLE9BQU8sQUFBQSxNQUFNO0FBSGhCLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FJckIsSUFBSSxBQUFBLE9BQU87QUFKYixXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBS3JCLElBQUksQUFBQSxPQUFPLEFBQUEsU0FBUyxFQUx0QixXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEFBTXBCLFlBQVksRUFOZixXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEFBT3BCLFVBQVUsQ0FBQztFQUNWLFVBQVUsRWhEUkEsT0FBTyxDZ0RRTyxVQUFVO0VBQ2xDLEtBQUssRTdDb0pDLElBQUksQzZDcEpJLFVBQVUsR0FDekI7O0FBVkgsQUFZRSxXQVpTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEFBWXBCLE1BQU0sRUFaVCxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEFBYXBCLE1BQU0sQUFBQSxZQUFZLEVBYnJCLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQUFjcEIsTUFBTSxBQUFBLE1BQU0sQ0FBQztFQUNaLFVBQVUsRTdDa0hKLE9BQW1DLEM2Q2xIbkIsVUFBVTtFQUNoQyxLQUFLLEU3Q2lIQyxPQUFtQyxDNkNqSHJCLFVBQVUsR0FVL0I7RUExQkgsQUFrQkksV0FsQk8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQUFZcEIsTUFBTSxBQU1KLFFBQVEsRUFsQmIsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxBQWFwQixNQUFNLEFBQUEsWUFBWSxBQUtoQixRQUFRLEVBbEJiLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQUFjcEIsTUFBTSxBQUFBLE1BQU0sQUFJVixRQUFRLENBQUM7SUFDUixVQUFVLEVBQUUsT0FBcUIsQ0FBQyxVQUFVLEdBQzdDO0VBcEJMLEFBc0JJLFdBdEJPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEFBWXBCLE1BQU0sQUFVSixTQUFTLEVBdEJkLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQUFhcEIsTUFBTSxBQUFBLFlBQVksQUFTaEIsU0FBUyxFQXRCZCxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEFBY3BCLE1BQU0sQUFBQSxNQUFNLEFBUVYsU0FBUyxDQUFDO0lBQ1QsVUFBVSxFQUFFLHdCQUE2QixDQUFDLFVBQVU7SUFDcEQsS0FBSyxFQUFFLHNCQUFnQyxDQUFDLFVBQVUsR0FDbkQ7O0FDekJMLEFBQ0UsbUJBRGlCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxBQUN0QyxRQUFRLEFBQUEsTUFBTSxDQUFDO0VBQ2QsbUJBQW1CLEU5QzJKYixJQUFJLEc4QzFKWDs7QUFISCxBQUtFLG1CQUxpQixDQUFDLGdCQUFnQixDQUFDLElBQUksQUFLdEMsVUFBVSxBQUFBLE1BQU0sQ0FBQztFQUNoQixnQkFBZ0IsRTlDdUpWLElBQUksRzhDdEpYOztBQUdILEFBQUEsZ0JBQWdCO0FBQ2hCLElBQUksQUFBQSxrQkFBa0IsQ0FBQztFQUNyQixVQUFVLEVqRFpFLE9BQU87RWlEYW5CLEtBQUssRTlDZ0pHLElBQUk7RThDL0laLElBQUksRTlDK0lJLElBQUksRzhDOUliOztBQUVELEFBQUEsbUJBQW1CLENBQUM7RUFDbEIsVUFBVSxFakRsQkUsT0FBTyxHaURtQnBCOztBQUVELEFBQ0UsY0FEWSxBQUNYLE1BQU0sQ0FBQztFQUNOLFlBQVksRWpEdkJGLE9BQU8sR2lEd0JsQjs7QUFISCxBQUtFLGNBTFksQUFLWCxRQUFRLEVBTFgsY0FBYyxBQU1YLGFBQWEsQUFBQSxRQUFRLEVBTnhCLGNBQWMsQUFPWCxhQUFhLEFBQUEsUUFBUSxFQVB4QixjQUFjLEFBUVgsTUFBTSxBQUFBLFFBQVEsRUFSakIsY0FBYyxBQVNYLGFBQWEsQUFBQSxNQUFNLEFBQUEsUUFBUSxFQVQ5QixjQUFjLEFBVVgsYUFBYSxBQUFBLE1BQU0sQUFBQSxRQUFRLENBQUM7RUFDM0IsWUFBWSxFOUNpR04sT0FBbUMsQzhDakdkLFVBQVU7RUFDckMsVUFBVSxFOUNnR0osT0FBbUMsQzhDaEdoQixVQUFVO0VBQ25DLEtBQUssRTlDK0ZDLE9BQW1DLEM4Qy9GbEIsVUFBVSxHQUNsQzs7QUFkSCxBQWdCRSxjQWhCWSxBQWdCWCxTQUFTLEVBaEJaLGNBQWMsQUFpQlgsV0FBVyxFQWpCZCxjQUFjLEFBa0JYLFNBQVMsRUFsQlosY0FBYyxBQW1CWCxTQUFTLEFBQUEsUUFBUSxFQW5CcEIsY0FBYyxBQW9CWCxXQUFXLEFBQUEsUUFBUSxFQXBCdEIsY0FBYyxBQXFCWCxTQUFTLEFBQUEsUUFBUSxFQXJCcEIsY0FBYyxBQXNCWCxTQUFTLEFBQUEsTUFBTSxFQXRCbEIsY0FBYyxBQXVCWCxXQUFXLEFBQUEsTUFBTSxFQXZCcEIsY0FBYyxBQXdCWCxTQUFTLEFBQUEsTUFBTSxFQXhCbEIsY0FBYyxBQXlCWCxTQUFTLEFBQUEsTUFBTSxFQXpCbEIsY0FBYyxBQTBCWCxXQUFXLEFBQUEsTUFBTSxFQTFCcEIsY0FBYyxBQTJCWCxTQUFTLEFBQUEsTUFBTSxFQTNCbEIsY0FBYyxBQTRCWCxTQUFTLEFBQUEsYUFBYSxFQTVCekIsY0FBYyxBQTZCWCxXQUFXLEFBQUEsYUFBYSxFQTdCM0IsY0FBYyxBQThCWCxTQUFTLEFBQUEsYUFBYSxFQTlCekIsY0FBYyxBQStCWCxTQUFTLEFBQUEsYUFBYSxFQS9CekIsY0FBYyxBQWdDWCxXQUFXLEFBQUEsYUFBYSxFQWhDM0IsY0FBYyxBQWlDWCxTQUFTLEFBQUEsYUFBYSxFQWpDekIsY0FBYyxBQWtDWCxLQUFLLEFBQUEsU0FBUyxDQUFDO0VBQ2QsWUFBWSxFakR4REYsT0FBTyxDaUR3RFMsVUFBVTtFQUNwQyxVQUFVLEVqRHpEQSxPQUFPLENpRHlETyxVQUFVO0VBQ2xDLEtBQUssRTlDbUdDLElBQUksQzhDbkdJLFVBQVUsR0FDekI7O0FDM0RILEFBQUEsZ0JBQWdCLENBQUMsRUFBRSxBQUFBLE9BQU8sQ0FBQztFQUN6QixnQkFBZ0IsRWxEREosT0FBTyxDa0RDVyxVQUFVO0VBQ3hDLEtBQUssRS9DMkpHLElBQUksQytDM0pFLFVBQVUsR0FDekI7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBQyxFQUFFLEFBQUEsU0FBUyxBQUFBLElBQUssQ0FBQSxXQUFXLENBQUMsSUFBSyxDQUFBLFNBQVMsQ0FBQyxJQUFLLENBQUEsSUFBSSxFQUFFO0VBQ3JFLGdCQUFnQixFL0MySFIsT0FBbUMsQytDM0hWLFVBQVU7RUFDM0MsS0FBSyxFL0MwSEcsT0FBbUMsQytDMUhsQixVQUFVLEdBQ3BDOztBQUVELEFBQUEsZ0JBQWdCLENBQUMsV0FBVyxBQUFBLE9BQU8sQ0FBQztFQUNsQyxZQUFZLEVsRFhBLE9BQU8sQ2tEV08sVUFBVSxHQUNyQzs7QUFFRCxBQUFBLE9BQU8sQ0FBQyxFQUFFLEFBQUEsT0FBTyxDQUFDO0VBQ2hCLGdCQUFnQixFbERmSixPQUFPLENrRGVXLFVBQVU7RUFDeEMsS0FBSyxFL0M2SUcsSUFBSSxDK0M3SUUsVUFBVSxHQUN6Qjs7QUNuQkQsQUFBQSxTQUFTO0FBQ1QsU0FBUyxDQUFDO0VBQ1IsVUFBVSxFbkRBRSxPQUFPO0VtRENuQixLQUFLLEVoRDRKRyxJQUFJLEdnRDNKYjs7QUFFRCxBQUFBLFVBQVUsR0FBRyxDQUFDLENBQUM7RUFBRSxLQUFLLEVoRHlKWixJQUFJLEdnRHpKb0I7O0FBRWxDLEFBQUEsTUFBTSxBQUFBLFdBQVcsQ0FBQztFQUNoQixVQUFVLEVoRDBIRixPQUFtQztFZ0R6SDNDLEtBQUssRWhEcUpHLElBQUksR2dEcEpiOztBQUVELEFBQUEsS0FBSyxBQUFBLGdCQUFnQixDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFBLFNBQVMsQ0FBQztFQUN6QyxVQUFVLEVuRFpFLE9BQU87RW1EYW5CLEtBQUssRWhEZ0pHLElBQUksQ2dEaEpFLFVBQVUsR0FDekI7O0FBRUQsQUFBQSxvQkFBb0IsQ0FBQyxDQUFDLEFBQUEsU0FBUyxDQUFDO0VBQzlCLFVBQVUsRW5EakJFLE9BQU8sQ21EaUJLLFVBQVU7RUFDbEMsS0FBSyxFaEQySUcsSUFBSSxDZ0QzSUUsVUFBVSxHQUN6Qjs7QUFFRCxBQUNFLElBREUsQ0FBQyxpQkFBaUIsQUFDbkIsTUFBTSxDQUFDO0VBQUUsS0FBSyxFbkR0QkgsT0FBTyxHbURzQmE7O0FBRGxDLEFBRUUsSUFGRSxDQUFDLGlCQUFpQixBQUVuQixPQUFPLENBQUM7RUFBRSxLQUFLLEVuRHZCSixPQUFPLEdtRHVCYzs7QUFHbkMsQUFBQSxJQUFJLENBQUMsVUFBVSxFQUFDLEFBQUEsTUFBQyxDQUFPLFNBQVMsQUFBaEIsRUFBa0I7RUFBRSxNQUFNLEVuRDFCN0IsT0FBTyxDbUQwQm9DLFVBQVUsR0FBSTs7QUFDdkUsQUFBQSxJQUFJLENBQUMsVUFBVSxFQUFDLEFBQUEsSUFBQyxDQUFLLFNBQVMsQUFBZCxFQUFnQjtFQUFFLElBQUksRW5EM0J6QixPQUFPLENtRDJCZ0MsVUFBVSxHQUFJOztBQUNuRSxBQUFBLElBQUksQ0FBQyxVQUFVLEVBQUMsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLEVBQWE7RUFBRSxJQUFJLEVoRGlJMUIsSUFBSSxDZ0RqSStCLFVBQVUsR0FBSTs7QUM5QjNELEFBQUEsRUFBRSxBQUFBLHVCQUF1QjtBQUN6QixtQkFBbUIsQ0FBQyx1QkFBdUIsQUFBQSxNQUFNLENBQUM7RUFDaEQsVUFBVSxFcERBRSxPQUFPLENvREFLLFVBQVU7RUFDbEMsS0FBSyxFakQ0SkcsSUFBSSxDaUQ1SkUsVUFBVSxHQUN6Qjs7QUNKRCxBQUFBLGNBQWMsQ0FBQztFQUNiLFVBQVUsRXJEQ0UsT0FBTyxDcURESyxVQUFVO0VBQ2xDLEtBQUssRWxENkpHLElBQUksQ2tEN0pFLFVBQVUsR0FDekI7O0FDUEQsQUFBQSxVQUFVLEFBQUEsT0FBTyxDQUFDO0VBQ2hCLFlBQVksRXRES0EsT0FBTyxDc0RMRyxVQUFVLEdBQ2pDOztBQ2lFRCxBQUVFLFFBRk0sQUFBQSxXQUFXLENBRWpCLE1BQU0sQUFBQSxNQUFNO0FBRmQsUUFBUSxBQUFBLFdBQVcsQ0FHakIsTUFBTSxBQUFBLE1BQU07QUFIZCxRQUFRLEFBQUEsV0FBVyxDQUlqQixNQUFNLEFBQUEsVUFBVTtBQUpsQixRQUFRLEFBQUEsV0FBVyxDQUtqQixnQkFBZ0IsQUFBQSxNQUFNO0FBTHhCLFFBQVEsQUFBQSxXQUFXLENBTWpCLGdCQUFnQixBQUFBLFVBQVU7QUFONUIsUUFBUSxBQUFBLFdBQVcsQ0FPakIsZUFBZSxBQUFBLE1BQU07QUFQdkIsUUFBUSxBQUFBLFdBQVcsQ0FRakIsZUFBZSxBQUFBLFlBQVk7QUFQN0IsUUFBUSxDQUFDLFdBQVcsQ0FDbEIsTUFBTSxBQUFBLE1BQU07QUFEZCxRQUFRLENBQUMsV0FBVyxDQUVsQixNQUFNLEFBQUEsTUFBTTtBQUZkLFFBQVEsQ0FBQyxXQUFXLENBR2xCLE1BQU0sQUFBQSxVQUFVO0FBSGxCLFFBQVEsQ0FBQyxXQUFXLENBSWxCLGdCQUFnQixBQUFBLE1BQU07QUFKeEIsUUFBUSxDQUFDLFdBQVcsQ0FLbEIsZ0JBQWdCLEFBQUEsVUFBVTtBQUw1QixRQUFRLENBQUMsV0FBVyxDQU1sQixlQUFlLEFBQUEsTUFBTTtBQU52QixRQUFRLENBQUMsV0FBVyxDQU9sQixlQUFlLEFBQUEsWUFBWSxDQUFDO0VBQzFCLEtBQUssRXZEdEVLLE9BQU8sQ3VEc0VILFVBQVUsR0FDekI7O0FBVkgsQUFZRSxRQVpNLEFBQUEsV0FBVyxDQVlqQixNQUFNLEFBQUEsTUFBTSxDQUFDLFFBQVE7QUFadkIsUUFBUSxBQUFBLFdBQVcsQ0FhakIsTUFBTSxBQUFBLE1BQU0sQ0FBQyxRQUFRO0FBYnZCLFFBQVEsQUFBQSxXQUFXLENBY2pCLE1BQU0sQUFBQSxVQUFVLENBQUMsUUFBUTtBQWQzQixRQUFRLEFBQUEsV0FBVyxDQWVqQixnQkFBZ0IsQUFBQSxNQUFNLENBQUMsUUFBUTtBQWZqQyxRQUFRLEFBQUEsV0FBVyxDQWdCakIsZ0JBQWdCLEFBQUEsVUFBVSxDQUFDLFFBQVE7QUFoQnJDLFFBQVEsQUFBQSxXQUFXLENBaUJqQixlQUFlLEFBQUEsTUFBTSxDQUFDLFFBQVE7QUFqQmhDLFFBQVEsQUFBQSxXQUFXLENBa0JqQixlQUFlLEFBQUEsWUFBWSxDQUFDLFFBQVE7QUFsQnRDLFFBQVEsQUFBQSxXQUFXLENBbUJqQixNQUFNLEFBQUEsTUFBTSxDQUFDLFVBQVUsQUFBQSxRQUFRO0FBbkJqQyxRQUFRLEFBQUEsV0FBVyxDQW9CakIsTUFBTSxBQUFBLE1BQU0sQ0FBQyxVQUFVLEFBQUEsUUFBUTtBQXBCakMsUUFBUSxBQUFBLFdBQVcsQ0FxQmpCLE1BQU0sQUFBQSxVQUFVLENBQUMsVUFBVSxBQUFBLFFBQVE7QUFyQnJDLFFBQVEsQUFBQSxXQUFXLENBc0JqQixnQkFBZ0IsQUFBQSxNQUFNLENBQUMsVUFBVSxBQUFBLFFBQVE7QUF0QjNDLFFBQVEsQUFBQSxXQUFXLENBdUJqQixnQkFBZ0IsQUFBQSxVQUFVLENBQUMsVUFBVSxBQUFBLFFBQVE7QUF2Qi9DLFFBQVEsQUFBQSxXQUFXLENBd0JqQixlQUFlLEFBQUEsTUFBTSxDQUFDLFVBQVUsQUFBQSxRQUFRO0FBeEIxQyxRQUFRLEFBQUEsV0FBVyxDQXlCakIsZUFBZSxBQUFBLFlBQVksQ0FBQyxVQUFVLEFBQUEsUUFBUTtBQXhCaEQsUUFBUSxDQUFDLFdBQVcsQ0FXbEIsTUFBTSxBQUFBLE1BQU0sQ0FBQyxRQUFRO0FBWHZCLFFBQVEsQ0FBQyxXQUFXLENBWWxCLE1BQU0sQUFBQSxNQUFNLENBQUMsUUFBUTtBQVp2QixRQUFRLENBQUMsV0FBVyxDQWFsQixNQUFNLEFBQUEsVUFBVSxDQUFDLFFBQVE7QUFiM0IsUUFBUSxDQUFDLFdBQVcsQ0FjbEIsZ0JBQWdCLEFBQUEsTUFBTSxDQUFDLFFBQVE7QUFkakMsUUFBUSxDQUFDLFdBQVcsQ0FlbEIsZ0JBQWdCLEFBQUEsVUFBVSxDQUFDLFFBQVE7QUFmckMsUUFBUSxDQUFDLFdBQVcsQ0FnQmxCLGVBQWUsQUFBQSxNQUFNLENBQUMsUUFBUTtBQWhCaEMsUUFBUSxDQUFDLFdBQVcsQ0FpQmxCLGVBQWUsQUFBQSxZQUFZLENBQUMsUUFBUTtBQWpCdEMsUUFBUSxDQUFDLFdBQVcsQ0FrQmxCLE1BQU0sQUFBQSxNQUFNLENBQUMsVUFBVSxBQUFBLFFBQVE7QUFsQmpDLFFBQVEsQ0FBQyxXQUFXLENBbUJsQixNQUFNLEFBQUEsTUFBTSxDQUFDLFVBQVUsQUFBQSxRQUFRO0FBbkJqQyxRQUFRLENBQUMsV0FBVyxDQW9CbEIsTUFBTSxBQUFBLFVBQVUsQ0FBQyxVQUFVLEFBQUEsUUFBUTtBQXBCckMsUUFBUSxDQUFDLFdBQVcsQ0FxQmxCLGdCQUFnQixBQUFBLE1BQU0sQ0FBQyxVQUFVLEFBQUEsUUFBUTtBQXJCM0MsUUFBUSxDQUFDLFdBQVcsQ0FzQmxCLGdCQUFnQixBQUFBLFVBQVUsQ0FBQyxVQUFVLEFBQUEsUUFBUTtBQXRCL0MsUUFBUSxDQUFDLFdBQVcsQ0F1QmxCLGVBQWUsQUFBQSxNQUFNLENBQUMsVUFBVSxBQUFBLFFBQVE7QUF2QjFDLFFBQVEsQ0FBQyxXQUFXLENBd0JsQixlQUFlLEFBQUEsWUFBWSxDQUFDLFVBQVUsQUFBQSxRQUFRLENBQUM7RUFDN0MsSUFBSSxFdkR2Rk0sT0FBTyxDdUR1RkosVUFBVSxHQUN4Qjs7QUEzQkgsQUE2QkUsUUE3Qk0sQUFBQSxXQUFXLENBNkJqQixNQUFNLEFBQUEsTUFBTSxDQUFDLFVBQVU7QUE3QnpCLFFBQVEsQUFBQSxXQUFXLENBOEJqQixNQUFNLEFBQUEsTUFBTSxDQUFDLFVBQVU7QUE5QnpCLFFBQVEsQUFBQSxXQUFXLENBK0JqQixNQUFNLEFBQUEsVUFBVSxDQUFDLFVBQVU7QUEvQjdCLFFBQVEsQUFBQSxXQUFXLENBZ0NqQixnQkFBZ0IsQUFBQSxNQUFNLENBQUMsVUFBVTtBQWhDbkMsUUFBUSxBQUFBLFdBQVcsQ0FpQ2pCLGdCQUFnQixBQUFBLFVBQVUsQ0FBQyxVQUFVO0FBakN2QyxRQUFRLEFBQUEsV0FBVyxDQWtDakIsZUFBZSxBQUFBLE1BQU0sQ0FBQyxVQUFVO0FBbENsQyxRQUFRLEFBQUEsV0FBVyxDQW1DakIsZUFBZSxBQUFBLFlBQVksQ0FBQyxVQUFVO0FBbkN4QyxRQUFRLEFBQUEsV0FBVyxDQW9DakIsTUFBTSxBQUFBLE1BQU0sQ0FBQyxnQkFBZ0I7QUFwQy9CLFFBQVEsQUFBQSxXQUFXLENBcUNqQixNQUFNLEFBQUEsTUFBTSxDQUFDLGdCQUFnQjtBQXJDL0IsUUFBUSxBQUFBLFdBQVcsQ0FzQ2pCLE1BQU0sQUFBQSxVQUFVLENBQUMsZ0JBQWdCO0FBdENuQyxRQUFRLEFBQUEsV0FBVyxDQXVDakIsZ0JBQWdCLEFBQUEsTUFBTSxDQUFDLGdCQUFnQjtBQXZDekMsUUFBUSxBQUFBLFdBQVcsQ0F3Q2pCLGdCQUFnQixBQUFBLFVBQVUsQ0FBQyxnQkFBZ0I7QUF4QzdDLFFBQVEsQUFBQSxXQUFXLENBeUNqQixlQUFlLEFBQUEsTUFBTSxDQUFDLGdCQUFnQjtBQXpDeEMsUUFBUSxBQUFBLFdBQVcsQ0EwQ2pCLGVBQWUsQUFBQSxZQUFZLENBQUMsZ0JBQWdCO0FBekM5QyxRQUFRLENBQUMsV0FBVyxDQTRCbEIsTUFBTSxBQUFBLE1BQU0sQ0FBQyxVQUFVO0FBNUJ6QixRQUFRLENBQUMsV0FBVyxDQTZCbEIsTUFBTSxBQUFBLE1BQU0sQ0FBQyxVQUFVO0FBN0J6QixRQUFRLENBQUMsV0FBVyxDQThCbEIsTUFBTSxBQUFBLFVBQVUsQ0FBQyxVQUFVO0FBOUI3QixRQUFRLENBQUMsV0FBVyxDQStCbEIsZ0JBQWdCLEFBQUEsTUFBTSxDQUFDLFVBQVU7QUEvQm5DLFFBQVEsQ0FBQyxXQUFXLENBZ0NsQixnQkFBZ0IsQUFBQSxVQUFVLENBQUMsVUFBVTtBQWhDdkMsUUFBUSxDQUFDLFdBQVcsQ0FpQ2xCLGVBQWUsQUFBQSxNQUFNLENBQUMsVUFBVTtBQWpDbEMsUUFBUSxDQUFDLFdBQVcsQ0FrQ2xCLGVBQWUsQUFBQSxZQUFZLENBQUMsVUFBVTtBQWxDeEMsUUFBUSxDQUFDLFdBQVcsQ0FtQ2xCLE1BQU0sQUFBQSxNQUFNLENBQUMsZ0JBQWdCO0FBbkMvQixRQUFRLENBQUMsV0FBVyxDQW9DbEIsTUFBTSxBQUFBLE1BQU0sQ0FBQyxnQkFBZ0I7QUFwQy9CLFFBQVEsQ0FBQyxXQUFXLENBcUNsQixNQUFNLEFBQUEsVUFBVSxDQUFDLGdCQUFnQjtBQXJDbkMsUUFBUSxDQUFDLFdBQVcsQ0FzQ2xCLGdCQUFnQixBQUFBLE1BQU0sQ0FBQyxnQkFBZ0I7QUF0Q3pDLFFBQVEsQ0FBQyxXQUFXLENBdUNsQixnQkFBZ0IsQUFBQSxVQUFVLENBQUMsZ0JBQWdCO0FBdkM3QyxRQUFRLENBQUMsV0FBVyxDQXdDbEIsZUFBZSxBQUFBLE1BQU0sQ0FBQyxnQkFBZ0I7QUF4Q3hDLFFBQVEsQ0FBQyxXQUFXLENBeUNsQixlQUFlLEFBQUEsWUFBWSxDQUFDLGdCQUFnQixDQUFDO0VBQzNDLE1BQU0sRXZEeEdJLE9BQU8sQ3VEd0dGLFVBQVUsR0FDMUI7O0FDM0dILEFBQUEsY0FBYyxBQUFBLE9BQU87QUFDckIsVUFBVSxDQUFDO0VBQ1QsVUFBVSxFeERBRSxPQUFPLEN3REFLLFVBQVU7RUFDbEMsS0FBSyxFckQ0SkcsSUFBSSxDcUQ1SkUsVUFBVSxHQUN6Qjs7QUNSRCxBQUFBLFNBQVMsQUFBQSxjQUFjLENBQUM7RUFDdEIsWUFBWSxFekRLQSxPQUFPLEN5RExHLFVBQVUsR0FDakM7O0FDRkQsQUFBQSx5QkFBeUIsQUFBQSxnQ0FBZ0M7QUFDekQsa0JBQWtCLEFBQUEsOEJBQThCLENBQUMsbUNBQW1DLENBQUM7RUFDbkYsVUFBVSxFMURJRSxPQUFPLEMwREpLLFVBQVUsR0FDbkM7O0FDSEQsQUFBQSxXQUFXLEFBQUEsa0JBQWtCO0FBQzdCLFdBQVcsQUFBQSxpQkFBaUIsQ0FBQyxTQUFTO0FBQ3RDLFdBQVcsQUFBQSxRQUFRLENBQUMsUUFBUTtBQUM1QixXQUFXLEFBQUEsbUJBQW1CLENBQUMsUUFBUTtBQUN2QyxXQUFXLEFBQUEsaUJBQWlCO0FBQzVCLFdBQVcsQUFBQSxnQkFBZ0IsQ0FBQyxTQUFTO0FBQ3JDLFdBQVcsQUFBQSxnQkFBZ0IsQ0FBQyxTQUFTO0FBQ3JDLFdBQVcsQUFBQSxVQUFVLENBQUMsU0FBUyxBQUFBLE9BQU87QUFDdEMsV0FBVyxBQUFBLGFBQWEsQ0FBQyxRQUFRO0FBQ2pDLFdBQVcsQUFBQSxpQkFBaUIsQ0FBQyxVQUFVLEFBQUEsT0FBTztBQUM5QyxXQUFXLEFBQUEsZ0JBQWdCLENBQUMsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUMxQyxnQkFBZ0IsRTNETEosT0FBTyxHMkRNcEI7O0FDWkQsQUFBQSxpQkFBaUIsQ0FBQyxZQUFZLEdBQUcsRUFBRSxBQUFBLE9BQU8sR0FBRyxDQUFDLENBQUMsUUFBUTtBQUN2RCxpQkFBaUIsQ0FBQyxZQUFZLEdBQUcsRUFBRSxBQUFBLE9BQU8sR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDO0VBQ3hELEtBQUssRTVESU8sT0FBTztFNERIbkIsWUFBWSxFNURHQSxPQUFPLEc0REZwQjs7QUNBRCxBQUFBLEtBQUssQ0FBQyxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLENBQWEsZ0JBQWdCLENBQUM7RUFDeEMsVUFBVSxFN0RDRSxPQUFPLEM2RERLLFVBQVUsR0FDbkM7O0FBRUQsQUFDRSxLQURHLENBQUMsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQUFhLE9BQU8sQUFDN0Isc0JBQXNCLENBQUM7RUFDdEIsVUFBVSxFN0RKQSxPQUFPLEM2RElPLFVBQVUsR0FDbkM7O0FBSEgsQUFJRSxLQUpHLENBQUMsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQUFhLE9BQU8sQUFJN0Isa0JBQWtCLENBQUM7RUFDbEIsVUFBVSxFN0RQQSxPQUFPLEM2RE9PLFVBQVUsR0FDbkM7O0FBTkgsQUFPRSxLQVBHLENBQUMsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQUFhLE9BQU8sQUFPN0IsV0FBVyxDQUFDO0VBQ1gsVUFBVSxFN0RWQSxPQUFPLEM2RFVPLFVBQVUsR0FDbkM7O0FBR0gsQUFBQSxZQUFZLENBQUMsZUFBZSxDQUFDLE1BQU0sQUFBQSxVQUFVLEFBQUEsTUFBTTtBQUNuRCxZQUFZLENBQUMsZUFBZSxDQUFDLE1BQU0sQUFBQSxNQUFNLENBQUM7RUFDeEMsVUFBVSxFN0RoQkUsT0FBTyxDNkRnQkssVUFBVTtFQUNsQyxLQUFLLEUxRDRJRyxJQUFJLEMwRDVJRSxVQUFVLEdBQ3pCOztBQUVELEFBQUEsWUFBWSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEFBQUEsVUFBVSxBQUFBLE1BQU07QUFDbkQsWUFBWSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEFBQUEsTUFBTSxDQUFDO0VBQ3hDLFVBQVUsRTdEdEJFLE9BQU8sQzZEc0JLLFVBQVU7RUFDbEMsS0FBSyxFMURzSUcsSUFBSSxDMER0SUUsVUFBVSxHQUN6Qjs7QUFFRCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLFVBQVUsRTdEM0JFLE9BQU8sQzZEMkJLLFVBQVU7RUFDbEMsS0FBSyxFMURpSUcsSUFBSSxDMERqSUUsVUFBVSxHQUN6Qjs7QUFFRCxBQUFBLHVCQUF1QjtBQUN2QixzQkFBc0IsQ0FBQztFQUNyQixLQUFLLEU3RGpDTyxPQUFPLEM2RGlDQSxVQUFVLEdBQzlCOztBQzFCRCxBQUFBLFNBQVMsQ0FBQztFQUNSLFVBQVUsRTlEVEUsd0JBQU8sQzhEUzRCLFVBQVUsR0FDMUQ7O0FBRUQsQUFBQSxhQUFhLENBQUM7RUFDWixVQUFVLEU5RGJFLHVCQUFPLEM4RGFnQyxVQUFVLEdBQzlEOztBQUVELEFBQUEsYUFBYTtBQUNiLFdBQVcsQUFBQSxJQUFLLENBQUEsZUFBZSxFQUFFO0VBQy9CLFVBQVUsRTlEbEJFLE9BQU8sQzhEa0JLLFVBQVUsR0FDbkM7O0FDckJELEFBQUEscUJBQXFCLENBQUEsQUFBQSxLQUFDLEFBQUEsRUFBTyxvQkFBb0IsQUFBQSwyQkFBMkI7QUFDNUUscUJBQXFCLENBQUEsQUFBQSxLQUFDLEFBQUEsRUFBTyx5QkFBeUI7QUFDdEQscUJBQXFCLENBQUEsQUFBQSxLQUFDLEFBQUEsRUFBTywyQkFBMkI7QUFDeEQscUJBQXFCLENBQUEsQUFBQSxLQUFDLEFBQUEsRUFBTyxvQkFBb0IsQ0FBQztFQUNoRCxVQUFVLEUvREZFLE9BQU87RStER25CLEtBQUssRTVEMEpHLElBQUksRzREekpiOztBQUVELEFBQUEscUJBQXFCLENBQUEsQUFBQSxLQUFDLEFBQUEsRUFBTyxvQkFBb0IsQUFBQSwyQkFBMkIsR0FBRyxvQkFBb0I7QUFDbkcscUJBQXFCLENBQUEsQUFBQSxLQUFDLEFBQUEsRUFBTyxvQkFBb0IsQUFBQSwyQkFBMkIsR0FBRyx5QkFBeUIsQ0FBQztFQUN2RyxVQUFVLEU1RHlIRixPQUFtQyxHNER4SDVDOztBQ2ZELEFBQUEsaUJBQWlCLEFBQUEsT0FBTyxDQUFDO0VBQ3ZCLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ2hFS3pCLE9BQU8sQ2dFTCtCLFVBQVUsR0FDN0Q7O0F4Qm01Q0QsQUFBQSxnQkFBZ0IsQ0FBTDtFQUNULGdCQUFnQixFeEMvM0NnQyxJQUFJLEN3QyszQ2IsVUFBVTtFQUNqRCxLQUFLLEVyQ2h4Q0csT0FBbUMsR3FDdTBDNUM7RUF6REQsQUFJRSxnQkFKYyxDQUlkLGFBQWEsQ0FBQztJQUNaLEtBQUssRW5DNzJDUSxPQUFPLEdtQ2szQ3JCO0lBVkgsQTdCdDRDQSxnQjZCczRDZ0IsQ0FJZCxhQUFhLEE3QjE0Q2QsTUFBTSxFNkJzNENQLGdCQUFnQixDQUlkLGFBQWEsQTdCejRDZCxNQUFNLENBQUM7TTZCNjRDRixLQUFLLEVuQ2gzQ00sT0FBTyxHTTNCdkI7RTZCbTRDRCxBQWFJLGdCQWJZLENBWWQsV0FBVyxDQUNULFNBQVMsQ0FBQztJQUNSLEtBQUssRXJDNXhDRCxPQUFtQyxHcUNxeUN4QztJQXZCTCxBN0J0NENBLGdCNkJzNENnQixDQVlkLFdBQVcsQ0FDVCxTQUFTLEE3Qm41Q1osTUFBTSxFNkJzNENQLGdCQUFnQixDQVlkLFdBQVcsQ0FDVCxTQUFTLEE3Qmw1Q1osTUFBTSxDQUFDO002QnM1Q0EsS0FBSyxFbkN6M0NJLE9BQU8sR00zQnZCO0k2Qm00Q0QsQUFvQk0sZ0JBcEJVLENBWWQsV0FBVyxDQUNULFNBQVMsQUFPTixTQUFTLENBQUM7TUFDVCxLQUFLLEVyQ255Q0gsT0FBbUMsQ3FDbXlDRyxVQUFVLEdBQ25EO0VBdEJQLEFBeUJJLGdCQXpCWSxDQVlkLFdBQVcsQ0FhVCxLQUFLLEdBQUcsU0FBUztFQXpCckIsZ0JBQWdCLENBWWQsV0FBVyxDQWNULE9BQU8sR0FBRyxTQUFTO0VBMUJ2QixnQkFBZ0IsQ0FZZCxXQUFXLENBZVQsU0FBUyxBQUFBLEtBQUs7RUEzQmxCLGdCQUFnQixDQVlkLFdBQVcsQ0FnQlQsU0FBUyxBQUFBLE9BQU8sQ0FBQztJQUNmLEtBQUssRW5DcjRDTSxPQUFPLEdtQ3M0Q25CO0VBOUJMLEFBaUNFLGdCQWpDYyxDQWlDZCxlQUFlLENBQUM7SUFDZCxLQUFLLEVyQ2h6Q0MsT0FBbUM7SXFDaXpDekMsWUFBWSxFbkMzNENDLHVCQUFPLEdtQzQ0Q3JCO0VBcENILEFBc0NFLGdCQXRDYyxDQXNDZCxvQkFBb0IsQ0FBQztJQUNuQixnQkFBZ0IsRWxDNXRCMEIseU9BQTBPLEdrQzZ0QnJSO0VBeENILEFBMENFLGdCQTFDYyxDQTBDZCxZQUFZLENBQUM7SUFDWCxLQUFLLEVyQ3p6Q0MsT0FBbUMsR3FDazBDMUM7SUFwREgsQUE2Q0ksZ0JBN0NZLENBMENkLFlBQVksQ0FHVixDQUFDLENBQUM7TUFDQSxLQUFLLEVuQ3Q1Q00sT0FBTyxHbUMyNUNuQjtNQW5ETCxBN0J0NENBLGdCNkJzNENnQixDQTBDZCxZQUFZLENBR1YsQ0FBQyxBN0JuN0NKLE1BQU0sRTZCczRDUCxnQkFBZ0IsQ0EwQ2QsWUFBWSxDQUdWLENBQUMsQTdCbDdDSixNQUFNLENBQUM7UTZCczdDQSxLQUFLLEVuQ3o1Q0ksT0FBTyxHTTNCdkI7RTZCbTRDRCxBQXNERSxnQkF0RGMsQ0FzRGQsRUFBRSxDQUFDO0lBQ0QsWUFBWSxFbkMvNUNDLHVCQUFPLEdtQ2c2Q3JCOztBeENwN0NMLEFBQUEsY0FBYyxDQUFDO0VBQ2IsVUFBVSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDS3BCTixzQkFBTyxHTHFCckI7O0F3Q204Q0MsQUFBQSxpQkFBaUIsQ0FBTjtFQUNULGdCQUFnQixFeENoOENrQyxPQUFPLEN3Q2c4Q2xCLFVBQVU7RUFDakQsS0FBSyxFeENqOEM4RCxPQUFPLEd3Q21oRDNFO0VBcEZELEFBSUUsaUJBSmUsQ0FJZixhQUFhO0VBSmYsaUJBQWlCLENBS2Ysd0JBQXdCO0VBTDFCLGlCQUFpQixDQU1mLHdCQUF3QixDQUFDO0lBQ3ZCLEtBQUssRXhDdDhDNEQsT0FBTyxHd0MrOEN6RTtJQWhCSCxBN0IvOENBLGlCNkIrOENpQixDQUlmLGFBQWEsQTdCbjlDZCxNQUFNLEU2Qis4Q1AsaUJBQWlCLENBSWYsYUFBYSxBN0JsOUNkLE1BQU07STZCODhDUCxpQkFBaUIsQ0FLZix3QkFBd0IsQTdCcDlDekIsTUFBTTtJNkIrOENQLGlCQUFpQixDQUtmLHdCQUF3QixBN0JuOUN6QixNQUFNO0k2Qjg4Q1AsaUJBQWlCLENBTWYsd0JBQXdCLEE3QnI5Q3pCLE1BQU07STZCKzhDUCxpQkFBaUIsQ0FNZix3QkFBd0IsQTdCcDlDekIsTUFBTSxDQUFDO002Qnc5Q0YsS0FBSyxFckNyMENELElBQUksR1FqSmI7STZCNDhDRCxBQWFJLGlCQWJhLENBSWYsYUFBYSxBQVNWLE9BQU87SUFiWixpQkFBaUIsQ0FLZix3QkFBd0IsQUFRckIsT0FBTztJQWJaLGlCQUFpQixDQU1mLHdCQUF3QixBQU9yQixPQUFPLENBQUM7TUFDUCxLQUFLLEVyQ3owQ0QsSUFBSSxHcUMwMENUO0VBZkwsQUFrQkUsaUJBbEJlLENBa0JmLGFBQWEsQUFBQSxTQUFTLENBQUMsYUFBYTtFQWxCdEMsaUJBQWlCLENBbUJmLHdCQUF3QixBQUFBLFNBQVM7RUFuQm5DLGlCQUFpQixDQW9CZix3QkFBd0IsQUFBQSxTQUFTLENBQUM7SUFDaEMsS0FBSyxFckM1MkNDLE9BQW1DLENxQzQyQ0QsVUFBVSxHQUNuRDtFQXRCSCxBQXdCRSxpQkF4QmUsQ0F3QmYsYUFBYSxBQUFBLEtBQUssQUFBQSxJQUFLLENBQUEscUJBQXFCLElBQUksZUFBZTtFQXhCakUsaUJBQWlCLENBeUJmLGFBQWEsQUFBQSxPQUFPLEdBQUcsYUFBYSxDQUFDO0lBQ25DLEtBQUssRXJDcjFDQyxJQUFJLEdxQ3MxQ1g7RUEzQkgsQUE2QkUsaUJBN0JlLENBNkJmLGFBQWEsQUFBQSxPQUFPLEdBQUcsYUFBYSxBQUFBLElBQUssQ0FBQSxlQUFlLEVBQUU7SUFDeEQsZ0JBQWdCLEVyQ3IzQ1YsT0FBbUMsR3FDczNDMUM7RUEvQkgsQUFpQ0UsaUJBakNlLEFBaUNkLG1CQUFtQixDQUFDLGFBQWEsR0FBRyxhQUFhLEFBQUEsT0FBTyxHQUFHLGFBQWEsQUFBQSxJQUFLLENBQUEsZUFBZSxFQUFFO0lBQzdGLGdCQUFnQixFckN6M0NWLE9BQW1DLEdxQzAzQzFDO0VBbkNILEFBcUNFLGlCQXJDZSxBQXFDZCxtQkFBbUIsQ0FBQyxjQUFjLEdBQUcsYUFBYSxBQUFBLElBQUssQ0FBQSxxQkFBcUIsSUFBSSxhQUFhO0VBckNoRyxpQkFBaUIsQUFzQ2QsbUJBQW1CLENBQUMsY0FBYyxHQUFHLGFBQWEsQUFBQSxLQUFLLEdBQUcsZUFBZSxDQUFDO0lBQ3pFLFVBQVUsRXJDOTNDSixPQUFtQyxHcUMrM0MxQztFQXhDSCxBQTBDRSxpQkExQ2UsQ0EwQ2YsY0FBYyxHQUFHLGFBQWEsQUFBQSxxQkFBcUIsQ0FBQyxhQUFhLEFBQUEsS0FBSyxDQUFDLGFBQWE7RUExQ3RGLGlCQUFpQixDQTJDZixjQUFjLEdBQUcsYUFBYSxBQUFBLHFCQUFxQixDQUFDLGFBQWEsQUFBQSxLQUFLLENBQUMsZUFBZSxDQUFDO0lBQ3JGLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLEtBQUssRXhDNStDNEQsT0FBTyxHd0M2K0N6RTtFQTlDSCxBQWdERSxpQkFoRGUsQ0FnRGYsYUFBYSxDQUFDO0lBQ1osS0FBSyxFckM1MkNDLElBQUksR3FDNjJDWDtFQWxESCxBQW9ERSxpQkFwRGUsQ0FvRGYsZUFBZSxDQUFDO0lBQ2QsS0FBSyxFckM1NENDLE9BQW1DLEdxQzY0QzFDO0VBdERILEFBd0RFLGlCQXhEZSxDQXdEZixFQUFFO0VBeERKLGlCQUFpQixDQXlEZixnQkFBZ0I7RUF6RGxCLGlCQUFpQixDQTBEZixjQUFjLEdBQUcsYUFBYSxBQUFBLEtBQUssR0FBRyxhQUFhLEFBQUEsUUFBUSxDQUFDO0lBQzFELFlBQVksRXJDdDNDTix5QkFBSSxDcUNzM0M2QixVQUFVLEdBQ2xEO0VBNURILEFBOERFLGlCQTlEZSxDQThEZixjQUFjLEdBQUcsZUFBZSxBQUFBLFFBQVE7RUE5RDFDLGlCQUFpQixDQStEZixjQUFjLEFBQUEsUUFBUSxDQUFDO0lBQ3JCLGdCQUFnQixFckMzM0NWLHlCQUFJLEdxQzQzQ1g7RUFqRUgsQUFtRUUsaUJBbkVlLENBbUVmLGNBQWMsR0FBRyxhQUFhLEFBQUEsS0FBSyxDQUFDLGFBQWEsQUFBQSxLQUFLLEdBQUcsZUFBZSxBQUFBLFFBQVEsQ0FBQztJQUMvRSxnQkFBZ0IsRXJDMzVDVixPQUFtQyxHcUM0NUMxQztFQXJFSCxBQXVFRSxpQkF2RWUsQ0F1RWYsY0FBYyxHQUFHLGFBQWEsQUFBQSxLQUFLLENBQUMsYUFBYSxBQUFBLE9BQU8sR0FBRyxhQUFhLEFBQUEsUUFBUSxDQUFDO0lBQy9FLGdCQUFnQixFckNuNENWLElBQUksR3FDbzRDWDtFQXpFSCxBQTJFRSxpQkEzRWUsQ0EyRWYsY0FBYyxHQUFHLGFBQWEsQUFBQSxLQUFLLENBQUMsYUFBYSxBQUFBLEtBQUssR0FBRyxlQUFlLEFBQUEsUUFBUTtFQTNFbEYsaUJBQWlCLENBNEVmLGNBQWMsR0FBRyxhQUFhLEFBQUEsS0FBSyxDQUFDLGFBQWEsQUFBQSxPQUFPLEdBQUcsYUFBYSxBQUFBLFFBQVEsQ0FBQztJQUMvRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDckNwNkNmLE9BQW1DLEdxQ3E2QzFDO0VBOUVILEFBZ0ZFLGlCQWhGZSxDQWdGZixZQUFZO0VBaEZkLGlCQUFpQixDQWlGZixXQUFXLEFBQUEsYUFBYSxHQUFHLFlBQVksQ0FBQztJQUN0QyxVQUFVLEVyQzc0Q0osNkJBQUksQ3FDNjRDK0gsVUFBVSxHQUNwSjs7QUFVSCxBQUFBLGdCQUFnQixDQUFMO0VBQ1QsZ0JBQWdCLEV4Q3poRGdDLElBQUksQ3dDeWhEYixVQUFVO0VBQ2pELEtBQUssRXJDdDdDRyxPQUFtQyxHcUNrOUM1QztFQTlCRCxBQUlFLGdCQUpjLENBSWQsWUFBWSxDQUFDO0lBQ1gsS0FBSyxFckN6N0NDLE9BQW1DLEdxQ2s4QzFDO0lBZEgsQTdCNWlEQSxnQjZCNGlEZ0IsQ0FJZCxZQUFZLEE3QmhqRGIsTUFBTSxFNkI0aURQLGdCQUFnQixDQUlkLFlBQVksQTdCL2lEYixNQUFNLENBQUM7TTZCbWpERixLQUFLLEVuQ3RoRE0sT0FBTyxHTTNCdkI7STZCeWlERCxBQVdJLGdCQVhZLENBSWQsWUFBWSxBQU9ULFNBQVMsQ0FBQztNQUNULEtBQUssRXJDaDhDRCxPQUFtQyxDcUNnOENDLFVBQVUsR0FDbkQ7RUFiTCxBQWdCRSxnQkFoQmMsQ0FnQmQsWUFBWSxDQUFDO0lBQ1gsS0FBSyxFbkMvaERRLE9BQU8sR21DZ2lEckI7RUFsQkgsQUFvQkUsZ0JBcEJjLENBb0JkLEtBQUssR0FBRyxZQUFZO0VBcEJ0QixnQkFBZ0IsQ0FxQmQsT0FBTyxHQUFHLFlBQVk7RUFyQnhCLGdCQUFnQixDQXNCZCxZQUFZLEFBQUEsS0FBSztFQXRCbkIsZ0JBQWdCLENBdUJkLFlBQVksQUFBQSxPQUFPLENBQUM7SUFDbEIsS0FBSyxFbkN0aURRLE9BQU8sR21DdWlEckI7RUF6QkgsQUEyQkUsZ0JBM0JjLENBMkJkLEVBQUUsQ0FBQztJQUNELFlBQVksRW5DMWlEQyx1QkFBTyxHbUMyaURyQiJ9 */

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlbmRvci9jc3MvcnRsL3RoZW1lLWNvcnBvcmF0ZS5jc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19taXhpbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2hvdmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCJ2ZW5kb3IvY3NzL3J0bC90aGVtZS1jb3Jwb3JhdGUuc2NzcyIsInZlbmRvci9saWJzL2Jvb3RzdHJhcC1zbGlkZXIvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvc2VsZWN0Mi9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9ib290c3RyYXAtc2VsZWN0L19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL2Jvb3RzdHJhcC1kYXRlcGlja2VyL19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL3F1aWxsL19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL3N3aXBlci9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9zcGlua2l0L19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL3NtYXJ0d2l6YXJkL19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL3BseXIvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvZnVsbGNhbGVuZGFyL19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL3N3ZWV0YWxlcnQyL19taXhpbnMuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2Z1bmN0aW9ucy5zY3NzIiwidmVuZG9yL2Nzcy9fdGhlbWUvX3Vpa2l0LnNjc3MiLCJ2ZW5kb3IvbGlicy9mbGF0cGlja3IvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvYm9vdHN0cmFwLW1hdGVyaWFsLWRhdGV0aW1lcGlja2VyL19taXhpbnMuc2NzcyIsInZlbmRvci9jc3MvX3RoZW1lL19jb21tb24uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQTtFQUNFLG1CQUhlLEVBQUE7O0FBTWpCO0VDbUlHLDhCQ2hJQSxFQUFBOztBRlpEO0VHQUEseUJBQVcsRUFBQTs7QUY2SWM7RUR2SW5CLHlCQUEwRSxFQUFBOztBQXFJaEY7RUM4aUI0RixvQ0FBaUMsRUFBQTs7QUE1aUJwRztFRzNJWCxvQ0h3ckJxSCxFQUFBOztBRC9pQm5JO0VDOGlCNEYsb0NBQWlDLEVBQUE7O0FBNWlCcEc7RUczSVgsb0NId3JCcUgsRUFBQTs7QUQvaUJuSTtFQzhpQjRGLG9DQUFpQyxFQUFBOztBQTVpQnBHO0VHM0lYLG9DSHdyQnFILEVBQUE7O0FFMXJCbkk7RUFBVyxnQ0FBQSxFQUFBOztBRWlCWDtFQUFBLHlCRmhCZ0I7RUVGZCxXSmlLUyxFQUFBOztBQW5CYztFSzdIekIseUJMOHBCMkI7RUs1cEJ2QixXTDhJTztFSzdJUCxxQkFDRCxFQUFBOztBQUlDO0VOK1lGLDhCQUEwQjtFTXZhNUIsZ0NBQUE7RUFDRSxzQkZDbUIsRUFBQTs7QUo0YXJCO0VPOWFBLDZCQUFnQztFQUM5QixtQ0FBa0M7RUFDbEMsY0pEYyxFQUFBOztBRjRJUztFT25JckIsY0xUWTtFS1VaLHFCQUNELEVBQUE7O0FBTUM7RUFoQkosd0NBQUE7RUFtQk0sOENBQ0Q7RUFwQkwseUJBQXVCLEVBQUE7O0FSZ0J2Qjs7OztFUzhDQSxxQk4vRGdCO0VNK0RoQix5Qk4vRGdCO0VNK0RoQixXUmdHVyxFQUFBOztBUWpHWDtFQUFBLHlCTjlEZ0I7RU04RGhCLFdSaUdXLEVBQUE7O0FRaEdYO0VBQUEsaUNBcUJFO0VBckJGLHlCUjhtQjJCO0VROW1CM0IsY1I4bUIyQixFQUFBOztBRHJHM0I7O0VTMWdCQSxjUittQjJCLEVBQUE7RUFqaUJGOzs7SVE5RXpCLHlCUittQjJCO0lRL21CM0IsY1IrbUIyQixFQUFBO0VEckczQjs7SVMxZ0JBLHFCTjlEZ0I7SU04RGhCLHlCTjlEZ0I7SU04RGhCLGNSK21CMkIsRUFBQTs7QUQ1cEIzQjtFUzhDQSxxQk4vRGdCO0VNK0RoQix5Qk4vRGdCO0VNK0RoQixXUmdHVyxFQUFBOztBU3BLWDtFQUNBLHFCVGlyQjJCO0VTaHJCekIseUJUZ3JCeUI7RUQzRHpCLGNDMkR5QixFQUFBO0VTbHJCM0I7SUNFQSx5QlZnckIyQixFQUFBO0VTbHJCM0I7SUNNQSxjVjRxQjJCLEVBQUE7O0FXanJCM0I7RUFDRSx5QlRHYztFU0ZkLFdYaUtTLEVBQUE7RVduS1g7SUNJRSwwQ1orSlMsRUFBQTtFV25LWDs7SUNPTSxXWjRKSyxFQUFBOztBWTdJVDtFQUdGLG1CVnJCZ0I7RVVzQmhCLFdaeUlXLEVBQUE7O0FZN0lUO0Vid29Cd0YseUJHMXBCMUUsRUFBQTs7QVVrQmQ7RUFTZ0IsMkJWM0JGLEVBQUE7O0FVa0JkO0VBVWtDLDRCVjVCcEIsRUFBQTs7QVVrQmQ7RUFZRCwwQlY5QmUsRUFBQTs7QVdjZDtFZDBwQkEseUJBQXlCO0VjdnBCM0IsbUJYakJnQixFQUFBO0VXY2Q7SWQ4cEJFLHNDQzdnQk87SWNoS1gsdUJBQTZCO0lBQzdCLFdkK0pXLEVBQUE7RWFqSlQ7SUNWQSx1QkFDRDtJZjhxQkcsV0NwaEJPLEVBQUE7RWFqSlQ7SUVvSDJDLHlCRHhINUMsRUFBQTtFRElDO0lHbkJ1Qix5QmRLVCxFQUFBO0VXY2Q7SUdqQkQsMkJkR2UsRUFBQTtFV2NkO0lkNHFCZ0csNEJHMXJCbEYsRUFBQTtFV2NkO0liazRDUywwQkVoNUNLLEVBQUE7O0FIMjNDaEI7OztFQUdFLDZDQUF5QztFQUN6Qyx5QkNsdEJ5QjtFRG10QnpCLGNDbnRCeUIsRUFBQTs7QURzdEIzQjs7O0VBR0UseUJDenRCeUIsRUFBQTs7QUE3Z0J6QjtFQUNBLHlCZS9CMkM7RWZnQzNDLG1CRWxLYztFRE1oQixXRHlKVyxFQUFBO0VBckJYO0lBcUJBLHlCZTdCNkM7SWYyQ3pDLG1CQWdnQnVCO0lBOWdCM0IsV0FBVyxFQUFBO0VBQ1Q7SURhRSw2Q0c3S1ksRUFBQTtFRmdLZDtJQThCRixvQ0FBbUI7SUFDbkIsOEJBQW1CO0lBQ2QsMkJBQWU7SUFDbEIsc0JlaUJ3QixFQUFBOztBZk4xQjtFQUNBLGdCQTlDVztFQStDWCxjRTlNZ0IsRUFBQTs7QUg4TGhCOzs7RUMyR0UseUJldksyQztFZndLM0MsbUJBbVl5QjtFQXRZM0IsZ0JBQW9CLEVBQUE7O0FEM0ZwQjs7O0VDb0hBLCtCQTZXMkI7RUE1VzNCLDhCQTRXMkIsRUFBQTs7QUR0WTNCO0VDeW1DQSxxQkVoNUNnQjtFRjg1Q1YsdUJBU0Q7RUM3NUNMLGNDVmdCLEVBQUE7RUYwSWhCO0lBMnhDUSx5QmVueUNxQztJZjh3QzdDLG1CRWg1Q2dCO0lGZzVDaEIsV0FqdkNXLEVBQUE7RUR3SVg7SUMyb0NJLDZDRWw3Q1ksRUFBQTtFSHVTaEI7SUNvcENJLGdDQVNEO0lBcERILGtDQTZDTTtJQUNBLHlCQUtELEVBQUE7O0FEcG9DTDs7O0VDMnBDRSx5QmV4MUMyQztFZnkxQzNDLG1CQTl5QnlCO0VBNHlCM0IsV0ExekNXO0VBMHpDWCxnQkFBUSxFQUFBOztBRDVvQ1I7RUM0b0NBLG1CRXo5Q2dCO0VGeTlDaEIscUJFejlDZ0I7RUZ5OUNoQixXQUFRLEVBQUE7O0FBQVI7Ozs7O0VBMEJJLGdCQXAxQ087RUEwekNYLGtCQTF6Q1c7RUF3MUNQLGNFdi9DWSxFQUFBOztBZU9aOztFQUlKLHlCZlhnQjtFZVlaLFdqQm1KTyxFQUFBOztBaUJoSlQ7O0VBR0YseUJmbEJnQjtFZW1CZCxXakI0SVMsRUFBQTs7QUQ5SVg7RUFzZUkseUJHdmZZO0VnQllYLFdsQm1KTSxFQUFBOztBRDlJWDs7OztFQThlSSxrQ0FBc0MsRUFBQTs7QUkzZTVDOztFSHE4Q0UscUJFejlDZ0IsRUFBQTs7QUNvQmxCO0VIKzhDUSw2Q0VuK0NVLEVBQUE7O0FDb0JsQjs7O0VIcThDRSxxQkV6OUNnQjtFRjgrQ1oseUJFOStDWSxFQUFBOztBQ29CbEI7RUhxOENFLHVLQTZCNEQsRUFBQTs7QUdsK0M5RDtFSHE4Q0UseVJBcUNnRyxFQUFBOztBRzErQ2xHO0VIcThDRSxvS0EyQ3lGLEVBQUE7O0FENVl6RjtFQUNFLHFCR3puQ2MsRUFBQTtFSHduQ2hCO0lBSUkscUJBQXFCLEVBQUE7O0FBZ0N6Qjs7RUFFRSxxQkc5cENjLEVBQUE7O0FIcXhD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LFdDcDBDSyxFQUFBO0lEMHpDWDs7O01BY00sV0N4MENLLEVBQUE7RUQwekNYOzs7SUFxQkkseUJBQWtELEVBQUE7RUFyQnREOztJQTBCSSxXQ3AxQ08sRUFBQTtFRDB6Q1g7SUE4QkkseUJDMTBCdUIsRUFBQTtFRDR5QjNCO0lBa0NJLHlCQzkwQnVCLEVBQUE7RUQ0eUIzQjs7SUF1Q0ksbUJDbjFCdUIsRUFBQTtFRDR5QjNCOztJQTRDSSx1QkFBdUI7SUFDdkIsY0E1K0N3RSxFQUFBO0VBKzdDNUU7SUFpREksV0MzMkNPLEVBQUE7RUQwekNYO0lBcURJLGNDajJCdUIsRUFBQTtFRDR5QjNCOzs7SUEyREksa0RBQWlELEVBQUE7RUEzRHJEOztJQWdFSSwyQ0MxM0NPLEVBQUE7RUQwekNYO0lBb0VJLHlCQ2gzQnVCLEVBQUE7RUQ0eUIzQjtJQXdFSSxzQkNsNENPLEVBQUE7RUQwekNYOztJQTZFSSw2QkN6M0J1QixFQUFBO0VENHlCM0I7O0lBa0ZJLG9EQUFtSixFQUFBOztBQVd2SjtFQUNFLGlDQUFpRDtFQUNqRCxjQzM0QnlCLEVBQUE7RUR5NEIzQjtJQUtJLGNDOTRCdUIsRUFBQTtJQWppQkY7TURrN0NuQixjQXRoRGtCLEVBQUE7SUE4Z0R4QjtNQVlNLHlCQUFrRCxFQUFBO0VBWnhEO0lBaUJJLGNBL2hEb0IsRUFBQTtFQThnRHhCOzs7O0lBd0JJLGNBdGlEb0IsRUFBQTtFQThnRHhCO0lBNEJJLHFDQTFpRG9CLEVBQUE7O0FBa3dCMUIsNjNtVUFBNjNtVSIsImZpbGUiOiJ2ZW5kb3IvY3NzL3J0bC90aGVtZS1jb3Jwb3JhdGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJHJ0bC1zdXBwb3J0OiB0cnVlO1xyXG5cclxuQGltcG9ydCBcIi4uL19hcHB3b3JrL2luY2x1ZGVcIjtcclxuQGltcG9ydCBcIi4uL190aGVtZS9jb21tb25cIjtcclxuQGltcG9ydCBcIi4uL190aGVtZS9saWJzXCI7XHJcbkBpbXBvcnQgXCIuLi9fdGhlbWUvdWlraXRcIjtcclxuXHJcbiRwcmltYXJ5LWNvbG9yOiAjMjZCNEZGO1xyXG4kYm9keS1iZzogI2Y1ZjVmNTtcclxuXHJcbmJvZHkge1xyXG4gIGJhY2tncm91bmQ6ICRib2R5LWJnO1xyXG59XHJcblxyXG4uYmctYm9keSB7XHJcbiAgYmFja2dyb3VuZDogJGJvZHktYmcgIWltcG9ydGFudDtcclxufVxyXG5cclxuQGluY2x1ZGUgYXBwd29yay1jb21tb24tdGhlbWUoJHByaW1hcnktY29sb3IpO1xyXG5AaW5jbHVkZSBhcHB3b3JrLWxpYnMtdGhlbWUoJHByaW1hcnktY29sb3IpO1xyXG5AaW5jbHVkZSBhcHB3b3JrLXVpa2l0LXRoZW1lKCRwcmltYXJ5LWNvbG9yKTtcclxuXHJcbi8vIE5hdmJhclxyXG5cclxuQGluY2x1ZGUgYXBwd29yay1uYXZiYXItdmFyaWFudCgnLmJnLW5hdmJhci10aGVtZScsICNmZmYsICRjb2xvcjogJHRleHQtbXV0ZWQsICRhY3RpdmUtY29sb3I6ICRib2R5LWNvbG9yKTtcclxuXHJcbi5sYXlvdXQtbmF2YmFyIHtcclxuICBib3gtc2hhZG93OiAwIDFweCAwICRib3JkZXItY29sb3I7XHJcbn1cclxuXHJcbi8vIFNpZGVuYXZcclxuXHJcbkBpbmNsdWRlIGFwcHdvcmstc2lkZW5hdi12YXJpYW50KCcuYmctc2lkZW5hdi10aGVtZScsICMyZTMyM2EsICRjb2xvcjogIzgzODc5MCk7XHJcblxyXG4vLyBGb290ZXJcclxuXHJcbkBpbmNsdWRlIGFwcHdvcmstZm9vdGVyLXZhcmlhbnQoJy5iZy1mb290ZXItdGhlbWUnLCAjZmZmLCAkY29sb3I6ICR0ZXh0LW11dGVkLCAkYWN0aXZlLWNvbG9yOiAkYm9keS1jb2xvcik7XHJcbiIsIi8vIE1peGluc1xyXG4vL1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFJUTC9MVFJcclxuXHJcbkBtaXhpbiBsdHItb25seSgpIHtcclxuICBAaWYgJHJ0bC1zdXBwb3J0IHtcclxuICAgIGh0bWw6bm90KFtkaXI9cnRsXSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHJ0bC1vbmx5KCkge1xyXG4gIEBpZiAkcnRsLXN1cHBvcnQge1xyXG4gICAgW2Rpcj1ydGxdIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbHRyLXN0eWxlKCkge1xyXG4gIEBpZiAkcnRsLXN1cHBvcnQge1xyXG4gICAgaHRtbDpub3QoW2Rpcj1ydGxdKSAmIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBydGwtc3R5bGUoKSB7XHJcbiAgQGlmICRydGwtc3VwcG9ydCB7XHJcbiAgICBbZGlyPXJ0bF0gJiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEtleWZyYW1lc1xyXG5cclxuQG1peGluIGtleWZyYW1lcygkbmFtZSkge1xyXG4gIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgQC1tb3ota2V5ZnJhbWVzICN7JG5hbWV9IHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIENhcmV0c1xyXG5cclxuQG1peGluIGNhcmV0LWRvd24ge1xyXG4gIG1hcmdpbi10b3A6IC0xICogKCRjYXJldC13aWR0aCAvIDEuNSk7XHJcbiAgd2lkdGg6ICRjYXJldC13aWR0aDtcclxuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcclxuICBib3JkZXI6IDFweCBzb2xpZDtcclxuICBib3JkZXItdG9wOiAwO1xyXG4gIGJvcmRlci1sZWZ0OiAwO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxufVxyXG5cclxuQG1peGluIGNhcmV0LXVwIHtcclxuICBtYXJnaW4tdG9wOiAtMDtcclxuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xyXG4gIGhlaWdodDogJGNhcmV0LXdpZHRoO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkO1xyXG4gIGJvcmRlci1ib3R0b206IDA7XHJcbiAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxufVxyXG5cclxuQG1peGluIGNhcmV0LXJpZ2h0IHtcclxuICBtYXJnaW4tdG9wOiAtMSAqICgkY2FyZXQtd2lkdGggLyAyKTtcclxuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xyXG4gIGhlaWdodDogJGNhcmV0LXdpZHRoO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkO1xyXG4gIGJvcmRlci10b3A6IDA7XHJcbiAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxufVxyXG5cclxuQG1peGluIGNhcmV0LWxlZnQge1xyXG4gIG1hcmdpbi10b3A6IC0xICogKCRjYXJldC13aWR0aCAvIDIpO1xyXG4gIHdpZHRoOiAkY2FyZXQtd2lkdGg7XHJcbiAgaGVpZ2h0OiAkY2FyZXQtd2lkdGg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQ7XHJcbiAgYm9yZGVyLXRvcDogMDtcclxuICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogUmVzcG9uc2l6ZSBsb29wc1xyXG5cclxuQG1peGluIHJlc3BvbnNpdmUtbG9vcC1iZWZvcmUoJHBhcmVudCwgJHN0YXJ0LWJyZWFrcG9pbnQ6IHNtKSB7XHJcbiAgJGN1ci1icmVha3BvaW50OiAkc3RhcnQtYnJlYWtwb2ludDtcclxuXHJcbiAgQHdoaWxlICRjdXItYnJlYWtwb2ludCB7XHJcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGN1ci1icmVha3BvaW50KTtcclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogKGJyZWFrcG9pbnQtbWluKCRjdXItYnJlYWtwb2ludCkgLSAxKSkge1xyXG4gICAgICAjeyRwYXJlbnR9I3skaW5maXh9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICRjdXItYnJlYWtwb2ludDogYnJlYWtwb2ludC1uZXh0KCRjdXItYnJlYWtwb2ludCk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcmVzcG9uc2l2ZS1sb29wLWFmdGVyKCRwYXJlbnQsICRzdGFydC1icmVha3BvaW50OiBzbSkge1xyXG4gICRjdXItYnJlYWtwb2ludDogJHN0YXJ0LWJyZWFrcG9pbnQ7XHJcblxyXG4gIEB3aGlsZSAkY3VyLWJyZWFrcG9pbnQge1xyXG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRjdXItYnJlYWtwb2ludCk7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IGJyZWFrcG9pbnQtbWluKCRjdXItYnJlYWtwb2ludCkpIHtcclxuICAgICAgI3skcGFyZW50fSN7JGluZml4fSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAkY3VyLWJyZWFrcG9pbnQ6IGJyZWFrcG9pbnQtbmV4dCgkY3VyLWJyZWFrcG9pbnQpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIENvbG9yc1xyXG5cclxuLy8gQ29udHJhc3RcclxuQG1peGluIGNvbG9yLXlpcSgkY29sb3IpIHtcclxuICBjb2xvcjogeWlxKCRjb2xvcik7XHJcbn1cclxuXHJcbkBtaXhpbiBiZy1jb2xvci12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJHJ0aC1jb2xvcjogIzAwMCkge1xyXG4gICN7JHBhcmVudH0geyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDsgfVxyXG4gIGEjeyRwYXJlbnR9IHtcclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC45NSksICRiYWNrZ3JvdW5kOiAkcnRoLWNvbG9yKSAhaW1wb3J0YW50OyB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRydGgtY29sb3I6ICMwMDApIHtcclxuICBAaW5jbHVkZSBiZy1jb2xvci12YXJpYW50KCRwYXJlbnQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYmctY29sb3ItdmFyaWFudChcIiN7JHBhcmVudH0tZGFya1wiLCByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjkpLCAkYmFja2dyb3VuZDogJHJ0aC1jb2xvcikpO1xyXG4gIEBpbmNsdWRlIGJnLWNvbG9yLXZhcmlhbnQoXCIjeyRwYXJlbnR9LWRhcmtlclwiLCByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjg1KSwgJGJhY2tncm91bmQ6ICRydGgtY29sb3IpKTtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEJ1dHRvbnNcclxuXHJcbkBtaXhpbiBidXR0b24tdmFyaWFudCgkYmFja2dyb3VuZDogbnVsbCwgJGJvcmRlcjogbnVsbCwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBudWxsLCAkYWN0aXZlLWJvcmRlcjogbnVsbCkge31cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWJ1dHRvbi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwpIHtcclxuICAkYnRuLWNvbG9yczogZ2V0LWJ0bi1jb2xvcnMoJGJhY2tncm91bmQsIGlmKCRib3JkZXIsICRib3JkZXIsICRiYWNrZ3JvdW5kKSk7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcclxuICAgIEBpbmNsdWRlIGhvdmVyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xyXG4gICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1ob3Zlcik7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgJjpmb2N1cyxcclxuICAgICYuZm9jdXMge1xyXG4gICAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCRidG4tY29sb3JzLCBzaGFkb3cpO1xyXG4gICAgfVxyXG5cclxuICAgICYuZGlzYWJsZWQsXHJcbiAgICAmOmRpc2FibGVkIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fSAuYmFkZ2Uge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgY29sb3I6IHJnYmEtdG8taGV4KCRiYWNrZ3JvdW5kKTtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH06YWN0aXZlLFxyXG4gICN7JHBhcmVudH0uYWN0aXZlLFxyXG4gIC5zaG93ID4gI3skcGFyZW50fS5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xyXG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctYWN0aXZlKTtcclxuXHJcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcclxuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQnV0dG9uIGdyb3Vwc1xyXG4gIC5idG4tZ3JvdXAgI3skcGFyZW50fSxcclxuICAuaW5wdXQtZ3JvdXAtcHJlcGVuZCAjeyRwYXJlbnR9LFxyXG4gIC5pbnB1dC1ncm91cC1hcHBlbmQgI3skcGFyZW50fSB7XHJcbiAgICBib3JkZXItcmlnaHQ6ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoIHNvbGlkIG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWFjdGl2ZSk7XHJcbiAgICBib3JkZXItbGVmdDogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgbWFwLWdldCgkYnRuLWNvbG9ycywgYmctYWN0aXZlKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWJ1dHRvbi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwsICRtZC1jb2xvcjogJGJhY2tncm91bmQpIHtcclxuICAkYnRuLWNvbG9yczogZ2V0LW1hdGVyaWFsLWJ0bi1jb2xvcnMoJGJhY2tncm91bmQpO1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgYm94LXNoYWRvdzogJGJ0bi1ib3gtc2hhZG93O1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBAaW5jbHVkZSBob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWhvdmVyKTtcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJveC1zaGFkb3c6ICRidG4tZm9jdXMtYm94LXNoYWRvdztcclxuICAgIH1cclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0gLmJhZGdlIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgIGNvbG9yOiByZ2JhLXRvLWhleCgkYmFja2dyb3VuZCk7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9IC53YXZlcy1yaXBwbGUge1xyXG4gICAgYmFja2dyb3VuZDogaWYoJGNvbG9yID09ICNmZmYsIHJnYmEoJGNvbG9yLCAuMyksIHJnYmEoJGNvbG9yLCAuMikpO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fTphY3RpdmUsXHJcbiAgI3skcGFyZW50fS5hY3RpdmUsXHJcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1hY3RpdmUpO1xyXG4gICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdztcclxuICB9XHJcblxyXG4gIC8vIEZsYXQgYnV0dG9uc1xyXG4gICN7JHBhcmVudH0ubWQtYnRuLWZsYXQge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICBjb2xvcjogJG1kLWNvbG9yO1xyXG5cclxuICAgICY6Zm9jdXMsXHJcbiAgICAmLmZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYSgkbWQtY29sb3IsIC4xKTtcclxuICAgIH1cclxuXHJcbiAgICAud2F2ZXMtcmlwcGxlIHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYSgkbWQtY29sb3IsIC4zKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0ubWQtYnRuLWZsYXQ6YWN0aXZlLFxyXG4gICN7JHBhcmVudH0ubWQtYnRuLWZsYXQuYWN0aXZlLFxyXG4gIC5zaG93ID4gI3skcGFyZW50fS5tZC1idG4tZmxhdC5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgkbWQtY29sb3IsIC4xNSk7XHJcbiAgfVxyXG5cclxuICAvLyBEaXNhYmxlZFxyXG5cclxuICAjeyRwYXJlbnR9LmRpc2FibGVkLFxyXG4gICN7JHBhcmVudH06ZGlzYWJsZWQge1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3c6ICRtYXRlcmlhbC1jb21wb25lbnQtc2hhZG93ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0LmRpc2FibGVkLFxyXG4gICN7JHBhcmVudH0ubWQtYnRuLWZsYXQ6ZGlzYWJsZWQge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogT3V0bGluZSBidXR0b25zXHJcblxyXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3I6IG51bGwsICRjb2xvci1ob3ZlcjogbnVsbCwgJGhvdmVyLWNvbG9yOiBudWxsKSB7fVxyXG5cclxuQG1peGluIGFwcHdvcmstYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRob3Zlci1jb2xvcjogbnVsbCkge1xyXG4gICRidG4tY29sb3JzOiBnZXQtYnRuLWNvbG9ycygkY29sb3IsICRjb2xvcik7XHJcbiAgJGNvbG9yLWhvdmVyOiBpZigkaG92ZXItY29sb3IsICRob3Zlci1jb2xvciwgeWlxKCRjb2xvcikpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJjpmb2N1cyxcclxuICAgICYuZm9jdXMge1xyXG4gICAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCRidG4tY29sb3JzLCBzaGFkb3cpO1xyXG4gICAgfVxyXG5cclxuICAgICYuZGlzYWJsZWQsXHJcbiAgICAmOmRpc2FibGVkIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fTphY3RpdmUsXHJcbiAgI3skcGFyZW50fS5hY3RpdmUsXHJcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcik7XHJcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1ob3Zlcik7XHJcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xyXG5cclxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xyXG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9IC5iYWRnZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fTpob3ZlciAuYmFkZ2UsXHJcbiAgI3skcGFyZW50fTpmb2N1cyAuYmFkZ2UsXHJcbiAgI3skcGFyZW50fTphY3RpdmUgLmJhZGdlLFxyXG4gICN7JHBhcmVudH0uYWN0aXZlIC5iYWRnZSxcclxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIC5iYWRnZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcclxuICAgIGNvbG9yOiBpZihhbHBoYSgkY29sb3IpPT0xLCAkY29sb3IsIHlpcSgkY29sb3ItaG92ZXIpKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaG92ZXItY29sb3I6IG51bGwpIHtcclxuICAkYnRuLWNvbG9yczogZ2V0LW1hdGVyaWFsLWJ0bi1jb2xvcnMoJGNvbG9yKTtcclxuICAkY29sb3ItaG92ZXI6IGlmKCRob3Zlci1jb2xvciwgJGhvdmVyLWNvbG9yLCB5aXEoJGNvbG9yKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNvbG9yIGluc2V0O1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xyXG4gICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xyXG4gICAgfVxyXG5cclxuICAgICYuZGlzYWJsZWQsXHJcbiAgICAmOmRpc2FibGVkIHtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjb2xvciBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9OmFjdGl2ZSxcclxuICAjeyRwYXJlbnR9LmFjdGl2ZSxcclxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWhvdmVyKTtcclxuICAgIGJveC1zaGFkb3c6ICRidG4tYWN0aXZlLWJveC1zaGFkb3c7XHJcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fSAud2F2ZXMtcmlwcGxlIHtcclxuICAgIGJhY2tncm91bmQ6IGlmKCRjb2xvci1ob3Zlcj09I2ZmZiwgcmdiYSgkY29sb3ItaG92ZXIsIC4zKSwgcmdiYSgkY29sb3ItaG92ZXIsIC4yKSk7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9IC5iYWRnZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fTpob3ZlciAuYmFkZ2UsXHJcbiAgI3skcGFyZW50fTpmb2N1cyAuYmFkZ2UsXHJcbiAgI3skcGFyZW50fTphY3RpdmUgLmJhZGdlLFxyXG4gICN7JHBhcmVudH0uYWN0aXZlIC5iYWRnZSxcclxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIC5iYWRnZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcclxuICAgIGNvbG9yOiBpZihhbHBoYSgkY29sb3IpPT0xLCAkY29sb3IsIHlpcSgkY29sb3ItaG92ZXIpKTtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBCYWRnZXNcclxuXHJcbkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge31cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWJhZGdlLXZhcmlhbnQoJHBhcmVudCwgJGJnLCAkY29sb3I6IG51bGwpIHtcclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcclxuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiZykpO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fVtocmVmXSB7XHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGlmKGFscGhhKCRiZykgPT0gMSwgcmdiYS10by1oZXgocmdiYSgkYmcsIC45NSksICMwMDApLCByZ2JhKCRiZywgYWxwaGEoJGJnKSArIC4wMykpO1xyXG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmcpKTtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJ0biAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQ6ICRiZyAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYmcgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiZykpICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1iYWRnZS1vdXRsaW5lLXZhcmlhbnQoJHBhcmVudCwgJGJnLCAkY29sb3I6ICRiZykge1xyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGJnIGluc2V0O1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH1baHJlZl0ge1xyXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYnRuICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYmcgaW5zZXQgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBEcm9wZG93bnNcclxuXHJcbkBtaXhpbiBhcHB3b3JrLWRyb3Bkb3duLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICN7JHBhcmVudH0gLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxyXG4gICN7JHBhcmVudH0gLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCk6YWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0uZHJvcGRvd24tbWVudSA+IGxpOm5vdCguZGlzYWJsZWQpID4gYTpub3QoLmRyb3Bkb3duLWl0ZW0pOmFjdGl2ZSxcclxuICAjeyRwYXJlbnR9LmRyb3Bkb3duLW1lbnUgPiBsaS5hY3RpdmU6bm90KC5kaXNhYmxlZCkgPiBhOm5vdCguZHJvcGRvd24taXRlbSkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstZHJvcGRvd24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstZHJvcGRvd24tdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWRyb3Bkb3duLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICN7JHBhcmVudH0gLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCkuYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0uZHJvcGRvd24tbWVudSA+IGxpLmFjdGl2ZTpub3QoLmRpc2FibGVkKSA+IGE6bm90KC5kcm9wZG93bi1pdGVtKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1kcm9wZG93bi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1kcm9wZG93bi12YXJpYW50KCcnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIE5hdnNcclxuXHJcbkBtaXhpbiBhcHB3b3JrLW5hdi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCkge1xyXG4gICA+IC5uYXYgLm5hdi1saW5rLFxyXG4gICYubmF2IC5uYXYtbGluayB7XHJcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XHJcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbmF2LXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRwaWxscy1zZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJy5uYXYtcGlsbHMnLCAnI3skcGFyZW50fS5uYXYtcGlsbHMsICN7JHBhcmVudH0gPiAubmF2LXBpbGxzJyk7XHJcblxyXG4gICN7JHBpbGxzLXNlbGVjdG9yfSAubmF2LWxpbmsuYWN0aXZlIHtcclxuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9LnRhYnMtYWx0Lm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmUsXHJcbiAgI3skcGFyZW50fS50YWJzLWFsdCA+IC5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlIHtcclxuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcclxuICAgICAgYm94LXNoYWRvdzogMCAtMnB4IDAgJGJhY2tncm91bmQgaW5zZXQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1uYXYtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbmF2LXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1uYXYtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRsaW5rLWNvbG9yOiBudWxsKSB7XHJcbiAgJHRhYnMtc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcubmF2LXRhYnMnLCAnI3skcGFyZW50fS5uYXYtdGFicycpO1xyXG4gICRwaWxscy1zZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJy5uYXYtcGlsbHMnLCAnI3skcGFyZW50fS5uYXYtcGlsbHMsICN7JHBhcmVudH0gPiAubmF2LXBpbGxzJyk7XHJcblxyXG4gICN7JHRhYnMtc2VsZWN0b3J9IC5uYXYtbGluayB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGNvbG9yLCAkY29sb3IpO1xyXG4gIH1cclxuXHJcbiAgI3skcGlsbHMtc2VsZWN0b3J9IC5uYXYtbGluay5hY3RpdmUge1xyXG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgIGNvbG9yOiBpZigkbGluay1jb2xvciwgJGxpbmstY29sb3IsIHlpcSgkY29sb3IpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLW5hdi10aGVtZSgkY29sb3IsICRsaW5rLWNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1uYXYtdmFyaWFudCgnJywgJGNvbG9yLCAkbGluay1jb2xvcik7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBQYWdpbmF0aW9uXHJcblxyXG5AbWl4aW4gYXBwd29yay1wYWdpbmF0aW9uLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICN7JHBhcmVudH0gLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluayxcclxuICAjeyRwYXJlbnR9LnBhZ2luYXRpb24gbGkuYWN0aXZlID4gYTpub3QoLnBhZ2UtbGluaykge1xyXG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLXBhZ2luYXRpb24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstcGFnaW5hdGlvbi12YXJpYW50KCcnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFByb2dyZXNzIGJhcnNcclxuXHJcbkBtaXhpbiBhcHB3b3JrLXByb2dyZXNzLWJhci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgLnByb2dyZXNzLWJhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTGlzdCBncm91cHNcclxuXHJcbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGU6IG51bGwsICRiYWNrZ3JvdW5kOiBudWxsLCAkY29sb3I6IG51bGwpIHt9XHJcblxyXG5AbWl4aW4gYXBwd29yay1saXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGJnOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuMSksICNmZmYpO1xyXG4gICRjb2xvcjogeWlxKCRiZyk7XHJcbiAgJGhvdmVyLWJnOiByZ2JhLXRvLWhleChyZ2JhKCRiZywgLjk5KSwgIzAwMCk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4wNyk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgYSN7JHBhcmVudH0sXHJcbiAgYnV0dG9uI3skcGFyZW50fSB7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJnO1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1saXN0LWdyb3VwLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCcubGlzdC1ncm91cC1pdGVtLXByaW1hcnknLCAkYmFja2dyb3VuZCk7XHJcblxyXG4gIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcclxuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQWxlcnRzXHJcblxyXG5AbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZDogbnVsbCwgJGJvcmRlcjogbnVsbCwgJGNvbG9yOiBudWxsKSB7fVxyXG5cclxuQG1peGluIGFwcHdvcmstYWxlcnQtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCkge1xyXG4gICRiYWNrZ3JvdW5kOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuMTUpLCAjZmZmKTtcclxuICAkYm9yZGVyOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuOTQpLCAjMDAwKTtcclxuICAkY29sb3I6IHlpcSgkYmFja2dyb3VuZCk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIGhyIHtcclxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvcmRlcjtcclxuICAgIH1cclxuXHJcbiAgICAuYWxlcnQtbGluayB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1hbGVydC1kYXJrLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBociB7XHJcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoeWlxKCRiYWNrZ3JvdW5kKSwuMik7XHJcbiAgICB9XHJcblxyXG4gICAgLmNsb3NlLFxyXG4gICAgLmFsZXJ0LWxpbmsge1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFRvb2x0aXBzXHJcblxyXG5AbWl4aW4gYXBwd29yay10b29sdGlwLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgLnRvb2x0aXAtaW5uZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmJzLXRvb2x0aXAtdG9wIC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJ0b3BcIl0gLmFycm93OjpiZWZvcmUgeyBib3JkZXItdG9wLWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gICAgJi5icy10b29sdGlwLXJpZ2h0IC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJyaWdodFwiXSAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci1yaWdodC1jb2xvcjogJGJhY2tncm91bmQ7IH1cclxuICAgICYuYnMtdG9vbHRpcC1ib3R0b20gLmFycm93OjpiZWZvcmUsICYuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci1ib3R0b20tY29sb3I6ICRiYWNrZ3JvdW5kOyB9XHJcbiAgICAmLmJzLXRvb2x0aXAtbGVmdCAuYXJyb3c6OmJlZm9yZSwgJi5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwibGVmdFwiXSAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci1sZWZ0LWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFBvcG92ZXJzXHJcblxyXG5AbWl4aW4gYXBwd29yay1wb3BvdmVyLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuXHJcbiAgICAucG9wb3Zlci1oZWFkZXIge1xyXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoeWlxKCRiYWNrZ3JvdW5kKSwuMik7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIC5wb3BvdmVyLWJvZHkge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICA+IC5hcnJvdzo6YmVmb3JlIHsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxyXG5cclxuICAgICYuYnMtcG9wb3Zlci10b3AgPiAuYXJyb3c6OmFmdGVyLCAmLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJ0b3BcIl0gPiAuYXJyb3c6OmFmdGVyIHsgYm9yZGVyLXRvcC1jb2xvcjogJGJhY2tncm91bmQ7IH1cclxuICAgICYuYnMtcG9wb3Zlci1yaWdodCA+IC5hcnJvdzo6YWZ0ZXIsICYuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdID4gLmFycm93OjphZnRlciB7IGJvcmRlci1yaWdodC1jb2xvcjogJGJhY2tncm91bmQ7IH1cclxuICAgICYuYnMtcG9wb3Zlci1ib3R0b20gPiAuYXJyb3c6OmFmdGVyLCAmLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJib3R0b21cIl0gPiAuYXJyb3c6OmFmdGVyIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJhY2tncm91bmQ7IH1cclxuICAgICYuYnMtcG9wb3Zlci1sZWZ0ID4gLmFycm93OjphZnRlciwgJi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwibGVmdFwiXSA+IC5hcnJvdzo6YWZ0ZXIgeyBib3JkZXItbGVmdC1jb2xvcjogJGJhY2tncm91bmQ7IH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBGb3JtIGNvbnRyb2xzXHJcblxyXG5AbWl4aW4gYXBwd29yay1jdXN0b20tc2VsZWN0LXNpemUoJHNpemUsICRwYWRkaW5nLXgsICRsaW5lLWhlaWdodCwgJGZvbnQtc2l6ZSkge1xyXG4gIC5jdXN0b20tc2VsZWN0LSN7JHNpemV9LFxyXG4gIC5pbnB1dC1ncm91cC0jeyRzaXplfSAuY3VzdG9tLXNlbGVjdCB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkcGFkZGluZy14IGNlbnRlcjtcclxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcblxyXG4gICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgJixcclxuICAgICAgJltzaXplPVwiMFwiXTpub3QoW211bHRpcGxlXSkge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLXg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAkcGFkZGluZy14IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZbc2l6ZT1cIjBcIl06bm90KFttdWx0aXBsZV0pIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstY3VzdG9tLWNvbnRyb2wtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkZGVmYXVsdC1iYWNrZ3JvdW5kOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgQGlmICRkZWZhdWx0LWJhY2tncm91bmQge1xyXG4gICAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICAgLmN1c3RvbS1jb250cm9sLWlucHV0OmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVmYXVsdC1iYWNrZ3JvdW5kO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcclxuICAgICAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgICAmOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGJhY2tncm91bmQsIC40KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgJi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgfVxyXG5cclxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRldGVybWluYXRlLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgfVxyXG5cclxuICAgICYuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWN1c3RvbS1jb250cm9sLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJy5jdXN0b20tY29udHJvbCcsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1jdXN0b20tY29udHJvbC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwsICRkZWZhdWx0LWJhY2tncm91bmQ6IG51bGwpIHtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBAaWYgJGRlZmF1bHQtYmFja2dyb3VuZCB7XHJcbiAgICAgIC5jdXN0b20tY29udHJvbC1pbnB1dCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWJhY2tncm91bmQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICYuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgfVxyXG5cclxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgfVxyXG5cclxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0IH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgJGJhY2tncm91bmQpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgfVxyXG5cclxuICAgIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJhY2tncm91bmQsIC4xNSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1jdXN0b20tY29udHJvbC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1jdXN0b20tY29udHJvbC12YXJpYW50KCcuY3VzdG9tLWNvbnRyb2wnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxufVxyXG5cclxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGU6IG51bGwsICRjb2xvcjogbnVsbCwgJGljb246IG51bGwpIHt9XHJcblxyXG5AbWl4aW4gZm9ybS1jb250cm9sLXZhbGlkYXRlZCgkcGFyZW50LCAkc3RhdGUpIHtcclxuICAjeyRwYXJlbnR9IHtcclxuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxyXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvciwgJGljb24sICRpY29uLXJ0bCkge1xyXG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGZvbnQtc2l6ZTogJGZvcm0tZmVlZGJhY2stZm9udC1zaXplO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTAwJTtcclxuICAgIHotaW5kZXg6IDU7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXHJcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcclxuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xyXG4gICAgZm9udC1zaXplOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xyXG4gICAgY29sb3I6IGNvbG9yLXlpcSgkY29sb3IpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSk7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuZm9ybS1jb250cm9sLCAuY3VzdG9tLXNlbGVjdCwgLmZvcm0tY29udHJvbC1maWxlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQnLCAkc3RhdGUpIHtcclxuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcclxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuZm9ybS1jb250cm9sLCAuY3VzdG9tLXNlbGVjdCcsICRzdGF0ZSkge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLWNvbnRyb2xbY2xhc3NdIC5jdXN0b20tY29udHJvbC1pbnB1dCcsICRzdGF0ZSkge1xyXG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAmOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkY29sb3IsIC40KTtcclxuICAgIH1cclxuXHJcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dCcsICRzdGF0ZSkge1xyXG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgeWlxKCRjb2xvcikpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQnLCAkc3RhdGUpIHtcclxuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsIHlpcSgkY29sb3IpKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5jdXN0b20tZmlsZS1pbnB1dCcsICRzdGF0ZSkge1xyXG4gICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFZhbGlkYXRpb24gaWNvbnNcclxuICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcclxuICAgIC8vIElucHV0c1xyXG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmZvcm0tY29udHJvbCcsICRzdGF0ZSkge1xyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkaWNvbjtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lcn0gLyAzKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkaWNvbi1ydGw7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuZm9ybS1jb250cm9sLXNtJywgJHN0YXRlKSB7XHJcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lci1zbTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItc219IC8gNCk7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbnB1dC1oZWlnaHQtaW5uZXItc207XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItc219IC8gNCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5mb3JtLWNvbnRyb2wtbGcnLCAkc3RhdGUpIHtcclxuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyLWxnO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gLyAyLjUpO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkaW5wdXQtaGVpZ2h0LWlubmVyLWxnO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLWxnfSAvIDIuNSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBUZXh0YXJlYXNcclxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJ3RleHRhcmVhLmZvcm0tY29udHJvbCcsICRzdGF0ZSkge1xyXG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lcn0gLyAzKSByaWdodCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lcn0gLyAzKTtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lcn0gLyAzKSBsZWZ0IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCd0ZXh0YXJlYS5mb3JtLWNvbnRyb2wtc20nLCAkc3RhdGUpIHtcclxuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItc219IC8gNCkgcmlnaHQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItc219IC8gNCk7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItc219IC8gNCkgbGVmdCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gLyA0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgndGV4dGFyZWEuZm9ybS1jb250cm9sLWxnJywgJHN0YXRlKSB7XHJcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLWxnfSAvIDIuNSkgcmlnaHQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9IC8gMi41KTtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gLyAyLjUpIGxlZnQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9IC8gMi41KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEN1c3RvbSBzZWxlY3RzXHJcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLXNlbGVjdFtzaXplPVwiMVwiXSwgLmN1c3RvbS1zZWxlY3Q6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pJywgJHN0YXRlKSB7XHJcbiAgICAgICRmb3JtLWZlZWRiYWNrLWljb24tb2Zmc2V0OiAoKCRpbnB1dC1oZWlnaHQtaW5uZXIgLSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgpIC8gMykgKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcclxuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmc7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLCAkaWNvbjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyLCByaWdodCAkZm9ybS1mZWVkYmFjay1pY29uLW9mZnNldCBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZztcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcnRsLCAkaWNvbi1ydGw7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyLCBsZWZ0ICRmb3JtLWZlZWRiYWNrLWljb24tb2Zmc2V0IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1zZWxlY3Qtc21bc2l6ZT1cIjFcIl0sIC5jdXN0b20tc2VsZWN0LXNtOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKScsICRzdGF0ZSkge1xyXG4gICAgICAkZm9ybS1mZWVkYmFjay1pY29uLW9mZnNldDogKCgkaW5wdXQtaGVpZ2h0LWlubmVyLXNtIC0gJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14KSAvIDQpICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XHJcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXNtO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbSBjZW50ZXIsIHJpZ2h0ICRmb3JtLWZlZWRiYWNrLWljb24tb2Zmc2V0IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXNtO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtIGNlbnRlciwgbGVmdCAkZm9ybS1mZWVkYmFjay1pY29uLW9mZnNldCBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5jdXN0b20tc2VsZWN0LWxnW3NpemU9XCIxXCJdLCAuY3VzdG9tLXNlbGVjdC1sZzpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSknLCAkc3RhdGUpIHtcclxuICAgICAgJGZvcm0tZmVlZGJhY2staWNvbi1vZmZzZXQ6ICgoJGlucHV0LWhlaWdodC1pbm5lci1sZyAtICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCkgLyAyKSArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xyXG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1sZztcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGcgY2VudGVyLCByaWdodCAkZm9ybS1mZWVkYmFjay1pY29uLW9mZnNldCBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1sZztcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZyBjZW50ZXIsIGxlZnQgJGZvcm0tZmVlZGJhY2staWNvbi1vZmZzZXQgY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1mb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IsICRpY29uLCAkaWNvbi1ydGwpIHtcclxuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBmb250LXNpemU6ICRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDEwMCU7XHJcbiAgICB6LWluZGV4OiA1O1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gQ29udGFpbiB0byBwYXJlbnQgd2hlbiBwb3NzaWJsZVxyXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XHJcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcclxuICAgIGZvbnQtc2l6ZTogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU7XHJcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcclxuICAgIGNvbG9yOiBjb2xvci15aXEoJGNvbG9yKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAkZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHkpO1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmZvcm0tY29udHJvbCwgLmN1c3RvbS1zZWxlY3QsIC5mb3JtLWNvbnRyb2wtZmlsZSwgLmN1c3RvbS1jb250cm9sLWlucHV0JywgJHN0YXRlKSB7XHJcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXHJcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmZvcm0tY29udHJvbCwgLmN1c3RvbS1zZWxlY3QnLCAkc3RhdGUpIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1jb250cm9sW2NsYXNzXSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQnLCAkc3RhdGUpIHtcclxuICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICB+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAmOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgLjE1KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5jdXN0b20tY2hlY2tib3hbY2xhc3NdIC5jdXN0b20tY29udHJvbC1pbnB1dCcsICRzdGF0ZSkge1xyXG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZywgJ19DT0xPUl8nLCB5aXEoJGNvbG9yKSksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLXJhZGlvW2NsYXNzXSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQnLCAkc3RhdGUpIHtcclxuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLWZpbGUtaW5wdXQnLCAkc3RhdGUpIHtcclxuICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBWYWxpZGF0aW9uIGljb25zXHJcbiAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XHJcbiAgICAvLyBJbnB1dHNcclxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5mb3JtLWNvbnRyb2wnLCAkc3RhdGUpIHtcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lcn0gLyAzKSBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lcn0gLyAzKTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGljb247XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGljb24tcnRsO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFRleHRhcmVhc1xyXG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgndGV4dGFyZWEuZm9ybS1jb250cm9sJywgJHN0YXRlKSB7XHJcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpIHJpZ2h0O1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpIGxlZnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJ3RleHRhcmVhLmZvcm0tY29udHJvbC1zbScsICRzdGF0ZSkge1xyXG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gLyA0KSByaWdodDtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gLyA0KSBsZWZ0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCd0ZXh0YXJlYS5mb3JtLWNvbnRyb2wtbGcnLCAkc3RhdGUpIHtcclxuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9IC8gMi41KSByaWdodDtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gLyAyLjUpIGxlZnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBDdXN0b20gc2VsZWN0c1xyXG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1zZWxlY3Rbc2l6ZT1cIjFcIl0sIC5jdXN0b20tc2VsZWN0Om5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKScsICRzdGF0ZSkge1xyXG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZztcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3IsICRpY29uO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlciwgcmlnaHQgMXJlbSBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZztcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcnRsLCAkaWNvbi1ydGw7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXIsIGxlZnQgMXJlbSBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWN1c3RvbS1maWxlLWlucHV0LXRoZW1lKCRjb2xvcikge1xyXG4gIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWN1c3RvbS1maWxlLWlucHV0LXRoZW1lKCRjb2xvcikge1xyXG4gIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XHJcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwICRjb2xvciBpbnNldDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWZvcm0tY29udHJvbC1zaXplKCRzaXplLCAkcGFkZGluZy15KSB7XHJcbiAgQGlmICRzaXplID09ICcnIHtcclxuICAgIC5mb3JtLWNvbnRyb2wsXHJcbiAgICAuY3VzdG9tLXNlbGVjdCxcclxuICAgIC5jdXN0b20tZmlsZS1sYWJlbCxcclxuICAgIC5pbnB1dC1ncm91cC10ZXh0IHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skcGFkZGluZy15fSAtIDFweCk7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAuZm9ybS1jb250cm9sLSN7JHNpemV9LFxyXG4gICAgLmN1c3RvbS1zZWxlY3QtI3skc2l6ZX0sXHJcbiAgICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gPiAuZm9ybS1jb250cm9sLFxyXG4gICAgLmlucHV0LWdyb3VwLSN7JHNpemV9ID4gLmN1c3RvbS1zZWxlY3QsXHJcbiAgICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JHBhZGRpbmcteX0gLSAxcHgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstZm9ybS1jb250cm9sLXRoZW1lKCRjb2xvcikge1xyXG4gIC5mb3JtLWNvbnRyb2w6Zm9jdXMsXHJcbiAgLmN1c3RvbS1zZWxlY3Q6Zm9jdXMge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1mb3JtLWNvbnRyb2wtdGhlbWUoJGNvbG9yKSB7XHJcbiAgLmZvcm0tY29udHJvbDpmb2N1cyxcclxuICAuY3VzdG9tLXNlbGVjdDpmb2N1cyB7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XHJcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwICRjb2xvciBpbnNldDtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBTd2l0Y2hlcnNcclxuXHJcbkBtaXhpbiBhcHB3b3JrLXN3aXRjaGVyLXNpemUtYmFzZSgkd2lkdGgsICRoZWlnaHQsICRmb250LXNpemUsICRkZXNjcmlwdGlvbi1mb250LXNpemUsICRkZXNjcmlwdGlvbi1saW5lLWhlaWdodCwgJGlubmVyLXNwYWNlcjogJHN3aXRjaGVyLWlubmVyLXNwYWNlcikge1xyXG4gIHBhZGRpbmctbGVmdDogJHdpZHRoO1xyXG4gIG1pbi1oZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgZm9udC1zaXplOiAkZGVzY3JpcHRpb24tZm9udC1zaXplO1xyXG4gIGxpbmUtaGVpZ2h0OiAkZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XHJcblxyXG4gICRsaW5lLWhlaWdodC1jb21wdXRlZDogJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZSAqICRkZXNjcmlwdGlvbi1saW5lLWhlaWdodDtcclxuICAkZGVsdGE6IGlmKCRtYXRlcmlhbC1zdHlsZSwgcHgtdG8tcmVtKGNlaWwocmVtLXRvLXB4KCRoZWlnaHQgKiAuMTI1KSkpLCAwKTtcclxuXHJcbiAgLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICB3aWR0aDogJHdpZHRoO1xyXG4gICAgaGVpZ2h0OiAkaGVpZ2h0IC0gKCRkZWx0YSAqIDIpO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRoZWlnaHQ7XHJcblxyXG4gICAgQGlmICRsaW5lLWhlaWdodC1jb21wdXRlZCA+ICRoZWlnaHQge1xyXG4gICAgICB0b3A6ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC0gJGhlaWdodCkgLyAyKSArICRkZWx0YTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICB0b3A6IDAgKyAkZGVsdGE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc3dpdGNoZXItbGFiZWwge1xyXG4gICAgQGlmICRsaW5lLWhlaWdodC1jb21wdXRlZCA8ICRoZWlnaHQge1xyXG4gICAgICB0b3A6ICgkaGVpZ2h0IC0gJGxpbmUtaGVpZ2h0LWNvbXB1dGVkKSAvIDI7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XHJcbiAgICBsZWZ0OiAkd2lkdGggLSAkaGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgLnN3aXRjaGVyLWluZGljYXRvcjo6YWZ0ZXIge1xyXG4gICAgdG9wOiAkZGVsdGEgKiAtMTtcclxuICAgIG1hcmdpbjogJGlubmVyLXNwYWNlciAwIDAgJGlubmVyLXNwYWNlcjtcclxuICAgIHdpZHRoOiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlciAqIDI7XHJcbiAgICBoZWlnaHQ6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyICogMjtcclxuICB9XHJcblxyXG4gIC5zd2l0Y2hlci1ubyB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkaW5uZXItc3BhY2VyO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlcjtcclxuICB9XHJcblxyXG4gIC5zd2l0Y2hlci15ZXMge1xyXG4gICAgcGFkZGluZy1yaWdodDogJGhlaWdodCAtICRpbm5lci1zcGFjZXI7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRpbm5lci1zcGFjZXI7XHJcbiAgfVxyXG5cclxuICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcclxuICAgIC5zd2l0Y2hlci1pbmRpY2F0b3I6OmJlZm9yZSB7XHJcbiAgICAgIHRvcDogJGRlbHRhICogLTE7XHJcbiAgICAgIHdpZHRoOiAkaGVpZ2h0O1xyXG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yOjpiZWZvcmUge1xyXG4gICAgICBsZWZ0OiAkd2lkdGggLSAkaGVpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRydGwtc3VwcG9ydCB7XHJcbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmFmdGVyIHtcclxuICAgICAgcmlnaHQ6ICR3aWR0aCAtICRoZWlnaHQ7XHJcbiAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgW2Rpcj1ydGxdICYgLnN3aXRjaGVyLWluZGljYXRvcjo6YWZ0ZXIge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6ICRpbm5lci1zcGFjZXI7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIFtkaXI9cnRsXSAmIC5zd2l0Y2hlci1ubyB7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6ICRpbm5lci1zcGFjZXI7XHJcbiAgICB9XHJcblxyXG4gICAgW2Rpcj1ydGxdICYgLnN3aXRjaGVyLXllcyB7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbm5lci1zcGFjZXI7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogJGhlaWdodCAtICRpbm5lci1zcGFjZXI7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRtYXRlcmlhbC1zdHlsZSB7XHJcbiAgICAgIFtkaXI9cnRsXSAmIC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvcjo6YmVmb3JlIHtcclxuICAgICAgICByaWdodDogJHdpZHRoIC0gJGhlaWdodDtcclxuICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1zd2l0Y2hlci1zaXplKCRzaXplLCAkd2lkdGgsICRoZWlnaHQsICRmb250LXNpemUsICRkZXNjcmlwdGlvbi1mb250LXNpemUsICRkZXNjcmlwdGlvbi1saW5lLWhlaWdodCwgJGlubmVyLXNwYWNlcjogJHN3aXRjaGVyLWlubmVyLXNwYWNlcikge1xyXG4gIC5zd2l0Y2hlci0jeyRzaXplfSxcclxuICAuZm9ybS1ncm91cC0jeyRzaXplfSAuc3dpdGNoZXIge1xyXG4gICAgQGluY2x1ZGUgYXBwd29yay1zd2l0Y2hlci1zaXplLWJhc2UoJHdpZHRoLCAkaGVpZ2h0LCAkZm9udC1zaXplLCAkZGVzY3JpcHRpb24tZm9udC1zaXplLCAkZGVzY3JpcHRpb24tbGluZS1oZWlnaHQsICRpbm5lci1zcGFjZXIpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJHNlbGVjdG9yOiBpZigkcGFyZW50ID09ICcnLCAnJywgJyN7JHBhcmVudH0uc3dpdGNoZXInKTtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgI3skc2VsZWN0b3J9IC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICAjeyRzZWxlY3Rvcn0gLnN3aXRjaGVyLWlucHV0OmZvY3VzIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRiYWNrZ3JvdW5kLCAuNCk7XHJcbiAgfVxyXG5cclxuICAjeyRzZWxlY3Rvcn0gLnN3aXRjaGVyLWlucHV0OmFjdGl2ZSB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLXN3aXRjaGVyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLXN3aXRjaGVyLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1zd2l0Y2hlci12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kKSB7XHJcbiAgJHNlbGVjdG9yOiBpZigkcGFyZW50ID09ICcnLCAnJywgJyN7JHBhcmVudH0uc3dpdGNoZXInKTtcclxuXHJcbiAgI3skc2VsZWN0b3J9IC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRiYWNrZ3JvdW5kLCAuNSk7XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIH1cclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRiYWNrZ3JvdW5kLCAuMTUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtc3dpdGNoZXItdGhlbWUoJGJhY2tncm91bmQpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLXN3aXRjaGVyLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kKTtcclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvcikge1xyXG4gIC5zd2l0Y2hlci1pbnB1dFtjbGFzc10ge1xyXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXHJcbiAgICAmLmlzLSN7JHN0YXRlfSB7XHJcbiAgICAgICY6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgICAgICBjb2xvcjogeWlxKCRjb2xvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6Zm9jdXMgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRjb2xvciwgLjQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmFjdGl2ZSB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIH4gLnN3aXRjaGVyLWxhYmVsIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXHJcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtc3dpdGNoZXItdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvcikge1xyXG4gIC5zd2l0Y2hlci1pbnB1dFtjbGFzc10ge1xyXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXHJcbiAgICAmLmlzLSN7JHN0YXRlfSB7XHJcbiAgICAgIH4gLnN3aXRjaGVyLWluZGljYXRvcltjbGFzc10ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAuNSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgLjE1KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIH4gLnN3aXRjaGVyLWxhYmVsIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogVGFibGVzXHJcblxyXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGJvcmRlcjogbnVsbCkge31cclxuXHJcbkBtaXhpbiBhcHB3b3JrLXRhYmxlLXJvdy12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kKSB7XHJcbiAgJGJnOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuMSksICNmZmYpO1xyXG4gICRjb2xvcjogeWlxKCRiZyk7XHJcbiAgJGhvdmVyLWJnOiByZ2JhLXRvLWhleChyZ2JhKCRiZywgLjk5KSwgIzAwMCk7XHJcblxyXG4gIC50YWJsZSAjeyRwYXJlbnR9LFxyXG4gIC50YWJsZSAjeyRwYXJlbnR9ID4gdGgsXHJcbiAgLnRhYmxlICN7JHBhcmVudH0gPiB0ZCB7XHJcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjAzNSkgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICAudGFibGUtaG92ZXIgI3skcGFyZW50fTpob3ZlcixcclxuICAudGFibGUtaG92ZXIgI3skcGFyZW50fTpob3ZlciA+IHRkLFxyXG4gIC50YWJsZS1ob3ZlciAjeyRwYXJlbnR9OmhvdmVyID4gdGgge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJnO1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIE5hdmJhclxyXG5cclxuQG1peGluIGFwcHdvcmstbmF2YmFyLXZhcmlhbnQoJHBhcmVudCwgJGJnLCAkY29sb3I6IG51bGwsICRhY3RpdmUtY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwpIHtcclxuICAkY29sb3JzOiBnZXQtbmF2LWNvbG9ycygkYmcsICRhY3RpdmUtY29sb3IsICRjb2xvciwgJGJvcmRlcik7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBiZykgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuXHJcbiAgICAubmF2YmFyLWJyYW5kIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1uYXYge1xyXG4gICAgICAubmF2LWxpbmsge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgZGlzYWJsZWQtY29sb3IpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2hvdyA+IC5uYXYtbGluayxcclxuICAgICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcclxuICAgICAgLm5hdi1saW5rLnNob3csXHJcbiAgICAgIC5uYXYtbGluay5hY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLXRvZ2dsZXIge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBib3JkZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWYobWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpID09ICNmZmYsICRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcsICRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnKTtcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLXRleHQge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGhyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogU2lkZW5hdlxyXG5cclxuQG1peGluIGFwcHdvcmstc2lkZW5hdi12YXJpYW50KCRwYXJlbnQsICRiZywgJGNvbG9yOiBudWxsLCAkYWN0aXZlLWNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsLCAkbWVudS1iZzogbnVsbCkge1xyXG4gICRjb2xvcnM6IGdldC1uYXYtY29sb3JzKCRiZywgJGFjdGl2ZS1jb2xvciwgJGNvbG9yLCAkYm9yZGVyKTtcclxuICAkeWlxLXBlcmNlbnQ6IG1hcC1nZXQoJGNvbG9ycywgeWlxLXBlcmNlbnQpO1xyXG5cclxuICBAaWYgbm90ICRtZW51LWJnIHtcclxuICAgICRtZW51LWJnOiByZ2JhLXRvLWhleChyZ2JhKG1hcC1nZXQoJGNvbG9ycywgYmcpLCAxIC0gaWYoJHlpcS1wZXJjZW50ID4gLjc1LCAuMDI1LCAuMDUpKSwgaWYoJHlpcS1wZXJjZW50IDwgLjI1LCAjZmZmLCAjMDAwKSk7XHJcbiAgfVxyXG5cclxuICAkbWVudS1hY3RpdmUtYmc6IHJnYmEtdG8taGV4KHJnYmEoJG1lbnUtYmcsIDEgLSBpZigkeWlxLXBlcmNlbnQgPiAuNzUsIC4wMjUsIC4wNSkpLCBpZigkeWlxLXBlcmNlbnQgPCAuMjUsICNmZmYsICMwMDApKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJnKSAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG5cclxuICAgIC5zaWRlbmF2LWxpbmssXHJcbiAgICAuc2lkZW5hdi1ob3Jpem9udGFsLXByZXYsXHJcbiAgICAuc2lkZW5hdi1ob3Jpem9udGFsLW5leHQge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XHJcblxyXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi1pdGVtLmRpc2FibGVkIC5zaWRlbmF2LWxpbmssXHJcbiAgICAuc2lkZW5hdi1ob3Jpem9udGFsLXByZXYuZGlzYWJsZWQsXHJcbiAgICAuc2lkZW5hdi1ob3Jpem9udGFsLW5leHQuZGlzYWJsZWQge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBkaXNhYmxlZC1jb2xvcikgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi1pdGVtLm9wZW46bm90KC5zaWRlbmF2LWl0ZW0tY2xvc2luZykgPiAuc2lkZW5hdi10b2dnbGUsXHJcbiAgICAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbmsge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazpub3QoLnNpZGVuYXYtdG9nZ2xlKSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZW51LWJnO1xyXG4gICAgfVxyXG5cclxuICAgICYuc2lkZW5hdi1ob3Jpem9udGFsIC5zaWRlbmF2LW1lbnUgPiAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbms6bm90KC5zaWRlbmF2LXRvZ2dsZSkge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudS1hY3RpdmUtYmc7XHJcbiAgICB9XHJcblxyXG4gICAgJi5zaWRlbmF2LWhvcml6b250YWwgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtOm5vdCguc2lkZW5hdi1pdGVtLWNsb3NpbmcpID4gLnNpZGVuYXYtbWVudSxcclxuICAgICYuc2lkZW5hdi1ob3Jpem9udGFsIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtdG9nZ2xlIHtcclxuICAgICAgYmFja2dyb3VuZDogJG1lbnUtYmc7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLnNpZGVuYXYtaXRlbS1jbG9zaW5nIC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1tZW51LFxyXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLnNpZGVuYXYtaXRlbS1jbG9zaW5nIC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi10b2dnbGUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LXRleHQge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWhlYWRlciB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIG11dGVkLWNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBocixcclxuICAgIC5zaWRlbmF2LWRpdmlkZXIsXHJcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LW1lbnU6OmJlZm9yZSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBib3JkZXIpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1oZWFkZXI6OmJlZm9yZSxcclxuICAgIC5zaWRlbmF2LWJsb2NrOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtdG9nZ2xlOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhLXRvLWhleChtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlciksICRtZW51LWJnKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbms6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1pdGVtLm9wZW4gPiAuc2lkZW5hdi10b2dnbGU6OmJlZm9yZSxcclxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazo6YmVmb3JlIHtcclxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICRtZW51LWJnO1xyXG4gICAgfVxyXG5cclxuICAgIC5wc19fdGh1bWIteSxcclxuICAgIC5wc19fcmFpbC15LnBzLS1jbGlja2luZyA+IC5wc19fdGh1bWIteSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEobWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpLCBpZigkeWlxLXBlcmNlbnQgPiAuNzUsIG1hcC1nZXQoJGNvbG9ycywgb3BhY2l0eSkgLSAuNCwgbWFwLWdldCgkY29sb3JzLCBvcGFjaXR5KSAtIC4yKSkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBGb290ZXJcclxuXHJcbkBtaXhpbiBhcHB3b3JrLWZvb3Rlci12YXJpYW50KCRwYXJlbnQsICRiZywgJGNvbG9yOiBudWxsLCAkYWN0aXZlLWNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsKSB7XHJcbiAgJGNvbG9yczogZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yLCAkY29sb3IsICRib3JkZXIpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmcpICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XHJcblxyXG4gICAgLmZvb3Rlci1saW5rIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG5cclxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGRpc2FibGVkLWNvbG9yKSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZvb3Rlci10ZXh0IHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2hvdyA+IC5mb290ZXItbGluayxcclxuICAgIC5hY3RpdmUgPiAuZm9vdGVyLWxpbmssXHJcbiAgICAuZm9vdGVyLWxpbmsuc2hvdyxcclxuICAgIC5mb290ZXItbGluay5hY3RpdmUge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIGhyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay10b2FzdC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgI3skcGFyZW50fS5iczQtdG9hc3Qge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJhY2tncm91bmQsIC45KSAhaW1wb3J0YW50O1xyXG5cclxuICAgIC50b2FzdC1oZWFkZXIge1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgLjEpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstdG9hc3QtdGhlbWUoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstdG9hc3QtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxufVxyXG4iLCIvLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdpbmFsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPUy1hbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlciB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgYSN7JHBhcmVudH0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiRydGwtc3VwcG9ydDogdHJ1ZTtcclxuXHJcbkBpbXBvcnQgXCIuLi9fYXBwd29yay9pbmNsdWRlXCI7XHJcbkBpbXBvcnQgXCIuLi9fdGhlbWUvY29tbW9uXCI7XHJcbkBpbXBvcnQgXCIuLi9fdGhlbWUvbGlic1wiO1xyXG5AaW1wb3J0IFwiLi4vX3RoZW1lL3Vpa2l0XCI7XHJcblxyXG4kcHJpbWFyeS1jb2xvcjogIzI2QjRGRjtcclxuJGJvZHktYmc6ICNmNWY1ZjU7XHJcblxyXG5ib2R5IHtcclxuICBiYWNrZ3JvdW5kOiAkYm9keS1iZztcclxufVxyXG5cclxuLmJnLWJvZHkge1xyXG4gIGJhY2tncm91bmQ6ICRib2R5LWJnICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbkBpbmNsdWRlIGFwcHdvcmstY29tbW9uLXRoZW1lKCRwcmltYXJ5LWNvbG9yKTtcclxuQGluY2x1ZGUgYXBwd29yay1saWJzLXRoZW1lKCRwcmltYXJ5LWNvbG9yKTtcclxuQGluY2x1ZGUgYXBwd29yay11aWtpdC10aGVtZSgkcHJpbWFyeS1jb2xvcik7XHJcblxyXG4vLyBOYXZiYXJcclxuXHJcbkBpbmNsdWRlIGFwcHdvcmstbmF2YmFyLXZhcmlhbnQoJy5iZy1uYXZiYXItdGhlbWUnLCAjZmZmLCAkY29sb3I6ICR0ZXh0LW11dGVkLCAkYWN0aXZlLWNvbG9yOiAkYm9keS1jb2xvcik7XHJcblxyXG4ubGF5b3V0LW5hdmJhciB7XHJcbiAgYm94LXNoYWRvdzogMCAxcHggMCAkYm9yZGVyLWNvbG9yO1xyXG59XHJcblxyXG4vLyBTaWRlbmF2XHJcblxyXG5AaW5jbHVkZSBhcHB3b3JrLXNpZGVuYXYtdmFyaWFudCgnLmJnLXNpZGVuYXYtdGhlbWUnLCAjMmUzMjNhLCAkY29sb3I6ICM4Mzg3OTApO1xyXG5cclxuLy8gRm9vdGVyXHJcblxyXG5AaW5jbHVkZSBhcHB3b3JrLWZvb3Rlci12YXJpYW50KCcuYmctZm9vdGVyLXRoZW1lJywgI2ZmZiwgJGNvbG9yOiAkdGV4dC1tdXRlZCwgJGFjdGl2ZS1jb2xvcjogJGJvZHktY29sb3IpO1xyXG4iLCJAbWl4aW4gYnMtc2xpZGVyLXZhcmlhbnQoJGJhY2tncm91bmQpIHtcclxuICAuc2xpZGVyLXNlbGVjdGlvbixcclxuICAuc2xpZGVyLXJldmVyc2VkIC5zbGlkZXItdHJhY2staGlnaCxcclxuICAmLnNsaWRlci1yZXZlcnNlZCAuc2xpZGVyLXRyYWNrLWhpZ2gge1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF0ZXJpYWwtYnMtc2xpZGVyLXZhcmlhbnQoJGJhY2tncm91bmQpIHtcclxuICAuc2xpZGVyLWhhbmRsZSB7XHJcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuc2xpZGVyLWhhbmRsZSxcclxuICAuc2xpZGVyLXNlbGVjdGlvbixcclxuICAuc2xpZGVyLXJldmVyc2VkIC5zbGlkZXItdHJhY2staGlnaCxcclxuICAmLnNsaWRlci1yZXZlcnNlZCAuc2xpZGVyLXRyYWNrLWhpZ2gge1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYnMtc2xpZGVyLXRoZW1lKCRiYWNrZ3JvdW5kKSB7XHJcbiAgLnNsaWRlci1wcmltYXJ5IHtcclxuICAgIEBpbmNsdWRlIGJzLXNsaWRlci12YXJpYW50KCRiYWNrZ3JvdW5kKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXRlcmlhbC1icy1zbGlkZXItdGhlbWUoJGJhY2tncm91bmQpIHtcclxuICAuc2xpZGVyLXByaW1hcnkge1xyXG4gICAgQGluY2x1ZGUgbWF0ZXJpYWwtYnMtc2xpZGVyLXZhcmlhbnQoJGJhY2tncm91bmQpO1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vY3NzL19hcHB3b3JrL2Z1bmN0aW9uc1wiO1xyXG5cclxuQG1peGluIHNlbGVjdDItdmFyaWFudCgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBzZWxlY3QyLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkYm9yZGVyKSB7XHJcbiAgLmlzLSN7JHN0YXRlfSAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLFxyXG4gIC5pcy0jeyRzdGF0ZX0uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uICB7XHJcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gc2VsZWN0Mi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gIC5kZWZhdWx0LXN0eWxlIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCB7XHJcbiAgICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkW2FyaWEtc2VsZWN0ZWRdIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgICYuc2VsZWN0Mi1jb250YWluZXItLWZvY3VzIC5zZWxlY3QyLXNlbGVjdGlvbixcclxuICAgICYuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmRlZmF1bHQtc3R5bGUgLnNlbGVjdDItcHJpbWFyeSB7XHJcbiAgICBAaW5jbHVkZSBzZWxlY3QyLXZhcmlhbnQoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF0ZXJpYWwtc2VsZWN0Mi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gIC5tYXRlcmlhbC1zdHlsZSAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQge1xyXG4gICAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZFthcmlhLXNlbGVjdGVkXSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAmLnNlbGVjdDItY29udGFpbmVyLS1mb2N1czpub3QoLnNlbGVjdDItY29udGFpbmVyLS1kaXNhYmxlZCkgLnNlbGVjdDItc2VsZWN0aW9uLFxyXG4gICAgJi5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbjpub3QoLnNlbGVjdDItY29udGFpbmVyLS1kaXNhYmxlZCkgLnNlbGVjdDItc2VsZWN0aW9uIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwICRiYWNrZ3JvdW5kIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubWF0ZXJpYWwtc3R5bGUgLnNlbGVjdDItcHJpbWFyeSB7XHJcbiAgICBAaW5jbHVkZSBzZWxlY3QyLXZhcmlhbnQoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi9jc3MvX2FwcHdvcmsvZnVuY3Rpb25zXCI7XHJcblxyXG5AbWl4aW4gYnMtc2VsZWN0LXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgLmJvb3RzdHJhcC1zZWxlY3QgLmRyb3Bkb3duLW1lbnUuaW5uZXIgYVthcmlhLXNlbGVjdGVkPXRydWVdIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi9jc3MvX2FwcHdvcmsvZnVuY3Rpb25zXCI7XHJcblxyXG5AbWl4aW4gYnMtZGF0ZXBpY2tlci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgJHJhbmdlLWJnOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuMTUpLCAjZmZmKTtcclxuICAkcmFuZ2UtY29sb3I6IHlpcSgkcmFuZ2UtYmcpO1xyXG5cclxuICAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCB7XHJcbiAgICAmLmFjdGl2ZSxcclxuICAgICYuYWN0aXZlLmhpZ2hsaWdodGVkLFxyXG4gICAgJi5hY3RpdmUudG9kYXksXHJcbiAgICBzcGFuLmFjdGl2ZSxcclxuICAgIHNwYW4uYWN0aXZlLmRpc2FibGVkLFxyXG4gICAgJi5yYW5nZS1zdGFydCxcclxuICAgICYucmFuZ2UtZW5kIHtcclxuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgICYucmFuZ2UsXHJcbiAgICAmLnJhbmdlLmhpZ2hsaWdodGVkLFxyXG4gICAgJi5yYW5nZS50b2RheSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRyYW5nZS1iZyAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogJHJhbmdlLWNvbG9yICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAmLmZvY3VzZWQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkcmFuZ2UtYmcsIDYlKSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkcmFuZ2UtYmcsIC41KSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkcmFuZ2UtY29sb3IsIC41KSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBxdWlsbC1nZW5lcmF0ZS1saXN0cygkaW5kZW50KSB7XHJcbiAgJHF1aWxsLWxpc3QtdHlwZXM6IChcclxuICAgIDE6IGxvd2VyLWFscGhhLFxyXG4gICAgMjogbG93ZXItcm9tYW4sXHJcbiAgICAzOiBkZWNpbWFsLFxyXG4gICAgNDogbG93ZXItYWxwaGEsXHJcbiAgICA1OiBsb3dlci1yb21hbixcclxuICAgIDY6IGRlY2ltYWwsXHJcbiAgICA3OiBsb3dlci1hbHBoYSxcclxuICAgIDg6IGxvd2VyLXJvbWFuLFxyXG4gICAgOTogZGVjaW1hbFxyXG4gICk7XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggOSB7XHJcbiAgICBvbCBsaS5xbC1pbmRlbnQtI3skaX0ge1xyXG4gICAgICBjb3VudGVyLWluY3JlbWVudDogbGlzdC0jeyRpfTtcclxuXHJcbiAgICAgIEBpZiAkaSA8IDkge1xyXG4gICAgICAgICRsaXN0czogJyc7XHJcblxyXG4gICAgICAgIEBmb3IgJGwgZnJvbSAkaSArIDEgdGhyb3VnaCA5IHtcclxuICAgICAgICAgICRsaXN0czogXCIjeyRsaXN0c30gbGlzdC0jeyRsfVwiO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY291bnRlci1yZXNldDogI3skbGlzdHN9O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIobGlzdC0jeyRpfSwgbWFwLWdldCgkcXVpbGwtbGlzdC10eXBlcywgJGkpKSAnLiAnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnFsLWluZGVudC0jeyRpfTpub3QoLnFsLWRpcmVjdGlvbi1ydGwpIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAkaW5kZW50ICogJGk7XHJcblxyXG4gICAgICBbZGlyPXJ0bF0gJiB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGluZGVudCAqICRpO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGkucWwtaW5kZW50LSN7JGl9Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCkge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6ICRpbmRlbnQgKiAoJGkgKyAxKTtcclxuXHJcbiAgICAgIFtkaXI9cnRsXSAmIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5kZW50ICogKCRpICsgMSk7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAucWwtaW5kZW50LSN7JGl9LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHQge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5kZW50ICogJGk7XHJcblxyXG4gICAgICBbZGlyPXJ0bF0gJiB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbmRlbnQgKiAkaTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGkucWwtaW5kZW50LSN7JGl9LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHQge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5kZW50ICogKCRpICsgMSk7XHJcblxyXG4gICAgICBbZGlyPXJ0bF0gJiB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbmRlbnQgKiAoJGkgKyAxKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHF1aWxsLXRoZW1lKCRjb2xvcikge1xyXG4gIC5xbC1zbm93LnFsLXRvb2xiYXIsXHJcbiAgLnFsLXNub3cgLnFsLXRvb2xiYXIge1xyXG4gICAgYnV0dG9uOmhvdmVyLFxyXG4gICAgYnV0dG9uOmZvY3VzLFxyXG4gICAgYnV0dG9uLnFsLWFjdGl2ZSxcclxuICAgIC5xbC1waWNrZXItbGFiZWw6aG92ZXIsXHJcbiAgICAucWwtcGlja2VyLWxhYmVsLnFsLWFjdGl2ZSxcclxuICAgIC5xbC1waWNrZXItaXRlbTpob3ZlcixcclxuICAgIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBidXR0b246aG92ZXIgLnFsLWZpbGwsXHJcbiAgICBidXR0b246Zm9jdXMgLnFsLWZpbGwsXHJcbiAgICBidXR0b24ucWwtYWN0aXZlIC5xbC1maWxsLFxyXG4gICAgLnFsLXBpY2tlci1sYWJlbDpob3ZlciAucWwtZmlsbCxcclxuICAgIC5xbC1waWNrZXItbGFiZWwucWwtYWN0aXZlIC5xbC1maWxsLFxyXG4gICAgLnFsLXBpY2tlci1pdGVtOmhvdmVyIC5xbC1maWxsLFxyXG4gICAgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1maWxsLFxyXG4gICAgYnV0dG9uOmhvdmVyIC5xbC1zdHJva2UucWwtZmlsbCxcclxuICAgIGJ1dHRvbjpmb2N1cyAucWwtc3Ryb2tlLnFsLWZpbGwsXHJcbiAgICBidXR0b24ucWwtYWN0aXZlIC5xbC1zdHJva2UucWwtZmlsbCxcclxuICAgIC5xbC1waWNrZXItbGFiZWw6aG92ZXIgLnFsLXN0cm9rZS5xbC1maWxsLFxyXG4gICAgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUgLnFsLXN0cm9rZS5xbC1maWxsLFxyXG4gICAgLnFsLXBpY2tlci1pdGVtOmhvdmVyIC5xbC1zdHJva2UucWwtZmlsbCxcclxuICAgIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCAucWwtc3Ryb2tlLnFsLWZpbGwge1xyXG4gICAgICBmaWxsOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBidXR0b246aG92ZXIgLnFsLXN0cm9rZSxcclxuICAgIGJ1dHRvbjpmb2N1cyAucWwtc3Ryb2tlLFxyXG4gICAgYnV0dG9uLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLFxyXG4gICAgLnFsLXBpY2tlci1sYWJlbDpob3ZlciAucWwtc3Ryb2tlLFxyXG4gICAgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUgLnFsLXN0cm9rZSxcclxuICAgIC5xbC1waWNrZXItaXRlbTpob3ZlciAucWwtc3Ryb2tlLFxyXG4gICAgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1zdHJva2UsXHJcbiAgICBidXR0b246aG92ZXIgLnFsLXN0cm9rZS1taXRlcixcclxuICAgIGJ1dHRvbjpmb2N1cyAucWwtc3Ryb2tlLW1pdGVyLFxyXG4gICAgYnV0dG9uLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLW1pdGVyLFxyXG4gICAgLnFsLXBpY2tlci1sYWJlbDpob3ZlciAucWwtc3Ryb2tlLW1pdGVyLFxyXG4gICAgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUgLnFsLXN0cm9rZS1taXRlcixcclxuICAgIC5xbC1waWNrZXItaXRlbTpob3ZlciAucWwtc3Ryb2tlLW1pdGVyLFxyXG4gICAgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1zdHJva2UtbWl0ZXIge1xyXG4gICAgICBzdHJva2U6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gc3dpcGVyLXRoZW1lKCRiYWNrZ3JvdW5kKSB7XHJcbiAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLFxyXG4gIC5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gc3BpbmtpdC10aGVtZSgkYmFja2dyb3VuZCkge1xyXG4gIC5zay1wcmltYXJ5LnNrLXJvdGF0aW5nLXBsYW5lLFxyXG4gIC5zay1wcmltYXJ5LnNrLWRvdWJsZS1ib3VuY2UgLnNrLWNoaWxkLFxyXG4gIC5zay1wcmltYXJ5LnNrLXdhdmUgLnNrLXJlY3QsXHJcbiAgLnNrLXByaW1hcnkuc2std2FuZGVyaW5nLWN1YmVzIC5zay1jdWJlLFxyXG4gIC5zay1wcmltYXJ5LnNrLXNwaW5uZXItcHVsc2UsXHJcbiAgLnNrLXByaW1hcnkuc2stY2hhc2luZy1kb3RzIC5zay1jaGlsZCxcclxuICAuc2stcHJpbWFyeS5zay10aHJlZS1ib3VuY2UgLnNrLWNoaWxkLFxyXG4gIC5zay1wcmltYXJ5LnNrLWNpcmNsZSAuc2stY2hpbGQ6YmVmb3JlLFxyXG4gIC5zay1wcmltYXJ5LnNrLWN1YmUtZ3JpZCAuc2stY3ViZSxcclxuICAuc2stcHJpbWFyeS5zay1mYWRpbmctY2lyY2xlIC5zay1jaXJjbGU6YmVmb3JlLFxyXG4gIC5zay1wcmltYXJ5LnNrLWZvbGRpbmctY3ViZSAuc2stY3ViZTpiZWZvcmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBzbWFydHdpemFyZC10aGVtZSgkY29sb3IpIHtcclxuICAuc3ctdGhlbWUtZGVmYXVsdCAuc3RlcC1hbmNob3IgPiBsaS5hY3RpdmUgPiBhIC5zdy1pY29uLFxyXG4gIC5zdy10aGVtZS1kZWZhdWx0IC5zdGVwLWFuY2hvciA+IGxpLmFjdGl2ZSA+IGEgLnN3LW51bWJlciB7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi9jc3MvX2FwcHdvcmsvZnVuY3Rpb25zXCI7XHJcblxyXG5AbWl4aW4gcGx5ci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gIC5wbHlyIGlucHV0W3R5cGU9J3JhbmdlJ106Oi1tcy1maWxsLWxvd2VyIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAucGx5ciBpbnB1dFt0eXBlPSdyYW5nZSddOmFjdGl2ZSB7XHJcbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcclxuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICY6Oi1tcy10aHVtYiB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2xzIGJ1dHRvbi50YWItZm9jdXM6Zm9jdXMsXHJcbiAgLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9scyBidXR0b246aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5wbHlyLS1hdWRpbyAucGx5cl9fY29udHJvbHMgYnV0dG9uLnRhYi1mb2N1czpmb2N1cyxcclxuICAucGx5ci0tYXVkaW8gLnBseXJfX2NvbnRyb2xzIGJ1dHRvbjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLnBseXJfX3BsYXktbGFyZ2Uge1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5wbHlyX19wcm9ncmVzcy0tcGxheWVkLFxyXG4gIC5wbHlyX192b2x1bWUtLWRpc3BsYXkge1xyXG4gICAgY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBmdW5jdGlvbiBmdWxsY2FsZW5kYXItZXZlbnQtYmcoJGJhY2tncm91bmQsICRvcGFjaXR5OiAuMTUpIHtcclxuICBAcmV0dXJuIHJnYmEoJGJhY2tncm91bmQsICRvcGFjaXR5KTtcclxufVxyXG5cclxuQG1peGluIGZ1bGxjYWxlbmRhci1ldmVudC12YXJpYW50KCRiYWNrZ3JvdW5kKSB7XHJcbiAgJi5mYy1ldmVudCB7XHJcbiAgICBiYWNrZ3JvdW5kOiBmdWxsY2FsZW5kYXItZXZlbnQtYmcoJGJhY2tncm91bmQpICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuZmMtZXZlbnQtZG90IHtcclxuICAgIGJhY2tncm91bmQ6IGZ1bGxjYWxlbmRhci1ldmVudC1iZygkYmFja2dyb3VuZCwgLjQpICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZnVsbGNhbGVuZGFyLXRoZW1lKCRiYWNrZ3JvdW5kKSB7XHJcbiAgLmZjLWV2ZW50IHtcclxuICAgIGJhY2tncm91bmQ6IGZ1bGxjYWxlbmRhci1ldmVudC1iZygkYmFja2dyb3VuZCkgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5mYy1ldmVudC1kb3Qge1xyXG4gICAgYmFja2dyb3VuZDogZnVsbGNhbGVuZGFyLWV2ZW50LWJnKCRiYWNrZ3JvdW5kLCAuNCkgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5mYy1oaWdobGlnaHQsXHJcbiAgLmZjLWJnZXZlbnQ6bm90KC5mYy1ub25idXNpbmVzcykge1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uL2Nzcy9fYXBwd29yay9mdW5jdGlvbnNcIjtcclxuXHJcbkBtaXhpbiBzd2VldGFsZXJ0Mi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gIC5zd2FsMi1wcm9ncmVzcy1zdGVwc1tjbGFzc10gLnN3YWwyLXByb2dyZXNzLXN0ZXAuc3dhbDItYWN0aXZlLXByb2dyZXNzLXN0ZXAsXHJcbiAgLnN3YWwyLXByb2dyZXNzLXN0ZXBzW2NsYXNzXSAuc3dhbDItcHJvZ3Jlc3Mtc3RlcC1saW5lLFxyXG4gIC5zd2FsMi1wcm9ncmVzcy1zdGVwc1tjbGFzc10gLnN3YWwyLWFjdGl2ZS1wcm9ncmVzcy1zdGVwLFxyXG4gIC5zd2FsMi1wcm9ncmVzcy1zdGVwc1tjbGFzc10gLnN3YWwyLXByb2dyZXNzLXN0ZXAge1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLnN3YWwyLXByb2dyZXNzLXN0ZXBzW2NsYXNzXSAuc3dhbDItcHJvZ3Jlc3Mtc3RlcC5zd2FsMi1hY3RpdmUtcHJvZ3Jlc3Mtc3RlcCB+IC5zd2FsMi1wcm9ncmVzcy1zdGVwLFxyXG4gIC5zd2FsMi1wcm9ncmVzcy1zdGVwc1tjbGFzc10gLnN3YWwyLXByb2dyZXNzLXN0ZXAuc3dhbDItYWN0aXZlLXByb2dyZXNzLXN0ZXAgfiAuc3dhbDItcHJvZ3Jlc3Mtc3RlcC1saW5lIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC4yNSkpO1xyXG4gIH1cclxufVxyXG4iLCIvLyBGdW5jdGlvbnNcclxuLy9cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBNYXRoXHJcblxyXG4kcGk6IDMuMTQxNTkyNjUzNTk7XHJcbiRfcHJlY2lzaW9uOiAxMDtcclxuXHJcbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHApIHtcclxuICAkdmFsdWU6ICRiYXNlO1xyXG4gIEBpZiAkZXhwID4gMSB7XHJcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHAge1xyXG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xyXG4gICAgfVxyXG4gIH1cclxuICBAaWYgJGV4cCA8IDF7XHJcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwIHtcclxuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcclxuICAgIH1cclxuICB9XHJcbiAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBzcXJ0KCRyKSB7XHJcbiAgJHgwOiAxO1xyXG4gICR4MTogJHgwO1xyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEwIHtcclxuICAgICR4MTogJHgwIC0gKCR4MCAqICR4MCAtIGFicygkcikpIC8gKDIgKiAkeDApO1xyXG4gICAgJHgwOiAkeDE7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR4MTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGZhY3QoJG51bSkge1xyXG4gICRmYWN0OiAxO1xyXG4gIEBpZiAkbnVtID4gMHtcclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG51bSB7XHJcbiAgICAgICRmYWN0OiAkZmFjdCAqICRpO1xyXG4gICAgfVxyXG4gIH1cclxuICBAcmV0dXJuICRmYWN0O1xyXG59XHJcblxyXG5AZnVuY3Rpb24gX3RvX3VuaXRsZXNzX3JhZCgkYW5nbGUpIHtcclxuICBAaWYgdW5pdCgkYW5nbGUpID09IFwiZGVnXCIge1xyXG4gICAgJGFuZ2xlOiAkYW5nbGUgLyAxODBkZWcgKiAkcGk7XHJcbiAgfVxyXG4gIEBpZiB1bml0KCRhbmdsZSkgPT0gXCJyYWRcIiB7XHJcbiAgICAkYW5nbGU6ICRhbmdsZSAvIDFyYWQ7XHJcbiAgfVxyXG4gIEByZXR1cm4gJGFuZ2xlO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gc2luKCRhbmdsZSl7XHJcbiAgJGE6IF90b191bml0bGVzc19yYWQoJGFuZ2xlKTtcclxuICAkc2luOiAkYTtcclxuICBAZm9yICRuIGZyb20gMSB0aHJvdWdoICRfcHJlY2lzaW9uIHtcclxuICAgICRzaW46ICRzaW4gKyAocG93KC0xLCAkbikgLyBmYWN0KDIgKiAkbiArIDEpICkgKiBwb3coJGEsICgyICogJG4gKyAxKSk7XHJcbiAgfVxyXG4gIEByZXR1cm4gJHNpbjtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGNvcygkYW5nbGUpe1xyXG4gICRhOiBfdG9fdW5pdGxlc3NfcmFkKCRhbmdsZSk7XHJcbiAgJGNvczogMTtcclxuICBAZm9yICRuIGZyb20gMSB0aHJvdWdoICRfcHJlY2lzaW9uIHtcclxuICAgICRjb3M6ICRjb3MgKyAoIHBvdygtMSwkbikgLyBmYWN0KDIqJG4pICkgKiBwb3coJGEsMiokbik7XHJcbiAgfVxyXG4gIEByZXR1cm4gJGNvcztcclxufVxyXG5cclxuQGZ1bmN0aW9uIHRhbigkYW5nbGUpe1xyXG4gIEByZXR1cm4gc2luKCRhbmdsZSkgLyBjb3MoJGFuZ2xlKTtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIExpc3RzXHJcblxyXG5AZnVuY3Rpb24gc2xpY2UtbGlzdCgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XHJcbiAgJHJlc3VsdDogbnVsbDtcclxuXHJcbiAgQGlmIHR5cGUtb2YoJHN0YXJ0KSAhPSBudW1iZXIgb3IgdHlwZS1vZigkZW5kKSAhPSBudW1iZXIge1xyXG4gICAgQHdhcm4gXCJFaXRoZXIgJHN0YXJ0IG9yICRlbmQgYXJlIG5vdCBhIG51bWJlciBmb3IgYHNsaWNlYC5cIjtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICRzdGFydCA+ICRlbmQge1xyXG4gICAgQHdhcm4gXCJUaGUgc3RhcnQgaW5kZXggaGFzIHRvIGJlIGxlc3NlciB0aGFuIG9yIGVxdWFscyB0byB0aGUgZW5kIGluZGV4IGZvciBgc2xpY2VgLlwiO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJHN0YXJ0IDwgMSBvciAkZW5kIDwgMSB7XHJcbiAgICBAd2FybiBcIkxpc3QgaW5kZXhlcyBtdXN0IGJlIG5vbi16ZXJvIGludGVnZXJzIGZvciBgc2xpY2VgLlwiO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJHN0YXJ0ID4gbGVuZ3RoKCRsaXN0KSB7XHJcbiAgICBAd2FybiBcIkxpc3QgaW5kZXggaXMgI3skc3RhcnR9IGJ1dCBsaXN0IGlzIG9ubHkgI3tsZW5ndGgoJGxpc3QpfSBpdGVtIGxvbmcgZm9yIGBzbGljZWAuXCI7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkZW5kID4gbGVuZ3RoKCRsaXN0KSB7XHJcbiAgICBAd2FybiBcIkxpc3QgaW5kZXggaXMgI3skZW5kfSBidXQgbGlzdCBpcyBvbmx5ICN7bGVuZ3RoKCRsaXN0KX0gaXRlbSBsb25nIGZvciBgc2xpY2VgLlwiO1xyXG4gIH1cclxuXHJcbiAgQGVsc2Uge1xyXG4gICAgJHJlc3VsdDogKCk7XHJcblxyXG4gICAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xyXG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcmVzdWx0O1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogU3RyaW5nc1xyXG5cclxuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiAnJykge1xyXG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xyXG5cclxuICBAaWYgJGluZGV4IHtcclxuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHN0cmluZztcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIENvbG9yc1xyXG5cclxuQGZ1bmN0aW9uIHJnYmEtdG8taGV4KCRjb2xvciwgJGJhY2tncm91bmQ6ICNmZmYpIHtcclxuICBAaWYgJGNvbG9yIGFuZCBhbHBoYSgkY29sb3IpICE9IDEge1xyXG4gICAgJHBlcmNlbnQ6IGFscGhhKCRjb2xvcikgKiAxMDAlO1xyXG4gICAgJG9wYXF1ZTogb3BhY2lmeSgkY29sb3IsIDEpO1xyXG5cclxuICAgIEByZXR1cm4gbWl4KCRvcGFxdWUsICRiYWNrZ3JvdW5kLCAkcGVyY2VudCk7XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEByZXR1cm4gJGNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHlpcS12YWx1ZSgkY29sb3IpIHtcclxuICBAaWYgJGNvbG9yID09IHRyYW5zcGFyZW50IHtcclxuICAgIEByZXR1cm4gJGJvZHktY29sb3I7XHJcbiAgfSBAZWxzZSBpZiBhbHBoYSgkY29sb3IpICE9IDEge1xyXG4gICAgJGNvbG9yOiByZ2JhLXRvLWhleCgkY29sb3IpO1xyXG4gIH1cclxuXHJcbiAgJHI6IHJlZCgkY29sb3IpO1xyXG4gICRnOiBncmVlbigkY29sb3IpO1xyXG4gICRiOiBibHVlKCRjb2xvcik7XHJcblxyXG4gIEByZXR1cm4gKCgkciAqIDI5OSkgKyAoJGcgKiA1ODcpICsgKCRiICogMTE0KSkgLyAxMDAwO1xyXG59XHJcblxyXG4vLyBDb2xvciBjb250cmFzdFxyXG5AZnVuY3Rpb24geWlxKCRjb2xvcikge1xyXG4gICR5aXE6IHlpcS12YWx1ZSgkY29sb3IpO1xyXG5cclxuICBAaWYgKCR5aXEgPj0gMTYwKSB7XHJcbiAgICBAcmV0dXJuIHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuNDApLCAjMDAwKTtcclxuICB9IEBlbHNlIHtcclxuICAgIEByZXR1cm4gI2ZmZjtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBVbml0c1xyXG5cclxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bWJlcikge1xyXG4gIEBpZiB0eXBlLW9mKCRudW1iZXIpID09ICdudW1iZXInIGFuZCBub3QgdW5pdGxlc3MoJG51bWJlcikge1xyXG4gICAgQHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRudW1iZXI7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBweC10by1yZW0oJHZhbHVlKSB7XHJcbiAgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0IGZvbnQgc2l6ZSA9IGAxNnB4YFxyXG4gIEByZXR1cm4gKHN0cmlwLXVuaXQoJHZhbHVlKSAvIDE2KSAqIDFyZW07XHJcbn1cclxuXHJcbkBmdW5jdGlvbiByZW0tdG8tcHgoJHZhbHVlKSB7XHJcbiAgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0IGZvbnQgc2l6ZSA9IGAxNnB4YFxyXG4gIEByZXR1cm4gKHN0cmlwLXVuaXQoJHZhbHVlKSAqIDE2KSAqIDFweDtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFV0aWxpdGllc1xyXG5cclxuQGZ1bmN0aW9uIGdldC1idG4tY29sb3JzKCRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XHJcbiAgQGlmICRiYWNrZ3JvdW5kID09IHRyYW5zcGFyZW50IHtcclxuICAgICRidG4tc2hhZG93OiByZ2JhKHJnYmEtdG8taGV4KCRib3JkZXIsICMwMDApLCAuMDUpO1xyXG5cclxuICAgIEByZXR1cm4gKFxyXG4gICAgICBiZy1ob3ZlcjogIHJnYmEoJGJvcmRlciwgLjA2KSxcclxuICAgICAgYmctYWN0aXZlOiByZ2JhKCRib3JkZXIsIC4xMiksXHJcbiAgICAgIGJvcmRlcjogICAgJGJvcmRlcixcclxuICAgICAgc2hhZG93OiAgICBpZigkZW5hYmxlLXNoYWRvd3MsICgkYnRuLWJveC1zaGFkb3csIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoICRidG4tc2hhZG93KSwgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggJGJ0bi1zaGFkb3cpXHJcbiAgICApO1xyXG4gIH0gQGVsc2UgaWYgYWxwaGEoJGJhY2tncm91bmQpICE9IDEge1xyXG4gICAgJGJnLWFscGhhOiAgIGFscGhhKCRiYWNrZ3JvdW5kKTtcclxuICAgICRidG4tc2hhZG93OiByZ2JhKCRiYWNrZ3JvdW5kLCAkYmctYWxwaGEgLSAoJGJnLWFscGhhICogNTUgLyAxMDApICk7XHJcblxyXG4gICAgQHJldHVybiAoXHJcbiAgICAgIGJnLWhvdmVyOiAgcmdiYSgkYmFja2dyb3VuZCwgJGJnLWFscGhhICsgMC4wNSksXHJcbiAgICAgIGJnLWFjdGl2ZTogcmdiYSgkYmFja2dyb3VuZCwgJGJnLWFscGhhICsgMC4xMyksXHJcbiAgICAgIGJvcmRlcjogICAgdHJhbnNwYXJlbnQsXHJcbiAgICAgIHNoYWRvdzogICAgaWYoJGVuYWJsZS1zaGFkb3dzLCAoJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCAkYnRuLXNoYWRvdyksIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoICRidG4tc2hhZG93KVxyXG4gICAgKTtcclxuICB9IEBlbHNlIHtcclxuICAgIEByZXR1cm4gKFxyXG4gICAgICBiZy1ob3ZlcjogIHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC45NSksICMwMDApLFxyXG4gICAgICBiZy1hY3RpdmU6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC44NyksICMwMDApLFxyXG4gICAgICBib3JkZXI6ICAgIHRyYW5zcGFyZW50LFxyXG4gICAgICBzaGFkb3c6ICAgIGlmKCRlbmFibGUtc2hhZG93cywgKCRidG4tYm94LXNoYWRvdywgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkYmFja2dyb3VuZCwgLjQpKSwgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkYmFja2dyb3VuZCwgLjQpKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBnZXQtbWF0ZXJpYWwtYnRuLWNvbG9ycygkYmFja2dyb3VuZCkge1xyXG4gIEBpZiBhbHBoYSgkYmFja2dyb3VuZCkgIT0gMSB7XHJcbiAgICAkYmFja2dyb3VuZDogcmdiYS10by1oZXgoJGJhY2tncm91bmQpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAoXHJcbiAgICBiZy1ob3ZlcjogIHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC45NSksICNmZmYpLFxyXG4gICAgYmctYWN0aXZlOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuODcpLCAjZmZmKSxcclxuICApO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yOiBudWxsLCAkaW5hY3RpdmUtY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwpIHtcclxuICAkYmc6IHJnYmEtdG8taGV4KCRiZyk7XHJcbiAgJGFjdGl2ZS1jb2xvcjogcmdiYS10by1oZXgoJGFjdGl2ZS1jb2xvcik7XHJcbiAgJGFjdGl2ZS1jb2xvcjogaWYoJGFjdGl2ZS1jb2xvciwgJGFjdGl2ZS1jb2xvciwgeWlxKCRiZykpO1xyXG4gICR5aXEtcGVyY2VudDogeWlxLXZhbHVlKCRiZykgLyAyNTU7XHJcbiAgJHlpcS1wZXJjZW50LWludmVydGVkOiAxIC0gJHlpcS1wZXJjZW50O1xyXG5cclxuICAkb3BhY2l0eTogaWYoJGFjdGl2ZS1jb2xvciA9PSAjZmZmLCAuNiArICguNCAqICR5aXEtcGVyY2VudCksIC42ICsgKC40ICogKDEgLSAkeWlxLXBlcmNlbnQpKSk7XHJcblxyXG4gICRjb2xvcjogaWYoJGluYWN0aXZlLWNvbG9yLCByZ2JhLXRvLWhleCgkaW5hY3RpdmUtY29sb3IsICRiZyksIHJnYmEtdG8taGV4KHJnYmEoJGFjdGl2ZS1jb2xvciwgaWYoJHlpcS1wZXJjZW50IDwgLjI1LCAkb3BhY2l0eSAtIC4xNSwgJG9wYWNpdHkpKSwgJGJnKSk7XHJcbiAgJGRpc2FibGVkLWNvbG9yOiByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjYpLCAkYmcpO1xyXG4gICRtdXRlZC1jb2xvcjogcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC43NSksICRiZyk7XHJcbiAgJGJvcmRlcjogaWYoJGJvcmRlciwgJGJvcmRlciwgaWYoJHlpcS1wZXJjZW50ID4gLjc1LCByZ2JhKCRhY3RpdmUtY29sb3IsICRvcGFjaXR5IC8gOCksIGlmKCR5aXEtcGVyY2VudCA8IC4yNSwgcmdiYSgkYWN0aXZlLWNvbG9yLCAuMDYpLCByZ2JhKCRhY3RpdmUtY29sb3IsIC4xNSkpKSk7XHJcblxyXG4gIEByZXR1cm4gKFxyXG4gICAgLy8gTWV0YWRhdGFcclxuICAgIG9wYWNpdHk6ICRvcGFjaXR5LFxyXG4gICAgeWlxLXBlcmNlbnQ6ICR5aXEtcGVyY2VudCxcclxuICAgIHlpcS1wZXJjZW50LWludmVydGVkOiAkeWlxLXBlcmNlbnQtaW52ZXJ0ZWQsXHJcblxyXG4gICAgLy8gQ29sb3JzXHJcbiAgICBiZzogJGJnLFxyXG4gICAgY29sb3I6ICRjb2xvcixcclxuICAgIGFjdGl2ZS1jb2xvcjogJGFjdGl2ZS1jb2xvcixcclxuICAgIGRpc2FibGVkLWNvbG9yOiAkZGlzYWJsZWQtY29sb3IsXHJcbiAgICBtdXRlZC1jb2xvcjogJG11dGVkLWNvbG9yLFxyXG4gICAgYm9yZGVyOiAkYm9yZGVyXHJcbiAgKTtcclxufVxyXG4iLCJAbWl4aW4gYXBwd29yay11aWtpdC10aGVtZSgkYmFja2dyb3VuZCkge1xyXG4gIC51aS1wcm9kdWN0LWNvbG9yLmFjdGl2ZSB7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggI2ZmZiwgMCAwIDAgNHB4ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi9jc3MvX2FwcHdvcmsvZnVuY3Rpb25zXCI7XHJcblxyXG5AbWl4aW4gZmxhdHBpY2tyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICAkaW4tcmFuZ2UtYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC4xNSksICNmZmYpO1xyXG4gICRpbi1yYW5nZS1jb2xvcjogeWlxKCRpbi1yYW5nZS1iZyk7XHJcblxyXG4gIC5mbGF0cGlja3ItY2FsZW5kYXIgLm51bUlucHV0V3JhcHBlciBzcGFuIHtcclxuICAgICYuYXJyb3dVcDphZnRlciB7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAmLmFycm93RG93bjphZnRlciB7XHJcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mbGF0cGlja3ItbW9udGgsXHJcbiAgc3Bhbi5mbGF0cGlja3Itd2Vla2RheSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICBmaWxsOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICAuZmxhdHBpY2tyLXdlZWtkYXlzIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gIH1cclxuXHJcbiAgLmZsYXRwaWNrci1kYXkge1xyXG4gICAgJi50b2RheSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5pblJhbmdlLFxyXG4gICAgJi5wcmV2TW9udGhEYXkuaW5SYW5nZSxcclxuICAgICYubmV4dE1vbnRoRGF5LmluUmFuZ2UsXHJcbiAgICAmLnRvZGF5LmluUmFuZ2UsXHJcbiAgICAmLnByZXZNb250aERheS50b2RheS5pblJhbmdlLFxyXG4gICAgJi5uZXh0TW9udGhEYXkudG9kYXkuaW5SYW5nZSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGluLXJhbmdlLWJnICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRpbi1yYW5nZS1iZyAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogJGluLXJhbmdlLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5zZWxlY3RlZCxcclxuICAgICYuc3RhcnRSYW5nZSxcclxuICAgICYuZW5kUmFuZ2UsXHJcbiAgICAmLnNlbGVjdGVkLmluUmFuZ2UsXHJcbiAgICAmLnN0YXJ0UmFuZ2UuaW5SYW5nZSxcclxuICAgICYuZW5kUmFuZ2UuaW5SYW5nZSxcclxuICAgICYuc2VsZWN0ZWQ6Zm9jdXMsXHJcbiAgICAmLnN0YXJ0UmFuZ2U6Zm9jdXMsXHJcbiAgICAmLmVuZFJhbmdlOmZvY3VzLFxyXG4gICAgJi5zZWxlY3RlZDpob3ZlcixcclxuICAgICYuc3RhcnRSYW5nZTpob3ZlcixcclxuICAgICYuZW5kUmFuZ2U6aG92ZXIsXHJcbiAgICAmLnNlbGVjdGVkLnByZXZNb250aERheSxcclxuICAgICYuc3RhcnRSYW5nZS5wcmV2TW9udGhEYXksXHJcbiAgICAmLmVuZFJhbmdlLnByZXZNb250aERheSxcclxuICAgICYuc2VsZWN0ZWQubmV4dE1vbnRoRGF5LFxyXG4gICAgJi5zdGFydFJhbmdlLm5leHRNb250aERheSxcclxuICAgICYuZW5kUmFuZ2UubmV4dE1vbnRoRGF5LFxyXG4gICAgJi53ZWVrLnNlbGVjdGVkIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi9jc3MvX2FwcHdvcmsvZnVuY3Rpb25zXCI7XHJcblxyXG5AbWl4aW4gYnMtbWF0ZXJpYWwtZGF0ZXRpbWVwaWNrZXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAuZHRwLWRhdGUsXHJcbiAgLmR0cC10aW1lIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gIC5kdHAtY2xvc2UgPiBhIHsgY29sb3I6ICRjb2xvcjsgfVxyXG5cclxuICBoZWFkZXIuZHRwLWhlYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuODUpLCAkYmFja2dyb3VuZDogIzAwMCk7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgdGFibGUuZHRwLXBpY2tlci1kYXlzIHRyID4gdGQgPiBhLnNlbGVjdGVkIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmR0cC1hY3R1YWwtbWVyaWRpZW4gYS5zZWxlY3RlZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmR0cCAueWVhci1waWNrZXItaXRlbSB7XHJcbiAgICAmOmhvdmVyIHsgY29sb3I6ICRiYWNrZ3JvdW5kOyB9XHJcbiAgICAmLmFjdGl2ZSB7IGNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gIH1cclxuXHJcbiAgLmR0cCAuc3ZnLWNsb2NrIFtzdHJva2U9XCIjOEJDMzRBXCJdIHsgc3Ryb2tlOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50OyB9XHJcbiAgLmR0cCAuc3ZnLWNsb2NrIFtmaWxsPVwiIzhCQzM0QVwiXSB7IGZpbGw6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7IH1cclxuICAuZHRwIC5zdmctY2xvY2sgW2ZpbGw9XCIjZmZmXCJdIHsgZmlsbDogJGNvbG9yICFpbXBvcnRhbnQ7IH1cclxufVxyXG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFRoZW1lIG1peGluXHJcblxyXG5AbWl4aW4gYXBwd29yay1jb21tb24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtcHJpbWFyeScsICRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBiZy12YXJpYW50KCcuYmctcHJpbWFyeScsICRiYWNrZ3JvdW5kKTtcclxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5ib3JkZXItcHJpbWFyeSwgaHRtbFtkaXI9cnRsXSAuYm9yZGVyLXByaW1hcnkgeyBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7IH1cclxuICBAaW5jbHVkZSBhcHB3b3JrLWJhZGdlLXZhcmlhbnQoJy5iYWRnZS1wcmltYXJ5JywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1iYWRnZS1vdXRsaW5lLXZhcmlhbnQoJy5iYWRnZS1vdXRsaW5lLXByaW1hcnknLCAkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1wYWdpbmF0aW9uLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstcHJvZ3Jlc3MtYmFyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbGlzdC1ncm91cC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWFsZXJ0LXZhcmlhbnQoJy5hbGVydC1wcmltYXJ5JywgJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstYWxlcnQtZGFyay12YXJpYW50KCcuYWxlcnQtZGFyay1wcmltYXJ5JywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay10b29sdGlwLXZhcmlhbnQoJy50b29sdGlwLXByaW1hcnksIC50b29sdGlwLXByaW1hcnkgPiAudG9vbHRpcCwgLm5nYi10b29sdGlwLXByaW1hcnkgKyBuZ2ItdG9vbHRpcC13aW5kb3cnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLXBvcG92ZXItdmFyaWFudCgnLnBvcG92ZXItcHJpbWFyeSwgLnBvcG92ZXItcHJpbWFyeSA+IC5wb3BvdmVyLCAubmdiLXBvcG92ZXItcHJpbWFyeSArIG5nYi1wb3BvdmVyLXdpbmRvdycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstdGFibGUtcm93LXZhcmlhbnQoJy50YWJsZS1wcmltYXJ5JywgJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLXZhcmlhbnQoJy5idG4tcHJpbWFyeScsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLW91dGxpbmUtdmFyaWFudCgnLmJ0bi1vdXRsaW5lLXByaW1hcnknLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWRyb3Bkb3duLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbmF2LXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstY3VzdG9tLWNvbnRyb2wtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1jdXN0b20tZmlsZS1pbnB1dC10aGVtZSgkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1mb3JtLWNvbnRyb2wtdGhlbWUoJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstc3dpdGNoZXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1uYXZiYXItdmFyaWFudCgnLm5hdmJhci5iZy1wcmltYXJ5JywgJHByaW1hcnktY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstc2lkZW5hdi12YXJpYW50KCcuc2lkZW5hdi5iZy1wcmltYXJ5JywgJHByaW1hcnktY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstZm9vdGVyLXZhcmlhbnQoJy5mb290ZXIuYmctcHJpbWFyeScsICRwcmltYXJ5LWNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLXRvYXN0LXRoZW1lKCcuYmctcHJpbWFyeScsICRwcmltYXJ5LWNvbG9yLCAkY29sb3IpO1xyXG4gIC5maWxsLXByaW1hcnkgeyBmaWxsOiAkYmFja2dyb3VuZCB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWNvbW1vbi1tYXRlcmlhbC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1wcmltYXJ5JywgJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1wcmltYXJ5JywgJGJhY2tncm91bmQpO1xyXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmJvcmRlci1wcmltYXJ5LCBodG1sW2Rpcj1ydGxdIC5ib3JkZXItcHJpbWFyeSB7IGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDsgfVxyXG4gIEBpbmNsdWRlIGFwcHdvcmstYmFkZ2UtdmFyaWFudCgnLmJhZGdlLXByaW1hcnknLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWJhZGdlLW91dGxpbmUtdmFyaWFudCgnLmJhZGdlLW91dGxpbmUtcHJpbWFyeScsICRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLXBhZ2luYXRpb24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1wcm9ncmVzcy1iYXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1saXN0LWdyb3VwLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstYWxlcnQtdmFyaWFudCgnLmFsZXJ0LXByaW1hcnknLCAkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1hbGVydC1kYXJrLXZhcmlhbnQoJy5hbGVydC1kYXJrLXByaW1hcnknLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLXRvb2x0aXAtdmFyaWFudCgnLnRvb2x0aXAtcHJpbWFyeSwgLnRvb2x0aXAtcHJpbWFyeSA+IC50b29sdGlwLCAubmdiLXRvb2x0aXAtcHJpbWFyeSArIG5nYi10b29sdGlwLXdpbmRvdycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstcG9wb3Zlci12YXJpYW50KCcucG9wb3Zlci1wcmltYXJ5LCAucG9wb3Zlci1wcmltYXJ5ID4gLnBvcG92ZXIsIC5uZ2ItcG9wb3Zlci1wcmltYXJ5ICsgbmdiLXBvcG92ZXItd2luZG93JywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay10YWJsZS1yb3ctdmFyaWFudCgnLnRhYmxlLXByaW1hcnknLCAkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1idXR0b24tdmFyaWFudCgnLmJ0bi1wcmltYXJ5JywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1idXR0b24tb3V0bGluZS12YXJpYW50KCcuYnRuLW91dGxpbmUtcHJpbWFyeScsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtZHJvcGRvd24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1uYXYtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1jdXN0b20tY29udHJvbC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWN1c3RvbS1maWxlLWlucHV0LXRoZW1lKCRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWZvcm0tY29udHJvbC10aGVtZSgkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1zd2l0Y2hlci10aGVtZSgkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1uYXZiYXItdmFyaWFudCgnLm5hdmJhci5iZy1wcmltYXJ5JywgJHByaW1hcnktY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstc2lkZW5hdi12YXJpYW50KCcuc2lkZW5hdi5iZy1wcmltYXJ5JywgJHByaW1hcnktY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstZm9vdGVyLXZhcmlhbnQoJy5mb290ZXIuYmctcHJpbWFyeScsICRwcmltYXJ5LWNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLXRvYXN0LXRoZW1lKCcuYmctcHJpbWFyeScsICRwcmltYXJ5LWNvbG9yLCAkY29sb3IpO1xyXG4gIC5maWxsLXByaW1hcnkgeyBmaWxsOiAkYmFja2dyb3VuZCB9XHJcbn1cclxuIl19 */
